Some IMAP servers handle empty bodies different. NIL is a valid response for the...
authorjangliss <jangliss@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 5 Dec 2007 20:25:53 +0000 (20:25 +0000)
committerjangliss <jangliss@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 5 Dec 2007 20:25:53 +0000 (20:25 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@12804 7612ce4b-ef26-0410-bec9-ea0150e637f0

ChangeLog
functions/mime.php

index 45d05ae158370e89e1cbfe7b008f7e5d01e5b537..73543831b949695186661d9f5d55b7fbf65c18ae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -236,6 +236,9 @@ Version 1.5.2 - SVN
   - Added SquirrelMail debug mode.
   - Handle PHP's insistence on setting the value to 'deleted' for destroyed sessions
     (#1829098).
+  - Some IMAP servers send nil for an empty email body (See RFC2180,
+    section 4.1.3 on empty strings).
+
 
 Version 1.5.1 (branched on 2006-02-12)
 --------------------------------------
index d1511d22fbc9328769388a006fdef89720c2e7f1..bf9701eeb6d353204d51a7fc2405c13eb767ccd8 100644 (file)
@@ -147,6 +147,8 @@ function mime_fetch_body($imap_stream, $id, $ent_id=1, $fetch_size=0) {
 //        }
     } else if (ereg('"([^"]*)"', $topline, $regs)) {
         $ret = $regs[1];
+    } else if ((stristr($topline, 'nil') !== false) && (empty($wholemessage))) {
+        $ret = $wholemessage;
     } else {
         global $where, $what, $mailbox, $passed_id, $startMessage;
         $par = 'mailbox=' . urlencode($mailbox) . '&amp;passed_id=' . $passed_id;