IMAP4 (pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead in
authorDan Winship <danw@src.gnome.org>
Thu, 15 Feb 2001 18:10:24 +0000 (18:10 +0000)
committerDan Winship <danw@src.gnome.org>
Thu, 15 Feb 2001 18:10:24 +0000 (18:10 +0000)
* providers/imap/camel-imap-folder.c (fetch_medium): IMAP4
(pre-rev1) doesn't allow BODY.PEEK[], so use RFC822.PEEK instead
in that case.

camel/ChangeLog
camel/providers/imap/camel-imap-folder.c

index 373a80b..e304f2b 100644 (file)
@@ -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),
index 12c0b74..8852b1f 100644 (file)
@@ -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;