summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2017-02-17 15:00:20 -0800
committerJames M Snell <jasnell@gmail.com>2017-02-20 06:59:30 -0800
commitd523eb9c40889d476f919b523dc3c67b245826c8 (patch)
tree229702a8aa47337aba0593f37ad7996830e1897a
parent051047231ec71307302904b10dd8a80ee3027ae0 (diff)
downloadandroid-node-v8-d523eb9c40889d476f919b523dc3c67b245826c8.tar.gz
android-node-v8-d523eb9c40889d476f919b523dc3c67b245826c8.tar.bz2
android-node-v8-d523eb9c40889d476f919b523dc3c67b245826c8.zip
tls: use emitWarning() for dhparam < 2048 bits
When a dhparam less than 2048 bits was used, a warning was being printed directly to console.error using an internalUtil.trace function that was not used anywhere else. This replaces it with a proper process warning and removes the internalUtil.trace function. PR-URL: https://github.com/nodejs/node/pull/11447 Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rod Vagg <rod@vagg.org>
-rw-r--r--lib/_tls_common.js3
-rw-r--r--lib/internal/util.js5
-rw-r--r--src/node_crypto.cc2
-rw-r--r--test/parallel/test-tls-dhe.js4
4 files changed, 6 insertions, 8 deletions
diff --git a/lib/_tls_common.js b/lib/_tls_common.js
index 107c3bb2ea..56baf7bde8 100644
--- a/lib/_tls_common.js
+++ b/lib/_tls_common.js
@@ -1,6 +1,5 @@
'use strict';
-const internalUtil = require('internal/util');
const tls = require('tls');
const SSL_OP_CIPHER_SERVER_PREFERENCE =
@@ -99,7 +98,7 @@ exports.createSecureContext = function createSecureContext(options, context) {
if (options.dhparam) {
const warning = c.context.setDHParam(options.dhparam);
if (warning)
- internalUtil.trace(warning);
+ process.emitWarning(warning, 'SecurityWarning');
}
if (options.crl) {
diff --git a/lib/internal/util.js b/lib/internal/util.js
index 5c47d06d58..3de57040f9 100644
--- a/lib/internal/util.js
+++ b/lib/internal/util.js
@@ -1,7 +1,6 @@
'use strict';
const binding = process.binding('util');
-const prefix = `(${process.release.name}:${process.pid}) `;
const kArrowMessagePrivateSymbolIndex = binding['arrow_message_private_symbol'];
const kDecoratedPrivateSymbolIndex = binding['decorated_private_symbol'];
@@ -10,10 +9,6 @@ const kDecoratedPrivateSymbolIndex = binding['decorated_private_symbol'];
// `util` module makes it accessible without having to `require('util')` there.
exports.customInspectSymbol = Symbol('util.inspect.custom');
-exports.trace = function(msg) {
- console.trace(`${prefix}${msg}`);
-};
-
// Mark that a method should not be used.
// Returns a modified function which warns once by default.
// If --no-deprecation is set, then it is a no-op.
diff --git a/src/node_crypto.cc b/src/node_crypto.cc
index 68e78e5cfa..e2a83a548a 100644
--- a/src/node_crypto.cc
+++ b/src/node_crypto.cc
@@ -933,7 +933,7 @@ void SecureContext::SetDHParam(const FunctionCallbackInfo<Value>& args) {
return env->ThrowError("DH parameter is less than 1024 bits");
} else if (size < 2048) {
args.GetReturnValue().Set(FIXED_ONE_BYTE_STRING(
- env->isolate(), "WARNING: DH parameter is less than 2048 bits"));
+ env->isolate(), "DH parameter is less than 2048 bits"));
}
SSL_CTX_set_options(sc->ctx_, SSL_OP_SINGLE_DH_USE);
diff --git a/test/parallel/test-tls-dhe.js b/test/parallel/test-tls-dhe.js
index d0c59ac074..b4ca0b46e3 100644
--- a/test/parallel/test-tls-dhe.js
+++ b/test/parallel/test-tls-dhe.js
@@ -1,3 +1,4 @@
+// Flags: --no-warnings
'use strict';
const common = require('../common');
const assert = require('assert');
@@ -22,6 +23,9 @@ let nsuccess = 0;
let ntests = 0;
const ciphers = 'DHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
+// Test will emit a warning because the DH parameter size is < 2048 bits
+common.expectWarning('SecurityWarning',
+ 'DH parameter is less than 2048 bits');
function loadDHParam(n) {
let path = common.fixturesDir;