Skip to content

Commit

Permalink
net: fix family autoselection SSL connection handling
Browse files Browse the repository at this point in the history
  • Loading branch information
ShogunPanda committed May 29, 2023
1 parent 2fac041 commit e5e6ce6
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/_tls_wrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -634,8 +634,8 @@ TLSSocket.prototype._wrapHandle = function(wrap, handle) {
};

TLSSocket.prototype[kReinitializeHandle] = function reinitializeHandle(handle) {
const originalServername = this._handle.getServername();
const originalSession = this._handle.getSession();
const originalServername = this.ssl ? this._handle.getServername() : null;
const originalSession = this.ssl ? this._handle.getSession() : null;

this.handle = this._wrapHandle(null, handle);
this.ssl = this._handle;
Expand Down
19 changes: 19 additions & 0 deletions test/parallel/test-https-autoselectfamily-slow-timeout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
'use strict';

const common = require('../common');

if (!common.hasCrypto)
common.skip('missing crypto');

const assert = require('assert');
const { request } = require('https');

request(
'https://nodejs.org/en',
// Purposely set this to false because we want all connection but the last to fail
{ autoSelectFamily: true, autoSelectFamilyAttemptTimeout: 10 },
(res) => {
assert.strictEqual(res.statusCode, 200);
res.resume();
},
).end();

0 comments on commit e5e6ce6

Please sign in to comment.