From b6edea3d7d4a468e949053e9012501c8ba4b3fd9 Mon Sep 17 00:00:00 2001 From: Eric Allman Date: Tue, 23 Feb 1993 14:32:04 -0800 Subject: [PATCH] overhaul status of SMTP reply codes SCCS-vsn: usr.sbin/sendmail/src/usersmtp.c 6.14 SCCS-vsn: usr.sbin/sendmail/src/headers.c 6.11 SCCS-vsn: usr.sbin/sendmail/src/recipient.c 6.16 SCCS-vsn: usr.sbin/sendmail/src/envelope.c 6.12 SCCS-vsn: usr.sbin/sendmail/src/parseaddr.c 6.19 SCCS-vsn: usr.sbin/sendmail/src/err.c 6.6 SCCS-vsn: usr.sbin/sendmail/src/collect.c 6.8 SCCS-vsn: usr.sbin/sendmail/src/sendmail.h 6.19 SCCS-vsn: usr.sbin/sendmail/src/savemail.c 6.11 SCCS-vsn: usr.sbin/sendmail/src/daemon.c 6.8 SCCS-vsn: usr.sbin/sendmail/src/srvrsmtp.c 6.16 SCCS-vsn: usr.sbin/sendmail/src/clock.c 6.2 SCCS-vsn: usr.sbin/sendmail/src/deliver.c 6.23 SCCS-vsn: usr.sbin/sendmail/src/queue.c 6.17 SCCS-vsn: usr.sbin/sendmail/src/conf.c 6.25 SCCS-vsn: usr.sbin/sendmail/src/alias.c 6.16 SCCS-vsn: usr.sbin/sendmail/src/udb.c 6.11 SCCS-vsn: usr.sbin/sendmail/src/mci.c 6.5 --- usr/src/usr.sbin/sendmail/src/alias.c | 30 +++---- usr/src/usr.sbin/sendmail/src/clock.c | 4 +- usr/src/usr.sbin/sendmail/src/collect.c | 8 +- usr/src/usr.sbin/sendmail/src/conf.c | 16 +--- usr/src/usr.sbin/sendmail/src/daemon.c | 12 +-- usr/src/usr.sbin/sendmail/src/deliver.c | 40 +++++----- usr/src/usr.sbin/sendmail/src/envelope.c | 10 +-- usr/src/usr.sbin/sendmail/src/err.c | 25 +++--- usr/src/usr.sbin/sendmail/src/headers.c | 6 +- usr/src/usr.sbin/sendmail/src/mci.c | 4 +- usr/src/usr.sbin/sendmail/src/parseaddr.c | 36 ++++----- usr/src/usr.sbin/sendmail/src/queue.c | 6 +- usr/src/usr.sbin/sendmail/src/recipient.c | 24 +++--- usr/src/usr.sbin/sendmail/src/savemail.c | 20 ++--- usr/src/usr.sbin/sendmail/src/sendmail.h | 5 +- usr/src/usr.sbin/sendmail/src/srvrsmtp.c | 95 ++++++++++++++++------- usr/src/usr.sbin/sendmail/src/udb.c | 8 +- usr/src/usr.sbin/sendmail/src/usersmtp.c | 17 ++-- 18 files changed, 190 insertions(+), 176 deletions(-) diff --git a/usr/src/usr.sbin/sendmail/src/alias.c b/usr/src/usr.sbin/sendmail/src/alias.c index b70c4ab0fe..cb1a17f221 100644 --- a/usr/src/usr.sbin/sendmail/src/alias.c +++ b/usr/src/usr.sbin/sendmail/src/alias.c @@ -29,15 +29,15 @@ ERROR: DBM is no longer supported -- use NDBM instead. #ifndef lint #ifdef NEWDB #ifdef NDBM -static char sccsid[] = "@(#)alias.c 6.15 (Berkeley) %G% (with NEWDB and NDBM)"; +static char sccsid[] = "@(#)alias.c 6.16 (Berkeley) %G% (with NEWDB and NDBM)"; #else -static char sccsid[] = "@(#)alias.c 6.15 (Berkeley) %G% (with NEWDB)"; +static char sccsid[] = "@(#)alias.c 6.16 (Berkeley) %G% (with NEWDB)"; #endif #else #ifdef NDBM -static char sccsid[] = "@(#)alias.c 6.15 (Berkeley) %G% (with NDBM)"; +static char sccsid[] = "@(#)alias.c 6.16 (Berkeley) %G% (with NDBM)"; #else -static char sccsid[] = "@(#)alias.c 6.15 (Berkeley) %G% (without NEWDB or NDBM)"; +static char sccsid[] = "@(#)alias.c 6.16 (Berkeley) %G% (without NEWDB or NDBM)"; #endif #endif #endif /* not lint */ @@ -145,7 +145,7 @@ alias(a, sendq, e) if (tTd(27, 1)) printf("%s (%s, %s) aliased to %s\n", a->q_paddr, a->q_host, a->q_user, p); - message(Arpa_Info, "aliased to %s", p); + message("aliased to %s", p); if (bitset(EF_VRFYONLY, e->e_flags)) return; #ifdef LOG @@ -275,7 +275,7 @@ initaliases(aliasfile, init, e) if (aliasfile == NULL || stat(aliasfile, &stb) < 0) { if (aliasfile != NULL && init) - syserr("Cannot open %s", aliasfile); + syserr("554 Cannot open %s", aliasfile); NoAlias = TRUE; errno = 0; return; @@ -400,7 +400,7 @@ initaliases(aliasfile, init, e) { init = TRUE; automatic = TRUE; - message(Arpa_Info, "rebuilding alias database"); + message("rebuilding alias database"); #ifdef LOG if (LogLevel > 14) syslog(LOG_INFO, "rebuilding alias database"); @@ -412,7 +412,7 @@ initaliases(aliasfile, init, e) if (LogLevel > 3) syslog(LOG_INFO, "alias database out of date"); #endif /* LOG */ - message(Arpa_Info, "Warning: alias database out of date"); + message("Warning: alias database out of date"); } } @@ -487,7 +487,7 @@ readaliases(aliasfile, init, e) if ((af = fopen(aliasfile, "r+")) == NULL) { if (init) - syserr("Can't open %s", aliasfile); + syserr("554 Can't open %s", aliasfile); else if (tTd(27, 1)) printf("Can't open %s\n", aliasfile); errno = 0; @@ -506,7 +506,7 @@ readaliases(aliasfile, init, e) # endif { /* yes, they are -- wait until done and then return */ - message(Arpa_Info, "Alias file is already being rebuilt"); + message("Alias file is already being rebuilt"); if (OpMode != MD_INITALIAS) { /* wait for other rebuild to complete */ @@ -586,7 +586,7 @@ readaliases(aliasfile, init, e) case ' ': case '\t': if (!skipping) - syserr("Non-continuation line starts with space"); + syserr("554 Non-continuation line starts with space"); skipping = TRUE; continue; } @@ -685,7 +685,7 @@ readaliases(aliasfile, init, e) if (*p == '\0') break; if (parseaddr(p, &bl, -1, ',', e) == NULL) - usrerr("%s... bad address", p); + usrerr("553 %s... bad address", p); p = DelimChar; } } @@ -711,7 +711,7 @@ readaliases(aliasfile, init, e) /* check for line overflow */ if (strchr(p, '\n') == NULL) { - usrerr("alias too long"); + usrerr("554 alias too long"); break; } } @@ -820,7 +820,7 @@ readaliases(aliasfile, init, e) (void) fclose(af); e->e_to = NULL; FileName = NULL; - message(Arpa_Info, "%d aliases, longest %d bytes, %d bytes total", + message("%d aliases, longest %d bytes, %d bytes total", naliases, longest, bytes); # ifdef LOG if (LogLevel > 7) @@ -910,7 +910,7 @@ forward(user, sendq, e) return; if (user->q_home == NULL) { - syserr("forward: no home"); + syserr("554 forward: no home"); user->q_home = "/nosuchdirectory"; } diff --git a/usr/src/usr.sbin/sendmail/src/clock.c b/usr/src/usr.sbin/sendmail/src/clock.c index 0b91f22fec..eb8034398a 100644 --- a/usr/src/usr.sbin/sendmail/src/clock.c +++ b/usr/src/usr.sbin/sendmail/src/clock.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)clock.c 6.1 (Berkeley) %G%"; +static char sccsid[] = "@(#)clock.c 6.2 (Berkeley) %G%"; #endif /* not lint */ # include "sendmail.h" @@ -45,7 +45,7 @@ setevent(intvl, func, arg) if (intvl <= 0) { - syserr("setevent: intvl=%ld\n", intvl); + syserr("554 setevent: intvl=%ld\n", intvl); return (NULL); } diff --git a/usr/src/usr.sbin/sendmail/src/collect.c b/usr/src/usr.sbin/sendmail/src/collect.c index 5230e082a1..02aea6d24e 100644 --- a/usr/src/usr.sbin/sendmail/src/collect.c +++ b/usr/src/usr.sbin/sendmail/src/collect.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)collect.c 6.7 (Berkeley) %G%"; +static char sccsid[] = "@(#)collect.c 6.8 (Berkeley) %G%"; #endif /* not lint */ # include @@ -64,7 +64,7 @@ maketemp(from) */ if (smtpmode) - message("354", "Enter mail, end with \".\" on a line by itself"); + message("354 Enter mail, end with \".\" on a line by itself"); /* ** Try to read a UNIX-style From line @@ -254,7 +254,7 @@ readerr: e->e_from.q_paddr, RealHostName); # endif (feof(InChannel) ? usrerr : syserr) - ("collect: unexpected close on connection, from=%s", + ("451 collect: unexpected close on connection, from=%s", e->e_from.q_paddr); /* don't return an error indication */ @@ -323,7 +323,7 @@ flusheol(buf, fp) while (strchr(p, '\n') == NULL) { if (printmsg) - usrerr("header line too long"); + usrerr("553 header line too long"); printmsg = FALSE; if (sfgets(junkbuf, MAXLINE, fp, TimeOuts.to_datablock) == NULL) return (FALSE); diff --git a/usr/src/usr.sbin/sendmail/src/conf.c b/usr/src/usr.sbin/sendmail/src/conf.c index e3e301ea88..a61c6ceee1 100644 --- a/usr/src/usr.sbin/sendmail/src/conf.c +++ b/usr/src/usr.sbin/sendmail/src/conf.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)conf.c 6.24 (Berkeley) %G%"; +static char sccsid[] = "@(#)conf.c 6.25 (Berkeley) %G%"; #endif /* not lint */ # include @@ -87,16 +87,6 @@ struct hdrinfo HdrInfo[] = }; -/* -** ARPANET error message numbers. -*/ - -char Arpa_Info[] = "050"; /* arbitrary info */ -char Arpa_TSyserr[] = "451"; /* some (transient) system error */ -char Arpa_PSyserr[] = "554"; /* some (permanent) system error */ -char Arpa_Usrerr[] = "501"; /* some (fatal) user error */ - - /* ** Location of system files/databases/etc. @@ -396,7 +386,7 @@ username() } if (myname == NULL || myname[0] == '\0') { - syserr("Who are you?"); + syserr("554 Who are you?"); myname = "postmaster"; } } @@ -500,7 +490,7 @@ checkcompat(to, e) if (s != NULL && e->e_from.q_mailer != LocalMailer && to->q_mailer == s->s_mailer) { - usrerr("No ARPA mail through this machine: see your system administration"); + usrerr("553 No ARPA mail through this machine: see your system administration"); /* NoReturn = TRUE; to supress return copy */ return (EX_UNAVAILABLE); } diff --git a/usr/src/usr.sbin/sendmail/src/daemon.c b/usr/src/usr.sbin/sendmail/src/daemon.c index e34f59c99d..f6d5ea5599 100644 --- a/usr/src/usr.sbin/sendmail/src/daemon.c +++ b/usr/src/usr.sbin/sendmail/src/daemon.c @@ -12,9 +12,9 @@ #ifndef lint #ifdef DAEMON -static char sccsid[] = "@(#)daemon.c 6.7 (Berkeley) %G% (with daemon mode)"; +static char sccsid[] = "@(#)daemon.c 6.8 (Berkeley) %G% (with daemon mode)"; #else -static char sccsid[] = "@(#)daemon.c 6.7 (Berkeley) %G% (without daemon mode)"; +static char sccsid[] = "@(#)daemon.c 6.8 (Berkeley) %G% (without daemon mode)"; #endif #endif /* not lint */ @@ -93,7 +93,7 @@ getrequests() sp = getservbyname("smtp", "tcp"); if (sp == NULL) { - syserr("server \"smtp\" unknown"); + syserr("554 server \"smtp\" unknown"); goto severe; } srvraddr.sin_family = AF_INET; @@ -205,7 +205,7 @@ makeconnection(host, port, mci, usesecureport) } if (p == NULL || hid == -1) { - usrerr("Invalid numeric domain spec \"%s\"", host); + usrerr("553 Invalid numeric domain spec \"%s\"", host); return (EX_NOHOST); } addr.sin_addr.s_addr = hid; @@ -241,7 +241,7 @@ makeconnection(host, port, mci, usesecureport) if (sp == NULL) { - syserr("makeconnection: server \"smtp\" unknown"); + syserr("554 makeconnection: server \"smtp\" unknown"); return (EX_OSERR); } addr.sin_port = sp->s_port; @@ -336,7 +336,7 @@ makeconnection(host, port, mci, usesecureport) { extern char *errstring(); - message(Arpa_Info, "%s", errstring(sav_errno)); + message("%s", errstring(sav_errno)); return (EX_UNAVAILABLE); } } diff --git a/usr/src/usr.sbin/sendmail/src/deliver.c b/usr/src/usr.sbin/sendmail/src/deliver.c index d771393659..6c208d4833 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 6.22 (Berkeley) %G%"; +static char sccsid[] = "@(#)deliver.c 6.23 (Berkeley) %G%"; #endif /* not lint */ #include "sendmail.h" @@ -110,7 +110,7 @@ deliver(e, firstto) continue; to->q_flags |= QQUEUEUP|QDONTSEND; e->e_to = to->q_paddr; - message(Arpa_Info, "queued"); + message("queued"); if (LogLevel > 8) logdelivery("queued", e); } @@ -188,7 +188,7 @@ deliver(e, firstto) *pvp++ = newstr(buf); if (pvp >= &pv[MAXPV - 3]) { - syserr("Too many parameters to %s before $u", pv[0]); + syserr("554 Too many parameters to %s before $u", pv[0]); return (-1); } } @@ -207,7 +207,7 @@ deliver(e, firstto) *pvp = NULL; # else /* SMTP */ /* oops! we don't implement SMTP */ - syserr("SMTP style mailer"); + syserr("554 SMTP style mailer"); return (EX_SOFTWARE); # endif /* SMTP */ } @@ -266,7 +266,7 @@ deliver(e, firstto) if (m->m_maxsize != 0 && e->e_msgsize > m->m_maxsize) { NoReturn = TRUE; - usrerr("Message is too large; %ld bytes max", m->m_maxsize); + usrerr("552 Message is too large; %ld bytes max", m->m_maxsize); giveresponse(EX_UNAVAILABLE, m, e); continue; } @@ -375,7 +375,7 @@ deliver(e, firstto) expand(*mvp, buf, &buf[sizeof buf - 1], e); *pvp++ = newstr(buf); if (pvp >= &pv[MAXPV]) - syserr("deliver: pv overflow after $u for %s", pv[0]); + syserr("554 deliver: pv overflow after $u for %s", pv[0]); } *pvp++ = NULL; @@ -408,7 +408,7 @@ deliver(e, firstto) if (rcode == EX_OK) { /* shouldn't happen */ - syserr("deliver: rcode=%d, mci_state=%d, sig=%s", + syserr("554 deliver: rcode=%d, mci_state=%d, sig=%s", rcode, mci->mci_state, firstsig); rcode = EX_SOFTWARE; } @@ -478,7 +478,7 @@ deliver(e, firstto) } #else /* not SMTP */ { - syserr("deliver: need SMTP compiled to use clever mailer"); + syserr("554 deliver: need SMTP compiled to use clever mailer"); rcode = EX_CONFIG; goto give_up; } @@ -563,7 +563,7 @@ markfailure(e, q, rcode) if (e->e_message != NULL) free(e->e_message); e->e_message = newstr(buf); - message(Arpa_Info, buf); + message(buf); } q->q_flags |= QBADADDR; e->e_flags |= EF_TIMEOUT; @@ -765,7 +765,7 @@ openmailer(m, pvp, ctladdr, clever, e) curhost = hostsignature(m, pvp[1], e); if (!clever) - syserr("non-clever IPC"); + syserr("554 non-clever IPC"); if (pvp[2] != NULL) port = atoi(pvp[2]); else @@ -804,7 +804,7 @@ openmailer(m, pvp, ctladdr, clever, e) /* try the connection */ setproctitle("%s %s: %s", e->e_id, hostbuf, "user open"); - message(Arpa_Info, "Connecting to %s (%s)...", + message("Connecting to %s (%s)...", hostbuf, m->m_name); i = makeconnection(hostbuf, port, mci, bitnset(M_SECURE_PORT, m->m_flags)); @@ -826,7 +826,7 @@ openmailer(m, pvp, ctladdr, clever, e) } mci->mci_pid = 0; #else /* no DAEMON */ - syserr("openmailer: no IPC"); + syserr("554 openmailer: no IPC"); if (tTd(11, 1)) printf("openmailer: NULL\n"); return NULL; @@ -1112,7 +1112,7 @@ giveresponse(stat, m, e) */ if (stat == EX_OK || stat == EX_TEMPFAIL) - message(Arpa_Info, &statmsg[4]); + message(&statmsg[4]); else { Errors++; @@ -1210,7 +1210,7 @@ putfromline(fp, m, e) expand("\201<", buf, &buf[sizeof buf - 1], e); bang = strchr(buf, '!'); if (bang == NULL) - syserr("No ! in UUCP! (%s)", buf); + syserr("554 No ! in UUCP! (%s)", buf); else { *bang++ = '\0'; @@ -1397,9 +1397,7 @@ mailfile(filename, ctladdr, e) f = dfopen(filename, "a"); if (f == NULL) { - extern char Arpa_PSyserr[]; - - message(Arpa_PSyserr, "cannot open"); + message("554 cannot open"); exit(EX_CANTCREAT); } @@ -1410,9 +1408,7 @@ mailfile(filename, ctladdr, e) putline("\n", f, ProgMailer); if (ferror(f)) { - extern char Arpa_TSyserr[]; - - message(Arpa_TSyserr, "I/O error"); + message("451 I/O error"); setstat(EX_IOERR); } (void) fclose(f); @@ -1493,7 +1489,7 @@ sendall(e, mode) if (e->e_hopcount > MaxHopCount) { errno = 0; - syserr("sendall: too many hops %d (%d max): from %s, to %s", + syserr("554 too many hops %d (%d max): from %s, to %s", e->e_hopcount, MaxHopCount, e->e_from.q_paddr, e->e_sendqueue->q_paddr); return; @@ -1635,7 +1631,7 @@ sendall(e, mode) { e->e_to = q->q_paddr; if (!bitset(QDONTSEND|QBADADDR, q->q_flags)) - message(Arpa_Info, "deliverable"); + message("deliverable"); } else if (!bitset(QDONTSEND, q->q_flags)) { diff --git a/usr/src/usr.sbin/sendmail/src/envelope.c b/usr/src/usr.sbin/sendmail/src/envelope.c index 0ae656a01e..2cf3022d86 100644 --- a/usr/src/usr.sbin/sendmail/src/envelope.c +++ b/usr/src/usr.sbin/sendmail/src/envelope.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)envelope.c 6.11 (Berkeley) %G%"; +static char sccsid[] = "@(#)envelope.c 6.12 (Berkeley) %G%"; #endif /* not lint */ #include @@ -145,7 +145,7 @@ dropenvelope(e) #ifdef QUEUE queueup(e, FALSE, FALSE); #else /* QUEUE */ - syserr("dropenvelope: queueup"); + syserr("554 dropenvelope: queueup"); #endif /* QUEUE */ } @@ -460,7 +460,7 @@ setsender(from, e) strchr(from, '!') == NULL && getuid() != 0) { /* network sends -r regardless (why why why?) */ - /* syserr("%s, you cannot use the -f flag", realname); */ + /* syserr("501 %s, you cannot use the -f flag", realname); */ from = NULL; } } @@ -490,7 +490,7 @@ setsender(from, e) { SuprErrs = TRUE; if (parseaddr("postmaster", &e->e_from, 1, '\0', e) == NULL) - syserr("setsender: can't even parse postmaster!"); + syserr("553 setsender: can't even parse postmaster!"); } } else @@ -579,7 +579,7 @@ setsender(from, e) if (LogLevel > 2) syslog(LOG_NOTICE, "cannot prescan from (%s)", from); # endif - usrerr("cannot prescan from (%s)", from); + usrerr("553 cannot prescan from (%s)", from); finis(); } rewrite(pvp, 3); diff --git a/usr/src/usr.sbin/sendmail/src/err.c b/usr/src/usr.sbin/sendmail/src/err.c index 47c4d9e93a..c509cbddd2 100644 --- a/usr/src/usr.sbin/sendmail/src/err.c +++ b/usr/src/usr.sbin/sendmail/src/err.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)err.c 6.5 (Berkeley) %G%"; +static char sccsid[] = "@(#)err.c 6.6 (Berkeley) %G%"; #endif /* not lint */ # include "sendmail.h" @@ -53,14 +53,12 @@ syserr(fmt, va_alist) register char *p; int olderrno = errno; VA_LOCAL_DECL - extern char Arpa_PSyserr[]; - extern char Arpa_TSyserr[]; /* format and output the error message */ if (olderrno == 0) - p = Arpa_PSyserr; + p = "554"; else - p = Arpa_TSyserr; + p = "451"; VA_START(fmt); fmtmsg(MsgBuf, (char *) NULL, p, olderrno, fmt, ap); VA_END; @@ -112,14 +110,13 @@ usrerr(fmt, va_alist) { VA_LOCAL_DECL extern char SuprErrs; - extern char Arpa_Usrerr[]; extern int errno; if (SuprErrs) return; VA_START(fmt); - fmtmsg(MsgBuf, CurEnv->e_to, Arpa_Usrerr, errno, fmt, ap); + fmtmsg(MsgBuf, CurEnv->e_to, "501", errno, fmt, ap); VA_END; puterrmsg(MsgBuf); @@ -151,10 +148,9 @@ usrerr(fmt, va_alist) /*VARARGS2*/ #ifdef __STDC__ -message(char *num, char *msg, ...) +message(char *msg, ...) #else -message(num, msg, va_alist) - char *num; +message(msg, va_alist) char *msg; va_dcl #endif @@ -163,7 +159,7 @@ message(num, msg, va_alist) errno = 0; VA_START(msg); - fmtmsg(MsgBuf, CurEnv->e_to, num, 0, msg, ap); + fmtmsg(MsgBuf, CurEnv->e_to, "050", 0, msg, ap); VA_END; putmsg(MsgBuf, FALSE); } @@ -187,10 +183,9 @@ message(num, msg, va_alist) /*VARARGS2*/ #ifdef __STDC__ -nmessage(char *num, char *msg, ...) +nmessage(char *msg, ...) #else -nmessage(num, msg, va_alist) - char *num; +nmessage(msg, va_alist) char *msg; va_dcl #endif @@ -199,7 +194,7 @@ nmessage(num, msg, va_alist) errno = 0; VA_START(msg); - fmtmsg(MsgBuf, (char *) NULL, num, 0, msg, ap); + fmtmsg(MsgBuf, (char *) NULL, "050", 0, msg, ap); VA_END; putmsg(MsgBuf, FALSE); } diff --git a/usr/src/usr.sbin/sendmail/src/headers.c b/usr/src/usr.sbin/sendmail/src/headers.c index 72472ce42e..187732940e 100644 --- a/usr/src/usr.sbin/sendmail/src/headers.c +++ b/usr/src/usr.sbin/sendmail/src/headers.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)headers.c 6.10 (Berkeley) %G%"; +static char sccsid[] = "@(#)headers.c 6.11 (Berkeley) %G%"; #endif /* not lint */ # include @@ -65,7 +65,7 @@ chompheader(line, def, e) p = q; } else - usrerr("chompheader: syntax error, line \"%s\"", line); + usrerr("553 header syntax error, line \"%s\"", line); cond = TRUE; } @@ -74,7 +74,7 @@ chompheader(line, def, e) p = strchr(p, ':'); if (p == NULL) { - syserr("chompheader: syntax error, line \"%s\"", line); + syserr("553 header syntax error, line \"%s\"", line); return (0); } fvalue = &p[1]; diff --git a/usr/src/usr.sbin/sendmail/src/mci.c b/usr/src/usr.sbin/sendmail/src/mci.c index c9cf3fb4d7..c2a22113b7 100644 --- a/usr/src/usr.sbin/sendmail/src/mci.c +++ b/usr/src/usr.sbin/sendmail/src/mci.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)mci.c 6.4 (Berkeley) %G%"; +static char sccsid[] = "@(#)mci.c 6.5 (Berkeley) %G%"; #endif /* not lint */ #include "sendmail.h" @@ -161,7 +161,7 @@ mci_uncache(mcislot, doquit) if (doquit) { - message(Arpa_Info, "Closing connection to %s", mci->mci_host); + message("Closing connection to %s", mci->mci_host); mci->mci_flags &= ~MCIF_CACHED; diff --git a/usr/src/usr.sbin/sendmail/src/parseaddr.c b/usr/src/usr.sbin/sendmail/src/parseaddr.c index 1f70fe3e6e..656967bf21 100644 --- a/usr/src/usr.sbin/sendmail/src/parseaddr.c +++ b/usr/src/usr.sbin/sendmail/src/parseaddr.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)parseaddr.c 6.18 (Berkeley) %G%"; +static char sccsid[] = "@(#)parseaddr.c 6.19 (Berkeley) %G%"; #endif /* not lint */ #include "sendmail.h" @@ -131,7 +131,7 @@ parseaddr(addr, a, copyf, delim, e) if ((pvp[0][0] & 0377) != CANONNET) { setstat(EX_USAGE); - usrerr("cannot resolve name"); + syserr("554 cannot resolve name"); return (NULL); } @@ -182,7 +182,7 @@ invalidaddr(addr) if ((*addr & 0340) != 0200) continue; setstat(EX_USAGE); - usrerr("Address contained invalid control characters"); + usrerr("553 Address contained invalid control characters"); return TRUE; } return FALSE; @@ -413,7 +413,7 @@ prescan(addr, delim, pvpbuf) /* see if there is room */ if (q >= &pvpbuf[PSBUFSIZE - 5]) { - usrerr("Address too long"); + usrerr("553 Address too long"); DelimChar = p; return (NULL); } @@ -429,18 +429,18 @@ prescan(addr, delim, pvpbuf) /* diagnose and patch up bad syntax */ if (state == QST) { - usrerr("Unbalanced '\"'"); + usrerr("553 Unbalanced '\"'"); c = '"'; } else if (cmntcnt > 0) { - usrerr("Unbalanced '('"); + usrerr("553 Unbalanced '('"); c = ')'; } else if (anglecnt > 0) { c = '>'; - usrerr("Unbalanced '<'"); + usrerr("553 Unbalanced '<'"); } else break; @@ -488,7 +488,7 @@ prescan(addr, delim, pvpbuf) { if (cmntcnt <= 0) { - usrerr("Unbalanced ')'"); + usrerr("553 Unbalanced ')'"); DelimChar = p; return (NULL); } @@ -503,7 +503,7 @@ prescan(addr, delim, pvpbuf) { if (anglecnt <= 0) { - usrerr("Unbalanced '>'"); + usrerr("553 Unbalanced '>'"); DelimChar = p; return (NULL); } @@ -555,7 +555,7 @@ prescan(addr, delim, pvpbuf) } if (avp >= &av[MAXATOM]) { - syserr("prescan: too many tokens"); + syserr("553 prescan: too many tokens"); DelimChar = p; return (NULL); } @@ -718,7 +718,7 @@ _rewrite(pvp, ruleset) } if (ruleset < 0 || ruleset >= MAXRWSETS) { - syserr("rewrite: illegal ruleset number %d", ruleset); + syserr("554 rewrite: illegal ruleset number %d", ruleset); return; } if (pvp == NULL) @@ -802,7 +802,7 @@ _rewrite(pvp, ruleset) } if (++loopcount > 100) { - syserr("Infinite loop in ruleset %d", ruleset); + syserr("554 Infinite loop in ruleset %d", ruleset); printf("workspace: "); printav(pvp); break; @@ -1249,7 +1249,7 @@ backup: } map = stab(mapname, ST_MAP, ST_FIND); if (map == NULL) - syserr("rewrite: map %s not found", mapname); + syserr("554 rewrite: map %s not found", mapname); /* extract the match part */ key_rvp = ++rvp; @@ -1487,7 +1487,7 @@ buildaddr(tv, a) /* figure out what net/mailer to use */ if (*tv == NULL || **tv != CANONNET) { - syserr("buildaddr: no net"); + syserr("554 buildaddr: no net"); return (NULL); } tv++; @@ -1518,7 +1518,7 @@ buildaddr(tv, a) (void) strcat(buf, *tv); } if ((**tv & 0377) != CANONUSER) - syserr("buildaddr: error: no user"); + syserr("554 buildaddr: error: no user"); cataddr(++tv, buf, sizeof buf, ' '); stripquotes(buf); #ifdef LOG @@ -1537,7 +1537,7 @@ buildaddr(tv, a) } if (m == NULL) { - syserr("buildaddr: unknown mailer %s", *tv); + syserr("554 buildaddr: unknown mailer %s", *tv); return (NULL); } a->q_mailer = m; @@ -1547,7 +1547,7 @@ buildaddr(tv, a) { if (!bitnset(M_LOCAL, m->m_flags)) { - syserr("buildaddr: no host"); + syserr("554 buildaddr: no host"); return (NULL); } a->q_host = NULL; @@ -1567,7 +1567,7 @@ buildaddr(tv, a) /* figure out the user */ if (*tv == NULL || (**tv & 0377) != CANONUSER) { - syserr("buildaddr: no user"); + syserr("554 buildaddr: no user"); return (NULL); } tv++; diff --git a/usr/src/usr.sbin/sendmail/src/queue.c b/usr/src/usr.sbin/sendmail/src/queue.c index 0d40eb2f2c..5e768182a6 100644 --- a/usr/src/usr.sbin/sendmail/src/queue.c +++ b/usr/src/usr.sbin/sendmail/src/queue.c @@ -10,9 +10,9 @@ #ifndef lint #ifdef QUEUE -static char sccsid[] = "@(#)queue.c 6.16 (Berkeley) %G% (with queueing)"; +static char sccsid[] = "@(#)queue.c 6.17 (Berkeley) %G% (with queueing)"; #else -static char sccsid[] = "@(#)queue.c 6.16 (Berkeley) %G% (without queueing)"; +static char sccsid[] = "@(#)queue.c 6.17 (Berkeley) %G% (without queueing)"; #endif #endif /* not lint */ @@ -235,7 +235,7 @@ queueup(e, queueall, announce) if (announce) { e->e_to = q->q_paddr; - message(Arpa_Info, "queued"); + message("queued"); if (LogLevel > 8) logdelivery("queued", e); e->e_to = NULL; diff --git a/usr/src/usr.sbin/sendmail/src/recipient.c b/usr/src/usr.sbin/sendmail/src/recipient.c index f58724718e..832c8704b8 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 6.15 (Berkeley) %G%"; +static char sccsid[] = "@(#)recipient.c 6.16 (Berkeley) %G%"; #endif /* not lint */ # include @@ -229,7 +229,7 @@ recipient(a, sendq, e) /* break aliasing loops */ if (AliasLevel > MAXRCRSN) { - usrerr("aliasing/forwarding loop broken"); + usrerr("554 aliasing/forwarding loop broken"); return (NULL); } @@ -257,7 +257,7 @@ recipient(a, sendq, e) if (a->q_alias == NULL && m == ProgMailer) { a->q_flags |= QDONTSEND|QBADADDR; - usrerr("Cannot mail directly to programs", m->m_name); + usrerr("550 Cannot mail directly to programs", m->m_name); } /* @@ -281,7 +281,7 @@ recipient(a, sendq, e) if (!bitset(QPRIMARY, q->q_flags)) { if (!bitset(QDONTSEND, a->q_flags)) - message(Arpa_Info, "duplicate suppressed"); + message("duplicate suppressed"); q->q_flags |= a->q_flags; } if (!bitset(QPSEUDO, a->q_flags)) @@ -311,11 +311,11 @@ recipient(a, sendq, e) if (a->q_alias == NULL) { a->q_flags |= QBADADDR; - usrerr("Cannot mail directly to :include:s"); + usrerr("550 Cannot mail directly to :include:s"); } else { - message(Arpa_Info, "including file %s", a->q_user); + message("including file %s", a->q_user); (void) include(a->q_user, FALSE, a, sendq, e); } } @@ -329,7 +329,7 @@ recipient(a, sendq, e) if (a->q_alias == NULL && !QueueRun) { a->q_flags |= QDONTSEND|QBADADDR; - usrerr("Cannot mail directly to files"); + usrerr("550 Cannot mail directly to files"); } else if ((stat(buf, &stb) >= 0) ? (!writable(&stb)) : (*p = '\0', !safefile(buf, getruid(), S_IWRITE|S_IEXEC))) @@ -365,7 +365,7 @@ recipient(a, sendq, e) syslog(LOG_INFO, "%s: deferred: udbexpand", e->e_id); # endif - message(Arpa_Info, "queued (user database error)"); + message("queued (user database error)"); e->e_nrcpts++; return (a); } @@ -423,7 +423,7 @@ recipient(a, sendq, e) a->q_user = newstr(pw->pw_name); if (findusercount++ > 3) { - usrerr("aliasing/forwarding loop for %s broken", + usrerr("554 aliasing/forwarding loop for %s broken", pw->pw_name); return (a); } @@ -662,7 +662,7 @@ include(fname, forwarding, ctladdr, sendq, e) int ret = errno; clrevent(ev); - usrerr("Cannot open %s", fname); + usrerr("550 Cannot open %s", fname); return ret; } @@ -707,7 +707,7 @@ include(fname, forwarding, ctladdr, sendq, e) if (buf[0] == '#' || buf[0] == '\0') continue; e->e_to = NULL; - message(Arpa_Info, "%s to %s", + message("%s to %s", forwarding ? "forwarding" : "sending", buf); #ifdef LOG if (forwarding && LogLevel > 9) @@ -767,7 +767,7 @@ sendtoargv(argv, e) char nbuf[MAXNAME]; if (strlen(p) + strlen(argv[1]) + 2 > sizeof nbuf) - usrerr("address overflow"); + usrerr("554 address overflow"); else { (void) strcpy(nbuf, p); diff --git a/usr/src/usr.sbin/sendmail/src/savemail.c b/usr/src/usr.sbin/sendmail/src/savemail.c index 9bb5dcb664..c4ebe509e7 100644 --- a/usr/src/usr.sbin/sendmail/src/savemail.c +++ b/usr/src/usr.sbin/sendmail/src/savemail.c @@ -7,7 +7,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)savemail.c 6.10 (Berkeley) %G%"; +static char sccsid[] = "@(#)savemail.c 6.11 (Berkeley) %G%"; #endif /* not lint */ # include @@ -76,7 +76,7 @@ savemail(e) CurEnv->e_returnto = parse("root", (ADDRESS *) NULL, 0); if (CurEnv->e_returnto == NULL) { - syserr("Cannot parse root!"); + syserr("553 Cannot parse root!"); ExitStat = EX_SOFTWARE; finis(); } @@ -124,7 +124,7 @@ savemail(e) return; default: - syserr("savemail: ErrorMode x%x\n"); + syserr("554 savemail: ErrorMode x%x\n"); state = ESM_MAIL; break; } @@ -222,7 +222,7 @@ savemail(e) { if (parseaddr("postmaster", q, 0, '\0', e) == NULL) { - syserr("cannot parse postmaster!"); + syserr("553 cannot parse postmaster!"); ExitStat = EX_SOFTWARE; state = ESM_USRTMP; break; @@ -259,7 +259,7 @@ savemail(e) } if (p == NULL) { - syserr("Can't return mail to %s", e->e_from.q_paddr); + syserr("554 Can't return mail to %s", e->e_from.q_paddr); state = ESM_MAIL; break; } @@ -272,7 +272,7 @@ savemail(e) define('z', p, e); expand("\201z/dead.letter", buf, &buf[sizeof buf - 1], e); Verbose = TRUE; - message(Arpa_Info, "Saving message in %s", buf); + message("Saving message in %s", buf); Verbose = oldverb; e->e_to = buf; q = NULL; @@ -318,13 +318,13 @@ savemail(e) break; default: - syserr("savemail: unknown state %d", state); + syserr("554 savemail: unknown state %d", state); /* fall through ... */ case ESM_PANIC: /* leave the locked queue & transcript files around */ - syserr("savemail: cannot save rejected email anywhere"); + syserr("554 savemail: cannot save rejected email anywhere"); exit(EX_SOFTWARE); } } @@ -377,7 +377,7 @@ returntosender(msg, returnq, sendbody, e) if (++returndepth >= MAXRETURNS) { if (returndepth != MAXRETURNS) - syserr("returntosender: infinite recursion on %s", returnq->q_paddr); + syserr("554 returntosender: infinite recursion on %s", returnq->q_paddr); /* don't "unrecurse" and fake a clean exit */ /* returndepth--; */ return (0); @@ -422,7 +422,7 @@ returntosender(msg, returnq, sendbody, e) ee->e_returnpath = ee->e_sender; if (parseaddr(buf, &ee->e_from, -1, '\0', e) == NULL) { - syserr("Can't parse myself!"); + syserr("553 Can't parse myself!"); ExitStat = EX_SOFTWARE; returndepth--; return (-1); diff --git a/usr/src/usr.sbin/sendmail/src/sendmail.h b/usr/src/usr.sbin/sendmail/src/sendmail.h index 33de9e9c0b..b5377a610f 100644 --- a/usr/src/usr.sbin/sendmail/src/sendmail.h +++ b/usr/src/usr.sbin/sendmail/src/sendmail.h @@ -5,7 +5,7 @@ * * %sccs.include.redist.c% * - * @(#)sendmail.h 6.18 (Berkeley) %G% + * @(#)sendmail.h 6.19 (Berkeley) %G% */ /* @@ -15,7 +15,7 @@ # ifdef _DEFINE # define EXTERN # ifndef lint -static char SmailSccsId[] = "@(#)sendmail.h 6.18 %G%"; +static char SmailSccsId[] = "@(#)sendmail.h 6.19 %G%"; # endif lint # else /* _DEFINE */ # define EXTERN extern @@ -652,7 +652,6 @@ EXTERN int PrivacyFlags; /* privacy flags */ extern char *ConfFile; /* location of configuration file [conf.c] */ extern char *FreezeFile; /* location of frozen memory image [conf.c] */ extern char *PidFile; /* location of proc id file [conf.c] */ -extern char Arpa_Info[]; /* the reply code for Arpanet info [conf.c] */ extern ADDRESS NullAddress; /* a null (template) address [main.c] */ EXTERN char SpaceSub; /* substitution for */ EXTERN long WkClassFact; /* multiplier for message class -> priority */ diff --git a/usr/src/usr.sbin/sendmail/src/srvrsmtp.c b/usr/src/usr.sbin/sendmail/src/srvrsmtp.c index 38bb921f93..b8217faa87 100644 --- a/usr/src/usr.sbin/sendmail/src/srvrsmtp.c +++ b/usr/src/usr.sbin/sendmail/src/srvrsmtp.c @@ -10,9 +10,9 @@ #ifndef lint #ifdef SMTP -static char sccsid[] = "@(#)srvrsmtp.c 6.15 (Berkeley) %G% (with SMTP)"; +static char sccsid[] = "@(#)srvrsmtp.c 6.16 (Berkeley) %G% (with SMTP)"; #else -static char sccsid[] = "@(#)srvrsmtp.c 6.15 (Berkeley) %G% (without SMTP)"; +static char sccsid[] = "@(#)srvrsmtp.c 6.16 (Berkeley) %G% (without SMTP)"; #endif #endif /* not lint */ @@ -114,7 +114,7 @@ smtp(e) CurHostName = RealHostName; setproctitle("srvrsmtp %s", CurHostName); expand("\201e", inp, &inp[sizeof inp], e); - message("220", "%s", inp); + message("220 %s", inp); SmtpPhase = "startup"; sendinghost = NULL; gothello = FALSE; @@ -140,7 +140,7 @@ smtp(e) if (p == NULL) { /* end of file, just die */ - message("421", "%s Lost input channel from %s", + message("421 %s Lost input channel from %s", MyHostName, CurHostName); #ifdef LOG if (LogLevel > 1) @@ -196,7 +196,7 @@ smtp(e) ** or connected to an echo server */ - message("553", "%s config error: mail loops back to myself", + message("553 %s config error: mail loops back to myself", MyHostName); break; } @@ -222,23 +222,23 @@ smtp(e) /* check for validity of this command */ if (!gothello && bitset(PRIV_NEEDMAILHELO, PrivacyFlags)) { - message("503", "Polite people say HELO first"); + message("503 Polite people say HELO first"); break; } if (gotmail) { - message("503", "Sender already specified"); + message("503 Sender already specified"); break; } if (InChild) { errno = 0; - syserr("Nested MAIL command: MAIL %s", p); + syserr("503 Nested MAIL command: MAIL %s", p); finis(); } if (!enoughspace()) { - message("452", "Insufficient disk space; try again later"); + message("452 Insufficient disk space; try again later"); break; } @@ -264,7 +264,7 @@ smtp(e) } QuickAbort = TRUE; setsender(p, e); - message("250", "Sender ok"); + message("250 Sender ok"); gotmail = TRUE; break; @@ -297,11 +297,11 @@ smtp(e) /* no errors during parsing, but might be a duplicate */ e->e_to = p; if (!bitset(QBADADDR, a->q_flags)) - message("250", "Recipient ok"); + message("250 Recipient ok"); else { /* punt -- should keep message in ADDRESS.... */ - message("550", "Addressee unknown"); + message("550 Addressee unknown"); } e->e_to = NULL; break; @@ -310,12 +310,12 @@ smtp(e) SmtpPhase = "DATA"; if (!gotmail) { - message("503", "Need MAIL command"); + message("503 Need MAIL command"); break; } else if (e->e_nrcpts <= 0) { - message("503", "Need RCPT (recipient)"); + message("503 Need RCPT (recipient)"); break; } @@ -362,7 +362,7 @@ smtp(e) /* issue success if appropriate and reset */ if (Errors == 0 || HoldErrs) - message("250", "Ok"); + message("250 Ok"); else e->e_flags &= ~EF_FATALERRS; @@ -378,7 +378,7 @@ smtp(e) break; case CMDRSET: /* rset -- reset state */ - message("250", "Reset state"); + message("250 Reset state"); if (InChild) finis(); @@ -394,14 +394,14 @@ smtp(e) if (bitset(vrfy ? PRIV_NOVRFY : PRIV_NOEXPN, PrivacyFlags)) { - message("502", "That's none of your business"); + message("502 That's none of your business"); break; } else if (!gothello && bitset(vrfy ? PRIV_NEEDVRFYHELO : PRIV_NEEDEXPNHELO, PrivacyFlags)) { - message("503", "I demand that you introduce yourself first"); + message("503 I demand that you introduce yourself first"); break; } if (runinchild(vrfy ? "SMTP-VRFY" : "SMTP-EXPN", e) > 0) @@ -419,11 +419,11 @@ smtp(e) break; case CMDNOOP: /* noop -- do nothing */ - message("200", "OK"); + message("200 OK"); break; case CMDQUIT: /* quit -- leave mail */ - message("221", "%s closing connection", MyHostName); + message("221 %s closing connection", MyHostName); if (InChild) ExitStat = EX_QUIT; finis(); @@ -431,12 +431,12 @@ smtp(e) case CMDVERB: /* set verbose mode */ Verbose = TRUE; SendMode = SM_DELIVER; - message("200", "Verbose mode"); + message("200 Verbose mode"); break; case CMDONEX: /* doing one transaction only */ OneXact = TRUE; - message("200", "Only one transaction"); + message("200 Only one transaction"); break; # ifdef SMTPDEBUG @@ -448,7 +448,7 @@ smtp(e) case CMDDBGDEBUG: /* set debug mode */ tTsetup(tTdvect, sizeof tTdvect, "0-99.1"); tTflag(p); - message("200", "Debug set"); + message("200 Debug set"); break; # else /* not SMTPDEBUG */ @@ -466,12 +466,12 @@ smtp(e) # endif /* SMTPDEBUG */ case CMDERROR: /* unknown command */ - message("500", "Command unrecognized"); + message("500 Command unrecognized"); break; default: errno = 0; - syserr("smtp: unknown code %d", c->cmdcode); + syserr("500 smtp: unknown code %d", c->cmdcode); break; } } @@ -511,7 +511,7 @@ skipword(p, w) if (*p != ':') { syntax: - message("501", "Syntax error"); + message("501 Syntax error"); Errors++; return (NULL); } @@ -526,6 +526,41 @@ skipword(p, w) return (p); } /* +** PRINTVRFYADDR -- print an entry in the verify queue +** +** Parameters: +** a -- the address to print +** last -- set if this is the last one. +** +** Returns: +** none. +** +** Side Effects: +** Prints the appropriate 250 codes. +*/ + +printvrfyaddr(a, last) + register ADDRESS *a; + bool last; +{ + char fmtbuf[20]; + + strcpy(fmtbuf, "250"); + fmtbuf[3] = last ? ' ' : '-'; + + if (strchr(a->q_paddr, '<') != NULL) + strcpy(&fmtbuf[4], "%s"); + else if (a->q_fullname == NULL) + strcpy(&fmtbuf[4], "<%s>"); + else + { + strcpy(&fmtbuf[4], "%s <%s>"); + message(fmtbuf, a->q_fullname, a->q_paddr); + return; + } + message(fmtbuf, a->q_paddr); +} + /* ** HELP -- implement the HELP command. ** ** Parameters: @@ -550,7 +585,7 @@ help(topic) { /* no help */ errno = 0; - message("502", "HELP not implemented"); + message("502 HELP not implemented"); return; } @@ -574,15 +609,15 @@ help(topic) else p++; fixcrlf(p, TRUE); - message("214-", p); + message("214-%s", p); noinfo = FALSE; } } if (noinfo) - message("504", "HELP topic unknown"); + message("504 HELP topic unknown"); else - message("214", "End of HELP info"); + message("214 End of HELP info"); (void) fclose(hf); } /* diff --git a/usr/src/usr.sbin/sendmail/src/udb.c b/usr/src/usr.sbin/sendmail/src/udb.c index fc808d33ee..30a257d0e8 100644 --- a/usr/src/usr.sbin/sendmail/src/udb.c +++ b/usr/src/usr.sbin/sendmail/src/udb.c @@ -8,9 +8,9 @@ #ifndef lint #ifdef USERDB -static char sccsid [] = "@(#)udb.c 6.10 (Berkeley) %G% (with USERDB)"; +static char sccsid [] = "@(#)udb.c 6.11 (Berkeley) %G% (with USERDB)"; #else -static char sccsid [] = "@(#)udb.c 6.10 (Berkeley) %G% (without USERDB)"; +static char sccsid [] = "@(#)udb.c 6.11 (Berkeley) %G% (without USERDB)"; #endif #endif @@ -195,7 +195,7 @@ udbexpand(a, sendq, e) bcopy(info.data, user, info.size); user[info.size] = '\0'; - message(Arpa_Info, "expanded to %s", user); + message("expanded to %s", user); #ifdef LOG if (LogLevel >= 10) syslog(LOG_INFO, "%s: expand %s => %s", @@ -241,7 +241,7 @@ udbexpand(a, sendq, e) else user = xalloc(i + 1); (void) sprintf(user, "%s@%s", a->q_user, up->udb_fwdhost); - message(Arpa_Info, "expanded to %s", user); + message("expanded to %s", user); a->q_flags &= ~QSELFREF; AliasLevel++; naddrs = sendtolist(user, a, sendq, e); diff --git a/usr/src/usr.sbin/sendmail/src/usersmtp.c b/usr/src/usr.sbin/sendmail/src/usersmtp.c index 6b3d4e93f5..1e98d4e36c 100644 --- a/usr/src/usr.sbin/sendmail/src/usersmtp.c +++ b/usr/src/usr.sbin/sendmail/src/usersmtp.c @@ -10,9 +10,9 @@ #ifndef lint #ifdef SMTP -static char sccsid[] = "@(#)usersmtp.c 6.13 (Berkeley) %G% (with SMTP)"; +static char sccsid[] = "@(#)usersmtp.c 6.14 (Berkeley) %G% (with SMTP)"; #else -static char sccsid[] = "@(#)usersmtp.c 6.13 (Berkeley) %G% (without SMTP)"; +static char sccsid[] = "@(#)usersmtp.c 6.14 (Berkeley) %G% (without SMTP)"; #endif #endif /* not lint */ @@ -90,7 +90,7 @@ smtpinit(m, mci, e) /* fall through */ case MCIS_CLOSED: - syserr("smtpinit: state CLOSED"); + syserr("451 smtpinit: state CLOSED"); return; case MCIS_OPENING: @@ -347,7 +347,7 @@ smtpdata(m, mci, e) /* terminate the message */ fprintf(mci->mci_out, ".%s", m->m_eol); if (Verbose) - nmessage(Arpa_Info, ">>> ."); + nmessage(">>> ."); /* check for the results of the transaction */ SmtpPhase = mci->mci_phase = "result wait"; @@ -406,7 +406,7 @@ smtpquit(m, mci, e) /* now actually close the connection and pick up the zombie */ i = endmailer(mci, m->m_argv[0]); if (i != EX_OK) - syserr("smtpquit %s: stat %d", m->m_argv[0], i); + syserr("451 smtpquit %s: stat %d", m->m_argv[0], i); } /* ** SMTPRSET -- send a RSET (reset) command @@ -501,7 +501,6 @@ reply(m, mci, e, timeout) if (p == NULL) { extern char MsgBuf[]; /* err.c */ - extern char Arpa_TSyserr[]; /* conf.c */ /* if the remote end closed early, fake an error */ if (errno == 0) @@ -513,7 +512,7 @@ reply(m, mci, e, timeout) mci->mci_errno = errno; mci->mci_exitstat = EX_TEMPFAIL; - message(Arpa_TSyserr, "%s: reply: read error from %s", + message("451 %s: reply: read error from %s", e->e_id == NULL ? "NOQUEUE" : e->e_id, mci->mci_host); /* if debugging, pause so we can see state */ @@ -542,7 +541,7 @@ reply(m, mci, e, timeout) /* display the input for verbose mode */ if (Verbose) - nmessage(Arpa_Info, "%s", SmtpReplyBuffer); + nmessage("%s", SmtpReplyBuffer); /* if continuation is required, we can go on */ if (SmtpReplyBuffer[3] == '-' || @@ -603,7 +602,7 @@ smtpmessage(f, m, mci, va_alist) (void) vsprintf(SmtpMsgBuffer, f, ap); VA_END; if (tTd(18, 1) || Verbose) - nmessage(Arpa_Info, ">>> %s", SmtpMsgBuffer); + nmessage(">>> %s", SmtpMsgBuffer); if (mci->mci_out != NULL) fprintf(mci->mci_out, "%s%s", SmtpMsgBuffer, m == NULL ? "\r\n" : m->m_eol); -- 2.20.1