From 2b5a9b2cc2fbcd1b2f1d5b40d147095b0bfc04bf Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 6 Jul 2001 00:08:03 +0000 Subject: Issue RSET before QUIT if keep is enabled. svn path=/trunk/; revision=3394 --- NEWS | 4 ++++ fetchmailconf | 2 ++ pop3.c | 7 +++++++ 3 files changed, 13 insertions(+) diff --git a/NEWS b/NEWS index d3899185..5fd06fad 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ (The `lines' figures total .c, .h, .l, and .y files under version control.) +* Don't depend on having snprintf available. +* Bug fix for envskip. +* ODMR finally seems to be working. + fetchmail-5.8.11 (Sun Jul 1 21:39:26 EDT 2001), 20973 lines: * Signal-processing fix for Debian bug #102711. diff --git a/fetchmailconf b/fetchmailconf index 1c75e798..b993c7c6 100755 --- a/fetchmailconf +++ b/fetchmailconf @@ -1279,6 +1279,8 @@ and other things probably are too. This is not a POP3 server. It has delusions of being one, but after RETR all messages are automatically marked to be deleted. The only way to prevent this is to issue an RSET before leaving the server. +Fetchmail does this, but we suspect this is probably broken in lots +of other ways, too. """ if string.find(greetline, "POP-Max") > 0: diff --git a/pop3.c b/pop3.c index 7f7bcb56..1046aa66 100644 --- a/pop3.c +++ b/pop3.c @@ -711,6 +711,13 @@ static int pop3_logout(int sock, struct query *ctl) { int ok; + /* + * Just in case the server marks messages deleted when seen. + * Yes, this has been reported, in the MercuryP/NLM server. + */ + if (ctl->keep) + gen_transact(sock, "RSET"); + ok = gen_transact(sock, "QUIT"); if (!ok) expunge_uids(ctl); -- cgit v1.2.3