0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
Commit Graph

13742 Commits

Author SHA1 Message Date
James M Snell
0e7d57af35 events: add prependListener() and prependOnceListener()
A handful of modules (including readable-streams) make
inappropriate use of the internal _events property. One
such use is to prepend an event listener to the front
of the array of listeners.

This adds EE.prototype.prependListener() and
EE.prototype.prependOnceListener() methods to add handlers
to the *front* of the listener array.

Doc update and test case is included.

Fixes: https://github.com/nodejs/node/issues/1817
PR-URL: https://github.com/nodejs/node/pull/6032
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-22 09:28:37 -07:00
Alexander Makarenko
f85412d49b doc: improvements to child_process, process docs
Sort links in lexical order. Add missing links.
Add `disconnect` event description in Process doc.
Fix typos.

R-URL: https://github.com/nodejs/node/pull/5075
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Jefe Lindstädt <robert.lindstaedt@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-04-22 08:38:15 -07:00
vsemozhetbyt
f6d90a912b doc: fix a typo in the CONTRIBUTING.md
Delete a typo dot in the link to stability index.

PR-URL: https://github.com/nodejs/node/pull/6343
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
2016-04-22 08:35:39 -07:00
Evan Lucas
84ebf2b40d test: add tests for console.assert
There were previously no tests where console.assert failed

PR-URL: https://github.com/nodejs/node/pull/6302
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-04-21 22:15:14 -07:00
Robert Jefe Lindstaedt
6815a3b7f9 doc: add vm example, be able to require modules
The intention behind is to present the user a way to
execute code in a vm context. The current API doesn't
allow this out-of-the-box, since it is neither passing a require
function nor creating context with one.
The missing docs for this behaviour have produced a number of
Q&A items and have also been discussed in the node-archive repo.
In both cases there was no real canonical answer.

Refs: nodejs/node-v0.x-archive#9211, #4955
PR-URL: https://github.com/nodejs/node/pull/5323
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2016-04-21 21:44:41 -07:00
Gireesh Punathil
40ede46690 cares: Support malloc(0) scenarios for AIX
Many places in cares library, when the stream data arrives
from the network with respect to dns and reverse dns
resolution, they are populated into data structures created
dymaically based on the size of the data. Malloc is heavily
used for such cases.

Often, based on the data length, malloc(0) is invoked. Linux
behavior on zero byte allocation is to return a valid pointer
where in AIX, it always return NULL.

This manifestst as test failure of test/internet/test-dns.js

Solution is to build cares with Linux compatible malloc behavior

PR-URL: https://github.com/nodejs/node/pull/6305
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-by: Michael Dawson <michael_dawson@ca.ibm.com>
2016-04-21 19:20:37 -04:00
Myles Borins
1fa8fce210 2016-04-20, Version 5.11.0 (Stable) Release
Buffer:
  * Buffer.prototype.compare can now compare sub-ranges of two Buffers
   (James M Snell) https://github.com/nodejs/node/pull/5880

deps:
  * update to http-parser 2.7.0
    (Fedor Indutny) https://github.com/nodejs/node/pull/6279
  * update ESLint to 2.7.0
    (silverwind) https://github.com/nodejs/node/pull/6132

net:
  * adds support for passing DNS lookup hints to createConnection()
    (Colin Ihrig) https://github.com/nodejs/node/pull/6000

node:
  * Make the builtin libraries available for the --eval and --print
    CLI options
    (Anna Henningsen) https://github.com/nodejs/node/pull/6207

npm:
  * upgrade npm to 3.8.6
    (Kat Marchán) https://github.com/nodejs/node/pull/6153

repl:
  * Pressing enter in the repl will repeat the last command by default
    if no input has been received. This behaviour was in node
    previously and was not removed intentionally.
    (Rich Trott) https://github.com/nodejs/node/pull/6090

src:
  * add SIGINFO to supported signals
    (James Reggio) https://github.com/nodejs/node/pull/6093

streams:
  * Fix a regression that caused by net streams requesting multiple
    chunks synchronously when combined with cork/uncork
    (Matteo Collina) https://github.com/nodejs/node/pull/6164

zlib:
  * The flushing flag is now configurable allowing for decompression
    of partial data
    (Anna Henningsen) https://github.com/nodejs/node/pull/6069

PR-URL: https://github.com/nodejs/node/pull/6322
2016-04-21 13:34:57 -07:00
Luigi Pinca
c1cd64481f events: make eventNames() use Reflect.ownKeys()
Use `Reflect.ownKeys()` instead of `Object.keys()` and
`Object.getOwnPropertySymbols()`.

PR-URL: https://github.com/nodejs/node/pull/5822
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-21 12:03:47 -07:00
James M Snell
cdba9a6c02 src: add intl and icu configs to process.binding('config')
PR-URL: https://github.com/nodejs/node/pull/6266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-21 11:37:47 -07:00
James M Snell
2e974cdd8c src: add process.binding('config')
It turns out that userland likes to override process.config with
their own stuff. If we want to be able to depend on it in any way,
we need our own internal mechanism.

This adds a new private process.binding('config') that is
intended to serve as a container for internal flags and compile
time configs that need to be passed on to the JS layer.

PR-URL: https://github.com/nodejs/node/pull/6266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-21 11:37:37 -07:00
James M Snell
7f11634a46 doc: note that process.config can and will be changed
PR-URL: https://github.com/nodejs/node/pull/6266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-21 11:37:32 -07:00
Ali Ijaz Sheikh
49e42c530b deps: upgrade to V8 5.0.71.34
Pick up the latest bug fix from the V8 5.0 branch.

Original commit message:
V8-Commit: https://github.com/v8/v8/commit/c36773f
  Version 5.0.71.34 (cherry-pick)
  Merged 9acbca1

  [es6] Fix bug in pattern re-writing

  BUG=v8:4891
  LOG=N
  R=littledan@chromium.org

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

PR-URL: https://github.com/nodejs/node/pull/6320
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-04-21 10:04:02 -07:00
Ali Ijaz Sheikh
a770a163ab test: v8-flags is sensitive to script caching
V8 may cache compiled scripts, and it is not safe to assume that the
V8 flags can be changed after an isolate has been created. In this
particular case, since we are using the same script multiple times,
the test would fail if V8 cached the result of the compilation.

Ref: https://github.com/nodejs/node/issues/6280
Fixes: https://github.com/nodejs/node/issues/6258
PR-URL: https://github.com/nodejs/node/pull/6316
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
2016-04-21 09:31:54 -07:00
cjihrig
1e4d053e6b test: don't assume IPv6 in test-regress-GH-5727
test/parallel/test-regress-GH-5727 assumed that one of the
servers would be listening on IPv6. This breaks when the machine
running the test doesn't have IPv6. This commit builds the
connection key that is compared dynamically.

Refs: https://github.com/nodejs/node/pull/5732
PR-URL: https://github.com/nodejs/node/pull/6319
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2016-04-21 10:59:13 -04:00
Brian White
7e9b0dd694 http: disallow sending obviously invalid status codes
PR-URL: https://github.com/nodejs/node/pull/6291
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-20 16:34:58 -07:00
Robert Jefe Lindstaedt
0800c0aa72 doc: git mv to .md
* doc: rename .markdown references in content
* doc: rename to .md in tools
* doc: rename to .md in CONTRIBUTING.md

PR-URL: https://github.com/nodejs/node/pull/4747
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: techjeffharris
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-04-20 16:34:27 -07:00
Myles Borins
cff2a137f2 benchmarks: fix lint error
33c242e7e9 introduced a linting error with indentation

PR-URL: https://github.com/nodejs/node/pull/6314
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 15:54:50 -07:00
Dirceu Pereira Tiegs
02ac302b6d net: Validate port in createServer().listen()
Make sure we validate the port number in all kinds of `listen()` calls.

Fixes: https://github.com/nodejs/node/issues/5727
PR-URL: https://github.com/nodejs/node/pull/5732
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 15:41:18 -07:00
James M Snell
7dc1a87a7b benchmarks: add microbenchmarks for new ES6 features
Adds new microbenchmarks for destructuring, rest params and
default params.

PR-URL: https://github.com/nodejs/node/pull/6222
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-20 14:57:51 -07:00
James M Snell
cb9eff2f93 benchmarks: add common.v8ForceOptimization
It's useful to be able to force optimization of a function.
Rather than duplicating the code everywhere for it, let's
make a utility available.

PR-URL: https://github.com/nodejs/node/pull/6222
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-20 14:57:46 -07:00
James M Snell
33c242e7e9 console: refactor to use rest params and template strings
Overall cleanup in code, eliminate reliance on `arguments`.

Benchmarks show that as of v8 5.0.71.32, using rest params + apply
has good performance. The spread operator is not yet well optimized
in v8

```
misc/console.js method=restAndSpread concat=1 n=1000000: 374779.38359
misc/console.js method=restAndSpread concat=0 n=1000000: 375988.30434
misc/console.js method=argumentsAndApply concat=1 n=1000000: 682618.61125
misc/console.js method=argumentsAndApply concat=0 n=1000000: 645093.74443
misc/console.js method=restAndApply concat=1 n=1000000: 682931.41217
misc/console.js method=restAndApply concat=0 n=1000000: 664473.09700
```

PR-URL: https://github.com/nodejs/node/pull/6233
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-20 14:45:42 -07:00
Calvin Metcalf
e7c077c610 stream: make null an invalid chunk to write in object mode
this harmonizes behavior between readable, writable, and transform
streams so that they all handle nulls in object mode the same way by
considering them invalid chunks.

PR-URL: https://github.com/nodejs/node/pull/6170
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2016-04-20 13:28:35 -07:00
Fedor Indutny
ec2822adaa http: unref socket timer on parser execute
When underlying `net.Socket` instance is consumed in http server - no
`data` events are emitted, and thus `socket.setTimeout` fires the
callback even if the data is constantly flowing into the socket.

Fix this by calling `socket._unrefTimer()` on every `onParserExecute`
call.

Fix: #5899
PR-URL: https://github.com/nodejs/node/pull/6286
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 13:57:54 -04:00
Michaël Zasso
75487f0db8 module: fix resolution of filename with trailing slash
A recent optimization of module loading performance [1] forgot to check that
extensions were set in a certain code path.

[1] ae18bbef48

Fixes: https://github.com/nodejs/node/issues/6214
PR-URL: https://github.com/nodejs/node/pull/6215
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-20 09:45:57 -07:00
Fedor Indutny
8636af1012 net: replace __defineGetter__ with defineProperty
`Object.prototype.__defineGetter__` is deprecated now, use
`Object.defineProperty` instead.

PR-URL: https://github.com/nodejs/node/pull/6284
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-20 12:42:33 -04:00
Fedor Indutny
6198472d83 stream_base: expose bytesRead getter
This will provide `bytesRead` data on consumed sockets.

Fix: #3021
PR-URL: https://github.com/nodejs/node/pull/6284
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-20 12:42:33 -04:00
Fedor Indutny
e1cf634a0b test: spawn new processes in vm-cached-data
V8 may start caching scripts from the first run soon. Preventively
execute scripts in another process to ensure no test failures due to
an update in the future.

See: #6258
PR-URL: https://github.com/nodejs/node/pull/6280
Reviewed-By: Jochen Eisinger <jochen@chromium.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 12:34:44 -04:00
Anna Henningsen
5f0fcd6245
doc: add full example for zlib.flush()
Add a full example using `zlib.flush()` for the common use
case of writing partial compressed HTTP output to the client.

PR-URL: https://github.com/nodejs/node/pull/6172
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Jefe Lindstädt <robert.lindstaedt@gmail.com>
2016-04-20 18:28:39 +02:00
Anna Henningsen
9c2b8ecc54
doc: note that zlib.flush acts after pending writes
Describe that `zlib.flush()` may wait for pending writes and
until output is being read from the stream.

Fixes: https://github.com/nodejs/node/issues/3782
PR-URL: https://github.com/nodejs/node/pull/6172
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Jefe Lindstädt <robert.lindstaedt@gmail.com>
2016-04-20 18:28:39 +02:00
Santiago Gimeno
2dc5ad460a test: move more tests from sequential to parallel
Only `test-stdin-from-file.js` has been modified so that the `stdin.txt`
is written in a temp directory instead of the `fixtures` directory.

PR-URL: https://github.com/nodejs/node/pull/6187
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 09:14:33 -07:00
cjihrig
54dd7c38e5 net: set ADDRCONFIG DNS hint in connections
b85a50b6da removed the implicit
setting of DNS hints when creating a connection. This caused some
of the pi2 machines to become flaky. This commit restores the
implicit dns.ADDRCONFIG hint, but not dns.V4MAPPED.

Fixes: https://github.com/nodejs/node/issues/6133
PR-URL: https://github.com/nodejs/node/pull/6281
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-04-20 12:04:39 -04:00
Anna Henningsen
29ca969651
child_process: add nullptr checks after allocs
Add `CHECK_NE(·, nullptr)` after allocations made when
spawning child processes.

PR-URL: https://github.com/nodejs/node/pull/6256
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-20 18:03:54 +02:00
surya panikkal
aa4d2ae897 test: assert - fixed error messages to match the tests
PR-URL: https://github.com/nodejs/node/pull/6241
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2016-04-20 08:57:23 -07:00
Anna Henningsen
f8e507eaf1
test: add zlib close-after-error regression test
Add a regression test based on the report in
https://github.com/nodejs/node/issues/6034.

PR-URL: https://github.com/nodejs/node/pull/6270
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 17:43:27 +02:00
Rich Trott
4faaed69fa test,tools: enable linting for undefined vars
The test directory had linting for undefined variables disabled. It is
enabled everywhere else in the code base. Let's disable the fule for
individual lines in the handful of tests that use undefined variables.

PR-URL: https://github.com/nodejs/node/pull/6255
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-04-20 08:38:41 -07:00
Rich Trott
8ede3d5002 tools: lint rule for assert.fail()
`assert.fail()` is often mistakenly used with a single argument even in
Node.js core. (See fixes to previous instances in
b7f4b1ba4c,
28e9a022df. and
676e61872f54dd546e324599c7871c20b798386a.)

This commit adds a linting rule to identify instances of this issue.

PR-URL: https://github.com/nodejs/node/pull/6261
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-20 08:36:27 -07:00
Rich Trott
4bbd41864a tools: enable linting for v8_prof_processor.js
`lib/internal/v8_prof_processor.js` was being excluded from linting, but
the only lint issue it has is that it cannot run in strict mode. Disable
the `strict` rule with a comment and remove the file from
`.eslintignore`.

PR-URL: https://github.com/nodejs/node/pull/6262
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-20 08:33:59 -07:00
Brian White
e9dc6306ca url: use "empty" object for empty query strings
This makes things consistent with the way that the querystring
module creates parsed results.

PR-URL: https://github.com/nodejs/node/pull/6289
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-20 08:26:06 -07:00
Ali Ijaz Sheikh
4fbd375724 deps: upgrade to V8 5.0.71.33
This picks up the fix for harmony-regexp-properties being enabled
without a flag.

V8-Commit: https://github.com/v8/v8/commit/27ac008
Fixes: https://github.com/nodejs/node/issues/6251
PR-URL: https://github.com/nodejs/node/pull/6290
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: ChALkeR - Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
2016-04-20 08:07:24 -07:00
Michael Dawson
0899ea7a52 deps: exclude tests on ppc for v8 5.0
There were 2 issues which either the v8 team was reluctant to
backport the fix because the fix was for a disabled feature (wasm) or
that we did not have time to investigate before 5.0 was cut
which result in v8 test failures for PPC in 5.0.  These are test
issues and are already resolved in v8 master.  This PR
excludes these tests so that our v8 tests in the CI will
be green so that we can detect any real regressions.

PR-URL: https://github.com/nodejs/node/pull/6267
Fixes: https://github.com/nodejs/node/issues/6236
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-19 23:00:03 -04:00
Gibson Fahnestock
7fc4b31051 build: fix make tar-headers for Linux
The tar-headers target tries to find and delete links in the
tar folder, which fails as no links are found. Use rm -f to
avoid this.

Remove the config.gypi dependency, as the target runs configure
itself.

PR-URL: https://github.com/nodejs/node/pull/5978
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-19 22:48:15 -04:00
Sakthipriyan Vairamani
697790c117 src: fix -Wunused-result warning in e38bade
This patch fixes the warning introduced by the changes in e38bade.

Ref: https://github.com/nodejs/node/pull/6092
PR-URL: https://github.com/nodejs/node/pull/6276
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-19 21:40:31 +05:30
Josh Leder
0ecc430894 test: add test for responses to HTTP CONNECT req
See: https://github.com/nodejs/node/pull/6198
PR-URL: https://github.com/nodejs/node/pull/6279
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-19 11:48:09 -04:00
Fedor Indutny
9d4d529517 http: skip body and next message of CONNECT res
When handling a response to `CONNECT` request - skip message body
and do not attempt to parse the next message. `CONNECT` requests are
used in similar sense to HTTP Upgrade.

Fix: https://github.com/nodejs/node/pull/6198
PR-URL: https://github.com/nodejs/node/pull/6279
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-19 11:48:06 -04:00
Fedor Indutny
7f14483352 deps: update to http-parser 2.7.0
Adds `2` as a return value of `on_headers_complete`, this mode will be
used to fix handling responses to `CONNECT` requests.

See: https://github.com/nodejs/node/pull/6198
PR-URL: https://github.com/nodejs/node/pull/6279
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-19 11:47:39 -04:00
Santiago Gimeno
57f0595177 test: fix flaky test-http-set-timeout-server
Make the servers listen on a free port number picked by the OS to avoid
rare `EADDRINUSE` errors on `SmartOS`.

Fixes: https://github.com/nodejs/node/issues/6197
PR-URL: https://github.com/nodejs/node/pull/6248
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-19 10:20:32 +02:00
Santiago Gimeno
bf22c71a7a test: fix test-net-settimeout flakiness
Wait for the data to be received by the socket before creating the
clean-up timer. This way, a possible (though unlikely) `ECONNRESET`
error can be avoided.

PR-URL: https://github.com/nodejs/node/pull/6166
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2016-04-19 09:08:02 +02:00
James Lal
c7fef3d3b8
zlib: fix use after null when calling .close
An internal zlib error may cause _handle to be set to null.
Close now will check if there is a _handle prior to calling .close on
it.

PR-URL: https://github.com/nodejs/node/pull/5982
Fixes: https://github.com/nodejs/node/issues/6034
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-19 08:46:54 +02:00
Brian White
e38bade828
events: don't inherit from Object.prototype
This commit safely allows event names that are named the same as
properties that are ordinarily inherited from Object.prototype such
as __proto__.

Fixes: https://github.com/nodejs/node/issues/728
PR-URL: https://github.com/nodejs/node/pull/6092
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-18 21:45:26 -04:00
Brian White
dba245f796
querystring: don't inherit from Object.prototype
This commit safely allows querystring keys that are named the same as
properties that are ordinarily inherited from Object.prototype such
as __proto__. Additionally, this commit provides a bit of a speed
improvement (~25% in the querystring-parse 'manypairs' benchmark)
when there are many unique keys.

Fixes: https://github.com/nodejs/node/issues/5642
PR-URL: https://github.com/nodejs/node/pull/6055
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-18 21:40:03 -04:00