From af9dbd54b30ce162a401f77f571c65bd9895d0db Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 31 May 2013 05:37:19 -0400
Subject: [PATCH] Fix PHP warning when responding to a message with many Return-Path headers (#1489136)

---
 CHANGELOG                   |    1 +
 program/steps/mail/func.inc |    9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index b8fe666..012be67 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix PHP warning when responding to a message with many Return-Path headers (#1489136)
 - Added user preference to open all popups as standard windows
 - Fix unintentional compose window resize (#1489114)
 - Fix performance regression in text wrapping function (#1489133)
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index ab4b411..1a687f5 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -1786,9 +1786,12 @@
     // Try Return-Path
     if ($from_idx === null && ($return_path = $MESSAGE->headers->others['return-path'])) {
         foreach ($identities as $idx => $ident) {
-            if (strpos($return_path, str_replace('@', '=', $ident['email_ascii']).'@') !== false) {
-                $from_idx = $idx;
-                break;
+            $ident = str_replace('@', '=', $ident['email_ascii']) . '@';
+            foreach ((array)$return_path as $path) {
+                if (strpos($path, $ident) !== false) {
+                    $from_idx = $idx;
+                    break 2;
+                }
             }
         }
     }

--
Gitblit v1.9.1