summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMir Mufaqam Ali <mannanali413@gmail.com>2017-12-20 17:28:03 +0530
committerJoyee Cheung <joyeec9h3@gmail.com>2017-12-24 00:03:39 +0800
commit79261f3003719264bc03f6a5b54cf9eddbc8b48e (patch)
tree15825a4173ea27e4bb17e9bfb17fa9a061c81848
parent0b7889582428b3cf1ea0ee48768854a2ca63478c (diff)
downloadandroid-node-v8-79261f3003719264bc03f6a5b54cf9eddbc8b48e.tar.gz
android-node-v8-79261f3003719264bc03f6a5b54cf9eddbc8b48e.tar.bz2
android-node-v8-79261f3003719264bc03f6a5b54cf9eddbc8b48e.zip
tls: migrate errors in _tls_wrap.js
This migrates the old style error in _tls_wrap.js to the new style error ERR_TLS_RENEGOTIATION_DISABLED. Refs: https://github.com/nodejs/node/issues/17709 PR-URL: https://github.com/nodejs/node/pull/17792 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
-rw-r--r--doc/api/errors.md5
-rw-r--r--lib/_tls_wrap.js3
-rw-r--r--lib/internal/errors.js2
-rw-r--r--test/parallel/test-tls-disable-renegotiation.js8
4 files changed, 13 insertions, 5 deletions
diff --git a/doc/api/errors.md b/doc/api/errors.md
index 3eb6f92155..a3397eea37 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -1513,6 +1513,11 @@ a hostname in the first parameter.
An excessive amount of TLS renegotiations is detected, which is a potential
vector for denial-of-service attacks.
+<a id="ERR_TLS_RENEGOTIATION_DISABLED"></a>
+### ERR_TLS_RENEGOTIATION_DISABLED
+
+An attempt was made to renegotiate TLS on a socket instance with TLS disabled.
+
<a id="ERR_TRANSFORM_ALREADY_TRANSFORMING"></a>
### ERR_TRANSFORM_ALREADY_TRANSFORMING
diff --git a/lib/_tls_wrap.js b/lib/_tls_wrap.js
index e30efa4159..07d7cb7298 100644
--- a/lib/_tls_wrap.js
+++ b/lib/_tls_wrap.js
@@ -70,8 +70,7 @@ function onhandshakestart() {
}
if (owner[kDisableRenegotiation] && this.handshakes > 0) {
- const err = new Error('TLS session renegotiation disabled for this socket');
- owner._emitTLSError(err);
+ owner._emitTLSError(new errors.Error('ERR_TLS_RENEGOTIATION_DISABLED'));
}
}
diff --git a/lib/internal/errors.js b/lib/internal/errors.js
index 779343e066..abb999499c 100644
--- a/lib/internal/errors.js
+++ b/lib/internal/errors.js
@@ -474,6 +474,8 @@ E('ERR_TLS_CERT_ALTNAME_INVALID',
'Hostname/IP does not match certificate\'s altnames: %s');
E('ERR_TLS_DH_PARAM_SIZE', 'DH parameter size %s is less than 2048');
E('ERR_TLS_HANDSHAKE_TIMEOUT', 'TLS handshake timeout');
+E('ERR_TLS_RENEGOTIATION_DISABLED',
+ 'TLS session renegotiation disabled for this socket');
E('ERR_TLS_RENEGOTIATION_FAILED', 'Failed to renegotiate');
E('ERR_TLS_REQUIRED_SERVER_NAME',
'"servername" is required parameter for Server.addContext');
diff --git a/test/parallel/test-tls-disable-renegotiation.js b/test/parallel/test-tls-disable-renegotiation.js
index 7e64710da5..b688079a58 100644
--- a/test/parallel/test-tls-disable-renegotiation.js
+++ b/test/parallel/test-tls-disable-renegotiation.js
@@ -17,9 +17,11 @@ const options = {
const server = tls.Server(options, common.mustCall((socket) => {
socket.on('error', common.mustCall((err) => {
- assert.strictEqual(
- err.message,
- 'TLS session renegotiation disabled for this socket');
+ common.expectsError({
+ type: Error,
+ code: 'ERR_TLS_RENEGOTIATION_DISABLED',
+ message: 'TLS session renegotiation disabled for this socket'
+ })(err);
socket.destroy();
server.close();
}));