aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS35
-rw-r--r--rfc822.c10
2 files changed, 27 insertions, 18 deletions
diff --git a/NEWS b/NEWS
index 3b80b7d8..dc339569 100644
--- a/NEWS
+++ b/NEWS
@@ -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.
diff --git a/rfc822.c b/rfc822.c
index 65337ce7..1b83bee5 100644
--- a/rfc822.c
+++ b/rfc822.c
@@ -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 */