diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1998-07-27 06:54:52 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1998-07-27 06:54:52 +0000 |
commit | c2efa945dfd7105849c17cffa3210f9d004545f2 (patch) | |
tree | 8d0201ac9b2c6474f43112f916e1ecb02e1d4309 | |
parent | df243ce2079a41644c90797ca606c64dc8e860db (diff) | |
download | fetchmail-c2efa945dfd7105849c17cffa3210f9d004545f2.tar.gz fetchmail-c2efa945dfd7105849c17cffa3210f9d004545f2.tar.bz2 fetchmail-c2efa945dfd7105849c17cffa3210f9d004545f2.zip |
Improved Receive parsing.
svn path=/trunk/; revision=2026
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | driver.c | 11 |
2 files changed, 15 insertions, 2 deletions
@@ -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 @@ -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 |