aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--imap.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 55c2d18a..98147a43 100644
--- a/NEWS
+++ b/NEWS
@@ -62,6 +62,8 @@ fetchmail 6.3.10 (not yet released):
Courtesy of Nico Golde, Debian.
* When a pre- or post-connect command fails, now report the exit status or
termination signal properly through sys/wait.h macros.
+* When acquiring a body, understand NIL ("no such data item"), as returned by
+ some MS Exchange versions. Fixes BerliOS Bug #11980 by KB Sriram.
# CHANGES
* Make the comparison of the SSL fingerprints case insensitive, to
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)