Suppress ETIMEDOUT errors

This commit is contained in:
Andris Reinman 2017-10-07 23:05:25 +03:00
parent 1fb58cf45f
commit a531356424
3 changed files with 23 additions and 5 deletions

View file

@ -263,6 +263,21 @@ class IMAPConnection extends EventEmitter {
return;
}
if (err && /SSL23_GET_CLIENT_HELLO/.test(err.message)) {
let message = err.message;
err.message = 'Failed to establish TLS session to ' + this.remoteAddress;
err.meta = {
message,
remoteAddress: this.remoteAddress
};
}
if (!err) {
err = new Error('Socket closed unexpectedly to ' + this.remoteAddress);
err.meta = {
remoteAddress: this.remoteAddress
};
}
errors.notifyConnection(this.this, err);
this._server.logger.error(

View file

@ -188,6 +188,8 @@ class IMAPServer extends EventEmitter {
SNICallback: this.options.SNICallback
};
let remoteAddress = socket.remoteAddress;
let returned = false;
let onError = err => {
if (returned) {
@ -196,16 +198,16 @@ class IMAPServer extends EventEmitter {
returned = true;
if (err && /SSL23_GET_CLIENT_HELLO/.test(err.message)) {
let message = err.message;
err.message = 'Failed to establish TLS session';
err.message = 'Failed to establish TLS session on connection to ' + remoteAddress;
err.meta = {
message,
remoteAddress: socket.remoteAddress
remoteAddress
};
}
if (!err) {
err = new Error('Socket closed unexpectedly');
err = new Error('Socket closed unexpectedly to ' + remoteAddress);
err.meta = {
remoteAddress: socket.remoteAddress
remoteAddress
};
}
callback(err);

View file

@ -270,7 +270,8 @@ module.exports = done => {
{
err
},
err
'%s',
err.message
);
});