--- maildrop/maildrop.C.orig	2003-03-07 03:41:11.000000000 -0500
+++ maildrop/maildrop.C	2003-03-07 03:42:51.000000000 -0500
@@ -13,6 +13,7 @@
 #endif
 
 extern void killprocgroup();
+extern int errexit;
 
 static const char rcsid[]="$Id: maildrop.C,v 1.6 2000/12/16 20:55:35 mrsam Exp $";
 
@@ -81,7 +82,7 @@
 		syslog(LOG_INFO, p);
 #endif
 		cleanup();
-		return (EX_TEMPFAIL);
+		return (errexit);
 	}
 #if NEED_NONCONST_EXCEPTIONS
 	catch (char *p)
@@ -91,7 +92,7 @@
 		syslog(LOG_INFO, p);
 #endif
 		cleanup();
-		return (EX_TEMPFAIL);
+		return (errexit);
 	}
 #endif
 	catch (int n)
@@ -106,6 +107,6 @@
 		syslog(LOG_INFO, "Internal error.");
 #endif
 		cleanup();
-		return (EX_TEMPFAIL);
+		return (errexit);
 	}
 }
--- maildrop/main.C.orig	2003-03-07 03:47:12.000000000 -0500
+++ maildrop/main.C	2003-03-07 03:47:35.000000000 -0500
@@ -55,7 +55,7 @@
 
 static Message m1, m2;
 extern char **environ;
-static int errexit=EX_TEMPFAIL;
+int errexit=EX_TEMPFAIL;
 int quota_warn_percent = -1;
 static const char *defaults_vars[]={"LOCKEXT","LOCKSLEEP","LOCKTIMEOUT",
 					"LOCKREFRESH", "PATH", "SENDMAIL",
@@ -91,7 +91,7 @@
 
 static void nouser()
 {
-	errexit=EX_TEMPFAIL;
+	errexit=EX_NOUSER;
 	throw "Invalid user specified.";
 }
 

