aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1998-07-27 06:54:52 +0000
committerEric S. Raymond <esr@thyrsus.com>1998-07-27 06:54:52 +0000
commitc2efa945dfd7105849c17cffa3210f9d004545f2 (patch)
tree8d0201ac9b2c6474f43112f916e1ecb02e1d4309
parentdf243ce2079a41644c90797ca606c64dc8e860db (diff)
downloadfetchmail-c2efa945dfd7105849c17cffa3210f9d004545f2.tar.gz
fetchmail-c2efa945dfd7105849c17cffa3210f9d004545f2.tar.bz2
fetchmail-c2efa945dfd7105849c17cffa3210f9d004545f2.zip
Improved Receive parsing.
svn path=/trunk/; revision=2026
-rw-r--r--NEWS6
-rw-r--r--driver.c11
2 files changed, 15 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 85191694..6da0aa8b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,11 @@
Release Notes:
+fetchmail-4.5.4 ():
+* Brendan Cully's FAQ entry on GSSAPI.
+* Andrew Cagney's improvement to Received-line parsing.
+
+There are 260 people on fetchmail-friends and 251 on fetchmail-announce.
+
fetchmail-4.5.4 (Sat Jul 25 10:25:14 EDT 1998):
* Fixed processing of --antispam option.
* Antispam default value is now the list [571, 550, 501] corresponding
diff --git a/driver.c b/driver.c
index f0099158..6abe5c48 100644
--- a/driver.c
+++ b/driver.c
@@ -284,16 +284,23 @@ static char *parse_received(struct query *ctl, char *bufp)
(ok = strstr(sp, "for ")) &&
isspace(ok[-1]))
{
+ flag want_gt = FALSE;
+
tp = rbuf;
sp = ok + 4;
- *tp++ = ':'; /* Here is the hack. This is to be friend */
+ *tp++ = ':'; /* Here is the hack. This is to be friends */
*tp++ = ' '; /* with nxtaddr()... */
if (*sp == '<')
+ {
+ want_gt = TRUE;
sp++;
+ }
while (*sp == '@') /* skip routes */
while (*sp && *sp++ != ':')
continue;
- while (*sp && *sp != '>' && *sp != ';')
+ while (*sp
+ && (want_gt ? (*sp != '>') : !isspace(*sp))
+ && *sp != ';')
if (!isspace(*sp))
*tp++ = *sp++;
else