From e1367cf1a6d2ea857c57ad1677de1a8f0c1f1a3e Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 31 Jul 2008 10:48:00 -0400
Subject: [PATCH] Ignore untagged responses when fetching BODYSTRUCTURE (patch by B. Johannessen)

---
 program/lib/imap.inc |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index 757fbf6..da709fa 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -2570,12 +2570,14 @@
 	
 	if (iil_C_Select($conn, $folder)) {
 		$key = 'F1247';
-        
+
 		if (iil_PutLine($fp, "$key FETCH $id (BODYSTRUCTURE)")) {
 			do {
 				$line = iil_ReadLine($fp, 5000);
 				$line = iil_MultLine($fp, $line);
-				$result .= $line;
+				list(, $index, $rest) = explode(' ', $line);
+				if ($index == $id || preg_match("/^$key/", $line))
+					$result .= $line;
 			} while (!preg_match("/^$key/", $line));
 
 			$result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13, -(strlen($result)-strrpos($result, $key)+1)));

--
Gitblit v1.9.1