From 3eb4fac498e4342011f36fa5acb6262a1afe23e5 Mon Sep 17 00:00:00 2001 From: Eric Allman Date: Sun, 12 Jul 1992 18:57:42 -0800 Subject: [PATCH] child pid not getting changed; \quoted names were still forwarded SCCS-vsn: usr.sbin/sendmail/src/recipient.c 5.32 SCCS-vsn: usr.sbin/sendmail/src/main.c 5.52 SCCS-vsn: usr.sbin/sendmail/src/version.c 5.104 SCCS-vsn: usr.sbin/sendmail/src/deliver.c 5.59 --- usr/src/usr.sbin/sendmail/src/deliver.c | 8 +++++--- usr/src/usr.sbin/sendmail/src/main.c | 13 ++++++++----- usr/src/usr.sbin/sendmail/src/recipient.c | 4 ++-- usr/src/usr.sbin/sendmail/src/version.c | 4 ++-- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/usr/src/usr.sbin/sendmail/src/deliver.c b/usr/src/usr.sbin/sendmail/src/deliver.c index 7aefe1b20d..a2416167fe 100644 --- a/usr/src/usr.sbin/sendmail/src/deliver.c +++ b/usr/src/usr.sbin/sendmail/src/deliver.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)deliver.c 5.58 (Berkeley) %G%"; +static char sccsid[] = "@(#)deliver.c 5.59 (Berkeley) %G%"; #endif /* not lint */ #include "sendmail.h" @@ -724,12 +724,11 @@ openmailer(m, pvp, ctladdr, clever, e) if (strcmp(m->m_mailer, "[LPC]") == 0) { mci = (MCI *) xalloc(sizeof *mci); + bzero((char *) mci, sizeof *mci); mci->mci_in = stdin; mci->mci_out = stdout; - mci->mci_pid = 0; mci->mci_state = clever ? MCIS_OPENING : MCIS_OPEN; mci->mci_mailer = m; - mci->mci_flags = 0; } else if (strcmp(m->m_mailer, "[IPC]") == 0 || strcmp(m->m_mailer, "[TCP]") == 0) @@ -806,6 +805,7 @@ openmailer(m, pvp, ctladdr, clever, e) /* enter status of this host */ setstat(i); } + mci->mci_pid = 0; #else /* no DAEMON */ syserr("openmailer: no IPC"); return NULL; @@ -944,8 +944,10 @@ openmailer(m, pvp, ctladdr, clever, e) */ mci = (MCI *) xalloc(sizeof *mci); + bzero((char *) mci, sizeof *mci); mci->mci_mailer = m; mci->mci_state = clever ? MCIS_OPENING : MCIS_OPEN; + mci->mci_pid = pid; (void) close(mpvect[0]); mci->mci_out = fdopen(mpvect[1], "w"); if (clever) diff --git a/usr/src/usr.sbin/sendmail/src/main.c b/usr/src/usr.sbin/sendmail/src/main.c index 1751303426..59300becbc 100644 --- a/usr/src/usr.sbin/sendmail/src/main.c +++ b/usr/src/usr.sbin/sendmail/src/main.c @@ -13,7 +13,7 @@ char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)main.c 5.51 (Berkeley) %G%"; +static char sccsid[] = "@(#)main.c 5.52 (Berkeley) %G%"; #endif /* not lint */ #define _DEFINE @@ -124,6 +124,7 @@ main(argc, argv, envp) bool safecf = TRUE; static bool reenter = FALSE; char jbuf[60]; /* holds MyHostName */ + extern int DtableSize; extern bool safefile(); extern time_t convtime(); extern putheader(), putbody(); @@ -164,6 +165,11 @@ main(argc, argv, envp) unsetenv("TZ"); #endif + /* in 4.4BSD, the table can be huge; impose a reasonable limit */ + DtableSize = getdtablesize(); + if (DtableSize > 256) + DtableSize = 256; + /* ** Be sure we have enough file descriptors. ** But also be sure that 0, 1, & 2 are open. @@ -172,11 +178,8 @@ main(argc, argv, envp) i = open("/dev/null", O_RDWR); while (i >= 0 && i < 2) i = dup(i); - i = getdtablesize(); - /* in 4.4BSD, the table can be huge; impose a reasonable limit */ - if (i > 256) - i = 256; + i = DtableSize; while (--i > 2) (void) close(i); errno = 0; diff --git a/usr/src/usr.sbin/sendmail/src/recipient.c b/usr/src/usr.sbin/sendmail/src/recipient.c index fa7d1d986c..ce295e9fa1 100644 --- a/usr/src/usr.sbin/sendmail/src/recipient.c +++ b/usr/src/usr.sbin/sendmail/src/recipient.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)recipient.c 5.31 (Berkeley) %G%"; +static char sccsid[] = "@(#)recipient.c 5.32 (Berkeley) %G%"; #endif /* not lint */ # include @@ -251,7 +251,7 @@ recipient(a, sendq) (void) strcpy(buf, a->q_user); for (p = buf; *p != '\0' && !quoted; p++) { - if (!isascii(*p) && (*p & 0377) != (SpaceSub & 0377)) + if (*p == '\\') quoted = TRUE; } stripquotes(buf); diff --git a/usr/src/usr.sbin/sendmail/src/version.c b/usr/src/usr.sbin/sendmail/src/version.c index 7c94cd5b91..d01c8c54e4 100644 --- a/usr/src/usr.sbin/sendmail/src/version.c +++ b/usr/src/usr.sbin/sendmail/src/version.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)version.c 5.103 (Berkeley) %G%"; +static char sccsid[] = "@(#)version.c 5.104 (Berkeley) %G%"; #endif /* not lint */ -char Version[] = "5.103"; +char Version[] = "5.104"; -- 2.20.1