aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2006-03-04 13:51:46 +0000
committerMatthias Andree <matthias.andree@gmx.de>2006-03-04 13:51:46 +0000
commit76edebc28e569f94f357dc96adce4c135eebbcbe (patch)
treed23048d5928900e70d108b7fe69f35a74cbefb92
parent4a188df40aebf16c94303e773e723ab1fb5c733d (diff)
downloadfetchmail-76edebc28e569f94f357dc96adce4c135eebbcbe.tar.gz
fetchmail-76edebc28e569f94f357dc96adce4c135eebbcbe.tar.bz2
fetchmail-76edebc28e569f94f357dc96adce4c135eebbcbe.zip
Allow UIDL recording in fetchall keep mode, to avoid re-fetching messages on subsequent polls without fetchall. Patch by Sunil Shetye.
svn path=/branches/BRANCH_6-3/; revision=4720
-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))
{