* uv: Upgrade to v0.10.18 * crypto: clear errors from verify failure (Timothy J Fontaine) * dtrace: interpret two byte strings (Dave Pacheco) * fs: fix fs.truncate() file content zeroing bug (Ben Noordhuis) * http: provide backpressure for pipeline flood (isaacs) * tls: fix premature connection termination (Ben Noordhuis)
If a client sends a lot more pipelined requests than we can handle, then we need to provide backpressure so that the client knows to back off. Do this by pausing both the stream and the parser itself when the responses are not being read by the downstream client. Backport of 085dd30
- fixed some incomprehensible wording ("event assigned to..."?) - removed undocumented and unnecessary process properties from example - corrected the docs on the default for the exec setting - described when workers are removed from cluster.workers - described addressType, which was documented as existing, but not what values it might have - spell out more clearly the limitations of setupMaster - describe disconnect in sufficient detail that why a child does or does not exit can be understood - clarify which cluster functions and events are available on process or just on the worker, as well as which are not available in children, - don't describe events as the same, when they have receive different arguments - fix misleading disconnect example: since disconnect already calls close on all servers, doing it again in the example is a no-op, not the "force close" it was claimed to be - document the error event, not catching it will kill your node - describe suicide better, it is important, and a bit unintuitive (process.exit() is not suicide?) - use worker consistently throughout, instead of child.
- Make explicit that .disconnected is set before the disconnect event, and it is not allowed to send messages after calling .disconnect(), even while waiting for a delayed disconect event. - Remove obsolete claim that explicit exit is required - Describe silent: in the options for fork() - Describe .connected as the property it is, not just as an aside in the disconnect() method
Destroying the TLS session implies destroying the underlying socket but before this commit, that was done with net.Socket#destroy() rather than net.Socket#destroySoon(). The former closes the connection right away, even when there is still data to write. In other words, sometimes the final TLS record got truncated. Fixes #6107.
fs.truncate() and its synchronous sibling are implemented in terms of open() + ftruncate(). Unfortunately, it opened the target file with mode 'w' a.k.a. 'write-only and create or truncate at open'. The subsequent call to ftruncate() then moved the end-of-file pointer from zero to the requested offset with the net result of a file that's neatly truncated at the right offset and filled with zero bytes only. This bug was introduced in commit 168a555 but in fairness, before that commit fs.truncate() worked like fs.ftruncate() so it seems we've never had a working fs.truncate() until now. Fixes #6233.
* uv: Upgrade to v0.10.17 * npm: upgrade to 1.3.11 * readline: handle input starting with control chars (Eric Schrock) * configure: add mips-float-abi (soft, hard) option (Andrei Sedoi) * stream: objectMode transforms allow falsey values (isaacs) * tls: prevent duplicate values returned from read (Nathan Rajlich) * tls: NPN protocols are now local to connections (Fedor Indutny)
Handle control characters only when there is a single byte in the stream, otherwise fall through to the standard multibyte handling.