From 11b1b16b2fa855eab6c03b69c41a38a423332a27 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 27 Oct 2008 06:03:55 -0400
Subject: [PATCH] #1485518: validate SERVER_NAME for smtp_helo_host setting

---
 program/include/rcube_smtp.inc |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_smtp.inc b/program/include/rcube_smtp.inc
index 4e54490..fd1dff3 100644
--- a/program/include/rcube_smtp.inc
+++ b/program/include/rcube_smtp.inc
@@ -76,13 +76,18 @@
   // create Net_SMTP object and connect to server
   if (!is_object($SMTP_CONN))
     {
-    $helo_host = empty($CONFIG['smtp_helo_host']) ? (empty($_SERVER['SERVER_NAME']) ? 'localhost' : $_SERVER['SERVER_NAME']) : $CONFIG['smtp_helo_host'];
+    if (!empty($CONFIG['smtp_helo_host']))
+      $helo_host = $CONFIG['smtp_helo_host'];
+    else if (!empty($_SERVER['SERVER_NAME']))
+      $helo_host = preg_replace('/:\d+$/', '', $_SERVER['SERVER_NAME']);
+    else
+      $helo_host = 'localhost';
+
     $SMTP_CONN = new Net_SMTP($smtp_host, $smtp_port, $helo_host);
 
     // set debugging
     if ($CONFIG['debug_level'] & 8)
       $SMTP_CONN->setDebug(TRUE);
-
 
     // try to connect to server and exit on failure
     $result = $SMTP_CONN->connect($smtp_timeout);

--
Gitblit v1.9.1