diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2000-07-23 16:09:56 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2000-07-23 16:09:56 +0000 |
commit | 2cdc2c4a4aff35ee1fe01cd42499906c04cadc4c (patch) | |
tree | 3b8ea708d02ed9aa6f1edc9e26b6af15cdf62d35 /driver.c | |
parent | 6f8f6a2834de1b996a7c958b5055d0451fdece03 (diff) | |
download | fetchmail-2cdc2c4a4aff35ee1fe01cd42499906c04cadc4c.tar.gz fetchmail-2cdc2c4a4aff35ee1fe01cd42499906c04cadc4c.tar.bz2 fetchmail-2cdc2c4a4aff35ee1fe01cd42499906c04cadc4c.zip |
Better duplicate suppression.
svn path=/trunk/; revision=2932
Diffstat (limited to 'driver.c')
-rw-r--r-- | driver.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -555,15 +555,18 @@ static int readheaders(int sock, * Foil this by suppressing all but one copy of a message with * a given Message-ID. Note: This implementation only catches * runs of successive identical messages, but that should be - * good enough. + * good enough. A more general implementation would have to store * * The accept_count test ensures that multiple pieces of identical * email, each with a *single* addressee, won't be suppressed. */ - if (MULTIDROP(ctl) && accept_count > 1 && !strncasecmp(line, "Message-ID:", 11)) + if (MULTIDROP(ctl) && !strncasecmp(line, "Message-ID:", 11)) { if (ctl->lastid && !strcasecmp(ctl->lastid, line)) - return(PS_REFUSED); + { + if (accept_count > 1) + return(PS_REFUSED); + } else { if (ctl->lastid) |