aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--driver.c11
-rw-r--r--fetchmail.man3
3 files changed, 10 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 68318262..2a2fad65 100644
--- a/NEWS
+++ b/NEWS
@@ -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):
diff --git a/driver.c b/driver.c
index dee11f45..a8284a30 100644
--- a/driver.c
+++ b/driver.c
@@ -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.