diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2000-07-27 16:46:34 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2000-07-27 16:46:34 +0000 |
commit | ae834a7a482ef0b90b50b06e1b02101669515973 (patch) | |
tree | 5ddac3584e88cde51b1cbba86e2e93d795bd0e5b | |
parent | 79e42f7a3ba307ce74adde379fdbac01f9cd5545 (diff) | |
download | fetchmail-ae834a7a482ef0b90b50b06e1b02101669515973.tar.gz fetchmail-ae834a7a482ef0b90b50b06e1b02101669515973.tar.bz2 fetchmail-ae834a7a482ef0b90b50b06e1b02101669515973.zip |
Better comment.
svn path=/trunk/; revision=2937
-rw-r--r-- | driver.c | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -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)) { |