diff options
| author | bwarsaw | 1999-02-27 19:34:41 +0000 |
|---|---|---|
| committer | bwarsaw | 1999-02-27 19:34:41 +0000 |
| commit | 7f7bbbce64c85d1b53d0c3a07f44d5c0d255d626 (patch) | |
| tree | 8357dc3162ff52db553f657445b495509f88eb6d /src | |
| parent | 11876c7e858e48857942ddcb4f8928bf82f4c893 (diff) | |
| download | mailman-7f7bbbce64c85d1b53d0c3a07f44d5c0d255d626.tar.gz mailman-7f7bbbce64c85d1b53d0c3a07f44d5c0d255d626.tar.zst mailman-7f7bbbce64c85d1b53d0c3a07f44d5c0d255d626.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/common.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/common.c b/src/common.c index 9de44907a..16685b28e 100644 --- a/src/common.c +++ b/src/common.c @@ -56,7 +56,7 @@ char* strerror(int errno) /* Report on errors and exit */ void -fatal(const char* ident, const char* format, ...) +fatal(const char* ident, int exitcode, const char* format, ...) { char log_entry[1024]; @@ -95,7 +95,7 @@ fatal(const char* ident, const char* format, ...) printf("</pre>\n"); } #endif /* HELPFUL */ - exit(1); + exit(exitcode); } @@ -107,10 +107,10 @@ check_caller(const char* ident, gid_t parentgid) { gid_t mygid = getgid(); if (parentgid != mygid) { - fatal(ident, - "Failure to exec script. WANTED gid %d, GOT gid %d. " - "(Reconfigure to take %d?)", - parentgid, mygid, mygid); + fatal(ident, GID_MISMATCH, + "Failure to exec script. WANTED gid %d, GOT gid %d. " + "(Reconfigure to take %d?)", + parentgid, mygid, mygid); } } @@ -142,7 +142,7 @@ run_script(const char* script, int argc, char** argv, char** env) #ifdef HAVE_SETREGID status = setregid(getegid(), -1); if (status) - fatal(logident, "%s", strerror(errno)); + fatal(logident, SETREGID_FAILURE, "%s", strerror(errno)); #endif /* HAVE_SETREGID */ /* We want to tightly control how the CGI scripts get executed. @@ -213,8 +213,9 @@ run_script(const char* script, int argc, char** argv, char** env) newargv[i] = NULL; - status = execve(python, &newargv[0], &newenv[0]); - return status; + /* return always means failure */ + (void)execve(python, &newargv[0], &newenv[0]); + return EXECVE_FAILURE; } |
