aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2000-07-27 16:46:34 +0000
committerEric S. Raymond <esr@thyrsus.com>2000-07-27 16:46:34 +0000
commitae834a7a482ef0b90b50b06e1b02101669515973 (patch)
tree5ddac3584e88cde51b1cbba86e2e93d795bd0e5b
parent79e42f7a3ba307ce74adde379fdbac01f9cd5545 (diff)
downloadfetchmail-ae834a7a482ef0b90b50b06e1b02101669515973.tar.gz
fetchmail-ae834a7a482ef0b90b50b06e1b02101669515973.tar.bz2
fetchmail-ae834a7a482ef0b90b50b06e1b02101669515973.zip
Better comment.
svn path=/trunk/; revision=2937
-rw-r--r--driver.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/driver.c b/driver.c
index cd0e5d93..c0301cdd 100644
--- a/driver.c
+++ b/driver.c
@@ -550,15 +550,24 @@ static int readheaders(int sock,
* addressed to multiple people on the client machine, there
* will be one copy left in the box for each recipient. Thus,
* if the mail is addressed to N people, each recipient will
- * get N copies.
+ * get N copies. This is bad when N > 1.
*
* 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. A more general implementation would have to store
+ * a given Message-ID. The accept_count test ensures that
+ * multiple pieces of email with the same Message-ID, each
+ * with a *single* addressee (the N == 1 case), won't be
+ * suppressed.
+ *
+ * Note: This implementation only catches runs of successive
+ * messages with the same ID, but that should be good
+ * enough. A more general implementation would have to store
+ * ever-growing lists of seen message-IDs; in a long-running
+ * daemon this would turn into a memory leak even if the
+ * implementation were perfect.
*
- * The accept_count test ensures that multiple pieces of identical
- * email, each with a *single* addressee, won't be suppressed.
+ * Don't mess with this code casually. It would be way too easy
+ * to break it in a way that blackholed mail. Better to pass
+ * the occasional duplicate than to do that...
*/
if (MULTIDROP(ctl) && !strncasecmp(line, "Message-ID:", 11))
{