* Added code to have %F in an MDA string expand to the From address
* Added code to prevent buffer spamming via the MDA %T/%s escape.
* Luca Olivetti's --qvirtual option patch for qmail users.
+* Fixed a bug in the code that was supposed to suppress expansion of RFC822
+ groupnames. (Thanks to Santiago Vila Doncel for pointing this.)
There are 286 people on the fetchmail-friends list.
char *buf; /* header to be hacked */
const char *host; /* server hostname */
{
- char *from, *cp;
+ char *from, *cp, last_nws = '\0';
int parendepth, state, has_bare_name_part, has_host_part;
int addresscount = 1;
break;
case 1: /* we've seen the colon, we're looking for addresses */
+ if (!isspace(*from))
+ last_nws = *from;
if (*from == '<')
state = 3;
else if (*from == '@')
else if (*from == '"')
state = 2;
/*
- * Not expanding on from[-1] == ';' deals with groupnames,
+ * Not expanding on last non-WS == ';' deals with groupnames,
* an obscure misfeature described in sections
* 6.1, 6.2.6, and A.1.5 of the RFC822 standard.
*/
else if ((*from == ',' || HEADER_END(from) || from[1] == '(')
&& has_bare_name_part
&& !has_host_part
- && from[-1] != ';')
+ && last_nws != ';')
{
int hostlen;