diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | driver.c | 11 | ||||
-rw-r--r-- | fetchmail.man | 3 |
3 files changed, 10 insertions, 5 deletions
@@ -1,6 +1,7 @@ Release Notes: pl 1.9.7 (): +* %s is back. Seems some popular MDAs actually choke on name arguments. * We can handle responses longer than the socket atomic read length now. pl 1.9.6 (Thu Oct 31 00:07:23 EST 1996): @@ -621,15 +621,18 @@ struct query *ctl; /* query control record */ /* * We go through this in order to be able to handle very - * long lists of users. + * long lists of users and (re +)implement %s. */ for (idp = xmit_names; idp; idp = idp->next) nlocals++; sp = sargv = (char **)alloca(sizeof(char **) * ctl->mda_argcount+nlocals+2); for (i = 0; i < ctl->mda_argcount; i++) - *sp++ = ctl->mda_argv[i]; - for (idp = xmit_names; idp; idp = idp->next) - *sp++ = idp->id; + if (strcmp("%s", ctl->mda_argv[i])) + *sp++ = ctl->mda_argv[i]; + else + for (idp = xmit_names; idp; idp = idp->next) + *sp++ = idp->id; *sp = (char *)NULL; #ifdef HAVE_SETEUID diff --git a/fetchmail.man b/fetchmail.man index f5e4f705..2cb485f6 100644 --- a/fetchmail.man +++ b/fetchmail.man @@ -80,7 +80,8 @@ is running as root, it sets its userid to that of the target user while delivering mail through an MDA. Some possible MDAs are "/usr/sbin/sendmail -oem", "/usr/lib/sendmail -oem", "/usr/bin/formail", and "/usr/bin/deliver". Local delivery addresses -will be appended to the MDA command. Do \fInot\fR use an MDA like +will be inserted into the MDA command wherever you place a %s. Do +\fInot\fR use an MDA like "sendmail -oem -t" that dispatches on the contents of To/Cc/Bcc, it will create mail loops and bring the just wrath of many postmasters down upon your head. |