Skip to content

Commit

Permalink
Skip TLS SNI if host is IP address (#1890)
Browse files Browse the repository at this point in the history
* skip TLS SNI if host is IP address (do not set servername option in tls.connect)

* Format code
  • Loading branch information
jrmerz authored and brianc committed Nov 11, 2019
1 parent cd66c0b commit 06fbe19
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions lib/connection.js
Expand Up @@ -91,9 +91,8 @@ Connection.prototype.connect = function (port, host) {
return self.emit('error', new Error('There was an error establishing an SSL connection'))
}
var tls = require('tls')
self.stream = tls.connect({
const options = {
socket: self.stream,
servername: host,
checkServerIdentity: self.ssl.checkServerIdentity || tls.checkServerIdentity,
rejectUnauthorized: self.ssl.rejectUnauthorized,
ca: self.ssl.ca,
Expand All @@ -103,7 +102,11 @@ Connection.prototype.connect = function (port, host) {
cert: self.ssl.cert,
secureOptions: self.ssl.secureOptions,
NPNProtocols: self.ssl.NPNProtocols
})
}
if (net.isIP(host) === 0) {
options.servername = host
}
self.stream = tls.connect(options)
self.attachListeners(self.stream)
self.stream.on('error', reportStreamError)

Expand Down

0 comments on commit 06fbe19

Please sign in to comment.