aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-02-16 02:10:24 +0800
committerDan Winship <danw@src.gnome.org>2001-02-16 02:10:24 +0800
commit3bd759d67e8a3c2d95d7d15385b78dfe5fcdb04b (patch)
treeee34cb11ea878750b6c2d12a809310bdf2617cfc
parentbd655cb765f3ad19b68ab188dd95d07b0fbad216 (diff)
downloadgsoc2013-evolution-3bd759d67e8a3c2d95d7d15385b78dfe5fcdb04b.tar.gz
gsoc2013-evolution-3bd759d67e8a3c2d95d7d15385b78dfe5fcdb04b.tar.zst
gsoc2013-evolution-3bd759d67e8a3c2d95d7d15385b78dfe5fcdb04b.zip
IMAP4 (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead in
* providers/imap/camel-imap-folder.c (fetch_medium): IMAP4 (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead in that case. svn path=/trunk/; revision=8244
-rw-r--r--camel/ChangeLog6
-rw-r--r--camel/providers/imap/camel-imap-folder.c11
2 files changed, 14 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 373a80b8f2..e304f2b413 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,9 @@
+2001-02-15 Dan Winship <danw@ximian.com>
+
+ * providers/imap/camel-imap-folder.c (fetch_medium): IMAP4
+ (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead
+ in that case.
+
2001-02-14 Christopher James Lahey <clahey@ximian.com>
* camel-mime-filter-charset.c (complete, filter),
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 12c0b74f7b..8852b1f292 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -677,9 +677,14 @@ fetch_medium (CamelFolder *folder, const char *uid, const char *section_text,
char *result, *p;
CAMEL_IMAP_STORE_LOCK (store, command_lock);
- response = camel_imap_command (store, folder, ex,
- "UID FETCH %s BODY.PEEK[%s]",
- uid, section_text);
+ if (store->server_level < IMAP_LEVEL_IMAP4REV1 && !*section_text) {
+ response = camel_imap_command (store, folder, ex,
+ "UID FETCH %s RFC822.PEEK");
+ } else {
+ response = camel_imap_command (store, folder, ex,
+ "UID FETCH %s BODY.PEEK[%s]",
+ uid, section_text);
+ }
CAMEL_IMAP_STORE_UNLOCK (store, command_lock);
if (!response)
return NULL;