Encoded From headers now properly quoted (#2830141). A better fix might be to re...
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sat, 30 Jan 2010 17:10:07 +0000 (17:10 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sat, 30 Jan 2010 17:10:07 +0000 (17:10 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@13900 7612ce4b-ef26-0410-bec9-ea0150e637f0

class/mime/AddressStructure.class.php
doc/ChangeLog
functions/identity.php
functions/mime.php

index bb55cf8..a443894 100644 (file)
@@ -65,9 +65,9 @@ class AddressStructure {
             }
             if ($personal) {
                 if ($encoded && !$is_encoded) {
-                    $personal_encoded = encodeHeader($personal);
+                    $personal_encoded = encodeHeader('"' . $personal . '"');
                     if ($personal !== $personal_encoded) {
-                        $personal = '"' . $personal_encoded . '"';
+                        $personal = $personal_encoded;
                     } else {
                         $personal = '"' . $this->personal . '"';
                     }
index e158fd7..5a2a56b 100644 (file)
@@ -330,6 +330,7 @@ Version 1.5.2 - SVN
     patch.
   - Make base URL autodetection more robust; fixes some lighttpd issues
     (probably #1741469).
+  - Encoded From headers now properly quoted (#2830141).
 
 Version 1.5.1 (branched on 2006-02-12)
 --------------------------------------
index 55ed924..dc3e555 100644 (file)
@@ -241,9 +241,9 @@ function build_from_header($identity = 0) {
         $from_mail .= '@' . $domain;
     
     if ( isset($from_name) ) {
-        $from_name_encoded = encodeHeader($from_name);
+        $from_name_encoded = encodeHeader('"' . $from_name . '"');
         if ($from_name_encoded != $from_name) {
-            return '"' . $from_name_encoded . '" <' . $from_mail . '>';
+            return $from_name_encoded . ' <' . $from_mail . '>';
         }
         return '"' . $from_name . '" <' . $from_mail . '>';
     }
index d14adc2..91d8720 100644 (file)
@@ -958,6 +958,7 @@ function encodeHeader ($string) {
     for($i = 0; $i < $j; ++$i) {
         switch($string{$i})
         {
+            case '"':
             case '=':
             case '<':
             case '>':