Skip to content

Commit d3c8eba

Browse files
committed
skip TLS SNI if host is IP address (do not set servername option in tls.connect)
1 parent 4b530a9 commit d3c8eba

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/connection.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,8 @@ Connection.prototype.connect = function (port, host) {
9191
return self.emit('error', new Error('There was an error establishing an SSL connection'))
9292
}
9393
var tls = require('tls')
94-
self.stream = tls.connect({
94+
let options = {
9595
socket: self.stream,
96-
servername: host,
9796
checkServerIdentity: self.ssl.checkServerIdentity || tls.checkServerIdentity,
9897
rejectUnauthorized: self.ssl.rejectUnauthorized,
9998
ca: self.ssl.ca,
@@ -103,7 +102,12 @@ Connection.prototype.connect = function (port, host) {
103102
cert: self.ssl.cert,
104103
secureOptions: self.ssl.secureOptions,
105104
NPNProtocols: self.ssl.NPNProtocols
106-
})
105+
};
106+
if( net.isIP(host) === 0 ) {
107+
options.servername = host;
108+
}
109+
110+
self.stream = tls.connect(options);
107111
self.attachListeners(self.stream)
108112
self.stream.on('error', reportStreamError)
109113

0 commit comments

Comments
 (0)