diff options
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 11 |
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; |