summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/err.c
diff options
context:
space:
mode:
authorgshapiro <gshapiro@FreeBSD.org>2007-04-09 01:38:51 +0000
committergshapiro <gshapiro@FreeBSD.org>2007-04-09 01:38:51 +0000
commit14e22b52d4375b164f9fa21c0ab3abd9837e823f (patch)
tree2a4f38ae8ba223f3bf2402f56d35c997e5af6db5 /contrib/sendmail/src/err.c
parent0a9c74f73599b0ca2981b57815b436d1f6de6191 (diff)
downloadFreeBSD-src-14e22b52d4375b164f9fa21c0ab3abd9837e823f.zip
FreeBSD-src-14e22b52d4375b164f9fa21c0ab3abd9837e823f.tar.gz
Import sendmail 8.14.1
Diffstat (limited to 'contrib/sendmail/src/err.c')
-rw-r--r--contrib/sendmail/src/err.c47
1 files changed, 22 insertions, 25 deletions
diff --git a/contrib/sendmail/src/err.c b/contrib/sendmail/src/err.c
index 5a0b5b1..5825666 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.191 2003/01/10 02:16:46 ca Exp $")
+SM_RCSID("@(#)$Id: err.c,v 8.196 2006/11/10 23:14:08 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,8 +528,7 @@ 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;
}
}
@@ -558,8 +557,9 @@ putoutmsg(msg, holdmsg, heldmsg)
bool holdmsg;
bool heldmsg;
{
- char *errtxt = msg;
char msgcode = msg[0];
+ char *errtxt = msg;
+ char *id;
/* display for debugging */
if (tTd(54, 8))
@@ -571,6 +571,7 @@ 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 &&
@@ -579,7 +580,7 @@ putoutmsg(msg, holdmsg, heldmsg)
msg);
if (LogLevel > 14 && (OpMode == MD_SMTP || OpMode == MD_DAEMON))
- sm_syslog(LOG_INFO, CurEnv->e_id,
+ sm_syslog(LOG_INFO, id,
"--- %s%s%s", msg, holdmsg ? " (hold)" : "",
heldmsg ? " (held)" : "");
@@ -595,7 +596,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;
}
@@ -650,7 +651,7 @@ putoutmsg(msg, holdmsg, heldmsg)
/* can't call syserr, 'cause we are using MsgBuf */
HoldErrs = true;
if (LogLevel > 0)
- sm_syslog(LOG_CRIT, CurEnv->e_id,
+ sm_syslog(LOG_CRIT, id,
"SYSERR: putoutmsg (%s): error on output channel sending \"%s\": %s",
CURHOSTNAME,
shortenstring(msg, MAXSHORTSTR), sm_errstring(errno));
@@ -823,7 +824,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 */
@@ -836,15 +837,13 @@ 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
-#endif /* _FFR_SOFT_BOUNCE */
- (void) sm_snprintf(eb, spaceleft, "%3.3s%c", num, del);
+ (void) sm_snprintf(eb, spaceleft, "%3.3s%c", num, del);
eb += 4;
spaceleft -= 4;
@@ -866,13 +865,11 @@ 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 */
@@ -1006,7 +1003,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;
}
@@ -1050,14 +1047,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;
@@ -1127,7 +1124,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,
@@ -1147,7 +1144,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;
@@ -1155,7 +1152,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 */
}
OpenPOWER on IntegriCloud