-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Commit
Upon creating a TLSSocket object, set the default isServer option to false Updated tls docs and added test-tls-socket-default-options PR-URL: #2614 Reviewed-By: Fedor Indutny <[email protected]>
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -228,7 +228,10 @@ function initRead(tls, wrapped) { | |
*/ | ||
|
||
function TLSSocket(socket, options) { | ||
this._tlsOptions = options; | ||
if (options === undefined) | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
indutny
Member
|
||
this._tlsOptions = {}; | ||
else | ||
this._tlsOptions = options; | ||
this._secureEstablished = false; | ||
this._securePending = false; | ||
this._newSessionPending = false; | ||
|
@@ -321,7 +324,7 @@ TLSSocket.prototype._wrapHandle = function(wrap) { | |
tls.createSecureContext(); | ||
res = tls_wrap.wrap(handle._externalStream, | ||
context.context, | ||
options.isServer); | ||
!!options.isServer); | ||
res._parent = handle; | ||
res._parentWrap = wrap; | ||
res._secureContext = context; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
'use strict'; | ||
const common = require('../common'); | ||
const assert = require('assert'); | ||
|
||
if (!common.hasCrypto) { | ||
console.log('1..0 # Skipped: missing crypto'); | ||
return; | ||
} | ||
const tls = require('tls'); | ||
|
||
const fs = require('fs'); | ||
const net = require('net'); | ||
|
||
const sent = 'hello world'; | ||
|
||
const serverOptions = { | ||
isServer: true, | ||
key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), | ||
cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem') | ||
}; | ||
|
||
function testSocketOptions(socket, socketOptions) { | ||
let received = ''; | ||
const server = tls.createServer(serverOptions, function(s) { | ||
s.on('data', function(chunk) { | ||
received += chunk; | ||
}); | ||
|
||
s.on('end', function() { | ||
server.close(); | ||
s.destroy(); | ||
assert.equal(received, sent); | ||
setImmediate(runTests); | ||
}); | ||
}).listen(common.PORT, function() { | ||
let c = new tls.TLSSocket(socket, socketOptions); | ||
c.connect(common.PORT, function() { | ||
c.end(sent); | ||
}); | ||
}); | ||
|
||
} | ||
|
||
const testArgs = [ | ||
[], | ||
[undefined, {}] | ||
]; | ||
|
||
let n = 0; | ||
function runTests() { | ||
if (n++ < testArgs.length) { | ||
testSocketOptions.apply(null, testArgs[n]); | ||
} | ||
} | ||
|
||
runTests(); |
could it not just be
this._tlsOptions = options || {};
:)