From 921306fdd59030ff6335881d4be0c771f1f23ecc Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Tue, 24 Oct 2017 14:48:35 -0700 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assume=20SMTP=20failure=20means?= =?UTF-8?q?=20an=20SMTP=20error=20is=20present=20#241?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/mailsync-process.es6 | 19 ++++++++++++------- mailsync | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/mailsync-process.es6 b/app/src/mailsync-process.es6 index f57d0f6c2..81fde7031 100644 --- a/app/src/mailsync-process.es6 +++ b/app/src/mailsync-process.es6 @@ -102,6 +102,14 @@ export default class MailsyncProcess extends EventEmitter { }); this._proc.on('close', code => { + const stripSecrets = text => { + const { refresh_token, imap_password, smtp_password } = this.account.settings; + return (text || '') + .replace(new RegExp(refresh_token || 'not-present', 'g'), '*********') + .replace(new RegExp(imap_password || 'not-present', 'g'), '*********') + .replace(new RegExp(smtp_password || 'not-present', 'g'), '*********'); + }; + try { const lastLine = buffer .toString('UTF-8') @@ -111,21 +119,18 @@ export default class MailsyncProcess extends EventEmitter { if (code === 0) { resolve(response); } else { - const { refresh_token, imap_password, smtp_password } = this.account.settings; - let msg = LocalizedErrorStrings[response.error] || response.error; if (response.error_service) { msg = `${msg} (${response.error_service.toUpperCase()})`; } const error = new Error(msg); - error.rawLog = (response.log || '') - .replace(new RegExp(refresh_token || 'not-present', 'g'), '*********') - .replace(new RegExp(imap_password || 'not-present', 'g'), '*********') - .replace(new RegExp(smtp_password || 'not-present', 'g'), '*********'); + error.rawLog = stripSecrets(response.log); reject(error); } } catch (err) { - reject(new Error(buffer.toString())); + const error = new Error('An unexpected error occurred - view the raw log for details.'); + error.rawLog = stripSecrets(buffer.toString()); + reject(error); } }); }); diff --git a/mailsync b/mailsync index 4fcc46c66..132bf1118 160000 --- a/mailsync +++ b/mailsync @@ -1 +1 @@ -Subproject commit 4fcc46c66afccc89091e8f2fb8482eefc4b86b75 +Subproject commit 132bf11182c084edd7824238a2e17615968011fa