diff options
Diffstat (limited to 'contrib/sendmail/src/err.c')
-rw-r--r-- | contrib/sendmail/src/err.c | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/contrib/sendmail/src/err.c b/contrib/sendmail/src/err.c index 5825666..5a0b5b1 100644 --- a/contrib/sendmail/src/err.c +++ b/contrib/sendmail/src/err.c @@ -13,7 +13,7 @@ #include <sendmail.h> -SM_RCSID("@(#)$Id: err.c,v 8.196 2006/11/10 23:14:08 ca Exp $") +SM_RCSID("@(#)$Id: err.c,v 8.191 2003/01/10 02:16:46 ca Exp $") #if LDAPMAP # include <lber.h> @@ -109,7 +109,7 @@ fatal_error(exc) */ char MsgBuf[BUFSIZ*2]; /* text of most recent message */ -static char HeldMessageBuf[sizeof(MsgBuf)]; /* for held messages */ +static char HeldMessageBuf[sizeof MsgBuf]; /* for held messages */ #if NAMED_BIND && !defined(NO_DATA) # define NO_DATA NO_ADDRESS @@ -208,7 +208,7 @@ syserr(fmt, va_alist) else { user = ubuf; - (void) sm_snprintf(ubuf, sizeof(ubuf), "UID%d", (int) RealUid); + (void) sm_snprintf(ubuf, sizeof ubuf, "UID%d", (int) RealUid); } if (LogLevel > 0) @@ -320,9 +320,9 @@ usrerr(fmt, va_alist) { char buf[MAXLINE]; - (void) sm_snprintf(buf, sizeof(buf), + (void) sm_snprintf(buf, sizeof buf, "Postmaster warning: %.*s", - (int) sizeof(buf) - 22, errtxt); + (int) sizeof buf - 22, errtxt); CurEnv->e_message = sm_rpool_strdup_x(CurEnv->e_rpool, buf); } @@ -407,9 +407,9 @@ usrerrenh(enhsc, fmt, va_alist) { char buf[MAXLINE]; - (void) sm_snprintf(buf, sizeof(buf), + (void) sm_snprintf(buf, sizeof buf, "Postmaster warning: %.*s", - (int) sizeof(buf) - 22, errtxt); + (int) sizeof buf - 22, errtxt); CurEnv->e_message = sm_rpool_strdup_x(CurEnv->e_rpool, buf); } @@ -528,7 +528,8 @@ nmessage(msg, va_alist) case '5': if (CurEnv->e_rpool == NULL && CurEnv->e_message != NULL) sm_free(CurEnv->e_message); - CurEnv->e_message = sm_rpool_strdup_x(CurEnv->e_rpool, errtxt); + CurEnv->e_message = + sm_rpool_strdup_x(CurEnv->e_rpool, errtxt); break; } } @@ -557,9 +558,8 @@ putoutmsg(msg, holdmsg, heldmsg) bool holdmsg; bool heldmsg; { - char msgcode = msg[0]; char *errtxt = msg; - char *id; + char msgcode = msg[0]; /* display for debugging */ if (tTd(54, 8)) @@ -571,7 +571,6 @@ putoutmsg(msg, holdmsg, heldmsg) msg[0] = '5'; else if (msgcode == '8') msg[0] = '4'; - id = (CurEnv != NULL) ? CurEnv->e_id : NULL; /* output to transcript if serious */ if (!heldmsg && CurEnv != NULL && CurEnv->e_xfp != NULL && @@ -580,7 +579,7 @@ putoutmsg(msg, holdmsg, heldmsg) msg); if (LogLevel > 14 && (OpMode == MD_SMTP || OpMode == MD_DAEMON)) - sm_syslog(LOG_INFO, id, + sm_syslog(LOG_INFO, CurEnv->e_id, "--- %s%s%s", msg, holdmsg ? " (hold)" : "", heldmsg ? " (held)" : ""); @@ -596,7 +595,7 @@ putoutmsg(msg, holdmsg, heldmsg) msg[0] = msgcode; if (HeldMessageBuf[0] == '5' && msgcode == '4') return; - (void) sm_strlcpy(HeldMessageBuf, msg, sizeof(HeldMessageBuf)); + (void) sm_strlcpy(HeldMessageBuf, msg, sizeof HeldMessageBuf); return; } @@ -651,7 +650,7 @@ putoutmsg(msg, holdmsg, heldmsg) /* can't call syserr, 'cause we are using MsgBuf */ HoldErrs = true; if (LogLevel > 0) - sm_syslog(LOG_CRIT, id, + sm_syslog(LOG_CRIT, CurEnv->e_id, "SYSERR: putoutmsg (%s): error on output channel sending \"%s\": %s", CURHOSTNAME, shortenstring(msg, MAXSHORTSTR), sm_errstring(errno)); @@ -824,7 +823,7 @@ fmtmsg(eb, to, num, enhsc, eno, fmt, ap) { char del; int l; - int spaceleft = sizeof(MsgBuf); + int spaceleft = sizeof MsgBuf; char *errtxt; /* output the reply code */ @@ -837,13 +836,15 @@ fmtmsg(eb, to, num, enhsc, eno, fmt, ap) del = '-'; else del = ' '; +#if _FFR_SOFT_BOUNCE if (SoftBounce && num[0] == '5') { /* replace 5 by 4 */ (void) sm_snprintf(eb, spaceleft, "4%2.2s%c", num + 1, del); } else - (void) sm_snprintf(eb, spaceleft, "%3.3s%c", num, del); +#endif /* _FFR_SOFT_BOUNCE */ + (void) sm_snprintf(eb, spaceleft, "%3.3s%c", num, del); eb += 4; spaceleft -= 4; @@ -865,11 +866,13 @@ fmtmsg(eb, to, num, enhsc, eno, fmt, ap) eb += l; spaceleft -= l; } +#if _FFR_SOFT_BOUNCE if (SoftBounce && eb[-l] == '5') { /* replace 5 by 4 */ eb[-l] = '4'; } +#endif /* _FFR_SOFT_BOUNCE */ errtxt = eb; /* output the file name and line number */ @@ -1003,7 +1006,7 @@ sm_errstring(errnum) err = strerror(errnum); if (err == NULL) { - (void) sm_snprintf(errbuf, sizeof(errbuf), + (void) sm_snprintf(errbuf, sizeof errbuf, "Error %d", errnum); err = errbuf; } @@ -1047,14 +1050,14 @@ sm_errstring(errnum) case EHOSTDOWN: if (CurHostName == NULL) break; - (void) sm_snprintf(buf, sizeof(buf), "Host %s is down", + (void) sm_snprintf(buf, sizeof buf, "Host %s is down", shortenstring(CurHostName, MAXSHORTSTR)); return buf; case ECONNREFUSED: if (CurHostName == NULL) break; - (void) sm_strlcpyn(buf, sizeof(buf), 2, "Connection refused by ", + (void) sm_strlcpyn(buf, sizeof buf, 2, "Connection refused by ", shortenstring(CurHostName, MAXSHORTSTR)); return buf; @@ -1124,7 +1127,7 @@ sm_errstring(errnum) if (dnsmsg != NULL) { bp = buf; - bp += sm_strlcpy(bp, "Name server: ", sizeof(buf)); + bp += sm_strlcpy(bp, "Name server: ", sizeof buf); if (CurHostName != NULL) { (void) sm_strlcpyn(bp, SPACELEFT(buf, bp), 2, @@ -1144,7 +1147,7 @@ sm_errstring(errnum) err = strerror(errnum); if (err == NULL) { - (void) sm_snprintf(buf, sizeof(buf), "Error %d", errnum); + (void) sm_snprintf(buf, sizeof buf, "Error %d", errnum); return buf; } return err; @@ -1152,7 +1155,7 @@ sm_errstring(errnum) if (errnum > 0 && errnum < sys_nerr) return sys_errlist[errnum]; - (void) sm_snprintf(buf, sizeof(buf), "Error %d", errnum); + (void) sm_snprintf(buf, sizeof buf, "Error %d", errnum); return buf; #endif /* HASSTRERROR */ } |