Ben Noordhuis
3469eb9553
doc: public keys don't accept passphrases
...
Since `crypto.publicDecrypt()` and `crypto.publicEncrypt()` accept both
public and private keys, make it clear that the `passphrase` option only
applies to private keys.
PR-URL: https://github.com/nodejs/node/pull/16087
Ref: https://github.com/nodejs/node/pull/16038
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2017-10-18 08:39:15 -07:00
Ben Noordhuis
411695e1d2
build: lint benchmark addon
...
PR-URL: https://github.com/nodejs/node/pull/16160
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2017-10-15 12:07:32 +08:00
Ben Noordhuis
4157342744
build: use local node-gyp for benchmark addon
...
Move the logic for building the benchmark/misc/function_call to
the top-level Makefile and use our local copy of node-gyp.
PR-URL: https://github.com/nodejs/node/pull/16160
Fixes: https://github.com/nodejs/node/issues/16154
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2017-10-15 12:06:56 +08:00
Ben Noordhuis
fca31be833
src: replace manual memory mgmt with std::string
...
PR-URL: https://github.com/nodejs/node/pull/15782
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Minwoo Jung <minwoo@nodesource.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-09 10:27:41 -07:00
Ben Noordhuis
d9d46e7757
src: fix windows-only build breakage
...
Commit af6af08 introduced a build error in a Windows-only code path in
src/node_url.cc.
Fix it by making the code a little nicer in general: const-ify the
`input` parameter to `ToASCII()` and `ToUnicode()`.
PR-URL: https://github.com/nodejs/node/pull/15724
Refs: https://github.com/nodejs/node/pull/15615
Refs: https://github.com/nodejs/node/pull/15723
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-10-02 14:37:57 +02:00
Ben Noordhuis
9e9c83ea95
test: check that this != new.target in addon
...
Add two checks that are there for expository reasons as much as they are
sanity checks.
PR-URL: https://github.com/nodejs/node/pull/15681
Refs: https://github.com/nodejs/node-addon-api/issues/142
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-10-02 01:20:27 -03:00
Ben Noordhuis
2e59ec0c2d
child_process: fix memory leak in .fork()
...
Entries in the `net.Server#_workers` array that is used to track handles
sent from the master to workers were not deleted when a worker exited,
resulting in a slow but inexorable memory leak.
PR-URL: https://github.com/nodejs/node/pull/15679
Fixes: https://github.com/nodejs/node/issues/15651
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-09-30 22:18:29 -07:00
Ben Noordhuis
93985ef83c
doc: retire bnoordhuis from the TSC
...
PR-URL: https://github.com/nodejs/node/pull/15626
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2017-09-27 11:05:17 -07:00
Ben Noordhuis
3c777bb37f
deps: define BUILDING_NGHTTP2 during nghttp2 build
...
Define BUILDING_NGHTTP2 in order that NGHTTP2_EXTERN is properly defined
when building the nghttp2 static library.
Move NGHTTP2_STATICLIB out of node.gyp because it is a property of the
nghttp2 static library, not the node executable.
PR-URL: https://github.com/nodejs/node/pull/15487
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-09-24 12:17:03 -03:00
Ben Noordhuis
78339e2511
src: constify PerformanceEntry data members
...
PR-URL: https://github.com/nodejs/node/pull/15458
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-09-21 19:19:01 -03:00
Ben Noordhuis
3869dd2a13
src: return references from getters, not copies
...
PR-URL: https://github.com/nodejs/node/pull/15458
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-09-21 19:18:56 -03:00
Ben Noordhuis
dce2738a91
src: handle uv_async_init() failure
...
Fix CHECKED_RETURN, RESOURCE_LEAK) and UNINIT Coverity warnings in
MarkGarbageCollectionEnd().
PR-URL: https://github.com/nodejs/node/pull/15458
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-09-21 19:18:51 -03:00
Ben Noordhuis
b210d61869
src: remove unused static variable
...
PR-URL: https://github.com/nodejs/node/pull/15458
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-09-21 19:18:46 -03:00
Ben Noordhuis
9c3182ef83
deps: cherry-pick 1aead19 from upstream V8
...
Original commit message:
Add postmortem metadata for thin strings.
See: https://github.com/nodejs/llnode/issues/117
Change-Id: Icc2830c8e9096610df33ffdc2f89e74cb1b35662
Reviewed-on: https://chromium-review.googlesource.com/618986
Reviewed-by: Michael Achenbach <machenbach@chromium.org >
Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl >
Cr-Commit-Position: refs/heads/master@{#47778}
PR-URL: https://github.com/nodejs/node/pull/15184
Ref: https://github.com/nodejs/llnode/issues/117
Ref: https://github.com/nodejs/llnode/pull/121
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-09-13 16:16:35 +02:00
Ben Noordhuis
bd6907bad4
deps: cherry-pick e020aae394 from V8 upstream
...
Original commit message:
Work around glibc thread-local storage bug
glibc before 2.17 has a bug that makes it impossible to execute
binaries that have single-byte thread-local variables:
% node --version
node: error while loading shared libraries: cannot allocate
memory in static TLS block
Work around that by making the one instance in the V8 code base
an int.
See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
See: https://github.com/nodesource/distributions/issues/513
See: https://github.com/nodejs/build/pull/809
Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
Reviewed-on: https://chromium-review.googlesource.com/612351
Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-by: Eric Holk <eholk@chromium.org >
Cr-Commit-Position: refs/heads/master@{#47400}
PR-URL: https://github.com/nodejs/node/pull/14913
Ref: https://github.com/nodejs/build/pull/809
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-09-13 16:16:32 +02:00
Ben Noordhuis
c79fd2b9b1
build: remove unused configuration variable
...
`want_separate_host_toolset_mkpeephole` was removed when V8 was upgraded
to version 5.9 in commit 3dc8c3b from June.
PR-URL: https://github.com/nodejs/node/pull/15266
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-09-11 01:06:22 -03:00
Ben Noordhuis
668ad44922
intl: unexpose Intl.v8BreakIterator
...
It was never an official Ecma-402 API, it is about to be superseded
by `Intl.Segmenter` and it's prone to crash under some circumstances.
Searches don't turn up any usage in the wild and the recommendation
from the V8 team is to remove it. Now seems like a good a time as
any to do that.
Fixes: https://github.com/nodejs/node/issues/8865
Fixes: https://github.com/nodejs/node/issues/14909
Refs: https://github.com/tc39/proposal-intl-segmenter
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/620755
PR-URL: https://github.com/nodejs/node/pull/15238
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-09-10 22:00:25 +02:00
Ben Noordhuis
964beed2f2
src: turn key length exception into CHECK
...
This exception can logically never happen because of the key stretching
that takes place first. Failure must therefore be a bug in Node.js and
not in the executing script.
PR-URL: https://github.com/nodejs/node/pull/15183
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-09-06 23:50:33 -07:00
Ben Noordhuis
ca78180a68
deps: cherry-pick 1aead19 from upstream V8
...
Original commit message:
Add postmortem metadata for thin strings.
See: https://github.com/nodejs/llnode/issues/117
Change-Id: Icc2830c8e9096610df33ffdc2f89e74cb1b35662
Reviewed-on: https://chromium-review.googlesource.com/618986
Reviewed-by: Michael Achenbach <machenbach@chromium.org >
Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl >
Cr-Commit-Position: refs/heads/master@{#47778}
PR-URL: https://github.com/nodejs/node/pull/15184
Ref: https://github.com/nodejs/llnode/issues/117
Ref: https://github.com/nodejs/llnode/pull/121
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-09-06 23:23:27 -07:00
Ben Noordhuis
0f7c06eb2d
tls: fix object prototype type confusion
...
Use `Object.create(null)` for dictionary objects so that keys from
certificate strings or the authorityInfoAccess field cannot conflict
with Object.prototype properties.
PR-URL: https://github.com/nodejs/node/pull/14447
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2017-08-30 15:41:23 -03:00
Ben Noordhuis
64f59be62f
deps: cherry-pick e020aae394 from V8 upstream
...
Original commit message:
Work around glibc thread-local storage bug
glibc before 2.17 has a bug that makes it impossible to execute
binaries that have single-byte thread-local variables:
% node --version
node: error while loading shared libraries: cannot allocate
memory in static TLS block
Work around that by making the one instance in the V8 code base
an int.
See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
See: https://github.com/nodesource/distributions/issues/513
See: https://github.com/nodejs/build/pull/809
Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
Reviewed-on: https://chromium-review.googlesource.com/612351
Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-by: Eric Holk <eholk@chromium.org >
Cr-Commit-Position: refs/heads/master@{#47400}
PR-URL: https://github.com/nodejs/node/pull/14913
Ref: https://github.com/nodejs/build/pull/809
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-08-24 15:42:57 -07:00
Ben Noordhuis
c6da5c8cdf
build: better support for python3 systems
...
Improve support for systems where `python` is actually `python3`.
Not all systems have a `python2` binary, so simply updating the shebang
won't work.
What we can do is apply some cleverness: start life as a shell script,
locate the python binary, then re-execute the script but this time as
python code.
Special care is taken to ensure that spaces in arguments are passed on
verbatim.
PR-URL: https://github.com/nodejs/node/pull/14737
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
2017-08-23 16:31:08 -07:00
Ben Noordhuis
e007f66ae2
dns: add verbatim option to dns.lookup()
...
When true, results from the DNS resolver are passed on as-is, without
the reshuffling that Node.js otherwise does that puts IPv4 addresses
before IPv6 addresses.
PR-URL: https://github.com/nodejs/node/pull/14731
Ref: https://github.com/nodejs/node/issues/6307
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-08-23 14:53:47 -07:00
Ben Noordhuis
503916a04f
gyp: add compile_commands.json gyp generator
...
this is a re-base of the gyp part of
3c46bb9931
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com >
Ref: https://github.com/nodejs/node/pull/7986
PR-URL: https://github.com/nodejs/node/pull/12450
Reviewed-By: João Reis <reis@janeasystems.com >
2017-08-23 16:24:33 -04:00
Ben Noordhuis
01160dd6e9
src: replace assert() with CHECK()
...
PR-URL: https://github.com/nodejs/node/pull/14663
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
2017-08-23 12:47:33 -07:00
Ben Noordhuis
da1af3d3fc
lib: instantiate console methods eagerly
...
Before this commit they were instantiated lazily but that fails when the
first call is under stack overflow conditions.
PR-URL: https://github.com/nodejs/node/pull/14791
Fixes: https://github.com/nodejs/help#778
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-08-23 11:41:15 -07:00
Ben Noordhuis
ffed7b6e66
src: detect nul bytes in InternalModuleReadFile()
...
Throw an exception when the path contains nul bytes, don't abort.
Fixes: https://github.com/nodejs/node/issues/13787
PR-URL: https://github.com/nodejs/node/pull/14854
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-08-21 16:59:00 +02:00
Ben Noordhuis
aa011a111d
Revert "build: don't add libraries when --enable-static"
...
Reverted for breaking the Windows build with the following error:
LINK : fatal error LNK1181: cannot open input file
'c:\workspace\node-compile-windows\label\win-vs2015\
Release\obj\node\gen\node_javascript.o'
This reverts commit be63c26e8c .
PR-URL: https://github.com/nodejs/node/pull/14893
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
2017-08-17 16:11:29 +02:00
Ben Noordhuis
e658d32974
src: remove unused Connection::ClearError()
...
PR-URL: https://github.com/nodejs/node/pull/14514
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jason Ginchereau <jasongin@microsoft.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Tobias Nie�en <tniessen@tnie.de >
2017-08-07 14:23:35 +02:00
Ben Noordhuis
f3afe29e19
src: replace assert with CHECK_LE in node_api.cc
...
PR-URL: https://github.com/nodejs/node/pull/14514
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jason Ginchereau <jasongin@microsoft.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Tobias Nie�en <tniessen@tnie.de >
2017-08-07 14:21:10 +02:00
Ben Noordhuis
28aa7d0066
v8: fix stack overflow in recursive method
...
HGlobalValueNumberingPhase::CollectSideEffectsOnPathsToDominatedBlock()
used to self-recurse before this commit, causing stack overflows on
systems with small stack sizes. Make it non-recursive by storing
intermediate results in a heap-allocated list.
Fixes: https://github.com/nodejs/node/issues/11991
Refs: https://github.com/nodejs/node/pull/12460
PR-URL: https://github.com/nodejs/node/pull/14004
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-08-01 15:23:16 -05:00
Ben Noordhuis
06a684aab4
tls: fix empty issuer/subject/infoAccess parsing
...
Also issuerCertificate but that did not fit on the status line.
Fixes: https://github.com/nodejs/node/issues/11771
PR-URL: https://github.com/nodejs/node/pull/14473
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-07-27 17:36:50 +02:00
Ben Noordhuis
1b7372f2fb
src: replace ASSERT with CHECK
...
Builds always have asserts enabled so there is no point distinguishing
between debug-only checks and run-time checks. Replace calls to ASSERT
and friends with their CHECK counterparts.
Fixes: https://github.com/nodejs/node/issues/14461
PR-URL: https://github.com/nodejs/node/pull/14474
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com >
Reviewed-By: XadillaX <admin@xcoder.in >
2017-07-27 17:11:08 +02:00
Ben Noordhuis
1fa67c7fc2
test: make flaky crypto test more deterministic
...
Fixes: https://github.com/nodejs/node/issues/14424
PR-URL: https://github.com/nodejs/node/pull/14451
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-07-27 16:39:36 +02:00
Ben Noordhuis
714e5cbedf
test: rename crypto test
...
Filenames of crypto tests should start with 'test-crypto-' and now it
does.
PR-URL: https://github.com/nodejs/node/pull/14451
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-07-27 16:39:36 +02:00
Ben Noordhuis
c83d9bbffb
lib: include cached modules in module.children
...
`module.children` is supposed to be the list of modules included by this
module but lib/module.js failed to update the list when the included
module was retrieved from `Module._cache`.
Fixes: https://github.com/nodejs/node/issues/7131
PR-URL: https://github.com/nodejs/node/pull/14132
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-07-24 16:56:31 +02:00
Ben Noordhuis
aa1c8c0043
src: fix memory leak in DH key setters
...
Fix a memory leak in dh.setPublicKey() and dh.setPrivateKey() where the
old keys weren't freed.
Fixes: https://github.com/nodejs/node/issues/8377
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:52 +02:00
Ben Noordhuis
58926d4075
src: reduce allocations in exportPublicKey()
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:50 +02:00
Ben Noordhuis
ed2a7fbcfe
src: guard against double free in randomBytes()
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:48 +02:00
Ben Noordhuis
12433ec86a
src: simplify PBKDF2Request
...
This also renames a misnamed variable `error_` to `success_`.
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:45 +02:00
Ben Noordhuis
64c5691409
src: remove PBKDF2Request::release()
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:43 +02:00
Ben Noordhuis
deef3b45c2
src: avoid heap allocation in crypto.pbkdf2()
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:41 +02:00
Ben Noordhuis
adfb7168fd
src: make array arg length compile-time checkable
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:39 +02:00
Ben Noordhuis
ae36d5be66
src: refactor PBKDF2Request
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:37 +02:00
Ben Noordhuis
d70f2470d3
src: remove extra heap allocations in DH functions
...
Replace allocate + Encode() + free patterns by calls to Malloc +
the Buffer::New() overload that takes ownership of the pointer.
Avoids unnecessary heap allocations and copying around of data.
DRY the accessor functions for the prime, generator, public key and
private key properties; deletes about 40 lines of quadruplicated code.
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:34 +02:00
Ben Noordhuis
a3b9f4b452
src: avoid heap allocation in hmac.digest()
...
Add a test that ensures the second call to .digest() returns an empty
HMAC, like it did before. No comment on whether that is the right
behavior or not.
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:32 +02:00
Ben Noordhuis
4803d0ae09
src: remove extra heap allocation in GetSession()
...
Don't allocate + copy + free; allocate and fill in place, then hand off
the pointer to Buffer::New().
Avoids unnecessary heap allocations in the following methods:
- crypto.CryptoStream#getSession()
- tls.TLSSocket#getSession()
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:29 +02:00
Ben Noordhuis
e8212cb025
src: make CipherBase::kind_ const
...
The cipher kind doesn't change over the lifetime of the cipher so make
it const.
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:27 +02:00
Ben Noordhuis
6faa1f1813
src: remove unused Local
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:25 +02:00
Ben Noordhuis
61c49c37b7
src: remove superfluous cipher_ data member
...
The EVP_CIPHER can be reconstructed from the EVP_CIPHER_CTX instance,
no need to store it separately.
This brought to light the somewhat dubious practice of accessing the
EVP_CIPHER after the EVP_CIPHER_CTX instance had been destroyed.
It's mostly harmless due to the static nature of built-in EVP_CIPHER
instances but it segfaults when the cipher is provided by an ENGINE
and the ENGINE is unloaded because its reference count drops to zero.
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:22 +02:00
Ben Noordhuis
92f3e4d487
src: don't heap allocate GCM cipher auth tag
...
Fix a memory leak by removing the heap allocation altogether.
Fixes: https://github.com/nodejs/node/issues/13917
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:16 +02:00
Ben Noordhuis
ff2c57d965
src: avoid heap allocation in sign.final()
...
Put the 8 kB initial buffer on the stack first and don't copy it to the
heap until its exact size is known (which is normally much smaller.)
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:14 +02:00
Ben Noordhuis
ee99bfdc65
src: remove unneeded const_cast
...
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:09:12 +02:00
Ben Noordhuis
6ac092848a
src: remove extra heap allocations in CipherBase
...
Don't allocate + copy + free; allocate and fill in place, then hand off
the pointer to Buffer::New().
Avoids unnecessary heap allocations in the following methods:
- crypto.Cipher#final()
- crypto.Cipher#update()
- crypto.Cipheriv#final()
- crypto.Cipheriv#update()
- crypto.Decipher#final()
- crypto.Decipher#update()
- crypto.Decipheriv#final()
- crypto.Decipheriv#update()
- crypto.privateDecrypt()
- crypto.privateEncrypt()
- crypto.publicDecrypt()
- crypto.publicEncrypt()
PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-07-17 23:08:17 +02:00
Ben Noordhuis
e36917bdc1
n-api: fix -Wmaybe-uninitialized compiler warning
...
Not an actual bug, as far as I can tell, the compiler is simply not
smart enough to figure out that the offending code path isn't reached
with an uninitialized value.
PR-URL: https://github.com/nodejs/node/pull/14053
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-07-05 16:53:04 +02:00
Ben Noordhuis
c9b6d95161
n-api: use Maybe version of Object::SetPrototype()
...
Fixes the following deprecation warning:
../src/node_api.cc:2020:30: warning: 'bool
v8::Object::SetPrototype(v8::Local<v8::Value>)' is deprecated: Use
maybe version [-Wdeprecated-declarations]
wrapper->SetPrototype(proto);
../src/node_api.cc:2021:28: warning: 'bool
v8::Object::SetPrototype(v8::Local<v8::Value>)' is deprecated: Use
maybe version [-Wdeprecated-declarations]
obj->SetPrototype(wrapper);
PR-URL: https://github.com/nodejs/node/pull/14053
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-07-05 16:51:09 +02:00
Ben Noordhuis
6bf4c23295
deps: delete deps/icu-small/source/io
...
The previous commit removed the dependency on the code in that
directory. This commit removes the directory itself and shrinks
the source tarball by about 200 kB.
PR-URL: https://github.com/nodejs/node/pull/13656
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-06-26 11:37:19 +02:00
Ben Noordhuis
2ea60e926e
build: remove dependency on icu io library
...
The library is only used in a single build-time tool where it can be
easily substituted by regular libc I/O functions.
PR-URL: https://github.com/nodejs/node/pull/13656
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-06-26 11:36:24 +02:00
Ben Noordhuis
1c314f5fac
src: don't set --icu_case_mapping flag on startup
...
It's on by default now and the flag will be removed in the near future.
Fixes: https://github.com/nodejs/node/issues/13688
PR-URL: https://github.com/nodejs/node/pull/13698
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-06-21 11:24:59 +02:00
Ben Noordhuis
d13a65ad68
doc: update minimum g++ version to 4.9.4
...
The 4.8.x releases don't fully support C++11. Update the prerequisites
for node.js 8 so that we won't have to work around compiler bugs in the
future.
To be decided if we should also update the minimum clang version.
I believe clang 3.4.2 properly supports C++11 but am not 100% sure.
PR-URL: https://github.com/nodejs/node/pull/13466
Ref: https://github.com/nodejs/node/pull/11840
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com >
2017-06-15 11:04:17 -07:00
Ben Noordhuis
36ba9e6e0c
deps: cherry-pick bfae9db from upstream v8
...
Original commit message:
Update postmortem metadata generator.
Add PropertyDetails::AttributesField +
PropertyDetails::LocationField.
Review-Url: https://codereview.chromium.org/2842843004
Cr-Commit-Position: refs/heads/master@{#44889}
PR-URL: https://github.com/nodejs/node/pull/12722
Refs: https://github.com/nodejs/llnode/issues/81
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-06-07 10:34:32 +02:00
Ben Noordhuis
44f5523260
v8: fix stack overflow in recursive method
...
HGlobalValueNumberingPhase::CollectSideEffectsOnPathsToDominatedBlock()
used to self-recurse before this commit, causing stack overflows on
systems with small stack sizes. Make it non-recursive by storing
intermediate results in a heap-allocated list.
Fixes: https://github.com/nodejs/node/issues/11991
PR-URL: https://github.com/nodejs/node/pull/12460
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Yang Guo <yangguo@chromium.org >
2017-06-07 10:34:24 +02:00
Ben Noordhuis
399cb25f62
inspector: bind to random port with --inspect=0
...
Allow binding to a randomly assigned port number with `--inspect=0`
or `--inspect-brk=0`.
PR-URL: https://github.com/nodejs/node/pull/5025
Refs: https://github.com/nodejs/node/issues/4419
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-05-30 12:22:02 +02:00
Ben Noordhuis
58af75e5fb
crypto: update root certificates
...
Update the list of root certificates in src/node_root_certs.h with
tools/mk-ca-bundle.pl.
Certificates added:
- TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
Certificates removed:
- ApplicationCA - Japanese Government
- Microsec e-Szigno Root CA
- TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6
- WellsSecure Public Root Certificate Authority
PR-URL: https://github.com/nodejs/node/pull/13279
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-05-29 08:45:07 -07:00
Ben Noordhuis
d3028270ec
tools: update certdata.txt
...
This is the certdata.txt[0] that ships in NSS 3.30.2, released on
2017-04-20.
[0] https://hg.mozilla.org/projects/nss/raw-file/NSS_3_30_2_RTM/lib/ckfw/builtins/certdata.txt
PR-URL: https://github.com/nodejs/node/pull/13279
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-05-29 08:45:00 -07:00
Ben Noordhuis
46e773c5db
src: check if --icu-data-dir= points to valid dir
...
Call uc_init() after u_setDataDirectory() to find out if the data
directory is actually valid.
This commit removes parallel/test-intl-no-icu-data, added in commit
46345b9 ("src: make --icu-data-dir= switch testable"). It no longer
works now that an invalid --icu-data-dir= argument is rejected.
Coverage is now provided by parallel/test-icu-data-dir.
Fixes: https://github.com/nodejs/node/issues/13043
Refs: https://github.com/nodejs/node-gyp/issues/1199
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com >
2017-05-19 20:24:41 +02:00
Ben Noordhuis
d74a545535
deps: cherry-pick bfae9db from upstream v8
...
Original commit message:
Update postmortem metadata generator.
Add PropertyDetails::AttributesField +
PropertyDetails::LocationField.
Review-Url: https://codereview.chromium.org/2842843004
Cr-Commit-Position: refs/heads/master@{#44889}
PR-URL: https://github.com/nodejs/node/pull/12722
Refs: https://github.com/nodejs/llnode/issues/81
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-05-06 20:02:35 +02:00
Ben Noordhuis
14dc300085
v8: fix stack overflow in recursive method
...
HGlobalValueNumberingPhase::CollectSideEffectsOnPathsToDominatedBlock()
used to self-recurse before this commit, causing stack overflows on
systems with small stack sizes. Make it non-recursive by storing
intermediate results in a heap-allocated list.
Fixes: https://github.com/nodejs/node/issues/11991
PR-URL: https://github.com/nodejs/node/pull/12460
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Yang Guo <yangguo@chromium.org >
2017-05-06 20:02:35 +02:00
Ben Noordhuis
6ed791c665
deps: cherry-pick bfae9db from upstream v8
...
Original commit message:
Update postmortem metadata generator.
Add PropertyDetails::AttributesField +
PropertyDetails::LocationField.
Review-Url: https://codereview.chromium.org/2842843004
Cr-Commit-Position: refs/heads/master@{#44889}
PR-URL: https://github.com/nodejs/node/pull/12722
Refs: https://github.com/nodejs/llnode/issues/81
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-05-01 13:01:56 +02:00
Ben Noordhuis
30989d30db
v8: fix stack overflow in recursive method
...
HGlobalValueNumberingPhase::CollectSideEffectsOnPathsToDominatedBlock()
used to self-recurse before this commit, causing stack overflows on
systems with small stack sizes. Make it non-recursive by storing
intermediate results in a heap-allocated list.
Fixes: https://github.com/nodejs/node/issues/11991
PR-URL: https://github.com/nodejs/node/pull/12460
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Yang Guo <yangguo@chromium.org >
2017-04-21 10:39:58 +02:00
Ben Noordhuis
90476ac6ee
lib: remove _debugger.js
...
The file no longer works after the removal of the --debug/--debug-brk
switches in commit 47f8f74 ("src: remove support for --debug".)
This commit also removes several tests that still referenced the
old debugger but were either unit-testing its internals or passing
for the wrong reason (like expecting an operation to fail, which
it did because the debugger is gone.)
PR-URL: https://github.com/nodejs/node/pull/12495
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-21 10:35:49 +02:00
Ben Noordhuis
e0b076a949
lib,src,test: update --debug/debug-brk comments
...
Overlooked in commit 47f8f74 ("src: remove support for --debug") from
earlier this month.
PR-URL: https://github.com/nodejs/node/pull/12495
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-21 10:35:06 +02:00
Ben Noordhuis
5ef6000afd
src: don't call uv_run() after 'exit' event
...
It makes timers and other libuv handles fire intermittently after the
'exit' event, contrary to what the documentation states.
Regression introduced in commit aac79df ("src: use stack-allocated
Environment instances") from June last year that made the
`while (handle_cleanup_waiting_ != 0) uv_run(event_loop(), UV_RUN_ONCE)`
loop run unconditionally on exit because it merged CleanupHandles() into
the Environment destructor.
This change breaks parallel/test-async-wrap-throw-from-callback because
the async_wrap idle handle is no longer cleaned up, which I resolved
pragmatically by removing the test.
In all seriousness, it is being removed in the upcoming async_wrap
revamp - it doesn't make sense to sink a lot of time in it now.
Fixes: https://github.com/nodejs/node/issues/12322
PR-URL: https://github.com/nodejs/node/pull/12344
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-04-19 11:11:41 +02:00
Ben Noordhuis
5d06e5c30d
net: require 'dns' only once
...
Avoid unnecessary calls to require('dns') by caching the result of the
first one.
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-18 22:04:09 +02:00
Ben Noordhuis
bb06add4d7
net: don't normalize twice in Socket#connect()
...
Split up Socket#connect() so that we don't call normalizeArgs() twice
when invoking net.connect() or net.createConnection().
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-18 22:04:07 +02:00
Ben Noordhuis
9433434461
net: don't concatenate strings in debug logging
...
Not necessary, not a good idea.
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-18 22:04:04 +02:00
Ben Noordhuis
571882c5a4
net: remove unnecessary process.nextTick()
...
Call internalConnect() directly when the target is an IP address.
No delay is necessary because it defers any callbacks it makes.
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-18 22:04:02 +02:00
Ben Noordhuis
117b83c2dd
net: don't create unnecessary closure
...
Don't call `Function#bind()` when a direct method call works
just as well and is much cheaper.
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-18 22:03:54 +02:00
Ben Noordhuis
7b48303783
net: don't create unnecessary closure
...
Pass arguments to fireErrorCallbacks() explicitly. Saves allocation
an unnecessary closure context.
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-18 22:02:10 +02:00
Ben Noordhuis
6c912a8216
test: fix coverity UNINIT_CTOR cctest warning
...
Explicitly initialize `platform_` to nullptr. Coverity cannot divine
it is set and cleared by the Setup() and TearDown() methods.
PR-URL: https://github.com/nodejs/node/pull/12387
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-18 10:49:20 -07:00
Ben Noordhuis
6331b63ce0
crypto: update root certificates
...
Update the list of root certificates in src/node_root_certs.h with
tools/mk-ca-bundle.pl.
Certificates added:
- AC RAIZ FNMT-RCM
- Amazon Root CA 1
- Amazon Root CA 2
- Amazon Root CA 3
- Amazon Root CA 4
- Certplus Root CA G1
- Certplus Root CA G2
- Hellenic Academic and Research Institutions ECC RootCA 2015
- Hellenic Academic and Research Institutions RootCA 2015
- ISRG Root X1
- LuxTrust Global Root 2
- OpenTrust Root CA G1
- OpenTrust Root CA G2
- OpenTrust Root CA G3
Certificates removed:
- Buypass Class 2 CA 1
- EBG Elektronik Sertifika Hizmet Sağlayıcısı
- IGC/A
- Juur-SK
- RSA Security 2048 v3
- Root CA Generalitat Valenciana
PR-URL: https://github.com/nodejs/node/pull/12402
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org >
2017-04-18 10:34:47 -07:00
Ben Noordhuis
abe037504c
tools: update certdata.txt
...
This is the certdata.txt[0] that ships in NSS 3.28.1, released on
2017-01-04.
[0] https://hg.mozilla.org/projects/nss/raw-file/NSS_3_28_1_RTM/lib/ckfw/builtins/certdata.txt
PR-URL: https://github.com/nodejs/node/pull/12402
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org >
2017-04-18 10:34:47 -07:00
Ben Noordhuis
e6eac853a4
tools: add compile_commands.json gyp generator
...
this is a re-base of the gyp part of
3c46bb9931
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com >
Ref: https://github.com/nodejs/node/pull/7986
PR-URL: https://github.com/nodejs/node/pull/12450
Reviewed-By: João Reis <reis@janeasystems.com >
2017-04-18 13:23:42 -04:00
Ben Noordhuis
affe0f2d2a
n-api: fix -Wmismatched-tags compiler warning
...
`napi_env__` was declared as a struct in one place and a class in
another.
PR-URL: https://github.com/nodejs/node/pull/12333
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-11 15:58:32 +02:00
Ben Noordhuis
7c0079f1be
src: add .FromJust(), fix -Wunused-result warnings
...
Missed while reviewing 1fde98b ("v8: expose new V8 serialization API.")
PR-URL: https://github.com/nodejs/node/pull/12118
Refs: https://github.com/nodejs/node/pull/11048
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-31 21:53:20 +02:00
Ben Noordhuis
9ff7ed23cd
lib: fix event race condition with -e
...
Commit c5b07d4 ("lib: fix beforeExit not working with -e") runs the
to-be-evaluated code at a later time than before because it switches
from `process.nextTick()` to `setImmediate()`.
It affects `-e 'process.on("message", ...)'` because there is now a
larger time gap between startup and attaching the event listener,
increasing the chances of missing early messages. I'm reasonably
sure `process.nextTick()` was also susceptible to that, only less
pronounced.
Avoid the problem altogether by evaluating the code synchronously.
Harmonizes the logic with `Module.runMain()` from lib/module.js
which also calls `process._tickCallback()` afterwards.
PR-URL: https://github.com/nodejs/node/pull/11958
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-03-24 09:19:09 -07:00
Ben Noordhuis
86d74a248b
tls: fix SecurePair external memory reporting
...
Ensure that AdjustAmountOfExternalAllocatedMemory() is called when
the SecurePair is destroyed. Not doing so is not an actual memory
leak but it makes `process.memoryUsage().external` wildly inaccurate
and can cause performance problems due to excessive garbage collection.
PR-URL: https://github.com/nodejs/node/pull/11896
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-03-22 09:41:04 -07:00
Ben Noordhuis
f35e80d9af
src: use persistent strings from node::Environment
...
Replace a few calls to FIXED_ONE_BYTE_STRING() with their persistent
counterparts from `node::Environment`. None of the calls are in hot
code paths but why create a new string when one already exists?
PR-URL: https://github.com/nodejs/node/pull/11945
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-03-22 09:19:48 -07:00
Ben Noordhuis
03a6c6ea8c
tls: fix segfault on destroy after partial read
...
OnRead() calls into JS land which can result in the SSL context object
being destroyed on return. Check that `ssl_ != nullptr` afterwards.
Fixes: https://github.com/nodejs/node/issues/11885
PR-URL: https://github.com/nodejs/node/pull/11898
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-20 16:51:29 +01:00
Ben Noordhuis
04c1fbb0fa
net: remove misleading comment
...
The allowHalfOpen comment was added in commit 8a3befa ("net: Refactor
to use streams2") from 2012 but it wasn't true even then as far as I
can tell: Node.js simply always does a shutdown(2) first.
It is true that streams2 withholds the 'end' event when allowHalfOpen
is true but the comment is about a callback that hangs off the 'finish'
event that is emitted after calling `socket.end()`.
PR-URL: https://github.com/nodejs/node/pull/11573
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-01 17:31:53 +01:00
Ben Noordhuis
4f638f6fd7
domain,events: support non-object 'error' argument
...
Fix a TypeError when emitting an 'error' argument with a non-object
argument (like a string) when domains are active.
Fixes: https://github.com/nodejs/help/issues/501
PR-URL: https://github.com/nodejs/node/pull/11438
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-22 21:42:52 +01:00
Ben Noordhuis
2ba4eeadbb
lib: remove simd support from util.format()
...
Upstream V8 is removing SIMD support. Be proactive and follow suit.
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=4124
PR-URL: https://github.com/nodejs/node/pull/11346
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-02-15 09:53:36 -08:00
Ben Noordhuis
c5d1851ac4
test: drop v5.x-specific code path from simd test
...
PR-URL: https://github.com/nodejs/node/pull/11346
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-02-15 09:53:28 -08:00
Ben Noordhuis
b738cbcdd3
src: remove unused typedef
...
Seems to have been overlooked in commit dd93c53 ("Make node::DLOpen use
uv_dlopen") from 2011.
PR-URL: https://github.com/nodejs/node/pull/11322
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
2017-02-14 19:31:21 +01:00
Ben Noordhuis
b7ac0b25b8
build: don't rebuild test/gc add-on unnecessarily
...
Remove the explicit dependency on $(NODE_EXE), it always triggers a
rebuild due to it being a .PHONY rule. Add-ons in test/addons/ have
the same implicit dependency so it isn't completely without precedent.
PR-URL: https://github.com/nodejs/node/pull/11311
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
2017-02-14 14:52:31 +01:00
Ben Noordhuis
fd8587eb38
lib: replace \u2019 with regular ascii quote
...
The previous commit stores baked-in files with non-ASCII characters
as UTF-16. Replace the \u2019 with a regular quote character so that
the files they're in can be stored as one-byte strings. The UTF-16
functionality is still tested by the Unicode diagram in lib/timers.js.
PR-URL: https://github.com/nodejs/node/pull/11129
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-13 19:16:47 +01:00
Ben Noordhuis
c30fc8d495
src: support UTF-8 in compiled-in JS source files
...
Detect it when source files in lib/ are not ASCII. Decode them as UTF-8
and store them as UTF-16 in the binary so they can be used as external
string resources without non-ASCII characters getting mangled.
Fixes: https://github.com/nodejs/node/issues/10673
PR-URL: https://github.com/nodejs/node/pull/11129
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-13 19:16:14 +01:00
Ben Noordhuis
106273616a
doc: drop "and io.js" from release section
...
Reword the language around releases and signing keys to make it clear
that new releases are all branded "Node.js."
PR-URL: https://github.com/nodejs/node/pull/11054
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
2017-02-11 15:50:37 +01:00
Ben Noordhuis
291b599bba
src: fix --icu-data-dir= regression
...
Commit a8734af ("src: make copies of startup environment variables")
from two weeks ago introduced a regression in the capturing of the
`--icu-data-dir=` switch: it captured the string up to the `=` instead
of what comes after it.
PR-URL: https://github.com/nodejs/node/pull/11255
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-02-11 15:24:30 +01:00
Ben Noordhuis
46345b9374
src: make --icu-data-dir= switch testable
...
Move some code around so we can properly test whether the switch
actually does anything.
PR-URL: https://github.com/nodejs/node/pull/11255
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-02-11 15:23:51 +01:00