Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
220a600
events: add captureRejection option
mcollina May 19, 2019
89bc571
stream: add support for captureRejection option
mcollina Aug 19, 2019
33a6bf3
http: implement capture rejections for 'request' event
mcollina Sep 3, 2019
334d4f6
http: add captureRejection support to OutgoingMessage
mcollina Sep 20, 2019
4eecee0
net: implement capture rejections for 'connection' event
mcollina Oct 1, 2019
5ad3efb
tls: implement capture rejections for 'secureConnection' event
mcollina Oct 1, 2019
c3ac4c8
http2: implement capture rection for 'request' and 'stream' events
mcollina Oct 2, 2019
50ab1fa
test: change common.PORT to arbitrary port
Trott Dec 1, 2019
9bd5c72
test: move test-child-process-fork-getconnections to parallel
Trott Dec 1, 2019
145f881
doc: update status of Python 3 support
mhdawson Nov 29, 2019
a0fa327
test: use block-scoping in test-net-server-address
Trott Dec 1, 2019
b51b26f
src: fix node_dir.cc memory allocation
piyukore06 Dec 1, 2019
cb69ff4
src: improve node_crypto.cc memory allocation
piyukore06 Dec 1, 2019
66db874
src: remove redundant cast in node_dir.cc
gengjiawen Dec 1, 2019
838ae10
src: delete redundant method in node_dir.h
gengjiawen Dec 1, 2019
8369562
doc: clarify text about using 'session' event for compatibility
Trott Dec 1, 2019
9428304
doc: Buffer.toString(): add note about invalid data
jgehrcke Nov 28, 2019
255cd7e
tls: expose IETF name for current cipher suite
sam-github Jun 3, 2019
71d43a5
worker: add argv constructor option
legendecas Nov 20, 2019
60b1e1a
fs: fix existsSync for invalid symlink at win32
pd4d10 Nov 22, 2019
2c0f1ed
doc: adds assert doc for strict mode with pointer to strict equality
shobhitchittora Nov 14, 2019
543bf9d
doc: fix up N-API doc
NickNaso Nov 26, 2019
510eb3a
doc: revise addons introduction for brevity and clarity
Trott Dec 2, 2019
7cb84fd
doc: remove usage of "Node" in favor of "Node.js"
Trott Dec 2, 2019
d3f0dd2
inspector: do not access queueMicrotask from global
targos Nov 30, 2019
54a266c
test: increase debugging information in subprocess test
Trott Dec 2, 2019
7b9400c
tools: update ESLint to 6.7.2
Trott Dec 2, 2019
eb4f443
esm: make specifier flag clearly experimental
MylesBorins Nov 27, 2019
55a270b
test: remove duplicate entries from root.status
richardlau Dec 2, 2019
851f313
module: add warnings for experimental flags
pd4d10 Nov 24, 2019
67823e8
doc: remove imprecise and redundant testing text
Trott Dec 2, 2019
fb31ab5
test: simplify tmpdir import in wasi tests
Trott Dec 2, 2019
30756e3
test: improve wasi test coverage
Trott Dec 2, 2019
94f237e
lib,test: improves ERR_REQUIRE_ESM message
juanarbol Nov 28, 2019
bd2f127
module: ignore resolution failures for inspect-brk
arcanis Nov 8, 2019
a7ec78f
module: fixup lint and test regressions
guybedford Dec 5, 2019
1d5c4e2
doc: add documentation about node_mksnapshot and mkcodecache
joyeecheung Dec 3, 2019
5067463
test: use callback arguments in getconnections test
Trott Dec 3, 2019
325128e
lib: delay access to CLI option to pre-execution
joyeecheung Dec 3, 2019
1baa6ab
doc: improve napi formatting
BridgeAR Nov 30, 2019
bbbba76
doc,benchmark: move benchmark guide to benchmark directory
Trott Dec 3, 2019
43e947a
build: remove (almost) unused macros/constants
Dec 1, 2019
3840abe
http2: small clean up in OnStreamRead
lundibundi Nov 10, 2019
71bb026
http2: streamline OnStreamRead streamline memory accounting
lundibundi Dec 1, 2019
c440f3f
repl: use better uncaught exceptions indicator
BridgeAR Sep 23, 2019
0cb7720
tools: update icu to 65.1
albertyw Nov 3, 2019
4588606
deps: fix OPENSSLDIR on Windows
shigeki Sep 5, 2019
2b687af
tools: update remark-preset-lint-node to 1.11.0
Trott Dec 4, 2019
ca47f72
deps: upgrade to libuv 1.34.0
cjihrig Dec 4, 2019
77ffd54
util: improve inspect's customInspect performance
BridgeAR Nov 21, 2019
608d720
util: add more predefined color codes to inspect.colors
BridgeAR Nov 25, 2019
ad4d52d
benchmark: add more util inspect and format benchmarks
BridgeAR Nov 30, 2019
eeaeb51
util: improve performance inspecting proxies
BridgeAR Nov 30, 2019
3898b23
util: never trigger any proxy traps using `format()`
BridgeAR Dec 1, 2019
1c4b2f1
assert,util: stricter type comparison using deep equal comparisons
BridgeAR Dec 2, 2019
3557659
test: run more assert tests
BridgeAR Dec 2, 2019
d4aa656
module: fix dynamic import from eval
coreyfarrell Nov 23, 2019
dc69cbe
util: add internal sleep() function
cjihrig Dec 4, 2019
a574cb0
test: remove common.busyLoop()
cjihrig Dec 4, 2019
d9d6475
lib: add warning on dynamic import es modules
juanarbol Nov 29, 2019
2c439bb
lib: add parent to ERR_UNKNOWN_FILE_EXTENSION
qualitymanifest Nov 30, 2019
1ed1a64
tools: use CC instead of CXX when pointing to gcc
Dec 6, 2019
25e3696
test: improve WASI options validation
Trott Dec 5, 2019
e6e379e
src: use checked allocations in WASI::New()
cjihrig Dec 5, 2019
8ad53ab
src: free preopen memory in WASI::New()
cjihrig Dec 5, 2019
2f1ae4f
readline: eagerly load string_decoder
BridgeAR Dec 5, 2019
4dc9d8d
test: mark addons/openssl-bindings/test flaky on arm
richardlau Dec 7, 2019
ccf0917
src: don't use deprecated OpenSSL APIs
neheb Dec 5, 2019
041daaa
src: port memory-tracking allocator from QUIC repo
addaleax Dec 1, 2019
8a9f57d
http2: use shared memory tracking implementation
addaleax Sep 21, 2019
d17ea8f
http2: track nghttp2-allocated memory in heap snapshot
addaleax Dec 1, 2019
13fe9f7
deps: update uvwasi
addaleax Dec 1, 2019
14269d1
wasi: use memory-tracking allocator
addaleax Dec 1, 2019
2123d53
doc: include line/cursor in readline documentation
Js-Brecht Nov 23, 2019
305e45a
test: mark tests as flaky
joaocgreis Dec 8, 2019
7ed867d
src: improve checked uv loop close output
addaleax Dec 5, 2019
af01417
lib: replace Symbol global by the primordials Symbol
Sebastien-Ahkrin Nov 30, 2019
97e0efe
test: scale keepalive timeouts for slow machines
bnoordhuis Dec 7, 2019
5523950
fs: add synchronous retries to rimraf
cjihrig Dec 4, 2019
7e1dee3
fs: reduce unnecessary sync rimraf retries
cjihrig Dec 8, 2019
daca078
http: llhttp opt-in insecure HTTP header parsing
sam-github Nov 20, 2019
e551c16
repl: support previews by eager evaluating input
BridgeAR Dec 5, 2019
6088603
src: fix the false isatty() issue on IBMi
dmabupt Dec 7, 2019
5ae3a85
test: refactor test-accessor-properties
himself65 Oct 13, 2019
0022d75
doc: improve doc Http2Stream: FrameError, Timeout and Trailers
dev-script Nov 12, 2019
93ca4f4
doc: deprecate http finished
ronag Jul 14, 2019
0a34fcb
lib: replace var with let/const
jens-cappelle Nov 12, 2019
8e16093
module: fix require in node repl
ZYSzys Dec 7, 2019
5e98de1
fs: only operate on buffers in rimraf
cjihrig Nov 20, 2019
18758ef
fs: retry unlink operations in rimraf
cjihrig Dec 9, 2019
cc4a6ed
test: use fs rimraf to refresh tmpdir
cjihrig Aug 20, 2019
6c07a72
fs: synchronize close with other I/O for streams
addaleax Dec 7, 2019
3d05d4b
build: ease DragonFlyBSD build
devnexen Nov 1, 2019
78eaf50
benchmark: improve `--filter` pattern matching
mmarchini Oct 15, 2019
ce21fc7
test: wait for stream close before writing to file
addaleax Dec 7, 2019
123327d
net: remove duplicate _undestroy
ronag Dec 7, 2019
1cce000
doc: add code example to inspector.url() method
juanarbol Sep 8, 2019
39898a9
lib: replace every Symbol.for by SymbolFor primordials
Sebastien-Ahkrin Dec 8, 2019
64ab5c9
lib: replace Symbol.iterator by SymbolIterator
Sebastien-Ahkrin Dec 8, 2019
9d1c793
doc: clarify Tier 2 implications in BUILDING.md
Trott Dec 9, 2019
5f42b1f
test: assert: fix deepStrictEqual comparing a real array and fake array
ljharb Dec 1, 2019
5ab3ca4
url: declare iterator inside loop
trivikr Nov 17, 2019
de36820
src: accept single argument in getProxyDetails
BridgeAR Dec 8, 2019
dfd3a4d
build: add flag to enable pointer compression
mcollina Nov 13, 2019
0379fb6
deps: update npm to 6.13.4
isaacs Dec 11, 2019
d1c4fcc
build: fix library version and compile flags on Android
gcampax Sep 24, 2017
d90815d
build: on Android, use android log library to print stack traces
gcampax Sep 24, 2017
df9df18
doc: fix argument type of setAAD
tniessen Dec 9, 2019
822fb00
http2: forward debug message in debugStreamObj
lundibundi Dec 7, 2019
eb6e32c
test: disable colorMode in test-console-group
Trott Dec 10, 2019
8bf0da6
doc: edit colorMode information
Trott Dec 10, 2019
1b534d5
test: work around ENOTEMPTY when cleaning tmp dir
bnoordhuis Dec 12, 2019
e61f4ea
module: conditional exports import condition
guybedford Dec 5, 2019
5203ffb
tools: update link to google styleguide for cpplint
danbev Dec 10, 2019
71c6d44
lib: enforce use of BigInt from primordials
targos Dec 10, 2019
b3ae532
doc: clarify build support text
Trott Dec 11, 2019
f15fe94
2019-12-17, Version 13.4.0 (Current)
MylesBorins Dec 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
tls: expose IETF name for current cipher suite
OpenSSL has its own legacy names, but knowing the IETF name is useful
when trouble-shooting, or looking for more information on the cipher.

PR-URL: #30637
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Yorkie Liu <yorkiefixer@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
sam-github authored and targos committed Dec 9, 2019
commit 255cd7e57218bee655eba90085de425a20d892b6
15 changes: 13 additions & 2 deletions doc/api/tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -827,16 +827,27 @@ changes:
pr-url: https://github.com/nodejs/node/pull/26625
description: Return the minimum cipher version, instead of a fixed string
(`'TLSv1/SSLv3'`).
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/30637
description: Return the IETF cipher name as `standardName`.
-->

* Returns: {Object}
* `name` {string} The name of the cipher suite.
* `name` {string} OpenSSL name for the cipher suite.
* `standardName` {string} IETF name for the cipher suite.
* `version` {string} The minimum TLS protocol version supported by this cipher
suite.

Returns an object containing information on the negotiated cipher suite.

For example: `{ name: 'AES256-SHA', version: 'TLSv1.2' }`.
For example:
```json
{
"name": "AES128-SHA256",
"standardName": "TLS_RSA_WITH_AES_128_CBC_SHA256",
"version": "TLSv1.2"
}
```

See
[SSL_CIPHER_get_name](https://www.openssl.org/docs/man1.1.1/man3/SSL_CIPHER_get_name.html)
Expand Down
1 change: 1 addition & 0 deletions src/env.h
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ constexpr size_t kFsStatsBufferLength =
V(sni_context_string, "sni_context") \
V(source_string, "source") \
V(stack_string, "stack") \
V(standard_name_string, "standardName") \
V(start_time_string, "startTime") \
V(status_string, "status") \
V(stdio_string, "stdio") \
Expand Down
3 changes: 3 additions & 0 deletions src/node_crypto.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2685,6 +2685,9 @@ void SSLWrap<Base>::GetCipher(const FunctionCallbackInfo<Value>& args) {
const char* cipher_name = SSL_CIPHER_get_name(c);
info->Set(context, env->name_string(),
OneByteString(args.GetIsolate(), cipher_name)).Check();
const char* cipher_standard_name = SSL_CIPHER_standard_name(c);
info->Set(context, env->standard_name_string(),
OneByteString(args.GetIsolate(), cipher_standard_name)).Check();
const char* cipher_version = SSL_CIPHER_get_version(c);
info->Set(context, env->version_string(),
OneByteString(args.GetIsolate(), cipher_version)).Check();
Expand Down
4 changes: 4 additions & 0 deletions test/parallel/test-tls-getcipher.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ server.listen(0, '127.0.0.1', common.mustCall(function() {
}, common.mustCall(function() {
const cipher = this.getCipher();
assert.strictEqual(cipher.name, 'AES128-SHA256');
assert.strictEqual(cipher.standardName, 'TLS_RSA_WITH_AES_128_CBC_SHA256');
assert.strictEqual(cipher.version, 'TLSv1.2');
this.end();
}));
Expand All @@ -65,6 +66,8 @@ server.listen(0, '127.0.0.1', common.mustCall(function() {
}, common.mustCall(function() {
const cipher = this.getCipher();
assert.strictEqual(cipher.name, 'ECDHE-RSA-AES128-GCM-SHA256');
assert.strictEqual(cipher.standardName,
'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256');
assert.strictEqual(cipher.version, 'TLSv1.2');
this.end();
}));
Expand All @@ -86,6 +89,7 @@ tls.createServer({
}, common.mustCall(() => {
const cipher = client.getCipher();
assert.strictEqual(cipher.name, 'TLS_AES_128_CCM_8_SHA256');
assert.strictEqual(cipher.standardName, cipher.name);
assert.strictEqual(cipher.version, 'TLSv1.3');
client.end();
}));
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-tls-multi-key.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ function test(options) {
}, common.mustCall(function() {
assert.deepStrictEqual(ecdsa.getCipher(), {
name: 'ECDHE-ECDSA-AES256-GCM-SHA384',
standardName: 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
version: 'TLSv1.2'
});
assert.strictEqual(ecdsa.getPeerCertificate().subject.CN, eccCN);
Expand All @@ -175,6 +176,7 @@ function test(options) {
}, common.mustCall(function() {
assert.deepStrictEqual(rsa.getCipher(), {
name: 'ECDHE-RSA-AES256-GCM-SHA384',
standardName: 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
version: 'TLSv1.2'
});
assert.strictEqual(rsa.getPeerCertificate().subject.CN, rsaCN);
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-tls-multi-pfx.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,11 @@ const server = tls.createServer(options, function(conn) {
process.on('exit', function() {
assert.deepStrictEqual(ciphers, [{
name: 'ECDHE-ECDSA-AES256-GCM-SHA384',
standardName: 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
version: 'TLSv1.2'
}, {
name: 'ECDHE-RSA-AES256-GCM-SHA384',
standardName: 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
version: 'TLSv1.2'
}]);
});