Hi,
I have found a problem in the parse_received function in driver.c .
I am using Fetchmail in multi-drop mode, so I have to parse the message
headers to find a valid email address after the "for" word.
But it does not work with all the headers. Here is an example:
fetchmail: analyzing Received line:
Received: from bulk4.yahoo.com (bulk4.yahoo.com [204.71.203.167])
by gazelle.boximedia.com (8.8.5/8.8.5) with SMTP id OAA00082
for < sgallego(_at_)mxmlab(_dot_)com>; Sun, 31 Dec 2000 14:00:37 GMT
fetchmail: line accepted, gazelle.boximedia.com is an alias of the
mailserver
fetchmail: no Received address found
The problem comes from the blank character between the "<" and the address.
This is the part of the parse_received function that should be changed :
/* extract space-delimited token after "for" */
for (sp = ok + 3; isspace(*sp); sp++)
continue;
tp = rbuf;
for (; !isspace(*sp); sp++)
*tp++ = *sp;
*tp = '\0';
If the first non-blank character following "for" is "<", the function should
look for the ">" character, even if there is a space.
What do you think about this ?
Thanks,
Jean-Claude Repetto