summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/sysexits.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2008-08-28 02:25:51 +0000
committerpeter <peter@FreeBSD.org>2008-08-28 02:25:51 +0000
commitea50d71feb02a78d4d5fa746a26ca7ddc6e8cb19 (patch)
treedaf40952cf309641cc6c7d987989fd2abce2d758 /contrib/sendmail/src/sysexits.c
parenta2b986fa722f9860a6c56bb5cc724b7e2937d1b7 (diff)
downloadFreeBSD-src-ea50d71feb02a78d4d5fa746a26ca7ddc6e8cb19.zip
FreeBSD-src-ea50d71feb02a78d4d5fa746a26ca7ddc6e8cb19.tar.gz
Stage 1 of sendmail dist tree flattening. contrib/sendmail/contrib
prevents doing this in one pass.
Diffstat (limited to 'contrib/sendmail/src/sysexits.c')
-rw-r--r--contrib/sendmail/src/sysexits.c167
1 files changed, 0 insertions, 167 deletions
diff --git a/contrib/sendmail/src/sysexits.c b/contrib/sendmail/src/sysexits.c
deleted file mode 100644
index 990ffe3..0000000
--- a/contrib/sendmail/src/sysexits.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers.
- * All rights reserved.
- * Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
- * Copyright (c) 1988, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * By using this file, you agree to the terms and conditions set
- * forth in the LICENSE file which can be found at the top level of
- * the sendmail distribution.
- *
- */
-
-#include <sendmail.h>
-
-SM_RCSID("@(#)$Id: sysexits.c,v 8.34 2002/09/09 02:43:00 gshapiro Exp $")
-
-/*
-** DSNTOEXITSTAT -- convert DSN-style error code to EX_ style.
-**
-** Parameters:
-** dsncode -- the text of the DSN-style code.
-**
-** Returns:
-** The corresponding exit status.
-*/
-
-int
-dsntoexitstat(dsncode)
- char *dsncode;
-{
- int code2, code3;
-
- /* first the easy cases.... */
- if (*dsncode == '2')
- return EX_OK;
- if (*dsncode == '4')
- return EX_TEMPFAIL;
-
- /* reject other illegal values */
- if (*dsncode != '5')
- return EX_CONFIG;
-
- /* now decode the other two field parts */
- if (*++dsncode == '.')
- dsncode++;
- code2 = atoi(dsncode);
- while (*dsncode != '\0' && *dsncode != '.')
- dsncode++;
- if (*dsncode != '\0')
- dsncode++;
- code3 = atoi(dsncode);
-
- /* and do a nested switch to work them out */
- switch (code2)
- {
- case 0: /* Other or Undefined status */
- return EX_UNAVAILABLE;
-
- case 1: /* Address Status */
- switch (code3)
- {
- case 0: /* Other Address Status */
- return EX_DATAERR;
-
- case 1: /* Bad destination mailbox address */
- case 6: /* Mailbox has moved, No forwarding address */
- return EX_NOUSER;
-
- case 2: /* Bad destination system address */
- case 8: /* Bad senders system address */
- return EX_NOHOST;
-
- case 3: /* Bad destination mailbox address syntax */
- case 7: /* Bad senders mailbox address syntax */
- return EX_USAGE;
-
- case 4: /* Destination mailbox address ambiguous */
- return EX_UNAVAILABLE;
-
- case 5: /* Destination address valid */
- /* According to RFC1893, this can't happen */
- return EX_CONFIG;
- }
- break;
-
- case 2: /* Mailbox Status */
- switch (code3)
- {
- case 0: /* Other or Undefined mailbox status */
- case 1: /* Mailbox disabled, not accepting messages */
- case 2: /* Mailbox full */
- case 4: /* Mailing list expansion problem */
- return EX_UNAVAILABLE;
-
- case 3: /* Message length exceeds administrative lim */
- return EX_DATAERR;
- }
- break;
-
- case 3: /* System Status */
- return EX_OSERR;
-
- case 4: /* Network and Routing Status */
- switch (code3)
- {
- case 0: /* Other or undefined network or routing stat */
- return EX_IOERR;
-
- case 1: /* No answer from host */
- case 3: /* Routing server failure */
- case 5: /* Network congestion */
- return EX_TEMPFAIL;
-
- case 2: /* Bad connection */
- return EX_IOERR;
-
- case 4: /* Unable to route */
- return EX_PROTOCOL;
-
- case 6: /* Routing loop detected */
- return EX_CONFIG;
-
- case 7: /* Delivery time expired */
- return EX_UNAVAILABLE;
- }
- break;
-
- case 5: /* Protocol Status */
- return EX_PROTOCOL;
-
- case 6: /* Message Content or Media Status */
- return EX_UNAVAILABLE;
-
- case 7: /* Security Status */
- return EX_DATAERR;
- }
- return EX_UNAVAILABLE;
-}
-/*
-** EXITSTAT -- convert EX_ value to error text.
-**
-** Parameters:
-** excode -- rstatus which might consists of an EX_* value.
-**
-** Returns:
-** The corresponding error text or the original string.
-*/
-
-char *
-exitstat(excode)
- char *excode;
-{
- char *c;
- int i;
- char *exitmsg;
-
- if (excode == NULL || *excode == '\0')
- return excode;
- i = (int) strtol(excode, &c, 10);
- if (*c != '\0')
- return excode;
- exitmsg = sm_sysexitmsg(i);
- if (exitmsg != NULL)
- return exitmsg;
- return excode;
-}
OpenPOWER on IntegriCloud