* uv: Upgrade to v0.11.14 * v8: upgrade 188.8.131.52 * assert: indicate if exception message is generated (Glen Mailer) * buffer: add buf.toArrayBuffer() API (Trevor Norris) * cluster: fix premature 'disconnect' event (Ben Noordhuis) * crypto: add SPKAC support (Jason Gerfen) * debugger: count space for line numbers correctly (Alex Kocharin) * debugger: make busy loops SIGUSR1-interruptible (Ben Noordhuis) * debugger: repeat last command (Alex Kocharin) * debugger: show current line, fix for #6150 (Alex Kocharin) * dgram: send() can accept strings (Trevor Norris) * dns: rename domain to hostname (Ben Noordhuis) * dns: set hostname property on error object (Ben Noordhuis) * dtrace, mdb_v8: support more string, frame types (Dave Pacheco) * http: add statusMessage (Patrik Stutz) * http: expose supported methods (Ben Noordhuis) * http: provide backpressure for pipeline flood (isaacs) * process: Add exitCode property (isaacs) * tls: socket.renegotiate(options, callback) (Fedor Indutny) * util: format as Error if instanceof Error (Rod Vagg)
We need to keep ObjectWrap around for module authors (we think), but v8 3.21 broke node_object_wrap.h with respect to MSVC. Coincidentally, we no longer use ObjectWrap at all in core, and native modules might as well use their own entirely internal implementation if they need it.
Turns out that we don't use node_object_wrap.h any more in core, and, with v8 3.21, it's breaking our Windows build. Removing refs to it everywhere (and adding node.h in one case where it was the only way node.h was being included), we have restored the Windows build.
Previous behaviour was to drop to an openssl prompt ("Enter PEM pass phrase:") when supplying a private key with a passphrase. This change adds a fourth, optional, paramter that will be used as the passphrase. To include this parameter in a backwards compatible way it was necessary to expose the previously undocumented (and unexposed) feature of being able to explitly setting the output encoding.
This addresses a current shortcoming of the V8 SetNamedPropertyHandler function. It does not provide a way to intercept Object.defineProperty(..) calls. As a result, these properties are not copied onto the contextified sandbox when a new global property is added via either a function declaration or a Object.defineProperty(global, ...) call. Note that any function declarations or Object.defineProperty() globals that are created asynchronously (in a setTimeout, callback, etc.) will happen AFTER the call to copy properties, and thus not be caught. The way to properly fix this is to add some sort of a Object::SetNamedDefinePropertyHandler() function that takes a callback, which receives the property name and property descriptor as arguments. Luckily, such situations are rare, and asynchronously-added globals weren't supported by Node's VM module until 0.12 anyway. But, this should be fixed properly in V8, and this copy function should be removed once there is a better way. Fix #6416
The list of supported HTTP methods is available in JS land now so there is no longer any need to pass a stringified version of the method to the parser callback, it can look up the method name for itself. Saves a call to v8::Eternal::Get() in the common case and a costly v8::String::NewFromOneByte() in the uncommon case.
Conflicts: ChangeLog deps/uv/ChangeLog deps/uv/include/uv-darwin.h deps/uv/src/unix/fsevents.c deps/uv/src/unix/process.c deps/uv/src/version.c doc/api/addons.markdown doc/api/cluster.markdown doc/api/http.markdown lib/http.js lib/tls.js src/node_crypto.cc src/node_http_parser.cc src/node_version.h src/pipe_wrap.cc src/v8abbr.h src/v8ustack.d test/simple/test-http-pipeline-flood.js
Make the build rule depend on the build artifact (weakref.node) itself rather than the directory it's built in. Depending on the directory means that a build failure won't trigger a rebuild on the next invocation because the directory's timestamp has been updated. This is a back-port of commit 1189571 from the master branch that hopefully fixes the following CI error: executing: make test/gc/node_modules/weak/build/ make: *** No rule to make target `test/gc/node_modules/weak/build/'. Command exited with non-zero: make test/gc/node_modules/weak/build/ Build step 'Execute NodeJS script' marked build as failure
When the socket closes, the client's http incoming message object was emitting an 'aborted' event if it had not yet been ended. However, it's possible, when a response is being repeatedly paused and resumed (eg, if piped to a slow FS write stream), that there will be a final chunk remaining in the js-land buffer when the socket is torn down. When that happens, the socketCloseListener function detects that we have not yet reached the end of the response message data, and treats this as an abrupt abort, immediately (and forcibly) ending the incoming message data stream, and discarding that final chunk of data. The result is that, for example, npm will have problems because tarballs are missing a few bytes off the end, every time. Closes GH-6402
Make the build rule depend on the build artifact (weakref.node) itself rather than the directory it's built in. Depending on the directory means that a build failure won't trigger a rebuild on the next invocation because the directory's timestamp has been updated.