12109 Commits
Author SHA1 Message Date
Rod Vagg d6a6ec235a Working on v3.3.2 2015-09-15 19:14:49 +10:00
Rod Vagg 9c0c21d6f2 2015-09-15 io.js v3.3.1 Release
* buffer: Fixed a minor errors that was causing crashes
  (Michaël Zasso) #2635,
* child_process: Fix error that was causing crashes (Evan Lucas) #2727
* crypto: Replace use of rwlocks, unsafe on Windows XP / 2003
  (Ben Noordhuis) #2723
* libuv: Upgrade from 1.7.3 to 1.7.4 (Saúl Ibarra Corretgé) #2817
* node: Fix faulty process.release.libUrl on Windows (Rod Vagg) #2699
* node-gyp: Float v3.0.3 which has improved support for Node.js and
  io.js v0.10 to v4+ (Rod Vagg) #2700
* npm: Upgrade to version 2.14.3 from 2.13.3, includes a security
  update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more
  details, (Kat Marchán) #2696.
* timers: Improved timer performance from porting the 0.12
  implementation, plus minor fixes (Jeremiah Senkpiel) #2540,
  (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905

PR-URL: https://github.com/nodejs/node/pull/2698
v3.3.1
2015-09-15 17:55:40 +10:00
Sakthipriyan Vairamani 574475d56e build: clean up the generated tap file
Make `make clean` cleanup the generated tap file as well.

Fixes: #2834

PR-URL: #2837
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Alexis Campailla <[email protected]>
2015-09-15 17:14:56 +10:00
Sakthipriyan Vairamani 07fbf835ad tools: open test.tap file in write-binary mode
By default the logfile is opened in append mode. This commit makes sure
that the file is opened in write-binary mode, so that the file will be
created if it doesn't exist or overwrite if it exists.

Fixes: #2834

PR-URL: #2837
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Alexis Campailla <[email protected]>
2015-09-15 17:14:50 +10:00
Brendan Ashworth ed087836af streams: refactor LazyTransform to internal/
This commit refactors LazyTransform from the crypto implementation
(lib/crypto.js) into an internal module (not publicy accessible) in
internal/streams/lazy_transform.js. This promotes a more modular core
design and removes code bloat in crypto, as LazyTransform didn't
specifically have anything to do with cryptography, but rather a fast
way to support two APIs on a stream.

PR-URL: https://github.com/nodejs/node/pull/2566
Reviewed-By: Fedor Indutny <[email protected]>
2015-09-15 17:14:43 +10:00
Fedor Indutny d8371a801e http_server: fix resume after socket close
Socket resume may happen on a next tick, and in following scenario:

1. `socket.resume()`
2. `socket._handle.close()`
3. `socket._handle = null;`

The `_resume` will be invoked with empty `._handle` property. There is
nothing bad about it, and we should just ignore the `resume`/`pause`
events in this case.

Same applies to the unconsuming of socket on adding `data` and/or
`readable` event listeners.

Fix: https://github.com/nodejs/node/issues/2821

PR-URL: https://github.com/nodejs/node/pull/2824
Reviewed-By: Сковорода Никита Андреевич <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-15 17:14:23 +10:00
Kat Marchán 777eb00306 deps: upgraded to [email protected] in npm
No more cherry-picked io patches. hooray.

PR-URL: https://github.com/nodejs/node/pull/2822
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-15 16:52:34 +10:00
Kat Marchán b729ad384b deps: upgrade to npm 2.14.3
PR-URL: https://github.com/nodejs/node/pull/2822
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-15 16:52:27 +10:00
Matt Loring 6d9198f7f1 tools: add missing tick processor polyfill
The polyfill is only needed if incorrect command line arguments
are passed to the script so it was missed in initial testing.

PR-URL: https://github.com/nodejs/node/pull/2694
Reviewed-By: Ben Noordhuis <[email protected]>
2015-09-15 16:49:46 +10:00
Matt Loring 7b16597527 tools: fix flakiness in test-tick-processor
Per the discussion on #2471, the JS symbols checked for by this test
were occasionally too deep in the stack and were being ignored by the
tick processor.

I have addressed this by increasing the stack depth inspected by the
tick processor and looking for the eval symbol which is more likely
to be present. Additional flakiness was caused by occasional misses
of the code creation event for the JS function being executed. I now
have separate code snippets to test for JS and C++ symbols and if
the code creation event is missed for the JS symbol test then I check
for a percentage of UNKNOWN symbols in processed output. This is
considered a success as the processing scripts in the node repository
are still correctly processing the ticks recieved from the v8
scripts. Further investigation is needed into the v8 profiling
scripts to determine why code creation events are being missed.

PR-URL: https://github.com/nodejs/node/pull/2694
Reviewed-By: Ben Noordhuis <[email protected]>
2015-09-15 16:49:16 +10:00
Danny Nemer 2d1438cfe0 doc: fix broken link in repl.markdown
PR-URL: https://github.com/nodejs/node/pull/2827
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-15 16:49:06 +10:00
Ionică Bizău 9dd9c85a48 doc: fix typos in README
- Fixed typo: "insallation" -> "installation"
 - Added an "that" in a sentence where it was needed for clarity.

PR-URL: https://github.com/nodejs/node/pull/2852
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
2015-09-15 16:48:56 +10:00
Mike Tunnicliffe 476125d403 doc: add tunniclm as a collaborator
Refs: https://github.com/nodejs/node/issues/2413
PR-URL: https://github.com/nodejs/node/pull/2826
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-15 16:48:43 +10:00
Roman Klauke 91cee73294 src: use ZCtxt as a source for v8::Isolates
Other methods like `After` already use ZCtxt as the source for
Enviroment/ v8::Isolate objects, this commit applies the same style
to the other missing methods (`After sync` and `Write`)

PR-URL: https://github.com/nodejs/node/pull/2547
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-15 16:42:35 +10:00
Rich Trott 993c22fe0e test: remove disabled test
Remove test file that has been in disabled from its very first commit
(9ccf0e52) in 2011. It is a test for
https://github.com/nodejs/node-v0.x-archive/issues/670 from 2011. There
are no assertions in the test. In that regard, it is more debugging code
than a test.

PR-URL: https://github.com/nodejs/node/pull/2841
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Yosuke Furukawa <[email protected]>
2015-09-15 16:42:07 +10:00
Jeremiah Senkpiel 0603a92d48 doc: fix two doc errors in stream and process
`process.stdout` always blocks as of
20176a9841

`WritableState.buffer` is `getBuffer()` as of
91586661c9

PR-URL: https://github.com/nodejs/node/pull/2549
Reviewed-By: Alexis Campailla <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
2015-09-15 16:42:00 +10:00
Rich Trott 1474f29d1f test: split up internet dns tests
For whatever reason, the CI win2012 machine was timing out on the
internet test-dns file. Split out ipv4 and ipv6 specific tests to
separate files so tests do not time out. (Each file is given a 60
second timeout on CI. Tests within a file are run in sequence.)

PR-URL: https://github.com/nodejs/node/pull/2802
Fixes: https://github.com/nodejs/node/issues/2468
Reviewed-By: Roman Reiss <[email protected]>
2015-09-15 16:41:27 +10:00
Rich Trott 601a97622b test: increase dgram timeout for armv6
test-dgram-broadcast-multi-process.js and
test-dgram-multicast-multi-process.js were failing on Pi 1 because the
test was timing out. Changed static 5000ms timeout to a dynamically
determined timeout based on the processor using
common.platformTimeout().

PR-URL: https://github.com/nodejs/node/pull/2808
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
2015-09-15 16:41:22 +10:00
Sakthipriyan Vairamani ef83029356 tools: remove hyphen in TAP result
As it is, the TAP result shows an extra hyphen in front of test names.
Sample:
ci.nodejs.org/job/node-test-commit-osx/nodes=osx1010/454/tapResults/
This patch removes the extra hyphen.

PR-URL: https://github.com/nodejs/node/pull/2718
Reviewed-By: Johan Bergström <[email protected]>
2015-09-15 16:41:20 +10:00
Rod Vagg 7f7d4fdddd node-gyp: float 3.0.1, minor fix for download url
PR-URL: https://github.com/nodejs/node/pull/2737
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-12 13:35:18 +10:00
Fedor Indutny 7f5d6e72c6 cluster: allow shared reused dgram sockets
Allow listening on reused dgram ports in cluster workers.

Fix: https://github.com/joyent/node/issues/9261
PR-URL: https://github.com/nodejs/node/pull/2548
Reviewed-By: Ben Noordhuis <[email protected]>
2015-09-12 13:34:51 +10:00
Rod Vagg aa0001271e build: remote commands on staging in single session
PR-URL: https://github.com/nodejs/node/pull/2717
Reviewed-By: Johan Bergström <[email protected]>
2015-09-12 13:34:29 +10:00
Saúl Ibarra Corretgé b09fde761c deps: update libuv to version 1.7.4
PR-URL: https://github.com/nodejs/node/pull/2817
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
2015-09-12 13:32:01 +10:00
Minwoo Jung da2902ddfd doc: use "Calls" over "Executes" for consistency
"Calls" is used frequently throughout the docs except for this line.
Use "Calls" over "Executes" to make it consistent.

PR-URL: https://github.com/nodejs/node/pull/2800
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
2015-09-12 13:31:55 +10:00
Rich Trott 1dad19ba81 test: remove valid hostname check in test-dns.js
Operating systems can and do return invalid hostnames if that's
what they have (for example) in /etc/hosts. Test passes if no
error is thrown and the hostname string is not empty.

Fixes: https://github.com/nodejs/node/issues/2468
PR-URL: https://github.com/nodejs/node/pull/2785
Reviewed-By: Ben Noordhuis <[email protected]>
2015-09-12 13:31:46 +10:00
Anne-Gaelle Colom 5e93bc4fba doc: use US English for consistency
behaviour -> behavior

PR-URL: https://github.com/nodejs/node/pull/2784
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Brendan Ashworth <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
2015-09-12 13:31:26 +10:00
Fedor Indutny b73ff52fe6 bindings: close after reading module struct
Do not let the module struct to be deallocated by `uv_dlclose`
before reading data from it.

PR-URL: https://github.com/nodejs/node/pull/2792
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Yosuke Furukawa <[email protected]>
2015-09-12 13:30:32 +10:00
Anne-Gaelle Colom 3ee7fbcefd doc: use 3rd person singular for consistency
PR-URL: https://github.com/nodejs/node/pull/2765
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
2015-09-12 13:30:21 +10:00
Brian White ac45ef9157 win,msi: fix documentation shortcut url
Fixes: https://github.com/nodejs/node/issues/2779
PR-URL: https://github.com/nodejs/node/pull/2781
Reviewed-By: Rod Vagg <[email protected]>
2015-09-12 13:30:13 +10:00
Rich Trott f3d5891a3f test: expect error for test_lookup_ipv6_hint on FreeBSD
FreeBSD does not support the V4MAPPED flag so expect an error.

This is a partial fix for https://github.com/nodejs/node/issues/2468.
It only fixes it on FreeBSD. Failures on other platforms are due to
other reasons and need to be fixed separately.

PR-URL: https://github.com/nodejs/node/pull/2724
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Fixes: https://github.com/nodejs/node/issues/2468
2015-09-12 13:29:02 +10:00
Rich Trott 4fdccb9eb7 doc: fix comma splice in Assertion Testing doc
This fixes a minor typographical error in the Assertion Testing doc.

PR-URL: https://github.com/nodejs/node/pull/2728
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
2015-09-12 13:28:47 +10:00
Karl Skomski 1428661095 build: fix v8_enable_handle_zapping override
It was previously ignored by features.gypi and therefore
enabled by default for release builds.

See https://code.google.com/p/chromium/issues/detail?id=318206

PR-URL: https://github.com/nodejs/node/pull/2731
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
2015-09-12 13:28:22 +10:00
Rod Vagg 4cf225daad deps: float node-gyp v3.0.0
* support process.release
* support all io.js versions
* support node v4+ including new download locations
* enable delay-load hook by default by default
* download header-only tarballs instead of full source

See https://github.com/nodejs/node-gyp/pull/711 for full details

PR-URL: https://github.com/nodejs/node/pull/2700
Reviewed-By: Forrest L Norvell <[email protected]>
2015-09-12 13:28:09 +10:00
Rod Vagg ac98e13b95 src: s/ia32/x86 for process.release.libUrl for win
PR-URL: https://github.com/nodejs/node/pull/2699
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Alexis Campailla <[email protected]>
2015-09-12 13:27:11 +10:00
Evan Lucas 618caa5de0 child_process: use stdio.fd even if it is 0
Previously, in _validateStdio we were using stdio.fd || stdio. If
stdio.fd was falsy (or 0 in the case of stdin), then the entire stdio
object would be passed which could cause a crash.

Fixes: https://github.com/nodejs/node/issues/2721
PR-URL: https://github.com/nodejs/node/pull/2727
Reviewed-By: silverwind - Roman Reiss <[email protected]>
Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
Reviewed-By: indutny - Fedor Indutny <[email protected]>
2015-09-12 13:26:02 +10:00
Ben Noordhuis 4237373dd7 crypto: replace rwlocks with simple mutexes
It was pointed out by Zhou Ran that the Windows XP implementation of
uv_rwlock_rdlock() and friends may unlock the inner write mutex on a
different thread than the one that locked it, resulting in undefined
behavior.

The only place that uses rwlocks is the crypto module.  Make that use
normal (simple) mutexes instead.

OpenSSL's critical sections are generally very short, with exclusive
access outnumbering shared access by a factor of three or more, so
it's not as if using rwlocks gives a decisive performance advantage.

PR-URL: https://github.com/nodejs/node/pull/2723
Reviewed-By: Fedor Indutny <[email protected]>
2015-09-12 13:26:02 +10:00
Rod Vagg 28c2d310d6 doc: update AUTHORS list
Update AUTHORS list using tools/update-authors.sh
2015-09-12 13:25:44 +10:00
Ben Noordhuis 610fa964aa cpplint: make it possible to run outside git repo
cpplint uses the top-level .git directory to determine what the root is
for #include guards.  If it doesn't find a .git directory, it walks up
all the way to the system root and subsequently complains that guards
must be written as HOME_USER_SRC_NODE_SRC_FILENAME_H_.

This commit replaces the .git-based path munging with a fixed root path
relative to the location of the cpplint script, making it possible to
successfully run `make test` from an extracted tarball.

Fixes: https://github.com/nodejs/node/issues/2693
PR-URL: https://github.com/nodejs/node/pull/2710
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
2015-09-07 12:02:45 +10:00
Kat Marchán 118f48c0f3 deps: create .npmrc during npm tests
This patch should make the tests pass on the downstreamed npm.

PR-URL: https://github.com/nodejs/node/pull/2696
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
2015-09-07 12:02:45 +10:00
Kat Marchán b3fee8e6a6 deps: upgrade to npm 2.14.2
PR-URL: https://github.com/nodejs/node/pull/2696
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
2015-09-07 12:02:44 +10:00
Rod Vagg 324c073fb9 doc: add TSC meeting minutes 2015-09-02
PR-URL: https://github.com/nodejs/node/pull/2674
Reviewed-By: Colin Ihrig <[email protected]>
2015-09-06 21:37:07 +10:00
Karl Skomski ca6c3223e1 src: use standard conform snprintf on windows
The version used before returned -1 on truncation which does not conform
to the standard.

PR-URL: https://github.com/nodejs/node/pull/2404
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
2015-09-06 21:37:07 +10:00
Karl Skomski b028978a53 src: fix buffer overflow for long exception lines
Long exception lines resulted in a stack buffer overflow or assertion
because it was assumed snprintf not counts discarded chars
or the assertion itself was incorrect: `(off) >= sizeof(arrow)`

PR-URL: https://github.com/nodejs/node/pull/2404
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
2015-09-06 21:37:07 +10:00
Sakthipriyan Vairamani 8372ea2ca5 doc,test: enable recursive file watching in Windows
Recursive file watching is supported by libuv since 1.7.0. Refer
https://github.com/nodejs/node/blob/master/deps/uv/ChangeLog#L126. This
patch notes that in the docs and enables testing this feature. It also
adds proper TAP plugin parsable message for other platforms.

PR-URL: https://github.com/nodejs/node/pull/2649
Fixes: https://github.com/nodejs/node/issues/375
Reviewed-By: rvagg - Rod Vagg <[email protected]>
Reviewed-By: silverwind - Roman Reiss <[email protected]>
2015-09-06 21:37:06 +10:00
Michaël Zasso aa1140e59a buffer: SlowBuffer only accept valid numeric values
Fixes a regression that appeared with the new Buffer implementation in v3.
Without this change, calling the SlowBuffer constructor with something else
than a number would abort on the C++ side. This makes sure that the length
argument is coerced to number or is 0.

Fixes: https://github.com/nodejs/node/issues/2634
PR-URL: https://github.com/nodejs/node/pull/2635
Reviewed-By: trevnorris - Trevor Norris <[email protected]>
Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
2015-09-06 21:37:06 +10:00
Rod Vagg 2ffb21baf1 test: fix use of common before required
PR-URL: https://github.com/nodejs/node/pull/2685
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
2015-09-06 21:37:06 +10:00
Fedor Indutny e68c7ec498 contextify: ignore getters during initialization
The `context_` is not initialized until the `CreateV8Context` will
return. Make sure that it will be empty (by moving away initialization
from constructor) at start, and ignore getter callbacks until it will
have some value.

PR-URL: https://github.com/nodejs/io.js/pull/2091
Reviewed-By: Trevor Norris <[email protected]>
2015-09-06 21:37:05 +10:00
Jeremiah Senkpiel daf6c533cc events,lib: don't require EE#listenerCount()
Now parts of our public and public-ish APIs fall back to old-style
listenerCount() if the emitter does not have a listenerCount function.

Fixes: https://github.com/nodejs/node/issues/2655
Refs: 8f58fb92ff

PR-URL: https://github.com/nodejs/node/pull/2661
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
2015-09-06 21:37:05 +10:00
Karl Skomski 5a51edd718 build: add --enable-asan with builtin leakcheck
PR-URL: https://github.com/nodejs/node/pull/2376
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
2015-09-06 21:37:05 +10:00
James M Snell 7be4e49cb6 child_process: check execFile and fork args
Port of joyent/node commits:

 * https://github.com/nodejs/node-v0.x-archive/commit/e17c5a72b23f920f291d61f2780068c18768cb92
 * https://github.com/nodejs/node-v0.x-archive/commit/70dafa7b624abd43432e03304d65cc527fbecc11

Pull over test-child-process-spawn-typeerror.js from v0.12, replacing
the existing test in master. The new test includes a broader set of
tests on the various arg choices and throws.

Reviewed-By: trevnorris - Trevor Norris <[email protected]>
Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
Reviewed-By: thefourtheye - Sakthipriyan Vairamani
PR-URL: https://github.com/nodejs/node/pull/2667
Fixes: https://github.com/nodejs/node/issues/2515
2015-09-06 21:37:04 +10:00