summaryrefslogtreecommitdiff
path: root/test/parallel/test-tls-server-failed-handshake-emits-clienterror.js
blob: c4351008c147c9a40ef70a6bcf9ff48c8c0d4478 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'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();
  }));