From 33b85de420127ee868091686333953b6d827f3ad Mon Sep 17 00:00:00 2001 From: Alexander Epolite Date: Tue, 18 Feb 2025 03:07:26 -0700 Subject: [PATCH] Fix bug with proxy --- lib/smtp-server.js | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/lib/smtp-server.js b/lib/smtp-server.js index 19b9afd..4f3b4e7 100644 --- a/lib/smtp-server.js +++ b/lib/smtp-server.js @@ -381,19 +381,24 @@ class SMTPServer extends EventEmitter { socketOptions.ignore = this.options.ignoredHosts && this.options.ignoredHosts.includes(socketOptions.remoteAddress); - if (!socketOptions.ignore) { - this.logger.info( - { - tnx: 'proxy', - cid: socketOptions.id, - proxy: params[1].trim().toLowerCase() - }, - '[%s] PROXY from %s through %s (%s)', - socketOptions.id, - params[1].trim().toLowerCase(), - params[2].trim().toLowerCase(), - JSON.stringify(params) - ); + try { + if (!socketOptions.ignore) { + this.logger.info( + { + tnx: 'proxy', + cid: socketOptions.id, + proxy: params[1].trim().toLowerCase() + }, + '[%s] PROXY from %s through %s (%s)', + socketOptions.id, + params[1].trim().toLowerCase(), + params[2].trim().toLowerCase(), + JSON.stringify(params) + ); + } + } catch (E) { + socket.end('* BAD Invalid PROXY header\r\n'); + return; } if (params[3]) {