diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2004-03-26 07:02:40 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2004-03-26 07:02:40 +0800 |
commit | 047bd6e78e58fa139c193b799bf503fb0dd2afee (patch) | |
tree | 37ad2b981cf03e62cba3a69c70b5f2881367a5b4 /camel/providers/imap/camel-imap-folder.c | |
parent | fdb168db90c81b4feca1bd99b139feaebb59f2f9 (diff) | |
download | gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.tar gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.tar.gz gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.tar.bz2 gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.tar.lz gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.tar.xz gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.tar.zst gsoc2013-evolution-047bd6e78e58fa139c193b799bf503fb0dd2afee.zip |
If the server is imap.web.de, just ask for all the headers rather than
2004-03-25 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (imap_update_summary): If the
server is imap.web.de, just ask for all the headers rather than
"HEADER.FIELDS.NOT (RECEIVED)". Actually, maybe we should always
just query for the entire header block?
(imap_get_message): If the server is brain-damaged (that's a
technical term), always fetch the message in whole, never bother
to try and fetch partial messages (Courier-IMAP gives us the wrong
BODY responses fairly often).
* providers/imap/camel-imap-store.c (connect_to_server): Set
store->braindamaged to TRUE if we find the string "Courier-IMAP"
in the greeting.
svn path=/trunk/; revision=25190
Diffstat (limited to 'camel/providers/imap/camel-imap-folder.c')
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 95969932ac..d6f2870833 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -1961,7 +1961,7 @@ imap_get_message (CamelFolder *folder, const char *uid, CamelException *ex) /* If the server doesn't support IMAP4rev1, or we already have * the whole thing cached, fetch it in one piece. */ - if (store->server_level < IMAP_LEVEL_IMAP4REV1 || + if (store->server_level < IMAP_LEVEL_IMAP4REV1 || store->braindamaged || (stream = camel_imap_folder_fetch_data (imap_folder, uid, "", TRUE, NULL))) return get_message_simple (imap_folder, uid, stream, ex); @@ -2237,9 +2237,12 @@ imap_update_summary (CamelFolder *folder, int exists, GData *data; CAMEL_SERVICE_ASSERT_LOCKED (store, connect_lock); - if (store->server_level >= IMAP_LEVEL_IMAP4REV1) - header_spec = "HEADER.FIELDS.NOT (RECEIVED)"; - else + if (store->server_level >= IMAP_LEVEL_IMAP4REV1) { + if (g_ascii_strcasecmp (((CamelService *) store)->url->host, "imap.web.de") != 0) + header_spec = "HEADER.FIELDS.NOT (RECEIVED)"; + else + header_spec = "HEADER"; + } else header_spec = "0"; /* Figure out if any of the new messages are already cached (which |