Ensure we only call callback once for port 25 check

On a caas cloudron we saw timeout and end events raised, causing the box
to crash as async throws on double callbacks
This commit is contained in:
Johannes Zellner
2017-04-19 14:35:19 +02:00
parent e82bdfc996
commit 06f1b9dd1b

View File

@@ -75,6 +75,7 @@ var assert = require('assert'),
CloudronError = cloudron.CloudronError,
moment = require('moment-timezone'),
net = require('net'),
once = require('once'),
paths = require('./paths.js'),
safe = require('safetydance'),
settingsdb = require('./settingsdb.js'),
@@ -281,6 +282,10 @@ function getEmailStatus(callback) {
}
function checkOutbound25(callback) {
assert.strictEqual(typeof callback, 'function');
callback = once(callback);
var smtpServer = _.sample([
'smtp.gmail.com',
'smtp.live.com',