platform/upstream/nodejs.git
8 years agodoc: fix v4.3.0 changelog commit entries
James M Snell [Tue, 9 Feb 2016 18:21:23 +0000 (10:21 -0800)]
doc: fix v4.3.0 changelog commit entries

The wrong commit SHAs were used

PR-URL: https://github.com/nodejs/node/pull/5165
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rod Vagg <r@va.gg>
8 years agoWorking on v4.3.1
James M Snell [Tue, 9 Feb 2016 16:51:09 +0000 (08:51 -0800)]
Working on v4.3.1

8 years ago2016-02-09, Version 4.3.0 'Argon' (LTS) v4.3.0
James M Snell [Mon, 8 Feb 2016 20:36:05 +0000 (12:36 -0800)]
2016-02-09, Version 4.3.0 'Argon' (LTS)

This is an important security release. All Node.js users should
consult the security release summary at nodejs.org for details on
patched vulnerabilities.

Note that this release includes a non-backward compatible change to
address a security issue. This change increases the version of the LTS
v4.x line to v4.3.0. There will be *no further updates* to v4.2.x.

* http: fix defects in HTTP header parsing for requests and responses
  that can allow request smuggling (CVE-2016-2086) or response
  splitting (CVE-2016-2216). HTTP header parsing now aligns more
  closely with the HTTP spec including restricting the acceptable
  characters.
* http-parser: upgrade from 2.5.0 to 2.5.1
* openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the
  Logjam attack, TLS clients now reject Diffie-Hellman handshakes with
  parameters shorter than 1024-bits, up from the previous limit of
  768-bits.
* src:
  - introduce new `--security-revert={cvenum}` command line flag for
    selective reversion of specific CVE fixes
  - allow the fix for CVE-2016-2216 to be selectively reverted using
    `--security-revert=CVE-2016-2216`

PR-URL: https://github.com/nodejs/node-private/pull/20

8 years agodeps: add -no_rand_screen to openssl s_client
Shigeki Ohtsu [Wed, 27 May 2015 01:33:38 +0000 (10:33 +0900)]
deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

Fixes: https://github.com/nodejs/node/issues/1461
PR-URL: https://github.com/nodejs/node/pull/1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agodeps: upgrade openssl sources to 1.0.2f
Myles Borins [Fri, 29 Jan 2016 19:30:16 +0000 (11:30 -0800)]
deps: upgrade openssl sources to 1.0.2f

This replaces all sources of openssl-1.0.2f.tar.gz
into deps/openssl/openssl

Fix: https://github.com/nodejs/node/issues/4857
PR-URL: https://github.com/nodejs/node/pull/4961
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
deps: copy openssl header files to include dir

All symlink files in deps/openssl/openssl/include/openssl/ are removed
and replaced with real header files to avoid issues on Windows.
Two files of opensslconf.h in crypto and include dir are replaced to
refer config/opensslconf.h.

Fix: https://github.com/nodejs/node/issues/4857
PR-URL: https://github.com/nodejs/node/pull/4961
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

Fixes: https://github.com/nodejs/node/issues/589
PR-URL: https://github.com/nodejs/node/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
deps: fix asm build error of openssl in x86_win32

See
https://mta.openssl.org/pipermail/openssl-dev/2015-February/000651.html

iojs needs to stop using masm and move to nasm or yasm on Win32.

Fixes: https://github.com/nodejs/node/issues/589
PR-URL: https://github.com/nodejs/node/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
openssl: fix keypress requirement in apps on win32

Reapply b910613792dac946b295855963869933a9089044 .

Fixes: https://github.com/nodejs/node/issues/589
PR-URL: https://github.com/nodejs/node/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
docs: update openssl UPDATING guide

the guide is now current with the steps taken to update
openssl to v1.0.2f

PR-URL: https://github.com/nodejs/node/pull/4961
Reviewed-By: Myles Borins <mborins@us.ibm.com>
8 years agosrc: avoid compiler warning in node_revert.cc
James M Snell [Mon, 8 Feb 2016 19:20:35 +0000 (11:20 -0800)]
src: avoid compiler warning in node_revert.cc

PR-URL: https://github.com/nodejs/node-private/pull/20

8 years agohttp: strictly forbid invalid characters from headers
James M Snell [Thu, 4 Feb 2016 01:32:23 +0000 (17:32 -0800)]
http: strictly forbid invalid characters from headers

PR-URL: https://github.com/nodejs/node-private/pull/20

8 years agodeps: update http-parser to version 2.5.1
James M Snell [Thu, 4 Feb 2016 03:22:12 +0000 (19:22 -0800)]
deps: update http-parser to version 2.5.1

includes parsing improvements to ensure closer HTTP spec conformance

PR-URL: https://github.com/nodejs/node-private/pull/20

8 years agosrc: add --security-revert command line flag
James M Snell [Thu, 4 Feb 2016 03:09:52 +0000 (19:09 -0800)]
src: add --security-revert command line flag

The `--security-revert={cvenum}` command line flag is a special purpose
flag to be used only in stable or LTS branches when a breaking change
is required to address a security vulnerability. Whenever a vulnerability
requires a breaking change, and a CVE has been assigned, the flag can
be used to force Node to revert to the insecure behavior that was
implemented before the fix was applied.

Note that this flag is intended to be used only as a last resort in the
case a security update breaks existing code. When used, a security
warning will be printed to stderr when Node launches.

The `--security-revert={cvenum}` flag takes a single CVE number as an
argument. Multiple instances of the `--security-revert={cvenum}` flag
can be used on the command line to revert multiple changes.

Whenever a new `--security-revert={cvenum}` is enabled, it should be
documented in the release notes and in the API docs.

Master and the first release of a new major (e.g. v6.0) should not have
any reverts available.

Every time a new `--security-revert={cvenum}` is added, there should be
a semver-minor bump in the stable and LTS branch.

PR-URL: https://github.com/nodejs/node-private/pull/20

8 years agoWorking on v4.2.7
Myles Borins [Thu, 21 Jan 2016 22:14:52 +0000 (14:14 -0800)]
Working on v4.2.7

PR-URL: https://github.com/nodejs/node/pull/4788

8 years ago2016-01-21, Version 4.2.6 "Argon" (LTS) Release upstream/4.2.6 v4.2.6
Myles Borins [Thu, 21 Jan 2016 01:12:44 +0000 (17:12 -0800)]
2016-01-21, Version 4.2.6 "Argon" (LTS) Release

Notable changes:

* Fix regression in debugger and profiler functionality

PR-URL: https://github.com/nodejs/node/pull/4788
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
8 years agotest: add test for debugging one line files
cjihrig [Tue, 15 Dec 2015 22:38:00 +0000 (17:38 -0500)]
test: add test for debugging one line files

This commit adds a regression test for debugging of
single line files.

Refs: https://github.com/nodejs/node/issues/4297
PR-URL: https://github.com/nodejs/node/pull/4298
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
8 years agomodule,src: do not wrap modules with -1 lineOffset
cjihrig [Tue, 15 Dec 2015 22:37:16 +0000 (17:37 -0500)]
module,src: do not wrap modules with -1 lineOffset

In b799a74709af69daf13901390df9428c4c38adfc and
dfee4e3712ac4673b5fc472a8f77ac65bdc65f87 the module wrapping
mechanism was changed for better error reporting. However,
the changes causes issues with debuggers and profilers. This
commit reverts the wrapping changes.

Fixes: https://github.com/nodejs/node/issues/4297
PR-URL: https://github.com/nodejs/node/pull/4298
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
8 years agoWorking on v4.2.6
Myles Borins [Wed, 20 Jan 2016 20:40:59 +0000 (12:40 -0800)]
Working on v4.2.6

PR-URL: https://github.com/nodejs/node/pull/4768

8 years ago2016-01-20, Version 4.2.5 "Argon" (LTS) Release v4.2.5
Myles Borins [Tue, 19 Jan 2016 20:27:07 +0000 (12:27 -0800)]
2016-01-20, Version 4.2.5 "Argon" (LTS) Release

Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) https://github.com/nodejs/node/pull/4166
* build
  - add "--partly-static" build options (Super Zheng) https://github.com/nodejs/node/pull/4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) https://github.com/nodejs/node/pull/4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) https://github.com/nodejs/node/pull/4013
  - display error message when loading directory (Prince J Wesley) https://github.com/nodejs/node/pull/4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) https://github.com/nodejs/node/pull/3988

PR-URL: https://github.com/nodejs/node/pull/4768

8 years agotools: add .editorconfig
ronkorving [Tue, 22 Sep 2015 03:36:03 +0000 (12:36 +0900)]
tools: add .editorconfig

This helps editors (see http://editorconfig.org/#download) to
apply the right indentation and encoding rules to files by
default.

PR-URL: https://github.com/nodejs/node/pull/2993
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
8 years agoassert: accommodate ES6 classes that extend Error
Rich Trott [Sun, 6 Dec 2015 01:29:28 +0000 (17:29 -0800)]
assert: accommodate ES6 classes that extend Error

`assert.throws()` and `assert.doesNotThrow()` blow up with a `TypeError`
if used with an ES6 class that extends Error.

Fixes: https://github.com/nodejs/node/issues/3188
PR-URL: https://github.com/nodejs/node/pull/4166
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agotest: mark test-debug-no-context is flaky
Rich Trott [Fri, 25 Dec 2015 17:21:02 +0000 (09:21 -0800)]
test: mark test-debug-no-context is flaky

test-debug-no-context is flaky on Windows. Mark as such.

Ref: https://github.com/nodejs/node/issues/4343
PR-URL: https://github.com/nodejs/node/pull/4421
Reviewed-By: Brian White <mscdex@mscdex.net>
8 years agodoc: clarify protocol default in http.request()
cjihrig [Fri, 15 Jan 2016 16:45:49 +0000 (11:45 -0500)]
doc: clarify protocol default in http.request()

The previously listed default of 'http' is incorrect, and
causes an error to be thrown. This commit changes it to the
correct value of 'http:'

Fixes: https://github.com/nodejs/node/issues/4712
PR-URL: https://github.com/nodejs/node/pull/4714
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agotest: don't use cwd for relative path
Johan Bergström [Wed, 30 Dec 2015 06:24:25 +0000 (17:24 +1100)]
test: don't use cwd for relative path

With the introduction of temporary paths in the test runner
realpath tests would bail in scenarios where the temporary folder
wasn't in the same directory as the source code.

PR-URL: https://github.com/nodejs/node/pull/4477
Reviewed-By: Rich Trott <rtrott@gmail.com>
8 years agodoc: update links to use https where possible
jpersson [Wed, 2 Dec 2015 16:17:19 +0000 (11:17 -0500)]
doc: update links to use https where possible

PR-URL: https://github.com/nodejs/node/pull/4054
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agotest: write to tmp dir rather than fixture dir
Rich Trott [Wed, 30 Dec 2015 21:39:47 +0000 (13:39 -0800)]
test: write to tmp dir rather than fixture dir

test-fs-realpath.js was writing files to the fixture dir. This changes
it to use the temp directory instead. This also replaces some of the
string concatenation for paths with uses of path.join() and
path.relative().

PR-URL: https://github.com/nodejs/node/pull/4489
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: don't assume a certain folder structure
Johan Bergström [Wed, 30 Dec 2015 01:11:17 +0000 (12:11 +1100)]
test: don't assume a certain folder structure

A few tests assumed that temp dirs always lived in the same
parent folder as fixtures. Make these use `common.tmpDir` instead.

PR-URL: https://github.com/nodejs/node/pull/3325
Reviewed-By: Joao Reis <reis@janeasystems.com>
8 years agotest: make temp path customizable
Johan Bergström [Mon, 12 Oct 2015 04:11:57 +0000 (15:11 +1100)]
test: make temp path customizable

In CI we previously passed `NODE_COMMON_PIPE` to the test runner to
avoid long filenames. Add an option to the test runner that allows the
user to change the temporary directory instead. This also allows us to
run test suites in parallel since `NODE_COMMON_PIPE` otherwise would
have been used from multiple tests at the same time.

PR-URL: https://github.com/nodejs/node/pull/3325
Reviewed-By: Joao Reis <reis@janeasystems.com>
8 years agotls_wrap: clear errors on return
Fedor Indutny [Sun, 3 Jan 2016 04:05:40 +0000 (23:05 -0500)]
tls_wrap: clear errors on return

Adopt `MarkPopErrorOnReturn` from `node_crypto.cc`, and use it to
clear errors after `SSL_read`/`SSL_write`/`SSL_shutdown` functions.

See: https://github.com/nodejs/node/issues/4485
PR-URL: https://github.com/nodejs/node/pull/4515
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
v4.x-staging Commit Metadata:
PR-URL: https://github.com/nodejs/node/pull/4709
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: clarify explanation of first stream section
Vitor Cortez [Thu, 10 Dec 2015 21:32:13 +0000 (18:32 -0300)]
doc: clarify explanation of first stream section

The last sentence of the explanation for the first stream section
seemed a bit confusing. I tried to change the sentence to clarify it.

Additionally, the sections were turned into a numbered list to be more
clear about which section is being described, and improve readability.

PR-URL: https://github.com/nodejs/node/pull/4234
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agotools: implement no-unused-vars for eslint
Rich Trott [Wed, 23 Dec 2015 19:32:25 +0000 (11:32 -0800)]
tools: implement no-unused-vars for eslint

PR-URL: https://github.com/nodejs/node/pull/4536
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agotest: remove unused vars from parallel tests
Rich Trott [Sat, 2 Jan 2016 01:37:10 +0000 (17:37 -0800)]
test: remove unused vars from parallel tests

Remove all remaining unused variables from tests in test/parallel.

PR-URL: https://github.com/nodejs/node/pull/4511
Reviewed-By: James M Snell<jasnell@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: remove unused variables form http tests
Rich Trott [Fri, 25 Dec 2015 23:32:13 +0000 (15:32 -0800)]
test: remove unused variables form http tests

The http tests seem especially prone to including unused variables.
This change removes them.

PR-URL: https://github.com/nodejs/node/pull/4422
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: extend timeout in Debug mode
Rich Trott [Sat, 26 Dec 2015 23:04:56 +0000 (15:04 -0800)]
test: extend timeout in Debug mode

Debug mode slows execution speed. There is work afoot to enable Debug
mode runs on the continuous integration infrastructure for the project.
Some tests are timing out, such as test-net-GH-5504.js.

This change doubles the timeout returned from `common.platformTimeout()`
when running in Debug mode. It also removes an unused variable from the
aforementioned test-net-GH-5504.js.

PR-URL: https://github.com/nodejs/node/pull/4431
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: remove unused variables from TLS tests
Rich Trott [Sat, 26 Dec 2015 04:31:50 +0000 (20:31 -0800)]
test: remove unused variables from TLS tests

Some of the TLS tests have variables that do not get used. This removes
those variables.

PR-URL: https://github.com/nodejs/node/pull/4424
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: remove unused variables from HTTPS tests
Rich Trott [Sat, 26 Dec 2015 06:00:10 +0000 (22:00 -0800)]
test: remove unused variables from HTTPS tests

PR-URL: https://github.com/nodejs/node/pull/4426
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: remove unused variables from net tests
Rich Trott [Sat, 26 Dec 2015 21:48:54 +0000 (13:48 -0800)]
test: remove unused variables from net tests

Remove a handful of variables that are declared but never used in the
tests for the net module.

PR-URL: https://github.com/nodejs/node/pull/4430
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agotest: remove unused vars in ChildProcess tests
Rich Trott [Sat, 26 Dec 2015 05:52:52 +0000 (21:52 -0800)]
test: remove unused vars in ChildProcess tests

In addition to removing unused vars, this also fixes an instance where
booleans were set presumably to check something but then never used.
This now confirms that the events that were setting the booleans are
fired.

PR-URL: https://github.com/nodejs/node/pull/4425
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agotest: remove unused vars
Rich Trott [Sun, 27 Dec 2015 06:08:08 +0000 (22:08 -0800)]
test: remove unused vars

Remove unused vars in tests

PR-URL: https://github.com/nodejs/node/pull/4536
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agolib: remove unused modules
Rich Trott [Wed, 23 Dec 2015 09:15:44 +0000 (01:15 -0800)]
lib: remove unused modules

Some files in `lib` were using `require` to load modules that were
subsequently not used in the file. This removes those `require`
statements.

PR-URL: https://github.com/nodejs/node/pull/4683
Reviewed-By: Myles Borins <mborins@us.ibm.com>
8 years agotest: remove unused modules
Rich Trott [Wed, 30 Dec 2015 02:56:29 +0000 (18:56 -0800)]
test: remove unused modules

Many tests use require() to import modules that subsequently never gets
used. This removes those imports and, in a few cases, removes other
unused variables from tests.

PR-URL: https://github.com/nodejs/node/pull/4684
Reviewed-By: Myles Borins <mborins@us.ibm.com>
8 years agodns: remove nonexistant exports.ADNAME
Roman Reiss [Sun, 27 Sep 2015 11:59:53 +0000 (13:59 +0200)]
dns: remove nonexistant exports.ADNAME

This error code export was mistakingly introduced in a 2012 commit which
added more error codes. The correct export.BADNAME was added in
https://github.com/nodejs/node/pull/3051.

Semver: Major
PR-URL: https://github.com/nodejs/node/pull/3051
Fixes: https://github.com/nodejs/node/issues/3050
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agotest: fix flaky cluster-disconnect-race
Brian White [Mon, 28 Dec 2015 21:58:24 +0000 (16:58 -0500)]
test: fix flaky cluster-disconnect-race

On single core Windows systems, process.send() would cause an
EPIPE because of the ordering of the IPC channel disconnect and
the process.send().

The test was originally only relevant for non-Windows platforms,
so this commit merely skips the test on Windows.

Fixes: https://github.com/nodejs/node/issues/4450
PR-URL: https://github.com/nodejs/node/pull/4457
Reviewed-By: Rich Trott <rtrott@gmail.com>
8 years agodocs: update gpg key for Myles Borins
Myles Borins [Wed, 13 Jan 2016 00:22:25 +0000 (16:22 -0800)]
docs: update gpg key for Myles Borins

Original key did not have personal information associated with it.

The new key rectifies this problem

PR-URL: https://github.com/nodejs/node/pull/4657
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodocs: fix npm command in releases.md
Myles Borins [Wed, 13 Jan 2016 00:07:29 +0000 (16:07 -0800)]
docs: fix npm command in releases.md

PR-URL: https://github.com/nodejs/node/pull/4656
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: add branch-diff example to releases.md
Myles Borins [Tue, 12 Jan 2016 02:01:31 +0000 (18:01 -0800)]
doc: add branch-diff example to releases.md

Useful to have for reference, especially for onboarding

PR-URL: https://github.com/nodejs/node/pull/4636
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell<jasnell@gmail.com>
8 years agodoc: update stylesheet to match frontpage
Roman Reiss [Mon, 11 Jan 2016 15:27:03 +0000 (16:27 +0100)]
doc: update stylesheet to match frontpage

- Changed colors to match frontpage as close as possible.
- Links are slightly more horizontally padded as compared before to
  accomodate for the hover effect.
- Slightly reduced the scroll indication height on the TOC.
- The main content is now offset using margin instead of the previous
  border hack.
- remove empty footer that was rendering a dark bar on the bottom of
  each page without any content.

PR-URL: https://github.com/nodejs/node/pull/4621
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
8 years agodoc: adds usage of readline line-by-line parsing
Robert Jefe Lindstaedt [Sun, 10 Jan 2016 16:18:49 +0000 (17:18 +0100)]
doc: adds usage of readline line-by-line parsing

In order to make developers aware of node-core built-in
functionality, which might replace module APIs, we should
add an example of readline`s interface usage.
SEO will eventually aid this goal, since it is well searched
on Q&A sites.

PR-URL: https://github.com/nodejs/node/pull/4609
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>>
8 years agodoc: document http's server.listen return value
Sequoia McDowell [Fri, 8 Jan 2016 18:27:44 +0000 (13:27 -0500)]
doc: document http's server.listen return value

The server method returns `self` in order to allow chaining.

PR-URL: https://github.com/nodejs/node/pull/4590
Fixes: https://github.com/nodejs/node/issues/4571
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agodoc: label http.IncomingMessage as a Class
Sequoia McDowell [Fri, 8 Jan 2016 18:22:23 +0000 (13:22 -0500)]
doc: label http.IncomingMessage as a Class

`Server`, `ServerResponse` etc. were marked as classes, this one class
was overlooked.

PR-URL: https://github.com/nodejs/node/pull/4589
Fixes: https://github.com/nodejs/node/issues/4576
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agodoc: fix description about the latest-codename
Minwoo Jung [Fri, 8 Jan 2016 12:13:33 +0000 (21:13 +0900)]
doc: fix description about the latest-codename

fix description about the latest LTS release download page
to make it clear

PR-URL: https://github.com/nodejs/node/pull/4583
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: add Evan Lucas to Release Team
Evan Lucas [Fri, 8 Jan 2016 00:41:16 +0000 (18:41 -0600)]
doc: add Evan Lucas to Release Team

Adds Evan Lucas and his public key to the README for releases

PR-URL: https://github.com/nodejs/node/pull/4579
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
8 years agodoc: add Myles Borins to Release Team
Myles Borins [Fri, 8 Jan 2016 00:38:15 +0000 (16:38 -0800)]
doc: add Myles Borins to Release Team

Adds Myles Borins and his public key to the README

PR-URL: https://github.com/nodejs/node/pull/4578
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
8 years agodoc: add missing backtick for readline
Brian White [Wed, 6 Jan 2016 04:46:05 +0000 (23:46 -0500)]
doc: add missing backtick for readline

PR-URL: https://github.com/nodejs/node/pull/4549
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agodoc: bring releases.md up to date
cjihrig [Tue, 5 Jan 2016 17:52:20 +0000 (12:52 -0500)]
doc: bring releases.md up to date

Refs: https://github.com/nodejs/node/issues/3254
PR-URL: https://github.com/nodejs/node/pull/4540
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: fix numbering in stream.markdown
Richard Sun [Tue, 5 Jan 2016 11:12:56 +0000 (03:12 -0800)]
doc: fix numbering in stream.markdown

PR-URL: https://github.com/nodejs/node/pull/4538
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agodoc: stronger suggestion for userland assert
Wyatt Preul [Tue, 5 Jan 2016 04:14:40 +0000 (22:14 -0600)]
doc: stronger suggestion for userland assert

Fixes: https://github.com/nodejs/node/issues/4532
PR-URL: https://github.com/nodejs/node/pull/4535
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agodoc: close backtick in process.title description
Dave [Tue, 5 Jan 2016 00:15:10 +0000 (16:15 -0800)]
doc: close backtick in process.title description

PR-URL: https://github.com/nodejs/node/pull/4534
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
8 years agotest: fix flaky test-http-agent-keepalive
Rich Trott [Mon, 4 Jan 2016 02:53:27 +0000 (18:53 -0800)]
test: fix flaky test-http-agent-keepalive

Remove timeout delay causing flakiness on SmartOS.

Fixes: https://github.com/nodejs/node/issues/4492
PR-URL: https://github.com/nodejs/node/pull/4524
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <r@va.gg>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: remove flaky designations for tests
Rich Trott [Sun, 3 Jan 2016 16:26:31 +0000 (08:26 -0800)]
test: remove flaky designations for tests

Three tests designated as flaky on Linux have not failed on the
continuous integration server in a long time. Removing flaky designation
for these tests.

Fixes: https://github.com/nodejs/node/issues/4446
PR-URL: https://github.com/nodejs/node/pull/4519
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
8 years agotest: fix flaky streams test
Rich Trott [Sun, 3 Jan 2016 05:39:55 +0000 (21:39 -0800)]
test: fix flaky streams test

Use common.platformTimeout() to fix flaky
test-stream2-readable-empty-buffer-no-eofi on Raspberry Pis.

Fixes: https://github.com/nodejs/node/issues/4493
PR-URL: https://github.com/nodejs/node/pull/4516
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell<jasnell@gmail.com>
8 years agotest: inherit JOBS from environment
Johan Bergström [Thu, 31 Dec 2015 06:32:42 +0000 (17:32 +1100)]
test: inherit JOBS from environment

In some virtualized environments the amount of available resources
are misleading; for instance `multiprocessing.cpu_count()` on our current
4-core smartos vm's returns `48`. This is not a bug, merely how the vm
host provides information about available hardware.

Avoid running into issues by overriding `cpu_count()` with `JOBS`.

PR-URL: https://github.com/nodejs/node/pull/4495
Reviewed-By: Brian White <mscdex@mscdex.net>
8 years agotest: remove time check
Rich Trott [Thu, 31 Dec 2015 04:13:15 +0000 (20:13 -0800)]
test: remove time check

test-child-process-fork-net2.js checks that things happen within
certain time constraints, thus doubling as a benchmark test in addition
to a functionality test.

This change removes the time check, as it was causing the test to fail
on SmartOS and Windows (and possibly elsewhere) when the tests were
run in parallel on CI. There is no guarantee that other tests won't
consume enough resources to slow this test down, so don't check the time
constraints (beyond the generous timeout that the test is given by
test.py in the first place, of course).

If we want to do benchmark/performance tests, we should keep them
separate from pure functionality tests. The time check may have been a
remnant of the distant past when Node.js was much slower. It predates
io.js

Ref: https://github.com/nodejs/node/pull/4476
PR-URL: https://github.com/nodejs/node/pull/4494
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agotest: refactor test-fs-empty-readStream
Rich Trott [Wed, 30 Dec 2015 22:02:28 +0000 (14:02 -0800)]
test: refactor test-fs-empty-readStream

Refactor test to remove unnecessary booleans and one unnecesary timer.
Instead, throw Error objects where appropriate and rely on
common.mustCall().

The timer seemed to be the source of an issue when parallelizing tests.

Ref: https://github.com/nodejs/node/pull/4476#issuecomment-168080875
PR-URL: https://github.com/nodejs/node/pull/4490
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agotest: clarify role of domains in test
Rich Trott [Thu, 31 Dec 2015 16:21:50 +0000 (08:21 -0800)]
test: clarify role of domains in test

Add a comment to clarify how the tests work and their purpose.

Also removes unnecessary assignment of domain module to a variable.

PR-URL: https://github.com/nodejs/node/pull/4474
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Julien Gilli <jgilli@fastmail.fm>
8 years agodoc: improvements to events.markdown copy
James M Snell [Tue, 29 Dec 2015 18:04:13 +0000 (10:04 -0800)]
doc: improvements to events.markdown copy

General improvements to events.markdown copy including a
bit of restructuring and improved examples

PR-URL: https://github.com/nodejs/node/pull/4468
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
8 years agotest: improve assert message
Rich Trott [Tue, 29 Dec 2015 05:28:36 +0000 (21:28 -0800)]
test: improve assert message

Improves the message when an assertion fires in the
test-net-pipe-connect-errors so that it indicates the incorrect value
received rather than merely reporting that the value is incorrect.

PR-URL: https://github.com/nodejs/node/pull/4461
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
8 years agodoc: explain ClientRequest#setTimeout time unit
Ben Ripkens [Mon, 28 Dec 2015 23:10:21 +0000 (00:10 +0100)]
doc: explain ClientRequest#setTimeout time unit

State a time unit for the timeout parameter in ClientRequest#setTimeout

PR-URL: https://github.com/nodejs/node/pull/4458
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: improvements to errors.markdown copy
James M Snell [Mon, 28 Dec 2015 19:42:05 +0000 (11:42 -0800)]
doc: improvements to errors.markdown copy

General improvements to errors.markdown including
improved/revised examples

PR-URL: https://github.com/nodejs/node/pull/4454
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
8 years agodoc: improvements to dns.markdown copy
James M Snell [Sun, 27 Dec 2015 07:19:45 +0000 (23:19 -0800)]
doc: improvements to dns.markdown copy

General improvements to dns.markdown copy and examples

PR-URL: https://github.com/nodejs/node/pull/4449
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
8 years agodoc: add anchors for _transform _flush _writev in stream.markdown
iamchenxin [Mon, 28 Dec 2015 13:19:59 +0000 (21:19 +0800)]
doc: add anchors for _transform _flush _writev in stream.markdown

PR-URL: https://github.com/nodejs/node/pull/4448
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agotest: remove unused assert module imports
Rich Trott [Sun, 27 Dec 2015 06:45:46 +0000 (22:45 -0800)]
test: remove unused assert module imports

Many test modules load assert but do not use it. This change removes
those instances.

It also removes a handful of other unused variables when they were
nearby.

PR-URL: https://github.com/nodejs/node/pull/4438
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agochild_process: guard against race condition
Rich Trott [Thu, 24 Dec 2015 21:00:29 +0000 (13:00 -0800)]
child_process: guard against race condition

It is possible that the internal hnadleMessage() might try to send to
a channel that has been closed. The result can be an AssertionError.
Guard against this.

Fixes: https://github.com/nodejs/node/issues/4205
PR-URL: https://github.com/nodejs/node/pull/4418
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
8 years agohttp: use `self.keepAlive` instead of `self.options.keepAlive`
Damian Schenkelman [Wed, 23 Dec 2015 23:52:01 +0000 (20:52 -0300)]
http: use `self.keepAlive` instead of `self.options.keepAlive`

In http.agent, all other options are directly accessed through
`self.` not `self.options`.

PR-URL: https://github.com/nodejs/node/pull/4407
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agotest: remove unused var from test-assert.js
Rich Trott [Wed, 23 Dec 2015 21:09:34 +0000 (13:09 -0800)]
test: remove unused var from test-assert.js

`aethrow` is defined as a function returned from makeBlock() but the
function is never used and the call to makeBlock() does not run any
tests.

PR-URL: https://github.com/nodejs/node/pull/4405
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agorepl: remove unused function
Rich Trott [Wed, 23 Dec 2015 19:34:07 +0000 (11:34 -0800)]
repl: remove unused function

replStart() was defined but never used. The function has been removed.
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
8 years agohttps: use `servername` in agent key
Fedor Indutny [Tue, 22 Dec 2015 18:22:52 +0000 (13:22 -0500)]
https: use `servername` in agent key

https requests with different SNI values should not be sent over the
same connection, even if the `host` is the same. Server may want to
present different certificate or route the incoming TLS connection
differently, depending on the received servername extension.

Fix: https://github.com/nodejs/node/issues/3940
PR-URL: https://github.com/nodejs/node/pull/4389
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agobuffer: refactor create buffer
Jackson Tian [Fri, 18 Dec 2015 02:09:15 +0000 (10:09 +0800)]
buffer: refactor create buffer

Use createBuffer to reduce new Uint8Array()
and setPrototypeOf.

PR-URL: https://github.com/nodejs/node/pull/4340
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agoassert: typed array deepequal performance fix
Claudio Rodriguez [Thu, 17 Dec 2015 13:05:45 +0000 (10:05 -0300)]
assert: typed array deepequal performance fix

assert.deepEqual: when actual and expected are typed arrays,
wrap them in a new Buffer each to increase performance
significantly.

PR-URL: https://github.com/nodejs/node/pull/4330
Fixes: https://github.com/nodejs/node/issues/4294
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agobuffer: faster case for create Buffer from new Buffer(0)
Jackson Tian [Thu, 17 Dec 2015 09:44:34 +0000 (17:44 +0800)]
buffer: faster case for create Buffer from new Buffer(0)

When create Buffer from a Buffer will copy data
from old to new even though length is zero.

This patch can improve edge case 4x faster.
following is benchmark results.

new: buffers/buffer_zero.js n=1024: 2463.53891
old: buffers/buffer_zero.js n=1024: 618.70801

PR-URL: https://github.com/nodejs/node/pull/4326
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agohttp: Remove an unnecessary assignment
Bo Borgerson [Thu, 17 Dec 2015 02:31:38 +0000 (18:31 -0800)]
http: Remove an unnecessary assignment

This just removes an assignment to `ret` of a value that's not used before
it's overwritten.  Immediately following the assigment is an `if/else` in
which both branches assign to `ret` without using it.

PR-URL: https://github.com/nodejs/node/pull/4323
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agoos: fix crash in GetInterfaceAddresses
Martin Bark [Mon, 14 Dec 2015 21:36:21 +0000 (21:36 +0000)]
os: fix crash in GetInterfaceAddresses

If uv_interface_addresses() returns UV_ENOSYS then interfaces and count
are uninitialised. This can cause a segmentation fault inside
GetInterfaceAddresses when it tries to use the invalid interfaces[].
Fix the issue by returning from GetInterfaceAddresses on the UV_ENOSYS
error.

This issue was observed when using uCLibc-ng version 1.0.9 because
uv_interface_addresses() in deps/uv/src/unix/linux-core.c incorrectly
undefines HAVE_IFADDRS_H.

Signed-off-by: Martin Bark <martin@barkynet.com>
PR-URL: https://github.com/nodejs/node/pull/4272
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
8 years agotest: add test-domain-exit-dispose-again back
Julien Gilli [Sat, 12 Dec 2015 01:43:04 +0000 (17:43 -0800)]
test: add test-domain-exit-dispose-again back

1c8584997346d549dd5ff4bb787f48f52440a9cb "fixed"
test-domain-exit-dispose-again by changing its logic to test that
process.domain was cleared properly in case an error was thrown from a
timer's callback.

However, it became clear when reviewing a recent change that refactors
lib/timers.js that it was not quite the intention of the original test.
Thus, this change adds the original implementation of
test-domain-exit-dispose-again back, with comments that make its
implementation easier to understand.

It also preserve the changes made by
1c8584997346d549dd5ff4bb787f48f52440a9cb, but it moves them to a new
test file named test-timers-reset-process-domain-on-throw.js.

PR: #4256
PR-URL: https://github.com/nodejs/node/pull/4256
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
8 years agohttp: remove excess calls to removeSocket
Dave [Sun, 6 Dec 2015 12:55:02 +0000 (04:55 -0800)]
http: remove excess calls to removeSocket

socket.destroy() triggers a 'close' event from the socket which triggers
the onClose handler of HTTPAgent which calls self.removeSocket(). So by
calling self.removeSocket() prior to socket.destroy() we end up with two
calls to self.removeSocket().

If there are pending requests, removeSocket ends up creating a new socket.
So if there are pending requests, each time a request completes, we tear
down one socket and create two more. So the total number of sockets grows
exponentially and without regard for any maxSockets settings. This was
noticed in https://github.com/nodejs/node/issues/4050. Let's get rid of
the extra calls to removeSocket so we only call it once per completed
request.

PR-URL: https://github.com/nodejs/node/pull/4172
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
8 years agocrypto: load PFX chain the same way as regular one
Fedor Indutny [Sat, 5 Dec 2015 21:53:30 +0000 (16:53 -0500)]
crypto: load PFX chain the same way as regular one

Load the certificate chain from the PFX file the same as we do it for a
regular certificate chain.

Fix: #4127
PR-URL: https://github.com/nodejs/node/pull/4165
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agorepl: Fixed node repl history edge case.
Mudit Ameta [Tue, 1 Dec 2015 20:49:01 +0000 (02:19 +0530)]
repl: Fixed node repl history edge case.

If the deprecated NODE_REPL_HISTORY_FILE is set to default
node history file path ($HOME/.node_repl_history) and the file
doesn't exist, then node creates the file and then crashes when
it tries to parse that file as JSON thinking that it's an older
JSON formatted history file. This fixes that bug.

This patch also prevents node repl from throwing if the old
history file is empty or if $HOME/.node_repl_history is empty.

Fixes: https://github.com/nodejs/node/issues/4102
PR-URL: https://github.com/nodejs/node/pull/4108
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
8 years agochild_process: flush consuming streams
Dave [Mon, 30 Nov 2015 10:41:51 +0000 (02:41 -0800)]
child_process: flush consuming streams

When a client calls read() with a nonzero argument
on a Socket, that Socket sets this._consuming to true.
It never sets this._consuming back to false.
ChildProcess.flushStdio() currently doesn't flush
any streams where _consuming is truthy. But, that means
that it never flushes any stream that has ever been read from.
This prevents a child process from ever closing if one of
its streams has been read from, causing issue #4049. This
commit allows consuming streams to be flushed, and the
child process to emit a close event.

Fixes: https://github.com/nodejs/node/issues/4049
PR-URL: https://github.com/nodejs/node/pull/4071
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agoutil: faster arrayToHash
Jackson Tian [Sun, 22 Nov 2015 09:08:45 +0000 (17:08 +0800)]
util: faster arrayToHash

The `util.format()` is used frequently, make the method faster
is better.

R-URL: https://github.com/nodejs/node/pull/3964
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agorepl: use String#repeat instead of Array#join
Evan Lucas [Wed, 18 Nov 2015 12:59:43 +0000 (06:59 -0600)]
repl: use String#repeat instead of Array#join

String#repeat is quite a bit faster than new Array().join().

PR-URL: https://github.com/nodejs/node/pull/3900
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agodeps: backport 066747e from upstream V8
Ali Ijaz Sheikh [Mon, 11 Jan 2016 19:39:51 +0000 (11:39 -0800)]
deps: backport 066747e from upstream V8

This backport fixes a performance pathology in how arrays grow/shrink.

Fixes: https://github.com/nodejs/node/issues/3538
V8-Commit: https://github.com/v8/v8/commit/066747ea053012a99e0cd3e20f36b8ed053b2124
PR-URL: https://github.com/nodejs/node/pull/4625
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Original commit message:
  Make sure that NormalizeElements and ShouldConvertToFastElements are …

  …based on the same values

  BUG=v8:4518
  LOG=n

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

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

Commit metadata for v4.x-staging:
PR-URL: https://github.com/nodejs/node/pull/4655
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agotest: remove unused `util` imports
Rich Trott [Wed, 23 Dec 2015 09:33:56 +0000 (01:33 -0800)]
test: remove unused `util` imports

A number of tests in `test/parallel` were importing the `util` module
via `require()` but not using `util` for anything. This removes those
`require()` statements.

PR-URL: https://github.com/nodejs/node/pull/4562
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agotest: remove unnecessary assignments
Rich Trott [Thu, 24 Dec 2015 00:02:12 +0000 (16:02 -0800)]
test: remove unnecessary assignments

common.js needs to be loaded in all tests so that there is checking
for variable leaks and possibly other things. However, it does not
need to be assigned to a variable if nothing in common.js is referred
to elsewhere in the test.

The main tradeoff for this bit of code churn is that it gets the code
base most of the way to being able to enable the no-unused-vars rule in
eslint.

(The non-tooling benefit is that it lessens cognitive load when reading
tests as it is an immediate indication that none of the functions or
properties in common.js will be used by the test.)

PR-URL: https://github.com/nodejs/node/pull/4563
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agorepl: fix require('3rdparty') regression
Ben Noordhuis [Wed, 9 Dec 2015 20:55:29 +0000 (21:55 +0100)]
repl: fix require('3rdparty') regression

Fix module loading of third-party modules in the REPL by inheriting
module.paths from the REPL's parent module.

Commit ee72ee7 ("module,repl: remove repl require() hack") introduced
a regression where require() of modules in node_modules directories
no longer worked in the REPL (and fortunately only in the REPL.)
It turns out we didn't have test coverage for that but we do now.

Fixes: https://github.com/nodejs/node/issues/4208
PR-URL: https://github.com/nodejs/node/pull/4215
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agosrc: define Is* util functions with macros
cjihrig [Wed, 2 Dec 2015 16:49:35 +0000 (11:49 -0500)]
src: define Is* util functions with macros

The Is* type checking functions in node_util.cc are mostly
the same boilerplate. This commit defines them using a macro.

Refs: https://github.com/nodejs/node/pull/4100
PR-URL: https://github.com/nodejs/node/pull/4118
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Conflicts:
src/node_util.cc

8 years agoutil: determine object types in C++
cjihrig [Tue, 1 Dec 2015 16:27:39 +0000 (11:27 -0500)]
util: determine object types in C++

Determine object types of regular expressions, Dates, Maps, and
Sets in the C++ layer instead of depending on toString()
behavior in JavaScript.

PR-URL: https://github.com/nodejs/node/pull/4100
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agotest: move ArrayStream to common
cjihrig [Wed, 25 Nov 2015 21:38:01 +0000 (16:38 -0500)]
test: move ArrayStream to common

A number of REPL tests define the same ArrayStream object. This
commit moves the repeated code into common.js.

PR-URL: https://github.com/nodejs/node/pull/4027
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Conflicts:
test/common.js

8 years agoutil: move .decorateErrorStack to internal/util
Ben Noordhuis [Wed, 25 Nov 2015 21:37:43 +0000 (22:37 +0100)]
util: move .decorateErrorStack to internal/util

Move the method that was added in commit 8ca412b from earlier this month
from lib/util.js to lib/internal/util.js.

Avoids exposing a method that we may not wish to expose just yet, seeing
how it relies on implementation details.

PR-URL: https://github.com/nodejs/node/pull/4026
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 years agomodule,repl: remove repl require() hack
Ben Noordhuis [Wed, 25 Nov 2015 21:27:29 +0000 (22:27 +0100)]
module,repl: remove repl require() hack

Remove a hack that was introduced in commit bb6d468d from November 2010.
This is groundwork for a follow-up commit that makes it possible to use
internal modules in lib/repl.js.

PR-URL: https://github.com/nodejs/node/pull/4026
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Conflicts:
lib/module.js

8 years agorepl: attach location info to syntax errors
cjihrig [Wed, 25 Nov 2015 00:55:51 +0000 (19:55 -0500)]
repl: attach location info to syntax errors

Currently, when a file with a syntax error is imported in the
REPL, no information is provided on the error's location. This
commit adds the error's location to the stack trace.

Refs: https://github.com/nodejs/node/issues/2762
Refs: https://github.com/nodejs/node/issues/3411
Refs: https://github.com/nodejs/node/issues/3784
PR-URL: https://github.com/nodejs/node/pull/4013
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agoutil: add decorateErrorStack()
cjihrig [Wed, 25 Nov 2015 00:52:35 +0000 (19:52 -0500)]
util: add decorateErrorStack()

This commit adds the decorateErrorStack() method. This function
uses the internal util's getHiddenValue() method to extract
arrow messages from error objects and attach them to the
error's stack trace.

PR-URL: https://github.com/nodejs/node/pull/4013
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agoutil,src: allow lookup of hidden values
cjihrig [Mon, 23 Nov 2015 19:58:18 +0000 (14:58 -0500)]
util,src: allow lookup of hidden values

This commit adds an internal util method that makes hidden
values in the C++ layer visible in JS.

PR-URL: https://github.com/nodejs/node/pull/3988
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Conflicts:
lib/internal/util.js

8 years agodeps: backport 200315c from V8 upstream
Vladimir Kurchatkin [Thu, 3 Dec 2015 12:34:52 +0000 (15:34 +0300)]
deps: backport 200315c from V8 upstream

Original commit message:

  Make AstRawString deduplication encoding-agnostic.

  R=jkummerow@chromium.org
  BUG=v8:4450
  LOG=N

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

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

Ref: https://github.com/nodejs/node/pull/4160
PR-URL: https://github.com/nodejs/node/pull/4128
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
8 years agodoc: improvements to dgram.markdown copy
James M Snell [Sun, 27 Dec 2015 06:25:13 +0000 (22:25 -0800)]
doc: improvements to dgram.markdown copy

General improvements to dgram.markdown copy

PR-URL: https://github.com/nodejs/node/pull/4437
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Stephan Belanger <admin@stephenbelanger.com>
8 years agodoc: improvements to debugger.markdown copy
James M Snell [Sun, 27 Dec 2015 05:19:35 +0000 (21:19 -0800)]
doc: improvements to debugger.markdown copy

General improvements to debugger.markdown

PR-URL: https://github.com/nodejs/node/pull/4436
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>