smtp-server
Advanced tools
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
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
160358
3923
+ Addednodemailer@5.0.0(transitive)
- Removednodemailer@4.6.8(transitive)
Updatednodemailer@5.0.0