aboutsummaryrefslogtreecommitdiffstats
path: root/pop3.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2006-01-07 21:56:35 +0000
committerMatthias Andree <matthias.andree@gmx.de>2006-01-07 21:56:35 +0000
commit5c42b7406d84d51c5a15b1cf5b25f63c7837af64 (patch)
treeac0ffcad87ab5eba8a1df4d9230382fc83cfea1f /pop3.c
parent425f0a71e2ff77f5d0c27274b79682a7031180bf (diff)
downloadfetchmail-5c42b7406d84d51c5a15b1cf5b25f63c7837af64.tar.gz
fetchmail-5c42b7406d84d51c5a15b1cf5b25f63c7837af64.tar.bz2
fetchmail-5c42b7406d84d51c5a15b1cf5b25f63c7837af64.zip
Revise Maillennium workaround so that it is reported only once per server, in daemon mode.
svn path=/branches/BRANCH_6-3/; revision=4613
Diffstat (limited to 'pop3.c')
-rw-r--r--pop3.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/pop3.c b/pop3.c
index df85e3e6..facd09fc 100644
--- a/pop3.c
+++ b/pop3.c
@@ -611,10 +611,27 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
#endif
set_peek_capable(ctl);
- /* comcast's Maillennium POP3/PROXY is full of bugs and truncates
- * TOP replies after c. 80 kByte, so disable TOP. */
+ /*
+ * The "Maillennium POP3/PROXY server" deliberately truncates
+ * TOP replies after c. 64 or 80 kByte (we have varying reports), so
+ * disable TOP. Comcast once spewed marketing babble to the extent
+ * of protecting Outlook -- pretty overzealous to break a protocol
+ * for that that Microsoft could have read, too. Comcast aren't
+ * alone in using this software though.
+ * <http://lists.ccil.org/pipermail/fetchmail-friends/2004-April/008523.html>
+ * (Thanks to Ed Wilts for reminding me of that.)
+ *
+ * The warning is printed once per server, until fetchmail exits.
+ * It will be suppressed when --fetchall or other circumstances make
+ * us use RETR anyhow.
+ *
+ * Matthias Andree
+ */
if (peek_capable && strstr(greeting, "Maillennium POP3/PROXY server")) {
- report(stdout, GT_("Warning: Maillennium POP3/PROXY server found, using RETR command.\n"));
+ if (ctl->server.workarounds & WKA_TOP == 0) {
+ report(stdout, GT_("Warning: Maillennium POP3/PROXY server found, using RETR command.\n"));
+ ctl->server.workarounds |= WKA_TOP;
+ }
peek_capable = 0;
}