Comparing version 0.2.1 to 1.0.0
@@ -25,3 +25,3 @@ /** | ||
module.exports = exports = function(options, onSecure) { | ||
var socket, securePair; | ||
var socket, credentials, securePair; | ||
@@ -42,3 +42,11 @@ if (options instanceof net.Socket) { | ||
} else { | ||
securePair = tls.createSecurePair(crypto.createCredentials(), false); | ||
// Node v0.12.0 deprecated crypto.createCredentials. | ||
if (tls.createSecureContext) { | ||
credentials = tls.createSecureContext(); | ||
} else { | ||
credentials = crypto.createCredentials(); | ||
} | ||
securePair = tls.createSecurePair(credentials, false); | ||
options.pair = securePair; | ||
@@ -60,9 +68,2 @@ } | ||
exports.startTls = function(socket, onSecure) { | ||
return startTls({ | ||
socket: socket, | ||
pair: tls.createSecurePair(crypto.createCredentials(), false) | ||
}, onSecure); | ||
}; | ||
function startTls(options, onSecure) { | ||
@@ -97,4 +98,12 @@ var socket, host, securePair, clearText; | ||
if (host && !tls.checkServerIdentity(host, clearText.getPeerCertificate())) { | ||
err = new Error('Server identity mismatch: invalid certificate for ' + host + '.'); | ||
if (host) { | ||
err = tls.checkServerIdentity(host, clearText.getPeerCertificate()); | ||
// As of node v0.12.0, `tls.checkServerIdentity` returns an error object if there was an error, `undefined` otherwise. | ||
// On previous versions it returned `false` if there was an error and `true` otherwise. | ||
if (false === err) { | ||
err = new Error('Server identity mismatch: invalid certificate for ' + host + '.'); | ||
} else if (true === err) { | ||
err = null; | ||
} | ||
} | ||
@@ -101,0 +110,0 @@ |
{ | ||
"name": "starttls", | ||
"description": "Upgrade a regular `net.Stream` connection to a secure `tls` connection.", | ||
"version": "0.2.1", | ||
"version": "1.0.0", | ||
"main": "lib/starttls.js", | ||
@@ -6,0 +6,0 @@ "homepage": "https://github.com/mattcg/starttls", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
10844
227
0