aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark S. Everitt <mark.s.everitt@gmail.com>2017-10-31 20:03:28 +0000
committerAnatoli Papirovski <apapirovski@mac.com>2017-11-04 11:36:16 -0400
commit291ff72f859df3c4c3849021419f37cd542840a6 (patch)
treef5055e509fac0b3b6b1adf363ac3bebf4d0252a4 /lib
parent7eb5ee3ca8afdb3ca22d329195ae1f9dc4313081 (diff)
downloadandroid-node-v8-291ff72f859df3c4c3849021419f37cd542840a6.tar.gz
android-node-v8-291ff72f859df3c4c3849021419f37cd542840a6.tar.bz2
android-node-v8-291ff72f859df3c4c3849021419f37cd542840a6.zip
tls: accept array of protocols in TLSSocket
Brings the ALPNProtocols & NPNProtocols options of TLSSocket in line with the documentation. i.e. an array of strings for protocols may be used, not only a buffer. PR-URL: https://github.com/nodejs/node/pull/16655 Fixes: https://github.com/node/issues/16643 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/_tls_wrap.js22
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/_tls_wrap.js b/lib/_tls_wrap.js
index d7e349b239..1bd76a7f97 100644
--- a/lib/_tls_wrap.js
+++ b/lib/_tls_wrap.js
@@ -280,11 +280,15 @@ function initRead(tls, wrapped) {
* Provides a wrap of socket stream to do encrypted communication.
*/
-function TLSSocket(socket, options) {
- if (options === undefined)
- this._tlsOptions = {};
- else
- this._tlsOptions = options;
+function TLSSocket(socket, opts) {
+ const tlsOptions = Object.assign({}, opts);
+
+ if (tlsOptions.NPNProtocols)
+ tls.convertNPNProtocols(tlsOptions.NPNProtocols, tlsOptions);
+ if (tlsOptions.ALPNProtocols)
+ tls.convertALPNProtocols(tlsOptions.ALPNProtocols, tlsOptions);
+
+ this._tlsOptions = tlsOptions;
this._secureEstablished = false;
this._securePending = false;
this._newSessionPending = false;
@@ -1099,11 +1103,7 @@ exports.connect = function(...args /* [port,] [host,] [options,] [cb] */) {
'options.minDHSize is not a positive number: ' +
options.minDHSize);
- const NPN = {};
- const ALPN = {};
const context = options.secureContext || tls.createSecureContext(options);
- tls.convertNPNProtocols(options.NPNProtocols, NPN);
- tls.convertALPNProtocols(options.ALPNProtocols, ALPN);
var socket = new TLSSocket(options.socket, {
pipe: !!options.path,
@@ -1112,8 +1112,8 @@ exports.connect = function(...args /* [port,] [host,] [options,] [cb] */) {
requestCert: true,
rejectUnauthorized: options.rejectUnauthorized !== false,
session: options.session,
- NPNProtocols: NPN.NPNProtocols,
- ALPNProtocols: ALPN.ALPNProtocols,
+ NPNProtocols: options.NPNProtocols,
+ ALPNProtocols: options.ALPNProtocols,
requestOCSP: options.requestOCSP
});