don't automatically print errno in usrerr -- it can be too misleading
authorEric Allman <eric@ucbvax.Berkeley.EDU>
Sun, 7 Mar 1993 02:52:59 +0000 (18:52 -0800)
committerEric Allman <eric@ucbvax.Berkeley.EDU>
Sun, 7 Mar 1993 02:52:59 +0000 (18:52 -0800)
SCCS-vsn: usr.sbin/sendmail/src/sysexits.c 6.2
SCCS-vsn: usr.sbin/sendmail/src/recipient.c 6.24
SCCS-vsn: usr.sbin/sendmail/src/err.c 6.7
SCCS-vsn: usr.sbin/sendmail/src/deliver.c 6.39

usr/src/usr.sbin/sendmail/src/deliver.c
usr/src/usr.sbin/sendmail/src/err.c
usr/src/usr.sbin/sendmail/src/recipient.c
usr/src/usr.sbin/sendmail/src/sysexits.c

index 74ab31c..7d3e958 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)deliver.c  6.38 (Berkeley) %G%";
+static char sccsid[] = "@(#)deliver.c  6.39 (Berkeley) %G%";
 #endif /* not lint */
 
 #include "sendmail.h"
 #endif /* not lint */
 
 #include "sendmail.h"
@@ -1121,11 +1121,11 @@ giveresponse(stat, m, mci, e)
        */
 
        if (stat == EX_OK || stat == EX_TEMPFAIL)
        */
 
        if (stat == EX_OK || stat == EX_TEMPFAIL)
-               message(&statmsg[4]);
+               message(&statmsg[4], errstring(errno));
        else
        {
                Errors++;
        else
        {
                Errors++;
-               usrerr(statmsg);
+               usrerr(statmsg, errstring(errno));
        }
 
        /*
        }
 
        /*
index c509cbd..0645fd9 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)err.c      6.6 (Berkeley) %G%";
+static char sccsid[] = "@(#)err.c      6.7 (Berkeley) %G%";
 #endif /* not lint */
 
 # include "sendmail.h"
 #endif /* not lint */
 
 # include "sendmail.h"
@@ -116,7 +116,7 @@ usrerr(fmt, va_alist)
                return;
 
        VA_START(fmt);
                return;
 
        VA_START(fmt);
-       fmtmsg(MsgBuf, CurEnv->e_to, "501", errno, fmt, ap);
+       fmtmsg(MsgBuf, CurEnv->e_to, "501", 0, fmt, ap);
        VA_END;
        puterrmsg(MsgBuf);
 
        VA_END;
        puterrmsg(MsgBuf);
 
index 30269c1..52a77e2 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)recipient.c        6.23 (Berkeley) %G%";
+static char sccsid[] = "@(#)recipient.c        6.24 (Berkeley) %G%";
 #endif /* not lint */
 
 # include "sendmail.h"
 #endif /* not lint */
 
 # include "sendmail.h"
@@ -669,7 +669,7 @@ include(fname, forwarding, ctladdr, sendq, e)
                int ret = errno;
 
                clrevent(ev);
                int ret = errno;
 
                clrevent(ev);
-               usrerr("550 Cannot open %s", fname);
+               usrerr("550 Cannot open %s: %s", fname, errstring(ret));
                return ret;
        }
 
                return ret;
        }
 
index 5529ec2..c9ecbed 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)sysexits.c 6.1 (Berkeley) %G%";
+static char sccsid[] = "@(#)sysexits.c 6.2 (Berkeley) %G%";
 #endif /* not lint */
 
 #include <sysexits.h>
 #endif /* not lint */
 
 #include <sysexits.h>
@@ -18,45 +18,19 @@ static char sccsid[] = "@(#)sysexits.c      6.1 (Berkeley) %G%";
 char *SysExMsg[] = {
        /* 64 USAGE */          "500 Bad usage",
        /* 65 DATAERR */        "501 Data format error",
 char *SysExMsg[] = {
        /* 64 USAGE */          "500 Bad usage",
        /* 65 DATAERR */        "501 Data format error",
-       /* 66 NOINPUT */        "550 Cannot open input",
+       /* 66 NOINPUT */        "550 Cannot open input: %s",
        /* 67 NOUSER */         "550 User unknown",
        /* 68 NOHOST */         "550 Host unknown",
        /* 69 UNAVAILABLE */    "554 Service unavailable",
        /* 67 NOUSER */         "550 User unknown",
        /* 68 NOHOST */         "550 Host unknown",
        /* 69 UNAVAILABLE */    "554 Service unavailable",
-       /* 70 SOFTWARE */       "554 Internal error",
-       /* 71 OSERR */          "451 Operating system error",
-       /* 72 OSFILE */         "554 System file missing",
-       /* 73 CANTCREAT */      "550 Can't create output",
-       /* 74 IOERR */          "451 I/O error",
+       /* 70 SOFTWARE */       "554 Internal error: %s",
+       /* 71 OSERR */          "451 Operating system error: %s",
+       /* 72 OSFILE */         "554 System file missing: %s",
+       /* 73 CANTCREAT */      "550 Can't create output: %s",
+       /* 74 IOERR */          "451 I/O error: %s",
        /* 75 TEMPFAIL */       "250 Deferred",
        /* 76 PROTOCOL */       "554 Remote protocol error",
        /* 75 TEMPFAIL */       "250 Deferred",
        /* 76 PROTOCOL */       "554 Remote protocol error",
-       /* 77 NOPERM */         "550 Insufficient permission",
+       /* 77 NOPERM */         "550 Insufficient permission: %s",
        /* 78 CONFIG */         "554 Local configuration error",
 };
 
 int N_SysEx = sizeof(SysExMsg) / sizeof(SysExMsg[0]);
        /* 78 CONFIG */         "554 Local configuration error",
 };
 
 int N_SysEx = sizeof(SysExMsg) / sizeof(SysExMsg[0]);
-
-/*
- *  STATSTRING -- return string corresponding to an error status
- *
- *     Parameters:
- *             stat -- the status to decode.
- *
- *     Returns:
- *             The string corresponding to that status
- *
- *     Side Effects:
- *             none.
- */
-char *
-statstring(stat)
-       int stat;
-{
-       static char ebuf[50];
-
-       stat -= EX__BASE;
-       if (stat < 0 || stat >= N_SysEx) {
-               (void)sprintf(ebuf, "554 Unknown status %d", stat + EX__BASE);
-               return(ebuf);
-       }
-       return(SysExMsg[stat]);
-}