mirror of
https://github.com/nodejs/node.git
synced 2025-05-04 23:42:17 +00:00

The require('constants') module is currently undocumented and mashes together unrelated constants. This refactors the require('constants') in favor of distinct os.constants, fs.constants, and crypto.constants that are specific to the modules for which they are relevant. The next step is to document those within the specific modules. PR-URL: https://github.com/nodejs/node/pull/6534 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Lindstaedt <robert.lindstaedt@gmail.com>
73 lines
1.4 KiB
JavaScript
73 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
var common = require('../common');
|
|
|
|
var path = require('path');
|
|
var fs = require('fs');
|
|
const SSL_OP_NO_TICKET = require('crypto').constants.SSL_OP_NO_TICKET;
|
|
|
|
if (!common.hasCrypto) {
|
|
common.skip('missing crypto');
|
|
return;
|
|
}
|
|
|
|
var tls = require('tls');
|
|
|
|
var options = {
|
|
secureOptions: SSL_OP_NO_TICKET,
|
|
key: fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')),
|
|
cert: fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem'))
|
|
};
|
|
|
|
var server = tls.createServer(options, function(c) {
|
|
});
|
|
|
|
var sessionCb = null;
|
|
var client = null;
|
|
|
|
server.on('newSession', function(key, session, done) {
|
|
done();
|
|
});
|
|
|
|
server.on('resumeSession', function(id, cb) {
|
|
sessionCb = cb;
|
|
|
|
next();
|
|
});
|
|
|
|
server.listen(common.PORT, function() {
|
|
var clientOpts = {
|
|
port: common.PORT,
|
|
rejectUnauthorized: false,
|
|
session: false
|
|
};
|
|
|
|
var s1 = tls.connect(clientOpts, function() {
|
|
clientOpts.session = s1.getSession();
|
|
console.log('1st secure');
|
|
|
|
s1.destroy();
|
|
var s2 = tls.connect(clientOpts, function(s) {
|
|
console.log('2nd secure');
|
|
|
|
s2.destroy();
|
|
}).on('connect', function() {
|
|
console.log('2nd connected');
|
|
client = s2;
|
|
|
|
next();
|
|
});
|
|
});
|
|
});
|
|
|
|
function next() {
|
|
if (!client || !sessionCb)
|
|
return;
|
|
|
|
client.destroy();
|
|
setTimeout(function() {
|
|
sessionCb();
|
|
server.close();
|
|
}, 100);
|
|
}
|