mirror of
https://github.com/nodejs/node.git
synced 2025-05-01 08:42:45 +00:00

Some errors in the two versions are different. The test-tls-no-sslv3 one because OpenSSL 1.1.x finally does version negotiation properly. 1.0.x's logic was somewhat weird and resulted in very inconsistent errors for SSLv3 in particular. Also the function codes are capitalized differently, but function codes leak implementation details, so don't assert on them to begin with. PR-URL: https://github.com/nodejs/node/pull/16130 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rod Vagg <rod@vagg.org>
31 lines
818 B
JavaScript
31 lines
818 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
|
|
const tls = require('tls');
|
|
const net = require('net');
|
|
const assert = require('assert');
|
|
|
|
const bonkers = Buffer.alloc(1024, 42);
|
|
|
|
|
|
const server = tls.createServer({})
|
|
.listen(0, function() {
|
|
const c = net.connect({ port: this.address().port }, function() {
|
|
c.write(bonkers);
|
|
});
|
|
|
|
}).on('tlsClientError', common.mustCall(function(e) {
|
|
assert.ok(e instanceof Error,
|
|
'Instance of Error should be passed to error handler');
|
|
// OpenSSL 1.0.x and 1.1.x use different error codes for junk inputs.
|
|
assert.ok(
|
|
/SSL routines:[^:]*:(unknown protocol|wrong version number)/.test(
|
|
e.message),
|
|
'Expecting SSL unknown protocol');
|
|
|
|
server.close();
|
|
}));
|