From 9bed2d86d55fe755f0bd0ba8c001bfc3889f6509 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 12 Sep 2008 10:31:36 -0400
Subject: [PATCH] Fix quoted-printable encoding according to RFC 2045

---
 program/include/rcube_mail_mime.php |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_mail_mime.php b/program/include/rcube_mail_mime.php
index 79c80dd..4669c4c 100644
--- a/program/include/rcube_mail_mime.php
+++ b/program/include/rcube_mail_mime.php
@@ -141,7 +141,7 @@
         $value = trim($value);
 
         //This header contains non ASCII chars and should be encoded.
-        if (preg_match('#[\x80-\xFF]{1}#', $value)) {
+        if (preg_match('#[\x00-\x1F\x80-\xFF]{1}#', $value)) {
           $suffix = '';
           // Don't encode e-mail address
           if (preg_match('/(.+)\s(<.+@[a-z0-9\-\.]+>)$/Ui', $value, $matches)) {
@@ -160,7 +160,7 @@
             default:
             // quoted-printable encoding has been selected
             $mode = 'Q';
-            $encoded = preg_replace('/([\x2C\x3F\x80-\xFF])/e', "'='.sprintf('%02X', ord('\\1'))", $value);
+            $encoded = preg_replace('/([\x3F\x00-\x1F\x80-\xFF])/e', "'='.sprintf('%02X', ord('\\1'))", $value);
             // replace spaces with _
             $encoded = str_replace(' ', '_', $encoded);
           }

--
Gitblit v1.9.1