aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--pop3.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index d2e57719..70b9441f 100644
--- a/NEWS
+++ b/NEWS
@@ -41,6 +41,9 @@ fetchmail 6.3.3 (not yet released):
reported by Roger Lynn.
* fetchmail no longer prints empty lines in verbose mode when using syslog.
* fetchmail no longer prints UID lists in verbose mode when using syslog.
+* POP3: fetchmail can now use UIDL in fetchall keep mode, to avoid re-fetching
+ the same messages again when the fetchall keyword is removed. Patch by
+ Sunil Shetye.
# CHANGES:
* --idle can now be specified on the command line, too.
diff --git a/pop3.c b/pop3.c
index b7054de0..69a9c6f8 100644
--- a/pop3.c
+++ b/pop3.c
@@ -894,7 +894,7 @@ static int pop3_getrange(int sock,
*/
last = 0;
*newp = -1;
- if (*countp > 0 && !ctl->fetchall)
+ if (*countp > 0 && (!ctl->fetchall || ctl->server.uidl))
{
int fastuidl;
char id [IDLEN+1];
@@ -902,6 +902,7 @@ static int pop3_getrange(int sock,
/* should we do fast uidl this time? */
fastuidl = ctl->fastuidl;
if (*countp > 7 && /* linear search is better if there are few mails! */
+ !ctl->fetchall && /* with fetchall, all uids are required */
!ctl->flush && /* with flush, it is safer to disable fastuidl */
NUM_NONZERO (fastuidl))
{