- Feb 19, 2018
-
-
Anna Henningsen authored
Up until now, Node did not clear the current error code attempting to read environment variables on Windows. Since checking the error code is the way we distinguish between missing and zero-length environment variables, this could lead to a false positive when the error code was still tainted. In the simplest case, accessing a missing variable and then a zero-length one would lead Node to believe that both calls yielded an error. Before: > process.env.I=''; process.env.Q; process.env.I undefined > process.env.I=''; /*process.env.Q;*/ process.env.I '' After: > process.env.I=''; process.env.Q; process.env.I '' > process.env.I=''; /*process.env.Q;*/ process.env.I '' This only affects Node 8 and above, since before 1aa595e5 we always constructed a `v8::String::Value` instance for passing the lookup key to the OS, which in in turn always made a heap allocation and therefore reset the error code. PR-URL: https://github.com/nodejs/node/pull/18463 Reviewed-By:Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By:
Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By:
Tobias Nießen <tniessen@tnie.de> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By:
Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
Ben Noordhuis authored
Work around some C++11 shortcomings in Visual Studio 2013: 1. Replace `constexpr` with `const`, and 2. Remove default move constructors and assignment operators. PR-URL: https://github.com/nodejs/node/pull/16413
-
Myles Borins authored
This reverts commit 3ea6dbd8ad9669195849fd0c65e370eebc7a4786. NODE_MODULE_VERSION is set back to 57 PR-URL: https://github.com/nodejs/node/pull/16413
-
Anna Henningsen authored
Below is the list of changes: deps: revert 70de12b73c150 from upstream V8 Original commit message: Remove deprecated ForceSet Also move the soon-to-be-deprecated version to deprecated BUG=none R=ulan@chromium.org Change-Id: I2252404f63e25ac35c7798daf66b36144bef6a7e Reviewed-on: https://chromium-review.googlesource.com/518162 Reviewed-by:Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#45554} [squash] use renamed internal utilities v8: reorder V8_INTRINSICS_LIST for ABI compat Make `kErrorPrototype` added at the end of the `Intrinsic` for ABI compatibility. deps: revert 0089c786ed882 from V8 upstream Original commit message: Merged: Squashed multiple commits. Merged: [heap] Add API to set heap semi-space limits in KB. Revision: bb29f9a4d6fb5e32 Merged: [heap] Partially reland "Allow a minimum semi-space size of 512K." Revision: 7486dc3331 Merged: [heap] Set initial semi-space size to 512K. Revision: a5230d81d1f73c BUG=chromium:716032,chromium:735649 LOG=N NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true R=hablich@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia9946e28ce41dee6199fac571274aa196576385b Reviewed-on: https://chromium-review.googlesource.com/616283 Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/branch-heads/6.1@{#47} Cr-Branched-From: 1bf2e10ddb194d4c2871a87a4732613419de892d-refs/heads/6.1.534@{#1} Cr-Branched-From: e825c4318eb2065ffdf9044aa6a5278635c36427-refs/heads/master@{#46746} v8: work around callback typedef renaming Do some clever tricks to have an easy way around V8 renaming one of its typedef to a deprecated version and then introducing a new typedef with the same name. deps: revert 5ebd6fcd269de from V8 upstream Original commit message: [heap] Lower external allocation limit when external memory shrinks. BUG=chromium:728228 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2921883002 Cr-Commit-Position: refs/heads/master@{#45726} deps: revert cf8f7bdc9d5ee from V8 upstream Original commit message: [heap] Increase memory reducer activation limit for external memory changes. BUG=chromium:729521 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2923563006 Cr-Commit-Position: refs/heads/master@{#45763} deps: revert 11fc9fab94d48 from V8 upstream Original commit message: [heap] Guard against re-entering GC on external memory change. TBR=hpayer@chromium.org BUG=chromium:729868,chromium:729521 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2929463002 Cr-Commit-Position: refs/heads/master@{#45745} deps: revert 502c6ae6a0397 from V8 upstream Original commit message: [heap] Activate memory reducer on external memory activity. BUG=chromium:728228,chromium:626082 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2917853004 Cr-Commit-Position: refs/heads/master@{#45671} v8: revert changes to Contents structs The feature is disabled by default anyway,but we disable it completely. Refs: https://github.com/nodejs/node/pull/15393 PR-URL: https://github.com/nodejs/node/pull/15393 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Author: Anna Henningsen <anna@addaleax.net> Author: Peter Marshall <p.s.marshall0@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Anna Henningsen authored
Below is the list of changes: [ABI] deps: move new PARSER value to end of enum [ABI] deps: revert 749b9c062ea from upstream V8 Original commit message: Remove deprecated allow code-gen callback BUG=chromium:732736 R=marja@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2c0a96b76ae977e53a418d22175bcc487f548786 Reviewed-on: https://chromium-review.googlesource.com/543238 Reviewed-by:Marja Hölttä <marja@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#47509} [ABI] deps: reorder InstanceType enum for ABI compat [ABI] deps: restore HeapProfiler::GetProfilerMemorySize() Reimplemented as a method returning 0. [ABI] deps: partially revert a5f321cd9bf Remove default arguments from `Context::SetDefaultContext()` and `Context::New()`. Refs: https://github.com/v8/v8/commit/a5f321cd9bf [ABI] deps: revert change to ComputeMaxSemiSpaceSize Refs: https://github.com/v8/v8/commit/2178bbaf3f2b71093ceb3885e524c076f9d827cd PR-URL: https://github.com/nodejs/node/pull/16413
-
Michaël Zasso authored
Original commit message: [parser] Add new FunctionNameInferrer state before parsing param Create new state before parsing FormalParameter because we don't want to use any of the parameters as an inferred function name. Previously the stacktrace was: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at param (test.js:3:11) at test.js:4:5 at test.js:6:3 The stacktrace with this patch: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at test.js:3:11 at test.js:4:5 at test.js:6:3 Bug: v8:6822, v8:6513 Change-Id: Ifbadc660fc4e85248af405acd67c025f11662bd4 Reviewed-on: https://chromium-review.googlesource.com/742657 Reviewed-by:Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#49042} PR-URL: https://github.com/nodejs/node/pull/18060 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Fixes: https://github.com/nodejs/node/issues/15386 Refs: https://github.com/v8/v8/commit/c3458a86722d735ef4c4e31f9bcaa966e5093e47 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Ali Ijaz Sheikh authored
Original commit message: [interpreter] Remove TryInstallOptimizedCode Removes the interrupt check and runtime call to TryInstallOptimizedCode from the optimization marker checks (i.e. CompileLazy and InterpreterEntryTrampoline). Instead, we rely on the other interrupt sources (in particular stack checks at function entries and loop headers) to install optimized code for us. This will hopefully not cause regressions, as we have plenty of other interrupt checks, but it may delay optimized code execution for some function by one function call. Bug: v8:6933 Change-Id: Ieadfff7ae2078d2a84085294158ad9a706eb9c64 Reviewed-on: https://chromium-review.googlesource.com/723475 Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#48667} Ref: https://bugs.chromium.org/p/v8/issues/detail?id=6933 Ref: https://github.com/v8/v8/commit/ac0fe8ec8a13493aba5fd7fe55220d23cee62562 PR-URL: https://github.com/nodejs/node/pull/17695 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Ali Ijaz Sheikh authored
Original commit message: [cpu-profiler] Clear code entries when no observers are present. Performed manual testing as well by making 20 CPU profile recordings of loading http://meduza.io page. Without the patch the page renderer memory size grows beyond 300MB. With the patch it remains below 200MB. BUG=v8:6623 Change-Id: Ifce541b84bb2aaaa5175520f8dd49dbc0cb5dd20 Reviewed-on: https://chromium-review.googlesource.com/798020 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49914} Ref: https://github.com/v8/v8/commit/14ac02c49c7a364059704537a10abae4feb15a88 PR-URL: https://github.com/nodejs/node/pull/17512 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Timothy Gu <timothygu99@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Myles Borins authored
Original commit message: Fix map constructor to correctly throw. We need to throw before rethrowing, otherwise the exception does not trigger a debugger event and is not reported if uncaught. R=gsathya@chromium.org, jgruber@chromium.org Bug: v8:7047 Change-Id: I7ce0253883a21d6059e4e0ed0fc56dc55a0dcba6 Reviewed-on: https://chromium-review.googlesource.com/758372 Reviewed-by:Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49237} Fixes: https://github.com/nodejs/node/issues/17270 PR-URL: https://github.com/nodejs/node/pull/17383 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Refael Ackermann <refack@gmail.com> Reviewed-By:
Yang Guo <yangguo@chromium.org> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Timothy Gu authored
Original commit message: [coverage] Correctly free DebugInfo in the absence of breakpoints It's quite possible for DebugInfos to exist without the presence of a bytecode array, since DebugInfos are created for all functions for which we have a CoverageInfo. Free such objects properly. Also move the corresponding deletion of CoverageInfos on unload up before the early exit. Bug: v8:6000 Change-Id: Idde45b222290aa8b6828b61ff2251918b8ed2aed Reviewed-on: https://chromium-review.googlesource.com/664811 Reviewed-by:Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48024} Fixes crash when passing Profiler.startPreciseCoverage before Debug.paused is received. PR-URL: https://github.com/nodejs/node/pull/17344 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Refs: https://github.com/v8/v8/commit/1420e44db0ac3631687deb9fc6816ac97b9f499c Refs: https://github.com/bcoe/c8/pull/6#discussion_r153121287 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Franziska Hinkelmann authored
This fixes the flaky message/console test on our CI. Original commit message: [test/message] Allow numbers to have more than one leading digit. The {NUMBER} regexp only allowed one, leading to occasional test failures such as: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20-%20debug/builds/17156 Bug: Change-Id: I25a08b80640d9af19ba70c61c846163685f1cb82 Reviewed-on: https://chromium-review.googlesource.com/753322 Reviewed-by:Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49109} PR-URL: https://github.com/nodejs/node/pull/16890 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Ref: https://github.com/nodejs/build/issues/936 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Daniel Bevenius authored
Original commit message: I believe the paths to the V8 include headers are incorrect. The paths to other sources seem to be relative to the parent directory. When building Node.js I get the following warning on Windows: Warning: Missing input files: deps\v8\src\..\..\include\v8-inspector-protocol.h deps\v8\src\..\..\include\v8-inspector.h This commit updates the two include paths. Bug: Change-Id: I51a057abba61e294e7811ba69db03e283b0bdc3f Reviewed-on: https://chromium-review.googlesource.com/743981 Reviewed-by:Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49121} This commit also increments the v8_embedder_string version. PR-URL: https://github.com/nodejs/node/pull/16900 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Fixes: https://github.com/nodejs/node/issues/16614 Refs: https://github.com/v8/v8/commit/b8331cc0303f7b5c18d84527d5951bafea9a46d9 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Ali Ijaz Sheikh authored
Original commit message: [inspector] added V8InspectorClient::maxAsyncCallStackDepthChanged R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0fa10978266feb3c3907ce1f3386ae7a34a33582 Reviewed-on: https://chromium-review.googlesource.com/726490 Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48705} PR-URL: https://github.com/nodejs/node/pull/16308 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Refs: https://github.com/v8/v8/commit/b1cd96ec4b836348bcffba357cd29076ab3ae48b Reviewed-By:
Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By:
Refael Ackermann <refack@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Timothy Gu <timothygu99@gmail.com>
-
Michaël Zasso authored
Original commit message: [heap] Print the number of chunks in unmapper queue in --trace-gc-nvp Bug: chromium:771966 Change-Id: I146b279c4713b7dd716c6d55ca5e6c6e23a3ad7e Reviewed-on: https://chromium-review.googlesource.com/704740 Reviewed-by:Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48338} Refs: https://github.com/v8/v8/commit/e0d64dc67c6abf36a37efdc6e8e6903bb114ebd3 Refs: https://github.com/nodejs/help/issues/917#issuecomment-339292642 Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=771966 PR-URL: https://github.com/nodejs/node/pull/16490 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Michaël Zasso authored
Original commit message: [heap] Fix threshold for delayed chunks after 2c7561. Bug: chromium:771966 Change-Id: Iac5ee55c0d31de477f21f091f4be015a1ca8d00c Reviewed-on: https://chromium-review.googlesource.com/702382 Reviewed-by:Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48316} Refs: https://github.com/v8/v8/commit/676c41321a948c08d6a43de43fe9b1d60ae81c00 Refs: https://github.com/nodejs/help/issues/917#issuecomment-339292642 Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=771966 PR-URL: https://github.com/nodejs/node/pull/16490 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Michaël Zasso authored
Original commit message: [heap] Ensure progress in unmapping memory chunks. If sweeping is not making progress and there are many young generation GCs happening, then this can lead to accumulation of memory chunks in the unmapper queue. Bug: chromium:771966 Change-Id: Ief73ada0d17198a80b668850c6d2e7ea413113e7 Reviewed-on: https://chromium-review.googlesource.com/702479 Reviewed-by:Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48312} Refs: https://github.com/v8/v8/commit/2c75616028e75883e28df2c6d8dd2a6bfe47f718 Refs: https://github.com/nodejs/help/issues/917#issuecomment-339292642 Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=771966 PR-URL: https://github.com/nodejs/node/pull/16490 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com>
-
Franziska Hinkelmann authored
Original commit message: [api] Intercept DefineProperty after Descriptor query Analog to other interceptors, intercept the DefineProperty call only after obtaining the property descriptor. This behavior allows us to mirror calls on a sandboxed object as it is needed in Node. See for example https://github.com/nodejs/node/pull/13265 Bug: Change-Id: I73b8f8908d13473939b37fb6727858d0bee6bda3 Reviewed-on: https://chromium-review.googlesource.com/725295 Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#48683} PR-URL: https://github.com/nodejs/node/pull/16294 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com>
-
Tobias Tebbi authored
Original commit message: avoid constructor inheritance due to compilation issues Constructor inheritance of a templated constructor is causing compilation issues for node.js: https: //github.com/nodejs/node/pull/15362#issue-257007421 Change-Id: I7d099ff5a1a2fd5b19c11112ddef8fe824e509f7 Reviewed-on: https://chromium-review.googlesource.com/707008 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48445} Refs: https://github.com/v8/v8/commit/0f1dfae0501ffa5086c34412e0cb3b229bd570de PR-URL: https://github.com/nodejs/node/pull/15362 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Myles Borins <myles.borins@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Ali Ijaz Sheikh authored
This change fixes a potential segfault in the sampling heap profiler. This landed as part of a larger change upstream [1]. This is the minimal backport that avoids the segfault. [1]: https://git.io/vdTYL PR-URL: https://github.com/nodejs/node/pull/15498 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Anna Henningsen authored
Original commit message: [api] Add optional data pointer to GC callbacks This can be useful when there may be multiple callbacks attached by code that's not directly tied to a single isolate, e.g. working on a per-context basis. This also allows rephrasing the global non-isolate APIs in terms of this new API, rather than working around it inside `src/heap`. TBR=hpayer@chromium.org Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2e490ec40d1a34ea812f25f41ef9741d2116d965 Reviewed-on: https://chromium-review.googlesource.com/647548 Reviewed-by:Yang Guo <yangguo@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47923} PR-URL: https://github.com/nodejs/node/pull/15391 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com>
-
geek authored
PR-URL: https://github.com/nodejs/node/pull/15362 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Myles Borins <myles.borins@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
geek authored
PR-URL: https://github.com/nodejs/node/pull/15362 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Myles Borins <myles.borins@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Michaël Zasso authored
With V8 6.2 there is one line less in the promise trace. PR-URL: https://github.com/nodejs/node/pull/15362 Backport-PR-URL: https://github.com/nodejs/node/pull/16413 Reviewed-By:
Myles Borins <myles.borins@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Michaël Zasso authored
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 6.2. Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md PR-URL: https://github.com/nodejs/node/pull/16413
-
Michaël Zasso authored
PR-URL: https://github.com/nodejs/node/pull/16413
-
- Feb 18, 2018
-
-
David Benjamin authored
Fixing the rest will be rather involved. I think the cleanest option is to deprecate the method string APIs which are weird to begin with. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
This is kind of hairy. OpenSSL 1.0.2 ignored the return value and always treated everything as SSL_TLSEXT_ERR_NOACK (so the comment was wrong and Node was never sending a warning alert). OpenSSL 1.1.0 honors SSL_TLSEXT_ERR_NOACK vs SSL_TLSEXT_ERR_FATAL_ALERT and treats everything unknown as SSL_TLSEXT_ERR_FATAL_ALERT. Since this is a behavior change (tests break too), start by aligning everything on SSL_TLSEXT_ERR_NOACK. If sending no_application_protocol is desirable in the future, this can by changed to SSL_TLSEXT_ERR_FATAL_ALERT with whatever deprecation process is appropriate. However, note that, contrary to https://rt.openssl.org/Ticket/Display.html?id=3463#txn-54498, SSL_TLSEXT_ERR_FATAL_ALERT is *not* useful to a server with no fallback protocol. Even if such mismatches were rejected, such a server must *still* account for the fallback protocol case when the client does not advertise ALPN at all. Thus this may not be worth bothering. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
This test is testing the workaround for an OpenSSL 1.0.x bug, which was fixed in 1.1.0. With the bug fixed, the test expectations need to change slightly. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
OpenSSL 1.1.0 disables anonymous ciphers unless building with enable-weak-crypto. Avoid unnecessary dependencies on these ciphers in tests. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
These are both no-ops in OpenSSL 1.1.0. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
This test is testing what happens to the server if the client shuts off the connection (so the server sees ECONNRESET), but the way it does it is convoluted. It uses a static RSA key exchange with a tiny (384-bit) RSA key. The server doesn't notice (since it is static RSA, the client acts on the key first), so the client tries to encrypt a premaster and fails: rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size SSL routines:ssl3_send_client_key_exchange:bad rsa encrypt OpenSSL happens not to send an alert in this case, so we get ECONNRESET with no alert. This is quite fragile and, notably, breaks in OpenSSL 1.1.0 now that small RSA keys are rejected by libssl. Instead, test by just connecting a TCP socket and immediately closing it. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
OpenSSL 1.1.0 rejects RSA keys smaller than 1024 bits by default. Fix the tests to use larger ones. This test only cares that the PEM blob be missing a trailing newline. Certificate adapted from test/fixtures/cert.pem. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
OpenSSL 1.0.x used a 48-byte ticket key, but OpenSSL 1.1.x made it larger by using a larger HMAC-SHA256 key and using AES-256-CBC to encrypt. However, Node's public API exposes the 48-byte key. Implement the ticket key callback to restore the OpenSSL 1.0.x behavior. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
"sha" in OpenSSL refers to SHA-0 which was removed from OpenSSL 1.1.0 and is insecure. Replace it with SHA-256 which is present in both 1.0.2 and 1.1.0. Short of shipping a reimplementation in Node, this is an unavoidable behavior change with 1.1.0. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
Some errors in the two versions are different. The test-tls-no-sslv3 one because OpenSSL 1.1.x finally does version negotiation properly. 1.0.x's logic was somewhat weird and resulted in very inconsistent errors for SSLv3 in particular. Also the function codes are capitalized differently, but function codes leak implementation details, so don't assert on them to begin with. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
This aligns the documentation with reality. This API never did what Node claims it did. The SSL_CIPHER_get_version function just isn't useful. In OpenSSL 1.0.2, it always returned the string "TLSv1/SSLv3" for anything but SSLv2 ciphers, which Node does not support. Note how test-tls-multi-pfx.js claims that ECDHE-ECDSA-AES256-GCM-SHA384 was added in TLSv1/SSLv3 which is not true. That cipher is new as of TLS 1.2. The OpenSSL 1.0.2 implementation is: char *SSL_CIPHER_get_version(const SSL_CIPHER *c) { int i; if (c == NULL) return ("(NONE)"); i = (int)(c->id >> 24L); if (i == 3) return ("TLSv1/SSLv3"); else if (i == 2) return ("SSLv2"); else return ("unknown"); } In OpenSSL 1.1.0, SSL_CIPHER_get_version changed to actually behave as Node documented it, but this changes the semantics of the function and breaks tests. The cipher's minimum protocol version is not a useful notion to return to the caller here, so just hardcode the string at "TLSv1/SSLv3" and document it as legacy. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
In OpenSSL 1.1.0, EVP_dss1() is removed. These hash names were exposed in Node's public API, so add compatibility hooks for them. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
OpenSSL 1.1.0 requries HMAC_CTX be heap-allocated. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
David Benjamin authored
1.1.0 requires EVP_MD_CTX be heap-allocated. In doing so, move the Init and Update hooks to shared code because they are the same between Verify and Sign. PR-URL: https://github.com/nodejs/node/pull/16130 Backport-PR-URL: https://github.com/nodejs/node/pull/18622 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-