mirror of https://github.com/lukechilds/node.git
Browse Source
`onselect` is set on the `sniObject_` not on the `Connection` instance. See: https://github.com/joyent/node/pull/25109 PR-URL: https://github.com/nodejs/io.js/pull/1720 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>v4.0.0-rc
2 changed files with 53 additions and 1 deletions
@ -0,0 +1,45 @@ |
|||
'use strict'; |
|||
var common = require('../common'); |
|||
var assert = require('assert'); |
|||
|
|||
if (!common.hasCrypto) { |
|||
console.log('1..0 # Skipped: missing crypto'); |
|||
return; |
|||
} |
|||
var tls = require('tls'); |
|||
var net = require('net'); |
|||
|
|||
var fs = require('fs'); |
|||
|
|||
var success = false; |
|||
|
|||
function filenamePEM(n) { |
|||
return require('path').join(common.fixturesDir, 'keys', n + '.pem'); |
|||
} |
|||
|
|||
function loadPEM(n) { |
|||
return fs.readFileSync(filenamePEM(n)); |
|||
} |
|||
|
|||
var server = net.Server(function(raw) { |
|||
var pair = tls.createSecurePair(null, true, false, false); |
|||
pair.on('error', function() {}); |
|||
pair.ssl.setSNICallback(function() { |
|||
raw.destroy(); |
|||
server.close(); |
|||
success = true; |
|||
}); |
|||
require('_tls_legacy').pipe(pair, raw); |
|||
}).listen(common.PORT, function() { |
|||
tls.connect({ |
|||
port: common.PORT, |
|||
rejectUnauthorized: false, |
|||
servername: 'server' |
|||
}, function() { |
|||
}).on('error', function() { |
|||
// Just ignore
|
|||
}); |
|||
}); |
|||
process.on('exit', function() { |
|||
assert(success); |
|||
}); |
Loading…
Reference in new issue