test: check for tls renegotiation errors
Check that the return value and callback error for tls.renegotiate() does not indicate a failure. Also, remove unnecessary line wrapping and indentation. PR-URL: https://github.com/nodejs/node/pull/25437 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
7f913293c1
commit
641b0135cf
@ -12,7 +12,7 @@ const tls = require('tls');
|
||||
|
||||
const options = {
|
||||
key: fixtures.readKey('agent1-key.pem'),
|
||||
cert: fixtures.readKey('agent1-cert.pem')
|
||||
cert: fixtures.readKey('agent1-cert.pem'),
|
||||
};
|
||||
|
||||
const server = tls.Server(options, common.mustCall((socket) => {
|
||||
@ -45,28 +45,26 @@ server.listen(0, common.mustCall(() => {
|
||||
rejectUnauthorized: false,
|
||||
port
|
||||
};
|
||||
const client =
|
||||
tls.connect(options, common.mustCall(() => {
|
||||
client.write('');
|
||||
// Negotiation is still permitted for this first
|
||||
// attempt. This should succeed.
|
||||
client.renegotiate(
|
||||
{ rejectUnauthorized: false },
|
||||
common.mustCall(() => {
|
||||
// Once renegotiation completes, we write some
|
||||
// data to the socket, which triggers the on
|
||||
// data event on the server. After that data
|
||||
// is received, disableRenegotiation is called.
|
||||
client.write('data', common.mustCall(() => {
|
||||
client.write('');
|
||||
// This second renegotiation attempt should fail
|
||||
// and the callback should never be invoked. The
|
||||
// server will simply drop the connection after
|
||||
// emitting the error.
|
||||
client.renegotiate(
|
||||
{ rejectUnauthorized: false },
|
||||
common.mustNotCall());
|
||||
}));
|
||||
}));
|
||||
const client = tls.connect(options, common.mustCall(() => {
|
||||
client.write('');
|
||||
// Negotiation is still permitted for this first
|
||||
// attempt. This should succeed.
|
||||
let ok = client.renegotiate(options, common.mustCall((err) => {
|
||||
assert.ifError(err);
|
||||
// Once renegotiation completes, we write some
|
||||
// data to the socket, which triggers the on
|
||||
// data event on the server. After that data
|
||||
// is received, disableRenegotiation is called.
|
||||
client.write('data', common.mustCall(() => {
|
||||
client.write('');
|
||||
// This second renegotiation attempt should fail
|
||||
// and the callback should never be invoked. The
|
||||
// server will simply drop the connection after
|
||||
// emitting the error.
|
||||
ok = client.renegotiate(options, common.mustNotCall());
|
||||
assert.strictEqual(ok, true);
|
||||
}));
|
||||
}));
|
||||
assert.strictEqual(ok, true);
|
||||
}));
|
||||
}));
|
||||
|
Loading…
x
Reference in New Issue
Block a user