Socket
Socket
Sign inDemoInstall

smtp-server

Package Overview
Dependencies
0
Maintainers
1
Versions
65
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.5.1 to 1.5.2

4

CHANGELOG.md
# Changelog
## v1.5.2 2015-09-18
* Fixed regression with node v0.12 where STARTTLS connections were kept hanging around after close
## v1.5.1 2015-09-18

@@ -4,0 +8,0 @@

16

lib/smtp-connection.js

@@ -6,3 +6,2 @@ 'use strict';

var tls = require('tls');
var tlsOptions = require('./tls-options');
var sasl = require('./sasl');

@@ -529,17 +528,10 @@ var crypto = require('crypto');

var secureContext = tls.createSecureContext(tlsOptions(this._server.options));
var secureContext = this._server.secureContext.get('default');
var socketOptions = {
secureContext: secureContext,
isServer: true,
//server: this._server.server,
server: this._server.server,
SNICallback: function(servername, cb) {
var ctxMap = this._server.options.sniOptions || {};
var ctx;
if (typeof ctxMap.get === 'function') {
ctx = ctxMap.get(servername);
} else {
ctx = ctxMap[servername];
}
cb(null, ctx && tls.createSecureContext(tlsOptions(ctx)) || secureContext);
cb(null, this._server.secureContext.get(servername.toLowerCase().trim()) || this._server.secureContext.get('default'));
}.bind(this)

@@ -549,3 +541,3 @@ };

// Apply additional socket options if these are set in the server options
['requestCert', 'rejectUnauthorized', 'NPNProtocols', 'SNICallback', 'session'].forEach(function(key) {
['requestCert', 'rejectUnauthorized', 'NPNProtocols', 'SNICallback', 'session', 'requestOCSP'].forEach(function(key) {
if (key in this._server.options) {

@@ -552,0 +544,0 @@ socketOptions[key] = this._server.options[key];

@@ -26,2 +26,16 @@ 'use strict';

this.secureContext = new Map();
this.secureContext.set('default', tls.createSecureContext(tlsOptions(this.options)));
var ctxMap = this.options.sniOptions || {};
if (typeof ctxMap.get === 'function') {
ctxMap.forEach(function(ctx, servername) {
this.secureContext.set(servername.toLowerCase().trim(), tls.createSecureContext(tlsOptions(ctx)));
}.bind(this));
} else {
Object.keys(ctxMap).forEach(function(servername) {
this.secureContext.set(servername.toLowerCase().trim(), tls.createSecureContext(tlsOptions(ctxMap[servername])));
}.bind(this));
}
// apply TLS defaults if needed

@@ -31,10 +45,3 @@ if (!!this.options.secure) {

this.options.SNICallback = function(servername, cb) {
var ctxMap = this.options.sniOptions || {};
var ctx;
if (typeof ctxMap.get === 'function') {
ctx = ctxMap.get(servername);
} else {
ctx = ctxMap[servername];
}
cb(null, tls.createSecureContext(ctx && tlsOptions(ctx) || this.options));
cb(null, this.secureContext.get(servername.toLowerCase().trim()) || this.secureContext.get('default'));
}.bind(this);

@@ -95,2 +102,5 @@ }

// ensure _sharedCreds, fixes an issue in node v4+ where STARTTLS fails because _sharedCreds does not exist
this.server._sharedCreds = this.server._sharedCreds || this.secureContext.get('default');
this._setListeners();

@@ -97,0 +107,0 @@ }

@@ -72,3 +72,4 @@ 'use strict';

].join(':'),*/
honorCipherOrder: true
honorCipherOrder: true,
requestOCSP: false
};

@@ -75,0 +76,0 @@

{
"name": "smtp-server",
"version": "1.5.1",
"version": "1.5.2",
"description": "Create custom SMTP servers on the fly",

@@ -5,0 +5,0 @@ "main": "lib/smtp-server.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc