version 1.30, 2004/04/20 23:21:23 |
version 1.31, 2004/05/10 20:05:48 |
|
|
usage(); |
usage(); |
} |
} |
|
|
if (op == NEWSH) { |
|
/* protect p_shell -- it thinks NULL is /bin/sh */ |
|
if (!arg[0]) |
|
usage(); |
|
if (p_shell(arg, pw, NULL)) |
|
pw_error(NULL, 0, 1); |
|
} |
|
|
|
if (op == LOADENTRY) { |
if (op == LOADENTRY) { |
if (uid) |
if (uid) |
baduser(); |
baduser(); |
|
|
pw_error(tempname, 1, 1); |
pw_error(tempname, 1, 1); |
break; |
break; |
} |
} |
|
} |
|
|
|
if (op == NEWSH) { |
|
/* protect p_shell -- it thinks NULL is /bin/sh */ |
|
if (!arg[0]) |
|
usage(); |
|
if (p_shell(arg, pw, NULL)) |
|
pw_error(NULL, 0, 1); |
} |
} |
|
|
/* Drop user's real uid and block all signals to avoid a DoS. */ |
/* Drop user's real uid and block all signals to avoid a DoS. */ |