From 69aec538b456402170dc723af417ba5c05389c32 Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 4 Feb 2013 00:08:53 +0100 Subject: qmail 1.03 import --- prot.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 prot.c (limited to 'prot.c') diff --git a/prot.c b/prot.c new file mode 100644 index 0000000..a38e0f9 --- /dev/null +++ b/prot.c @@ -0,0 +1,21 @@ +#include "hasshsgr.h" +#include "prot.h" + +/* XXX: there are more portability problems here waiting to leap out at me */ + +int prot_gid(gid) int gid; +{ +#ifdef HASSHORTSETGROUPS + short x[2]; + x[0] = gid; x[1] = 73; /* catch errors */ + if (setgroups(1,x) == -1) return -1; +#else + if (setgroups(1,&gid) == -1) return -1; +#endif + return setgid(gid); /* _should_ be redundant, but on some systems it isn't */ +} + +int prot_uid(uid) int uid; +{ + return setuid(uid); +} -- cgit v1.2.3