Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

smtp-server

Package Overview
Dependencies
Maintainers
1
Versions
67
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

smtp-server - npm Package Compare versions

Comparing version 3.4.7 to 3.5.0

123

CHANGELOG.md
# Changelog
## v3.5.0 2019-01-04
- Fix reverse resolving invalid hostname error where greeting was sent twice
- Bump Nodemailer version to v5.0.0
## v3.4.5 2018-05-25
* Expose connection id in 'connect' event
- Expose connection id in 'connect' event
## v3.4.4 2018-05-04
* Enclose punycode calls in try..catch
- Enclose punycode calls in try..catch
## v3.4.2 2018-03-16
* handle missing address in listener handler
- handle missing address in listener handler
## v3.4.0 2017-12-01
* Added new property `secured` to indicate an TLS server where TLS is handled upstream
* Allow handling TLS after PROXY header
- Added new property `secured` to indicate an TLS server where TLS is handled upstream
- Allow handling TLS after PROXY header
## v3.3.1 2017-11-28
* Do not choke on overly long reverse DNS call
- Do not choke on overly long reverse DNS call
## v3.3.0 2017-10-05
* Added new method updateSecureContext({key, cert}) to update TLS options live
- Added new method updateSecureContext({key, cert}) to update TLS options live
## v3.2.0 2017-10-01
* Return net.listen() value
- Return net.listen() value
## v3.1.0 2017-08-16
* Added new server option `needsUpgrade` to upgrade sockets to TLS immediately after connection is established. Works with secure: true
- Added new server option `needsUpgrade` to upgrade sockets to TLS immediately after connection is established. Works with secure: true
## v3.0.0 2017-04-06
* Reverted license back to MIT
- Reverted license back to MIT
## v2.0.3 2017-02-17
* Expose `secure` state in session
- Expose `secure` state in session
## v2.0.2 2017-02-17
* Fixad a bug where `server.onConnect(err)` did not close the connection
- Fixad a bug where `server.onConnect(err)` did not close the connection
## v2.0.1 2017-02-04
* Fixad a bug where `server.on('connect', data)` had missing `data`
- Fixad a bug where `server.on('connect', data)` had missing `data`
## v2.0.0 2017-02-04
* Changed license from MIT to EUPL-v1.1
* Rewrite to use ES6, this means at least Node.js v6.0.0 is required to use smtp-server
- Changed license from MIT to EUPL-v1.1
- Rewrite to use ES6, this means at least Node.js v6.0.0 is required to use smtp-server
## v1.16.1 2016-10-17
* Allowed rewriting `connect` method
- Allowed rewriting `connect` method
## v1.16.0 2016-10-17
* Added new method `connect` to pass already established sockets to the server
- Added new method `connect` to pass already established sockets to the server
## v1.15.0 2016-09-23
* Added new connection property `remotePort`
* Emit 'connect' event when all handshakes (including PROXY) have been completed
- Added new connection property `remotePort`
- Emit 'connect' event when all handshakes (including PROXY) have been completed
## v1.14.2 2016-09-02
* Fix issue with invalidly resolved IPv4 addresses on IPv6 interface
- Fix issue with invalidly resolved IPv4 addresses on IPv6 interface
## v1.14.1 2016-08-16
* Ignore connection errors outside transaction
- Ignore connection errors outside transaction
## v1.14.0 2016-08-09
* Expose connection TLS cipher in the `tlsOptions` property
- Expose connection TLS cipher in the `tlsOptions` property
## v1.13.1 2016-07-29
* Fixed remoteHostname resolving bug
- Fixed remoteHostname resolving bug
## v1.13.0 2016-07-29
* Added new option `disableReverseLookup` to skip reverse resolving client hostname on connection
- Added new option `disableReverseLookup` to skip reverse resolving client hostname on connection
## v1.12.0 2016-07-25
* Added new property for session: `session.transmissionType` that identifies the current transmission (SMTP, ESMTP, ESMTPA etc.)
- Added new property for session: `session.transmissionType` that identifies the current transmission (SMTP, ESMTP, ESMTPA etc.)
## v1.11.2 2016-07-15
* Do not strip last linebreak
- Do not strip last linebreak
## v1.11.1 2016-07-12
* this.server.options bug fix #58 (xpepermint)
- this.server.options bug fix #58 (xpepermint)
## v1.11.0 2016-07-07
* Added support for LMTP protocol. Set `lmtp` option to `true` in order to use it
- Added support for LMTP protocol. Set `lmtp` option to `true` in order to use it
## v1.10.0 2016-07-06
* Added options `hidePIPELINING`, `hide8BITMIME` and `hideSMTPUTF8`
- Added options `hidePIPELINING`, `hide8BITMIME` and `hideSMTPUTF8`
## v1.9.1 2016-04-26
* Check that `connection._parser` exists before trying to use it in the DATA handler
- Check that `connection._parser` exists before trying to use it in the DATA handler
## v1.9.0 2016-02-20
* Added new connection method `onClose`
* Preserve session object, do not re-create it for every transaction
* Added new server option `allowInsecureAuth`
- Added new connection method `onClose`
- Preserve session object, do not re-create it for every transaction
- Added new server option `allowInsecureAuth`
## v1.8.0-beta.0 2016-01-26
* Fixed a bug with XCLIENT ADDR validation
* Added support for XFORWARD command
* Expose XCLIENT and XFORWARD data for the session object (session.xClient, session.xForward - both are Map objects where uppercase argument name is the key,
- Fixed a bug with XCLIENT ADDR validation
- Added support for XFORWARD command
- Expose XCLIENT and XFORWARD data for the session object (session.xClient, session.xForward - both are Map objects where uppercase argument name is the key,
eg. session.xClient.get('ADDR') to see the IP address of XCLIENT)

@@ -129,57 +134,57 @@

* Fixed an issue with empty NAME for XCLIENT
- Fixed an issue with empty NAME for XCLIENT
## v1.7.0 2015-10-27
* Added support for XCLIENT with `useXClient` option
* Fixed an issue with an empty space after EHLO (67acb1534 by AtlasDev)
* Added dummy handlers for KILL, WIZ, SHELL
- Added support for XCLIENT with `useXClient` option
- Fixed an issue with an empty space after EHLO (67acb1534 by AtlasDev)
- Added dummy handlers for KILL, WIZ, SHELL
## v1.6.0 2015-09-29
* Catch errors thrown by dns.reverse on invalid remoteAddress values
* Added onConnect handler to block unwanted connections (66784aea by jleal52)
- Catch errors thrown by dns.reverse on invalid remoteAddress values
- Added onConnect handler to block unwanted connections (66784aea by jleal52)
## v1.5.2 2015-09-18
* Fixed regression with node v0.12 where STARTTLS connections were kept hanging around after close
- Fixed regression with node v0.12 where STARTTLS connections were kept hanging around after close
## v1.5.1 2015-09-18
* Fixed an issue where STARTTLS threw an error
* Fixed an issue where using unknown auth schemes threw an error (a13f0bc8 by farmdog)
- Fixed an issue where STARTTLS threw an error
- Fixed an issue where using unknown auth schemes threw an error (a13f0bc8 by farmdog)
## v1.5.0 2015-08-21
* Added support for PROXY protocol with `useProxy` option
- Added support for PROXY protocol with `useProxy` option
## v1.4.0 2015-04-30
* Added support for RFC1870 SIZE extension
- Added support for RFC1870 SIZE extension
## v1.3.1 2015-04-21
* Added integration tests for CRAM-MD5 authentication
* Exposed SNI support with `sniOptions` optional server option
* Define used protocol for NPN as 'smtp'
- Added integration tests for CRAM-MD5 authentication
- Exposed SNI support with `sniOptions` optional server option
- Define used protocol for NPN as 'smtp'
## v1.3.0 2015-04-21
* Added CRAM-MD5 authentication support
- Added CRAM-MD5 authentication support
## v1.2.0 2015-03-11
* Do not allow HTTP requests. If the client tries to send a command that looks like a HTTP request, then disconnect
* Close connection after 10 unrecognized commands
* Close connection after 10 unauthenticated commands
* Close all pending connections after `server.close()` has been called. Default delay to wait is 30 sec. Can be changed with `closeTimeout` option
- Do not allow HTTP requests. If the client tries to send a command that looks like a HTTP request, then disconnect
- Close connection after 10 unrecognized commands
- Close connection after 10 unauthenticated commands
- Close all pending connections after `server.close()` has been called. Default delay to wait is 30 sec. Can be changed with `closeTimeout` option
## v1.1.1 2015-03-11
* Fixed an issue with parsing MAIL FROM and RCPT TO commands, if there was a space before or after the first colon
- Fixed an issue with parsing MAIL FROM and RCPT TO commands, if there was a space before or after the first colon
## v1.1.0 2015-03-09
* Added support for `hideSTARTTLS` option that hides STARTTLS while still allowing to use it (useful for integration test scenarios but not for production use)
* Changed `logger` option behavior - if the value is `false` then no logging is used. If the value is missing, then output is logged to console
* Fixed broken examples in the README
- Added support for `hideSTARTTLS` option that hides STARTTLS while still allowing to use it (useful for integration test scenarios but not for production use)
- Changed `logger` option behavior - if the value is `false` then no logging is used. If the value is missing, then output is logged to console
- Fixed broken examples in the README

@@ -140,2 +140,14 @@ 'use strict';

if (err) {
this._server.logger.error(
{
tnx: 'connection',
cid: this.id,
host: this.remoteAddress,
hostname: this.clientHostname,
err
},
'Reverse resolve for %s: %s',
this.remoteAddress,
err.message
);
// ignore resolve error

@@ -191,13 +203,13 @@ }

// also make sure that we do not wait too long over the reverse resolve call
let greetingSent = false;
let reverseTimer = setTimeout(() => {
clearTimeout(reverseTimer);
if (greetingSent) {
return;
}
greetingSent = true;
reverseCb(new Error('Timeout'));
}, 1500);
try {
// also make sure that we do not wait too long over the reverse resolve call
let greetingSent = false;
let reverseTimer = setTimeout(() => {
clearTimeout(reverseTimer);
if (greetingSent) {
return;
}
greetingSent = true;
reverseCb(new Error('Timeout'));
}, 1500);
// dns.reverse throws on invalid input, see https://github.com/nodejs/node/issues/3112

@@ -213,2 +225,7 @@ dns.reverse(this.remoteAddress.toString(), (...args) => {

} catch (E) {
clearTimeout(reverseTimer);
if (greetingSent) {
return;
}
greetingSent = true;
reverseCb(E);

@@ -215,0 +232,0 @@ }

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

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

"ipv6-normalize": "1.0.1",
"nodemailer": "4.6.8"
"nodemailer": "5.0.0"
},
"devDependencies": {
"chai": "4.1.2",
"chai": "4.2.0",
"eslint-config-nodemailer": "1.2.0",
"eslint-config-prettier": "3.0.1",
"eslint-config-prettier": "3.3.0",
"grunt": "1.0.3",
"grunt-cli": "1.3.1",
"grunt-cli": "1.3.2",
"grunt-eslint": "21.0.0",
"grunt-mocha-test": "0.13.3",
"mocha": "5.2.0",
"pem": "1.12.5"
"pem": "1.13.2"
},

@@ -28,0 +28,0 @@ "repository": {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc