aboutsummaryrefslogtreecommitdiffstats
path: root/driver.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1997-09-23 21:02:04 +0000
committerEric S. Raymond <esr@thyrsus.com>1997-09-23 21:02:04 +0000
commitb0f237fbd55624f6eb5006aaaab85da445098a3e (patch)
tree5cd0616bef9d00d8775baaf2abfdc99482053ee4 /driver.c
parent12ecc512655c8a24484ae5d5009b7f96f25070e9 (diff)
downloadfetchmail-b0f237fbd55624f6eb5006aaaab85da445098a3e.tar.gz
fetchmail-b0f237fbd55624f6eb5006aaaab85da445098a3e.tar.bz2
fetchmail-b0f237fbd55624f6eb5006aaaab85da445098a3e.zip
Make the X-IMAP check independent of protocol.
svn path=/trunk/; revision=1395
Diffstat (limited to 'driver.c')
-rw-r--r--driver.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/driver.c b/driver.c
index 592272b1..549471b1 100644
--- a/driver.c
+++ b/driver.c
@@ -586,9 +586,24 @@ int num; /* index of message */
break;
}
- /* maybe this is a special message that holds mailbox annotations? */
- if (protocol->retain_hdr && protocol->retain_hdr(num, line))
- return(PS_RETAINED);
+ /*
+ * The University of Washington IMAP server (the reference
+ * implementation of IMAP4 written by Mark Crispin) relies
+ * on being able to keep base-UID information in a special
+ * message at the head of the mailbox. This message should
+ * neither be deleted nor forwarded.
+ */
+#ifdef POP2_ENABLE
+ /*
+ * We disable this check under POP2 because there's no way to
+ * prevent deletion of the message. So at least we ought to
+ * forward it to the user so he or she will have some clue
+ * that things have gone awry.
+ */
+ if (protocol != pop2)
+#endif /* POP2_ENABLE */
+ if (num == 1 && !strncasecmp(line, "X-IMAP:", 7))
+ return(PS_RETAINED);
/*
* This code prevents fetchmail from becoming an accessory after