Commit | Line | Data |
---|---|---|
1 | #include "hasshsgr.h" | |
2 | #include "prot.h" | |
3 | ||
4 | /* XXX: there are more portability problems here waiting to leap out at me */ | |
5 | ||
6 | int prot_gid(gid) int gid; | |
7 | { | |
8 | #ifdef HASSHORTSETGROUPS | |
9 | short x[2]; | |
10 | x[0] = gid; x[1] = 73; /* catch errors */ | |
11 | if (setgroups(1,x) == -1) return -1; | |
12 | #else | |
13 | if (setgroups(1,&gid) == -1) return -1; | |
14 | #endif | |
15 | return setgid(gid); /* _should_ be redundant, but on some systems it isn't */ | |
16 | } | |
17 | ||
18 | int prot_uid(uid) int uid; | |
19 | { | |
20 | return setuid(uid); | |
21 | } |