New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crypto: allow to restrict valid GCM tag length #20039

Closed
wants to merge 2 commits into
base: master
from

Conversation

@tniessen
Member

tniessen commented Apr 15, 2018

This change allows users to restrict accepted GCM authentication tag lengths to a single value as proposed in #17523 (comment). This relies on the API changes introduced in #18138.

Fixes: #17523

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines
crypto: allow to restrict valid GCM tag length
This change allows users to restrict accepted GCM authentication tag
lengths to a single value.

Fixes: #17523
@tniessen

This comment has been minimized.

@Trott

This comment has been minimized.

Member

Trott commented Apr 15, 2018

@tniessen tniessen requested a review from bnoordhuis Apr 15, 2018

char msg[50];
snprintf(msg, sizeof(msg),
"Invalid GCM authentication tag length: %u", auth_tag_len);
env()->ThrowError(msg);

This comment has been minimized.

@jasnell

jasnell Apr 16, 2018

Member

Would be ideal if the error can be thrown in JS but that's not necessary for landing.

This comment has been minimized.

@tniessen

tniessen Apr 16, 2018

Member

I hope to have some time between the release of node 10 and node 11 to refactor the whole cipher API to use the new error system, this PR aims for consistency with the rest :)

@@ -2911,7 +2930,8 @@ void CipherBase::SetAuthTag(const FunctionCallbackInfo<Value>& args) {
unsigned int tag_len = Buffer::Length(args[0]);
const int mode = EVP_CIPHER_CTX_mode(cipher->ctx_);
if (mode == EVP_CIPH_GCM_MODE) {

This comment has been minimized.

@yhwang

yhwang Apr 18, 2018

Member

@tniessen I know your change is for GCM. I just think what's the minimal check we should do for CCM? Something like:

(cipher->auth_tag_len_ >= 0 && cipher->auth_tag_len_ != tag_len) || tag_len > EVP_GCM_TLS_TAG_LEN

This comment has been minimized.

@tniessen

tniessen Apr 19, 2018

Member

@yhwang This is basically the same problem as we discussed in #20040. I will fix it in that PR so this can remain semver-minor. This patch should work either way, right?

This comment has been minimized.

@yhwang
@yhwang

yhwang approved these changes Apr 18, 2018

LGTM

@tniessen

This comment has been minimized.

Member

tniessen commented Apr 21, 2018

It would be great if @bnoordhuis could take a look at this before landing.

@@ -2806,6 +2806,10 @@ void CipherBase::InitIv(const FunctionCallbackInfo<Value>& args) {
}
static bool IsValidGCMTagLength(int tag_len) {
return tag_len == 4 || tag_len == 8 || (tag_len >= 12 && tag_len <= 16);

This comment has been minimized.

@bnoordhuis

bnoordhuis Apr 21, 2018

Member

Micro-nit: superfluous parens.

@@ -2911,7 +2930,8 @@ void CipherBase::SetAuthTag(const FunctionCallbackInfo<Value>& args) {
unsigned int tag_len = Buffer::Length(args[0]);
const int mode = EVP_CIPHER_CTX_mode(cipher->ctx_);
if (mode == EVP_CIPH_GCM_MODE) {
if (tag_len > 16 || (tag_len < 12 && tag_len != 8 && tag_len != 4)) {
if ((cipher->auth_tag_len_ >= 0 && cipher->auth_tag_len_ != tag_len) ||

This comment has been minimized.

@bnoordhuis

bnoordhuis Apr 21, 2018

Member

Here too.

@@ -407,7 +407,7 @@ class CipherBase : public BaseObject {
EVP_CIPHER_CTX* ctx_;
const CipherKind kind_;
bool auth_tag_set_;
unsigned int auth_tag_len_;
int auth_tag_len_;

This comment has been minimized.

@bnoordhuis

bnoordhuis Apr 21, 2018

Member

I'd prefer using some unsigned sentinel value, e.g.:

static const unsigned kNoAuthTag = static_cast<unsigned>(-1);
@tniessen

This comment has been minimized.

Member

tniessen commented Apr 21, 2018

@bnoordhuis

LGTM. It would be slightly nicer still to convert to unsigned / the sentinel immediately when converting from v8::Int32 to int.

tniessen added a commit that referenced this pull request Apr 22, 2018

crypto: allow to restrict valid GCM tag length
This change allows users to restrict accepted GCM authentication tag
lengths to a single value.

PR-URL: #20039
Fixes: #17523
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yihong Wang <yh.wang@ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@tniessen

This comment has been minimized.

Member

tniessen commented Apr 22, 2018

Landed in 358d8ff. I will address your suggestion in another PR, @bnoordhuis.

@tniessen tniessen closed this Apr 22, 2018

@tniessen tniessen referenced this pull request Apr 23, 2018

Closed

src: fix node_crypto.cc compiler warnings #20216

2 of 2 tasks complete

tniessen added a commit to tniessen/node that referenced this pull request Apr 23, 2018

@jasnell

This comment has been minimized.

Member

jasnell commented Apr 23, 2018

This does not land cleanly in v10.x-staging because it appears to depend on one of the semver-major's that landed last week that will not be making it in to 10.0.0. A backport PR may allow it to land in 10.x but it won't make it in time for 10.0.0

tniessen added a commit to tniessen/node that referenced this pull request Apr 23, 2018

@tniessen tniessen referenced this pull request Apr 23, 2018

Closed

crypto: use kNoAuthTagLength in InitAuthenticated #20225

2 of 2 tasks complete

addaleax added a commit to addaleax/node that referenced this pull request Apr 23, 2018

src: fix compiler warnings in node_crypto.cc
Add parentheses, like my compiler suggests.

In the `IsValidGCMTagLength()` case I’m pretty sure that this
grouping is the correct one, because it matches the earlier
code; in the other case it would be good to have explicit confirmation.

Refs: nodejs#20039

addaleax added a commit that referenced this pull request May 14, 2018

crypto: use kNoAuthTagLength in InitAuthenticated
Backport-PR-URL: #20706
PR-URL: #20225
Refs: #20039
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

addaleax added a commit that referenced this pull request May 14, 2018

crypto: add using directives for v8::Int32, Uint32
Backport-PR-URL: #20706
PR-URL: #20225
Refs: #20039
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

addaleax added a commit that referenced this pull request May 14, 2018

crypto: support authTagLength in GCM encryption
The authTagLength option can now be used to produce GCM authentication
tags with a specific length.

Backport-PR-URL: #20706
PR-URL: #20235
Refs: #20039
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yihong Wang <yh.wang@ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

addaleax added a commit that referenced this pull request May 14, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embeedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

@addaleax addaleax referenced this pull request May 14, 2018

Merged

v10.2.0 proposal #20724

addaleax added a commit that referenced this pull request May 14, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embeedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

PR-URL: #20724

addaleax added a commit that referenced this pull request May 14, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embeedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

PR-URL: #20724

addaleax added a commit that referenced this pull request May 14, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API. (Michael Dawson) [#20668](#20668)
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. (helloshuangzi) [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

PR-URL: #20724

addaleax added a commit that referenced this pull request May 15, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API. (Michael Dawson) [#20668](#20668)
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. (helloshuangzi) [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **esm**:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules. (Gus Caplan) [#20403](#20403)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

PR-URL: #20724

addaleax added a commit that referenced this pull request May 15, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API. (Michael Dawson) [#20668](#20668)
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. (Allen Yonghuang Wang) [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **esm**:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules. (Gus Caplan) [#20403](#20403)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

PR-URL: #20724

addaleax added a commit that referenced this pull request May 15, 2018

2018-05-15, Version 10.2.0 (Current), @???
Notable Changes:

* **addons**:
  - Fixed a memory leak for users of `AsyncResource` and N-API. (Michael Dawson) [#20668](#20668)
* **assert**:
  - The `error` parameter of `assert.throws()` can be an object containing regular expressions now. (Ruben Bridgewater) [#20485](#20485)
* **crypto**:
  - The `authTagLength` option has been made more flexible. (Tobias Nießen) [#20235](#20235), [#20039](#20039)
* **http**:
  - Handling of `close` and `aborted` events has been made more consistent. (Robert Nagy) [#20075](#20075), [#20611](#20611)
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with Node.js-specific behaviour have been added to the API. (Allen Yonghuang Wang) [#20639](#20639)
  - Node.js `Environment`s clean up resources before exiting now. (Anna Henningsen) [#19377](#19377)
  - Support for multi-threaded embedding has been improved. (Anna Henningsen) [#20542](#20542), [#20539](#20539), [#20541](#20541)
* **esm**:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules. (Gus Caplan) [#20403](#20403)
* **timers**:
  - `timeout.refresh()` has been added to the public API. (Jeremiah Senkpiel) [#20298](#20298)

PR-URL: #20724

MylesBorins added a commit that referenced this pull request May 22, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    #20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    #20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    #20235)
    #20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    #20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    #20075
    #20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    #19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    #20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    #20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    #19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    #20542
    #20539
    #20541

PR-URL: #20724

MylesBorins added a commit that referenced this pull request May 23, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    #20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    #20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    #20235)
    #20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    #20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    #20075
    #20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    #19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    #20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    #20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    #19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    #20542
    #20539
    #20541

PR-URL: #20724

MylesBorins added a commit that referenced this pull request May 23, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    #20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    #20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    #20235)
    #20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    #20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    #20075
    #20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    #19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    #20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    #20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    #19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    #20542
    #20539
    #20541

PR-URL: #20724

MylesBorins added a commit that referenced this pull request May 23, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    #20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    #20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    #20235)
    #20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    #20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    #20075
    #20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    #19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    #20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    #20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    #19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    #20542
    #20539
    #20541

PR-URL: #20724

shisama added a commit to shisama/node that referenced this pull request May 30, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

shisama added a commit to shisama/node that referenced this pull request May 30, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

shisama added a commit to shisama/node that referenced this pull request Jun 5, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

shisama added a commit to shisama/node that referenced this pull request Jun 9, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

shisama added a commit to shisama/node that referenced this pull request Jun 11, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

shisama added a commit to shisama/node that referenced this pull request Jun 12, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

shisama added a commit to shisama/node that referenced this pull request Jun 17, 2018

2018-05-23, Version 10.2.0 (Current)
* addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
    (Michael Dawson)
    nodejs#20668
* assert:
  - The `error` parameter of `assert.throws()` can be an object containing
    regular expressions now. (Ruben Bridgewater)
    nodejs#20485
* crypto:
  - The `authTagLength` option has been made more flexible (Tobias Nießen)
    nodejs#20235)
    nodejs#20039
* esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6 modules.
    (Gus Caplan)
    nodejs#20403
* http:
  - Handling of `close` and `aborted` events has been made more consistent.
    (Robert Nagy)
    nodejs#20075
    nodejs#20611
* module:
  - add --preserve-symlinks-main (David Goldstein)
    nodejs#19911
* timers:
  - `timeout.refresh()` has been added to the public API.
    (Jeremiah Senkpiel)
    nodejs#20298
* Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
    (Allen Yonghuang Wang)
    nodejs#20639
  - Node.js `Environment`s clean up resources before exiting now.
    (Anna Henningsen)
    nodejs#19377
  - Support for multi-threaded embedding has been improved.
    (Anna Henningsen)
    nodejs#20542
    nodejs#20539
    nodejs#20541

PR-URL: nodejs#20724

@tniessen tniessen referenced this pull request Jun 21, 2018

Closed

doc: update notes about GCM decryption #21445

3 of 3 tasks complete

targos added a commit that referenced this pull request Jun 24, 2018

doc: update notes about GCM decryption
Given that #17825 and
#20039 have landed on master, this
statement is no longer true.

PR-URL: #21445
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>

@targos targos added this to Backported in v10.x Sep 23, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment