aboutsummaryrefslogtreecommitdiffstats
path: root/imap.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2009-04-23 14:39:48 +0000
committerMatthias Andree <matthias.andree@gmx.de>2009-04-23 14:39:48 +0000
commite848a4738e70d14a4625b18085f2b3865633c914 (patch)
treefab8696dab94d3a59fc744cd9cd6ae0dba1e10e8 /imap.c
parent567ef0281ed372396f72dd03be100423694f944b (diff)
downloadfetchmail-e848a4738e70d14a4625b18085f2b3865633c914.tar.gz
fetchmail-e848a4738e70d14a4625b18085f2b3865633c914.tar.bz2
fetchmail-e848a4738e70d14a4625b18085f2b3865633c914.zip
Support NIL as body length (Exchange). Fixes Berlios Bug #11980.
svn path=/branches/BRANCH_6-3/; revision=5269
Diffstat (limited to 'imap.c')
-rw-r--r--imap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/imap.c b/imap.c
index dd303f78..53474924 100644
--- a/imap.c
+++ b/imap.c
@@ -1153,6 +1153,13 @@ static int imap_fetch_body(int sock, struct query *ctl, int number, int *lenp)
if (num != number)
return(PS_ERROR);
+ /* Understand "NIL" as length => no body present
+ * (MS Exchange, BerliOS Bug #11980) */
+ if (strstr(buf+10, "NIL)")) {
+ *lenp = 0;
+ return PS_SUCCESS;
+ }
+
/*
* Try to extract a length from the FETCH response. RFC2060 requires
* it to be present, but at least one IMAP server (Novell GroupWise)