diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2006-03-03 20:26:46 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2006-03-03 20:26:46 +0000 |
commit | 4adb5ed5cc108364f629746ced9e4797f0f94d0f (patch) | |
tree | f4701e8af1211bf94fb51bd494ca8e03b2730125 /transact.c | |
parent | e3b76bb5155c5a481b39452e2e844a6a0f47004b (diff) | |
download | fetchmail-4adb5ed5cc108364f629746ced9e4797f0f94d0f.tar.gz fetchmail-4adb5ed5cc108364f629746ced9e4797f0f94d0f.tar.bz2 fetchmail-4adb5ed5cc108364f629746ced9e4797f0f94d0f.zip |
Remove dead variable and add a few comments on the 'invalid header' issue.
svn path=/branches/BRANCH_6-3/; revision=4714
Diffstat (limited to 'transact.c')
-rw-r--r-- | transact.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -426,7 +426,6 @@ int readheaders(int sock, for (remaining = fetchlen; remaining > 0 || protocol->delimited; ) { char *line, *rline; - int overlong = FALSE; /* XXX FIXME: this is unused */ line = xmalloc(sizeof(buf)); linelen = 0; @@ -467,7 +466,6 @@ int readheaders(int sock, */ if (n && buf[n-1] != '\n') { - overlong = TRUE; rline = (char *) realloc(line, linelen + 1); if (rline == NULL) { @@ -545,6 +543,16 @@ int readheaders(int sock, * send out robotmail that's missing the RFC822 delimiter blank * line before the body! Without this check fetchmail segfaults. * With it, we treat such messages as spam and refuse them. + * + * Frederic Marchal reported in February 2006 that hotmail + * or something improperly wrapped a very long TO header + * (wrapped without inserting whitespace in the continuation + * line) and found that this code thus refused a message + * that should have been delivered. + * + * XXX FIXME: we should probably wrap the message up as + * message/rfc822 attachment and forward to postmaster (Rob + * MacGregor) */ if (!refuse_mail && !isspace((unsigned char)line[0]) && !strchr(line, ':')) { @@ -603,7 +611,7 @@ int readheaders(int sock, continue; } - /* we see an ordinary (non-header, non-message-delimiter line */ + /* we see an ordinary (non-header, non-message-delimiter) line */ if (linelen != strlen (line)) has_nuls = TRUE; |