aboutsummaryrefslogtreecommitdiffstats
path: root/driver.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2000-07-23 16:09:56 +0000
committerEric S. Raymond <esr@thyrsus.com>2000-07-23 16:09:56 +0000
commit2cdc2c4a4aff35ee1fe01cd42499906c04cadc4c (patch)
tree3b8ea708d02ed9aa6f1edc9e26b6af15cdf62d35 /driver.c
parent6f8f6a2834de1b996a7c958b5055d0451fdece03 (diff)
downloadfetchmail-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.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/driver.c b/driver.c
index f8e02ec6..cd0e5d93 100644
--- a/driver.c
+++ b/driver.c
@@ -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)