platform/upstream/nodejs.git
9 years agocrypto: remove kMaxLength on randomBytes()
Trevor Norris [Tue, 2 Jun 2015 19:10:47 +0000 (13:10 -0600)]
crypto: remove kMaxLength on randomBytes()

New Buffer implementation allows greater than kMaxLength to be created.
So instead check if the passed value is a valid Smi.

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuffer: make additional changes to native API
Trevor Norris [Tue, 2 Jun 2015 18:53:30 +0000 (12:53 -0600)]
buffer: make additional changes to native API

Address comments and deprecations left in source files. These changes
include:

* Remove the deprecated API.
* Change Buffer::New() that did a copy of the data to Buffer::Copy()
* Change Buffer::Use() to Buffer::New()

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuffer: switch API to return MaybeLocal<T>
Trevor Norris [Tue, 2 Jun 2015 17:09:03 +0000 (11:09 -0600)]
buffer: switch API to return MaybeLocal<T>

Instead of aborting in case of internal failure, return an empty
Local<Object>. Using the MaybeLocal<T> API, users must check their
return values.

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuffer: switch to using Maybe<T> API
Trevor Norris [Tue, 2 Jun 2015 16:18:01 +0000 (10:18 -0600)]
buffer: switch to using Maybe<T> API

Use the new Maybe<T> syntax for v8::Object::SetPrototype().

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuffer: finish implementing FreeCallback
Trevor Norris [Mon, 1 Jun 2015 18:29:17 +0000 (12:29 -0600)]
buffer: finish implementing FreeCallback

Passing a FreeCallback to Buffer::New() now uses externalized
ArrayBuffer's.

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuffer: implement Uint8Array backed Buffer
Trevor Norris [Tue, 26 May 2015 18:42:14 +0000 (12:42 -0600)]
buffer: implement Uint8Array backed Buffer

With V8 4.4 removing the external array data API currently used by
Buffer, the new implementation uses the Uint8Array to back Buffer.

Buffers now have a maximum size of Smi::kMaxLength, as defined by V8.
Which is ~2 GB on 64 bit and ~1 GB on 32 bit.

The flag --use-old-buffer allows using the old Buffer implementation.
This flag will be removed once V8 4.4 has landed.

The two JS Buffer implementations have been split into two files for
simplicity.

Use getter to return expected .parent/.offset values for backwards
compatibility.

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuffer: allow ARGS_THIS to accept a name
Trevor Norris [Tue, 26 May 2015 20:34:12 +0000 (14:34 -0600)]
buffer: allow ARGS_THIS to accept a name

Allowing the name to be passed to the ARGS_THIS macro will make it
easier to share code with the Uint8Array implementation.

PR-URL: https://github.com/nodejs/io.js/pull/1825
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: backport 7b24219346 from v8 upstream
Rod Vagg [Wed, 27 May 2015 00:34:17 +0000 (10:34 +1000)]
deps: backport 7b24219346 from v8 upstream

Original:
Fix lookup iterator checks in GetRealNamedProperty* methods

BUG=v8:4143
R=verwaest@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/1161553004

Cr-Commit-Position: refs/heads/master@{#28616}

PR-URL: https://github.com/nodejs/io.js/pull/1805
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
9 years agonet: do not set V4MAPPED on FreeBSD
Julien Gilli [Mon, 2 Mar 2015 23:50:25 +0000 (15:50 -0800)]
net: do not set V4MAPPED on FreeBSD

V4MAPPED is not supported on recent FreeBSD versions, at least on 10.1.
Thus, do not set this flag in net.connect on FreeBSD.

Fixes: https://github.com/joyent/node/issues/8540
Fixes: https://github.com/joyent/node/issues/9204
PR-URL: https://github.com/joyent/node/pull/18204
PR-URL: https://github.com/iojs/io.js/pull/1555
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoRevert "dns: remove AI_V4MAPPED hint flag on FreeBSD"
cjihrig [Wed, 29 Apr 2015 00:49:15 +0000 (20:49 -0400)]
Revert "dns: remove AI_V4MAPPED hint flag on FreeBSD"

This reverts commit 04bea9f9c224d9f863f671a1ad52a3f392b292cb.

PR-URL: https://github.com/iojs/io.js/pull/1555
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: update v8 flags in man page
Michaël Zasso [Thu, 14 May 2015 09:12:17 +0000 (11:12 +0200)]
doc: update v8 flags in man page

PR-URL: https://github.com/iojs/io.js/pull/1701
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update v8 to 4.3.61.21
Chris Dickinson [Tue, 5 May 2015 20:48:55 +0000 (13:48 -0700)]
deps: update v8 to 4.3.61.21

* @indutny's SealHandleScope patch (484bebc38319fc7c622478037922ad73b2edcbf9)
  has been cherry picked onto the top of V8 to make it compile.
* There's some test breakage in contextify.
* This was merged at the request of the TC.

PR-URL: https://github.com/iojs/io.js/pull/1632

9 years agotest: remove obsolete harmony flags
Chris Dickinson [Tue, 5 May 2015 01:16:54 +0000 (18:16 -0700)]
test: remove obsolete harmony flags

9 years agodoc,test: documents behaviour of non-existent file
Sakthipriyan Vairamani [Sun, 12 Jul 2015 16:58:50 +0000 (16:58 +0000)]
doc,test: documents behaviour of non-existent file

As per the discussion in
https://github.com/nodejs/io.js/pull/2093#discussion_r34343965, this
patch documents the behavior of calling fs.watchFile() with a path that
does not yet exist.

This patch also includes a test which checks if a file not present, the
callback is invoked at least once and if the file is created after
the callback is invoked, it will be invoked again with new stat
objects.

PR-URL: https://github.com/nodejs/io.js/pull/2169
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agorepl: don't clobber RegExp.$ properties
Sakthipriyan Vairamani [Wed, 8 Jul 2015 21:53:48 +0000 (03:23 +0530)]
repl: don't clobber RegExp.$ properties

In REPL, if we evaluate the `RegExp` object's predefined properties,
and if they happen to have the same expression, for example,

    > RegExp.$1
    'RegExp.$1'

then doing `eval(RegExp.$1)` would evaluate `RegExp.$1` recursively and
eventually throw `RangeError: Maximum call stack size exceeded`.

This patch stores the old values of `RegExp`'s predefined proprties in
an array and restores them just before the current expression entered
by user is evaluated.

Fixes: https://github.com/nodejs/io.js/issues/597
PR-URL: https://github.com/nodejs/io.js/pull/2137
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: change the hostname to an invalid name
Sakthipriyan Vairamani [Sun, 2 Aug 2015 11:54:40 +0000 (17:24 +0530)]
test: change the hostname to an invalid name

In my Ubuntu 14.04.2 LTS machine, it tries to resolve the name
'blah.blah' and it fails with ETIMEOUT instead of ENOTFOUND. This patch
changes the hostname to "...", an invalid name, so that it will fail
immediately.

PR-URL: https://github.com/nodejs/io.js/pull/2287
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agotest: fix messages and use return to skip tests
Sakthipriyan Vairamani [Sun, 2 Aug 2015 14:06:43 +0000 (19:36 +0530)]
test: fix messages and use return to skip tests

This is a followup of https://github.com/nodejs/io.js/pull/2109.
The tests which didn't make it in #2109, are included in this patch.
The skip messages are supposed to follow the format

    1..0 # Skipped: [Actual reason why the test is skipped]

and the tests should be skipped with the return statement.

PR-URL: https://github.com/nodejs/io.js/pull/2290
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.13.3
Kat Marchán [Sat, 1 Aug 2015 00:08:03 +0000 (17:08 -0700)]
deps: upgrade to npm 2.13.3

PR-URL: https://github.com/nodejs/io.js/pull/2284
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotest: use common.isWindows consistently
Sakthipriyan Vairamani [Wed, 29 Jul 2015 11:48:04 +0000 (17:18 +0530)]
test: use common.isWindows consistently

In the tests, we use "process.platform === 'win32'" in some places.
This patch replaces them with the "common.isWindows" for consistency.

PR-URL: https://github.com/nodejs/io.js/pull/2269
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agocluster: add handle ref/unref stubs in rr mode
Ben Noordhuis [Wed, 29 Jul 2015 23:05:11 +0000 (01:05 +0200)]
cluster: add handle ref/unref stubs in rr mode

Add ref() and unref() stub methods to the faux handle in round-robin
mode.  Fixes the following TypeError when calling `server.unref()` in
the worker:

    net.js:1521
        this._handle.unref();
                     ^
    TypeError: this._handle.unref is not a function
        at Server.unref (net.js:1521:18)

No actual reference counting is implemented.  It would effectively be
a no-op because the control channel would still keep the worker alive.

Fixes: https://github.com/nodejs/node/issues/73
PR-URL: https://github.com/nodejs/io.js/pull/2274
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotools: expose skip output to test runner
Johan Bergström [Wed, 8 Jul 2015 00:37:43 +0000 (10:37 +1000)]
tools: expose skip output to test runner

In the TAP protocol, skips are flagged as ok. Expose more
information so we can understand if the test was skipped or not.

PR-URL: https://github.com/nodejs/io.js/pull/2130
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: produce symbol map files on windows
Ali Ijaz Sheikh [Sat, 25 Jul 2015 00:59:14 +0000 (17:59 -0700)]
build: produce symbol map files on windows

This produces map files as part of the build on windows. The existence of
these files enable profiling and tick-processing using the --prof command
line.
See: https://github.com/nodejs/io.js/pull/2090#issuecomment-124746673

Map files are documented here:
https://msdn.microsoft.com/en-us/library/k7xkk3e2.aspx

PR-URL: https://github.com/nodejs/io.js/pull/2243
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: fix fs.readFile('/dev/stdin') tests
Ben Noordhuis [Wed, 29 Jul 2015 00:30:28 +0000 (02:30 +0200)]
test: fix fs.readFile('/dev/stdin') tests

The tests were creating the temp fixture file in both the parent
and the child process, leading to interesting race conditions on
the slower buildbots.

Rod notes that the tests started failing after putting the build
directory on a NFS mount.

Fixes: https://github.com/nodejs/io.js/issues/2261
PR-URL: https://github.com/nodejs/io.js/pull/2265
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: properly inheriting from EventEmitter
Sakthipriyan Vairamani [Sun, 12 Jul 2015 16:10:57 +0000 (16:10 +0000)]
doc: properly inheriting from EventEmitter

There are so many buggy code out there, just because not inheriting
properly from `EventEmitter`. This patch gives an official
recommendation.

PR-URL: https://github.com/nodejs/io.js/pull/2168
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
9 years agodoc: a listener, not "an" listener
Sam Roberts [Tue, 28 Jul 2015 04:00:32 +0000 (21:00 -0700)]
doc: a listener, not "an" listener

Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
PR-URL: https://github.com/nodejs/io.js/pull/1025

9 years agodoc: server close event does not have an argument
Sam Roberts [Mon, 2 Mar 2015 20:22:43 +0000 (12:22 -0800)]
doc: server close event does not have an argument

Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
PR-URL: https://github.com/nodejs/io.js/pull/1025

9 years agoWorking on v2.5.1
cjihrig [Tue, 28 Jul 2015 15:22:31 +0000 (11:22 -0400)]
Working on v2.5.1

PR-URL: https://github.com/nodejs/io.js/pull/2239

9 years ago2015-07-28 io.js v2.5.0 Release v2.5.0
cjihrig [Tue, 28 Jul 2015 14:59:14 +0000 (10:59 -0400)]
2015-07-28 io.js v2.5.0 Release

Notable changes

* **https**: TLS sessions in Agent are reused (Fedor Indutny)
https://github.com/nodejs/io.js/pull/2228.
* **src**: base64 decoding is now 50% faster (Ben Noordhuis)
https://github.com/nodejs/io.js/pull/2193.
* **npm**: Upgraded to v2.13.2, release notes can be found in
<https://github.com/npm/npm/releases/tag/v2.13.2> (Kat Marchán)
https://github.com/nodejs/io.js/pull/2241.

PR-URL: https://github.com/nodejs/io.js/issues/2239

9 years agoutil: delay creation of debug context
Ali Ijaz Sheikh [Sat, 25 Jul 2015 13:01:24 +0000 (06:01 -0700)]
util: delay creation of debug context

We need the debug context to be able to inspect promises. However, this is
very expensive and should not be done on default startup.

PR-URL: https://github.com/nodejs/io.js/pull/2248
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Christopher Monsanto <chris@monsan.to>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agotest: do not use public IPs for timeout testing
Rich Trott [Thu, 25 Jun 2015 06:33:11 +0000 (23:33 -0700)]
test: do not use public IPs for timeout testing

PR-URL: https://github.com/nodejs/io.js/pull/2057
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotimers: improve Timer.now() performance
Ben Noordhuis [Mon, 27 Jul 2015 21:29:03 +0000 (23:29 +0200)]
timers: improve Timer.now() performance

Record the start time so we can make the return value of Timer.now()
relative to it, increasing the chances that it fits in a tagged integer
instead of a heap-allocated double, at least for the first one or two
billion milliseconds.

PR-URL: https://github.com/nodejs/io.js/pull/2256
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotimers: remove unused Timer.again()
Ben Noordhuis [Mon, 27 Jul 2015 21:12:42 +0000 (23:12 +0200)]
timers: remove unused Timer.again()

PR-URL: https://github.com/nodejs/io.js/pull/2256
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotimers: remove unused Timer.getRepeat()
Ben Noordhuis [Mon, 27 Jul 2015 21:12:00 +0000 (23:12 +0200)]
timers: remove unused Timer.getRepeat()

PR-URL: https://github.com/nodejs/io.js/pull/2256
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotimers: remove unused Timer.setRepeat()
Ben Noordhuis [Mon, 27 Jul 2015 21:11:19 +0000 (23:11 +0200)]
timers: remove unused Timer.setRepeat()

PR-URL: https://github.com/nodejs/io.js/pull/2256
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agonet: don't throw on immediately destroyed socket
Evan Lucas [Mon, 27 Jul 2015 00:24:28 +0000 (19:24 -0500)]
net: don't throw on immediately destroyed socket

Fixes regression introduced in af249fa8a15bad8996187e73b480b30dcd881bad.

With connect being deferred to the next tick, Socket.destroy could be
called before connect. Socket.destroy sets _connecting to false which
would cause an assertion error.

Fixes: https://github.com/nodejs/io.js/issues/2250
PR-URL: https://github.com/nodejs/io.js/pull/2251
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
9 years agohttps: reuse TLS sessions in Agent
Fedor Indutny [Thu, 23 Jul 2015 04:18:38 +0000 (21:18 -0700)]
https: reuse TLS sessions in Agent

Fix: #1499
PR-URL: https://github.com/nodejs/io.js/pull/2228
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotest: skip IPv6 part before testing it
Sakthipriyan Vairamani [Wed, 22 Jul 2015 19:58:30 +0000 (01:28 +0530)]
test: skip IPv6 part before testing it

PR-URL: https://github.com/nodejs/io.js/pull/2226
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agonode: remove bad fn call and check
Trevor Norris [Fri, 10 Jul 2015 19:55:14 +0000 (13:55 -0600)]
node: remove bad fn call and check

These two lines exist because of a screw up on my part while combining
MakeCallback() and MakeDomainCallback().

The reason it never broke core tests is because any paths it would have
broken were rerouted to AsyncWrap::MakeCallback(). The only case that
node::MakeCallback() handles anymore is setImmediate().

Fix: a1da024 "node, async-wrap: remove MakeDomainCallback"
PR-URL: https://github.com/nodejs/io.js/pull/2157
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agobenchmark: add remaining path benchmarks & optimize
Nathan Woltman [Sat, 4 Jul 2015 19:50:07 +0000 (15:50 -0400)]
benchmark: add remaining path benchmarks & optimize

As a follow-up to 0d15161, this commit adds benchmarks for the rest
of the path functions and also forces V8 to optimize the functions
before starting the benchmark test.

PR-URL: https://github.com/nodejs/io.js/pull/2103
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agotest: fix valgrind uninitialized memory warning
Ben Noordhuis [Thu, 16 Jul 2015 09:17:22 +0000 (11:17 +0200)]
test: fix valgrind uninitialized memory warning

parallel/test-buffer called `Buffer.prototype.toString()` on a buffer
with uninitialized memory.  Call `Buffer.prototype.fill()` on it first.

PR-URL: https://github.com/nodejs/io.js/pull/2193
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: make base64 decoding 50% faster
Ben Noordhuis [Wed, 15 Jul 2015 20:09:52 +0000 (22:09 +0200)]
src: make base64 decoding 50% faster

Make the inner loop execute fewer compare-and-branch executions per
processed byte, resulting in a 50% or more speedup.

This coincidentally fixes an out-of-bounds read:

    while (unbase64(*src) < 0 && src < srcEnd)

Should have read:

    while (src < srcEnd && unbase64(*src) < 0)

But this commit removes the offending code altogether.

Fixes: https://github.com/nodejs/io.js/issues/2166
PR-URL: https://github.com/nodejs/io.js/pull/2193
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.13.2
Kat Marchán [Fri, 24 Jul 2015 22:09:52 +0000 (15:09 -0700)]
deps: upgrade to npm 2.13.2

PR-URL: https://github.com/nodejs/io.js/pull/2241
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotools: use local or specified $NODE for test-npm
Jeremiah Senkpiel [Mon, 15 Jun 2015 16:10:44 +0000 (09:10 -0700)]
tools: use local or specified $NODE for test-npm

PR-URL: https://github.com/nodejs/io.js/pull/1984
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agorepl: better empty line handling
Sakthipriyan Vairamani [Sun, 12 Jul 2015 21:48:50 +0000 (21:48 +0000)]
repl: better empty line handling

In REPL, if we try to evaluate an empty line, we get `undefined`.

    > process.version
    'v2.3.4'
    >
    undefined
    >
    undefined
    >

This patch prevents `undefined` from printing if the string is empty.

    > process.version
    'v2.3.5-pre'
    >
    >
    >

PR-URL: https://github.com/nodejs/io.js/pull/2163
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agorepl: improving line continuation handling
Sakthipriyan Vairamani [Sun, 12 Jul 2015 01:22:33 +0000 (01:22 +0000)]
repl: improving line continuation handling

As it is, REPL doesn't honour the line continuation feature very well.
This patch

 1. keeps track of the beginning of the string literals and if they
    don't end or current line doesn't end with line continuation, then
    error out.

 2. monitors if the line continuation character is used without the
    string literal and errors out if that happens.

PR-URL: https://github.com/nodejs/io.js/pull/2163
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agorepl: preventing REPL crash with inherited properties
Sakthipriyan Vairamani [Sun, 12 Jul 2015 00:58:20 +0000 (00:58 +0000)]
repl: preventing REPL crash with inherited properties

When an inherited property is used as a REPL keyword, the REPL crashes.

    ➜  Desktop  iojs
    > process.version
    'v2.3.4'
    > .toString
    readline.js:913
            stream[ESCAPE_DECODER].next(r[i]);
                                    ^
    TypeError: Cannot read property 'call' of undefined
        at REPLServer.parseREPLKeyword (repl.js:746:15)
        at REPLServer.<anonymous> (repl.js:284:16)
        at emitOne (events.js:77:13)
        at REPLServer.emit (events.js:169:7)
        at REPLServer.Interface._onLine (readline.js:210:10)
        at REPLServer.Interface._line (readline.js:549:8)
        at REPLServer.Interface._ttyWrite (readline.js:826:14)
        at ReadStream.onkeypress (readline.js:105:10)
        at emitTwo (events.js:87:13)
        at ReadStream.emit (events.js:172:7)
    ➜  Desktop

This patch makes the internal `commands` object inherit from `null` so
that there will be no inherited properties.

    > process.version
    'v2.3.5-pre'
    > .toString
    Invalid REPL keyword
    >

PR-URL: https://github.com/nodejs/io.js/pull/2163
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agorepl: fixing `undefined` in invalid REPL keyword error
Sakthipriyan Vairamani [Sun, 12 Jul 2015 00:53:39 +0000 (00:53 +0000)]
repl: fixing `undefined` in invalid REPL keyword error

When an invalid REPL keyword is used, we actually print `undefined` as
well in the console.

    > process.version
    'v2.3.4'
    > .invalid_repl_command
    Invalid REPL keyword
    undefined
    >

This patch prevents printing `undefined` in this case.

    > process.version
    'v2.3.5-pre'
    > .invalid_repl_command
    Invalid REPL keyword
    >

PR-URL: https://github.com/nodejs/io.js/pull/2163
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add GPG fingerprint for cjihrig
cjihrig [Tue, 21 Jul 2015 18:37:36 +0000 (14:37 -0400)]
doc: add GPG fingerprint for cjihrig

PR-URL: https://github.com/nodejs/io.js/pull/2217
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: note about custom inspect functions
Sakthipriyan Vairamani [Thu, 9 Jul 2015 18:54:21 +0000 (18:54 +0000)]
doc: note about custom inspect functions

See: https://github.com/nodejs/io.js/issues/1798

When an Object is printed in REPL, the actual representation can be
overriden by defining `inspect` method on the objects. This patch
includes a note about the same in the REPL documentation.

PR-URL: https://github.com/nodejs/io.js/pull/2142
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
9 years agodeps: update V8 to 4.2.77.21
Ali Ijaz Sheikh [Fri, 24 Jul 2015 14:49:12 +0000 (07:49 -0700)]
deps: update V8 to 4.2.77.21

Picks up the latest patch-release on the V8 4.2 branch.
https://codereview.chromium.org/1156323004

PR-URL: https://github.com/nodejs/io.js/issues/2238
Fixes: https://github.com/nodejs/io.js/issues/2235
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoprocess: resize stderr on SIGWINCH
Jeremiah Senkpiel [Thu, 23 Jul 2015 16:15:19 +0000 (09:15 -0700)]
process: resize stderr on SIGWINCH

Fixes: https://github.com/nodejs/io.js/issues/2219
PR-URL: https://github.com/nodejs/io.js/pull/2231
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
9 years agocluster: emit 'message' event on cluster master
Sam Roberts [Sun, 15 Feb 2015 02:50:56 +0000 (18:50 -0800)]
cluster: emit 'message' event on cluster master

For consistency with the worker 'exit', 'online', 'disconnect', and
'listening' events which are emitted on worker and cluster, also emit
'message' on cluster.

Reviewed-by: Sam Roberts <vieuxtech@gmail.com>
Reviewed-by: Christian Tellnes <christian@tellnes.no>
Reviewed-by: Stephen Belanger <admin@stephenbelanger.com>
PR-URL: https://github.com/nodejs/io.js/pull/861

9 years agotls: add `getTicketKeys()`/`setTicketKeys()`
Fedor Indutny [Wed, 22 Jul 2015 20:52:23 +0000 (13:52 -0700)]
tls: add `getTicketKeys()`/`setTicketKeys()`

Introduce two new APIs for getting/settings the TLS Server Ticket Keys.

Fix: #1465
PR-URL: https://github.com/nodejs/io.js/pull/2227
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: Replace util.debug with console.error
Yosuke Furukawa [Tue, 21 Jul 2015 17:30:20 +0000 (02:30 +0900)]
doc: Replace util.debug with console.error

PR-URL: https://github.com/nodejs/io.js/pull/2214
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
9 years agocrypto: fix legacy SNICallback
Fedor Indutny [Sun, 17 May 2015 13:10:24 +0000 (15:10 +0200)]
crypto: fix legacy SNICallback

`onselect` is set on the `sniObject_` not on the `Connection` instance.

See: https://github.com/joyent/node/pull/25109
PR-URL: https://github.com/nodejs/io.js/pull/1720
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agohttp: Check this.connection before using it
Sakthipriyan Vairamani [Mon, 13 Jul 2015 19:38:25 +0000 (01:08 +0530)]
http: Check this.connection before using it

Refer: https://github.com/joyent/node/pull/25670

PR-URL: https://github.com/nodejs/io.js/pull/2172
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agotest: add -no_rand_screen to s_client opts on Win
Shigeki Ohtsu [Sat, 18 Jul 2015 02:59:55 +0000 (11:59 +0900)]
test: add -no_rand_screen to s_client opts on Win

RAND_screen() causes stability issues in invoking openssl-cli s_client
on win2008r2 in CI. Disable to use it by adding -no_rand_screen
options to all tls tests that use common.opensslCli.

Fixes: https://github.com/nodejs/io.js/issues/2150
PR-URL: https://github.com/nodejs/io.js/pull/2209
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.13.1
Kat Marchán [Tue, 21 Jul 2015 03:07:07 +0000 (20:07 -0700)]
deps: upgrade to npm 2.13.1

PR-URL: https://github.com/nodejs/io.js/pull/2210
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoutil: removing redundant checks in is* functions
Sakthipriyan Vairamani [Tue, 14 Jul 2015 20:26:54 +0000 (01:56 +0530)]
util: removing redundant checks in is* functions

When Object.prototype.toString is used to determine the type, we don't
have to explicitly check for other types. This patch removes the
redundant checks like that.

PR-URL: https://github.com/nodejs/io.js/pull/2179

Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add joaocgreis as a collaborator
João Reis [Mon, 20 Jul 2015 08:54:20 +0000 (09:54 +0100)]
doc: add joaocgreis as a collaborator

Refer: https://github.com/nodejs/io.js/issues/2102

PR-URL: https://github.com/nodejs/io.js/pull/2208

Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotest: changing process.exit to return while skipping tests
Sakthipriyan Vairamani [Tue, 7 Jul 2015 15:25:55 +0000 (20:55 +0530)]
test: changing process.exit to return while skipping tests

This patch uses `return` statement to skip the test instead of using
`process.exit` call.

PR-URL: https://github.com/nodejs/io.js/pull/2109
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agotest: formatting skip messages for TAP parsing
Sakthipriyan Vairamani [Mon, 6 Jul 2015 03:24:12 +0000 (03:24 +0000)]
test: formatting skip messages for TAP parsing

This patch makes the skip messages consistent so that the TAP plugin
in CI can parse the messages properly. The format will be

    1..0 # Skipped: [Actual reason why the test is skipped]

PR-URL: https://github.com/nodejs/io.js/pull/2109
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: add TSC meeting minutes 2015-07-15
Rod Vagg [Thu, 16 Jul 2015 11:09:35 +0000 (21:09 +1000)]
doc: add TSC meeting minutes 2015-07-15

PR-URL: https://github.com/nodejs/io.js/pull/2191
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
9 years agodoc: recompile before testing core module changes
Phillip Johnsen [Wed, 24 Jun 2015 18:35:43 +0000 (20:35 +0200)]
doc: recompile before testing core module changes

Changes to core modules do not take effect unless recompiled. Tip new
contributors about this when describing how to run tests in
contribution guide.

Removed `jslint` from first test command example, as jslint is included
when running `make test`.

Fixed wrong path of example stream2-transform test.

PR-URL: https://github.com/nodejs/io.js/pull/2051
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
9 years agolib,test: add freelist deprecation and test
Sakthipriyan Vairamani [Tue, 14 Jul 2015 17:23:54 +0000 (22:53 +0530)]
lib,test: add freelist deprecation and test

As per the dicussion in https://github.com/nodejs/io.js/issues/569,
this patch issues a deprecation warning when freelist module is
required. A test file for freelist is also added.

PR-URL: https://github.com/nodejs/io.js/pull/2176
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agoWorking on v2.4.1
Jeremiah Senkpiel [Fri, 17 Jul 2015 23:21:50 +0000 (16:21 -0700)]
Working on v2.4.1

PR-URL: https://github.com/nodejs/io.js/pull/2189

9 years ago2015-07-17 io.js v2.4.0 Release v2.4.0
Jeremiah Senkpiel [Fri, 17 Jul 2015 23:19:32 +0000 (16:19 -0700)]
2015-07-17 io.js v2.4.0 Release

Notable changes

* src: Added a new `--track-heap-objects` flag to track heap object
allocations for heap snapshots (Bradley Meck)
https://github.com/nodejs/io.js/pull/2135.
* readline: Fixed a freeze that affected the repl if the keypress event
handler threw (Alex Kocharin) https://github.com/nodejs/io.js/pull/2107.
* npm: Upgraded to v2.13.0, release notes can be found in
https://github.com/npm/npm/releases/tag/v2.13.0 (Forrest L Norvell)
https://github.com/nodejs/io.js/pull/2152.

PR-URL: https://github.com/nodejs/io.js/pull/2189

9 years agodoc: add targos as a collaborator
Michaël Zasso [Fri, 17 Jul 2015 22:48:43 +0000 (00:48 +0200)]
doc: add targos as a collaborator
Ref: https://github.com/nodejs/io.js/issues/2102

PR-URL: https://github.com/nodejs/io.js/pull/2200
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add thefourtheye as a collaborator
Sakthipriyan Vairamani [Sat, 18 Jul 2015 04:02:18 +0000 (04:02 +0000)]
doc: add thefourtheye as a collaborator

Refer: https://github.com/nodejs/io.js/issues/2102

PR-URL: https://github.com/nodejs/io.js/pull/2199
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodocs: link to more up-to-date v8 docs
Jeremiah Senkpiel [Thu, 16 Jul 2015 22:09:41 +0000 (15:09 -0700)]
docs: link to more up-to-date v8 docs

PR-URL: https://github.com/nodejs/io.js/pull/2196
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Fixes: https://github.com/nodejs/io.js/pull/2155

9 years agodoc: add TSC members from the combined project
Jeremiah Senkpiel [Fri, 15 May 2015 19:51:37 +0000 (12:51 -0700)]
doc: add TSC members from the combined project

These members were collaborators on the old joyent/node repo prior to
convergence of the Node.js and io.js projects under the Node
Foundation. This updates our list to represent that they are now also
part of the TSC (Technical Steering Committee), which was previously
known as the io.js TC.

PR-URL: https://github.com/nodejs/io.js/pull/2085
Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Membership changes also previously reviewed by many more TSC & former
TC members in https://github.com/nodejs/io.js/pull/1710

9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.13.0
Forrest L Norvell [Fri, 10 Jul 2015 03:48:26 +0000 (20:48 -0700)]
deps: upgrade to npm 2.13.0

PR-URL: https://github.com/nodejs/io.js/pull/2152
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add TSC meeting minutes 2015-07-08
Rod Vagg [Wed, 15 Jul 2015 12:48:24 +0000 (22:48 +1000)]
doc: add TSC meeting minutes 2015-07-08

PR-URL: https://github.com/nodejs/io.js/pull/2184
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: fix test-debug-port-from-cmdline
João Reis [Wed, 15 Jul 2015 12:19:56 +0000 (13:19 +0100)]
test: fix test-debug-port-from-cmdline

This test was failing because the spawned process was terminated before
anything could be done, by calling child.stdin.end. With this change,
the child's stdin is no longer closed. When the stdin is not a tty,
io.js waits for the whole input before starting, so the child must be
run with --interactive to process the command sent by the parent. The
child is killed explicitly by the parent before it exits.

This test was failing silently because the asserts were not called if
nothing was received from the child. This fix moves assertOutputLines to
always run on exit.

Fixes: https://github.com/nodejs/io.js/issues/2177
Refs: https://github.com/nodejs/io.js/issues/2094
PR-URL: https://github.com/nodejs/io.js/pull/2186
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
9 years agobuild: always use prefix=/ for tar-headers
Rod Vagg [Tue, 30 Jun 2015 06:57:47 +0000 (16:57 +1000)]
build: always use prefix=/ for tar-headers

Defaults to /usr/local otherwise, which isn't helpful for node-gyp,
nor standard assumptions about how header directories should be
structured.

PR-URL: https://github.com/nodejs/io.js/pull/2082
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: add TSC meeting minutes 2015-07-01
Rod Vagg [Wed, 8 Jul 2015 11:39:23 +0000 (21:39 +1000)]
doc: add TSC meeting minutes 2015-07-01

PR-URL: https://github.com/nodejs/io.js/pull/2132
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc,test: empty strings in path module
Sakthipriyan Vairamani [Sun, 5 Jul 2015 15:08:16 +0000 (15:08 +0000)]
doc,test: empty strings in path module

The path module's `join, normalize, isAbsolute, relative and resolve`
functions return/use the current directory if they are passed zero
length strings.

    > process.version
    'v2.3.4-pre'
    > path.win32.join('')
    '.'
    > path.posix.join('')
    '.'
    > path.win32.normalize('')
    '.'
    > path.posix.normalize('')
    '.'
    > path.win32.isAbsolute('')
    false
    > path.posix.isAbsolute('')
    false
    > path.win32.relative('', '')
    ''
    > path.posix.relative('', '')
    ''
    > path.win32relative('.', '')
    ''
    > path.posix.relative('.', '')
    ''
    > path.posix.resolve('')
    '/home/thefourtheye/Desktop'
    > path.win32.resolve('')
    '\\home\\thefourtheye\\Desktop'

Since empty paths are not valid in any of the operating systems people
normally use, this behaviour might be a surprise to the users. This
commit introduces "Notes" about this, wherever applicable in `path`'s
documentation.

The tests makes sure that the behaviour is intact between
commits.

PR-URL: https://github.com/nodejs/io.js/pull/2106
Reviewed-By: Rich Trott <rtrott@gmail.com>
9 years agochild_process: fix arguments comments
Roman Reiss [Fri, 10 Jul 2015 23:57:51 +0000 (01:57 +0200)]
child_process: fix arguments comments

Fixes the arguments comments for execFileSync and other related minor
inconsistencies in commented arguments in the same file.

PR-URL: https://github.com/nodejs/io.js/pull/2161
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agotest: properly clean up temp directory
Roman Reiss [Sat, 11 Jul 2015 22:20:48 +0000 (00:20 +0200)]
test: properly clean up temp directory

A persistent failure on OS X 10.11 uncovered a inproperly cleaned up
temp directory in this test. This changes the mkdirSync call to clean up
properly in case it throws.

PR-URL: https://github.com/nodejs/io.js/pull/2164
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agopath: assert path.join() arguments equally
Phillip Johnsen [Fri, 10 Jul 2015 22:13:59 +0000 (00:13 +0200)]
path: assert path.join() arguments equally

Re-use `assertPath()` when asserting path argument types in `join()`
as throughout the rest of the `path` module.

This also ensures the same error message generated for posix as for
win32.

PR-URL: https://github.com/nodejs/io.js/pull/2159
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agoreadline: fix freeze if `keypress` event throws
Alex Kocharin [Sun, 5 Jul 2015 16:16:47 +0000 (19:16 +0300)]
readline: fix freeze if `keypress` event throws

`emitKeys` is a generator which emits `keypress` events in an infinite
loop. But if `keypress` event handler throws, the error stops the loop,
leaving generator in a broken state. So this patch restarts the generator
when an error occures.

PR-URL: https://github.com/nodejs/io.js/pull/2107
Reviewed-By: Christopher Monsanto <chris@monsan.to>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agosrc: add --track-heap-objects
Bradley Meck [Thu, 9 Jul 2015 16:15:26 +0000 (11:15 -0500)]
src: add --track-heap-objects

- This makes v8 add .trace_function_info to the serialized form of
  snapshots from v8::HeapSnapshot::Serialize
- .trace_funciton_info combined with .trace_node in snapshots tells the
  JS location that allocated a specific object

PR-URL: https://github.com/nodejs/io.js/pull/2135
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: document fs.watchFile behaviour on ENOENT
Brendan Ashworth [Wed, 1 Jul 2015 15:13:54 +0000 (08:13 -0700)]
doc: document fs.watchFile behaviour on ENOENT

When fs.watchFile encounters an ENOENT error, it invokes the given
callback with some error data. This caused an issue as it was different
behaviour than Node v0.10. Instead of changing this behaviour, document
it and add a test.

Ref: https://github.com/nodejs/io.js/issues/1745
Ref: https://github.com/nodejs/io.js/pull/2028
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/nodejs/io.js/pull/2093

9 years agofs: fix error on bad listener type
Brendan Ashworth [Wed, 1 Jul 2015 15:14:52 +0000 (08:14 -0700)]
fs: fix error on bad listener type

When the listener was truthy but NOT a function, fs.watchFile would
throw an error through the EventEmitter. This caused a problem because
it would only be thrown after the listener was started, which left the
listener on.

There should be no backwards compatability issues because the error was
always thrown, just in a different manner.

Also adds tests for this and other basic functionality.

PR-URL: https://github.com/nodejs/io.js/pull/2093
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: run-ci makefile rule
Alexis Campailla [Wed, 8 Jul 2015 14:11:24 +0000 (16:11 +0200)]
build: run-ci makefile rule

Adding a single rule to be called from Jenkins.

Jenkins jobs typically call:
python ./configure
make -j $(getconf _NPROCESSORS_ONLN)
make test-ci

After this change, we can have Jenkins call:
make run-ci -j $(getconf _NPROCESSORS_ONLN)

This allows us to customize how we call configure
for different repos or branches (e.g. joyent\node).

PR-URL: https://github.com/nodejs/io.js/pull/2134
Reviewed-By: Ryan Graham <r.m.graham@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
9 years agobuild: fix vcbuild merge issues
Alexis Campailla [Wed, 8 Jul 2015 10:31:30 +0000 (12:31 +0200)]
build: fix vcbuild merge issues

configure was getting called twice.
We also erroneously introduced support for VS2010,
and were picking 2010 before other versions.

PR-URL: https://github.com/nodejs/io.js/pull/2131
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agorepl: Prevent crash when tab-completed with Proxy
Sakthipriyan Vairamani [Tue, 7 Jul 2015 17:01:21 +0000 (22:31 +0530)]
repl: Prevent crash when tab-completed with Proxy

If the proxy objects don't have a valid `hasOwnPropertyNames` trap,
REPL crashes with a `TypeError`, as per the bug report
https://github.com/nodejs/io.js/issues/2119

    > var proxy = Proxy.create({ fix: function() { return {}; } });
    undefined
    > proxy.<tab>
    TypeError: Proxy handler #<Object> has no 'getOwnPropertyNames' trap
        at Function.getOwnPropertyNames (native)
        at repl.js:644:40
        at REPLServer.defaultEval (repl.js:169:5)
        at bound (domain.js:254:14)
        at REPLServer.runBound [as eval] (domain.js:267:12)
        at REPLServer.complete (repl.js:639:14)
        at REPLServer.complete [as completer] (repl.js:207:10)
        at REPLServer.Interface._tabComplete (readline.js:377:8)
        at REPLServer.Interface._ttyWrite (readline.js:845:14)
        at ReadStream.onkeypress (readline.js:105:10)

This patch traps the error thrown and suppresses it.

PR-URL: https://github.com/nodejs/io.js/pull/2120
Fixes: https://github.com/nodejs/io.js/issues/2119
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agobuild: bail early if clean is invoked
Johan Bergström [Tue, 7 Jul 2015 22:06:13 +0000 (08:06 +1000)]
build: bail early if clean is invoked

On windows, there's no need to continue with the msbuild process
(signing, whatnot) when we only want to clean the project.

PR-URL: https://github.com/nodejs/io.js/pull/2127
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
9 years agotest: add test for dgram.setTTL
Evan Lucas [Tue, 7 Jul 2015 12:44:57 +0000 (07:44 -0500)]
test: add test for dgram.setTTL

Verify that passing a non-number will throw and that the argument is
returned on success.

PR-URL: https://github.com/nodejs/io.js/pull/2121
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agoWorking on v2.3.5
Jeremiah Senkpiel [Thu, 9 Jul 2015 16:46:24 +0000 (09:46 -0700)]
Working on v2.3.5

9 years ago2015-07-09 io.js v2.3.4 Release v2.3.4
Jeremiah Senkpiel [Thu, 9 Jul 2015 16:46:02 +0000 (09:46 -0700)]
2015-07-09 io.js v2.3.4 Release

Notable changes

* openssl: Upgrade to 1.0.2d, fixes CVE-2015-1793 (Alternate Chains
Certificate Forgery).
* npm: Upgraded to v2.12.1, release notes can be found in
https://github.com/npm/npm/releases/tag/v2.12.0 and
https://github.com/npm/npm/releases/tag/v2.12.1 (Kat Marchán)
https://github.com/nodejs/io.js/pull/2112.

9 years agodeps: update deps/openssl/conf/arch/*/opensslconf.h
Shigeki Ohtsu [Thu, 9 Jul 2015 13:00:23 +0000 (22:00 +0900)]
deps: update deps/openssl/conf/arch/*/opensslconf.h

They should be updated according to the fix at
https://github.com/openssl/openssl/commit/b4f0d1a4a89b964dba80036a6348ca0a1913c526

PR-URL: https://github.com/nodejs/io.js/pull/2141
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>