1 #include "hasshsgr.h" 2 #include "prot.h" 3 4 /* XXX: there are more portability problems here waiting to leap out at me */ 5 prot_gid(gid)6int 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 prot_uid(uid)18int prot_uid(uid) int uid; 19 { 20 return setuid(uid); 21 } 22