diff options
-rw-r--r-- | NEWS | 35 | ||||
-rw-r--r-- | rfc822.c | 10 |
2 files changed, 27 insertions, 18 deletions
@@ -9,20 +9,26 @@ every user entry in a multi-user poll declaration. Known But Unresolved Bugs: -In multidrop mode without an applicable localdomain, addresses of the -form "foo"@bar.com are not parsed correctly, even though they are -technically RFC822 legal. The general problem is mentioned on the man page. - -Rich Kulawiec <rsk@itw.com> writes: - -Problem: fetchmail 3.9 seems to work fine when run from a tty or pty, -but not when run from cron or at. Enclosed below are two files, "short" -and "long"; the former was generated by running "fetchmail -v" -from a cron job, the latter by running "trace fetchmail -v". It looks -like the problem is that fetchmail is having difficulty opening an -SMTP connection to push mail to, but I'm somewhat baffled as to why -that might be. (I guess a better way of saying that is that I'm -having trouble figuring why it wouldn't just break *all* the time.) +* In multidrop mode without an applicable localdomain, addresses of the + form "foo"@bar.com are not parsed correctly, even though they are + technically RFC822 legal. The general problem is mentioned on the man page. + +* Rich Kulawiec <rsk@itw.com> writes: fetchmail 3.9 seems to work fine when + run from a tty or pty, but not when run from cron or at. [...] It looks + like the problem is that fetchmail is having difficulty opening an SMTP + connection to push mail to, but I'm somewhat baffled as to why that might be. + (I guess a better way of saying that is that I'm having trouble figuring + why it wouldn't just break *all* the time.) + +* fetchmail has been reported to break when processing 0-length (bodyless) + messages retrieved via IMAP. It is not clear whether this is a fetchmail + bug or a glitch in some specific IMAP server. (Such messages are sometimes + issued by the INN suite as status notifications.) + +* Dave Holland <dave@zenda.demon.co.uk> thinks it's a misfeature that + --fetchall overrides --limit. He may have a point. Perhaps I should + re-code this so --limit is still operative with --fetchall on, but you + can turn off the size limit with --limit 0. Release Notes: @@ -31,6 +37,7 @@ having trouble figuring why it wouldn't just break *all* the time.) pl 3.9.3 (): * Fix for -I option from George Sipe. * Finally got error.c to compile under AIX, thanks to Dave Vinish. +* Prevent header rerwrite logic from appending mailserver name to blank To. There are 224 people on the fetchmail-friends list. @@ -27,7 +27,7 @@ char *buf; /* header to be hacked */ const char *host; /* server hostname */ { char *from, *cp; - int parendepth, state, has_host_part; + int parendepth, state, has_bare_name_part, has_host_part; if (strncmp("From: ", buf, 6) && strncmp("To: ", buf, 4) @@ -38,7 +38,7 @@ const char *host; /* server hostname */ } parendepth = state = 0; - has_host_part = FALSE; + has_host_part = has_bare_name_part = FALSE; for (from = buf; *from; from++) { #ifdef TESTMAIN @@ -69,7 +69,7 @@ const char *host; /* server hostname */ has_host_part = TRUE; else if (*from == '"') state = 2; - else if ((*from == ',' || HEADER_END(from)) && !has_host_part) + else if ((*from == ',' || HEADER_END(from)) && has_bare_name_part && !has_host_part) { int hostlen; @@ -83,7 +83,9 @@ const char *host; /* server hostname */ memcpy(from, host, hostlen); from += strlen(from); has_host_part = TRUE; - } + } + else if (!isspace(*from)) + has_bare_name_part = TRUE; break; case 2: /* we're in a string */ |