martin 99/07/26 00:21:37
Modified: src/os/bs2000 bs2login.c Log: When BS2000 ufork() fails because of EPERM, there's no use in retrying. Bail out. Revision Changes Path 1.10 +12 -0 apache-1.3/src/os/bs2000/bs2login.c Index: bs2login.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/os/bs2000/bs2login.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- bs2login.c 1999/01/28 18:27:21 1.9 +++ bs2login.c 1999/07/26 07:21:36 1.10 @@ -255,6 +255,7 @@ pid_t os_fork(const char *user) { pid_t pid; + char username[USER_LEN+1]; switch (os_forktype()) { case bs2_FORK: @@ -267,7 +268,18 @@ break; case bs2_UFORK: + ap_cpystrn(username, user, sizeof username); + + /* Make user name all upper case - for some versions of ufork() */ + ap_str_toupper(username); + pid = ufork(user); + if (pid == -1 && errno == EPERM) { + ap_log_error(APLOG_MARK, APLOG_EMERG, + NULL, "ufork: Possible mis-configuration " + "for user %s - Aborting.", user); + clean_parent_exit(1); + } break; default: