summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--uidswap.c16
2 files changed, 12 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index c54b07cae..fba792775 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,9 @@
21 portforwarding). work by Dan Kaminsky <dankamin@cisco.com> and me. 21 portforwarding). work by Dan Kaminsky <dankamin@cisco.com> and me.
22 thanks to Dan for this great patch: use 'ssh -D 1080 host' and make 22 thanks to Dan for this great patch: use 'ssh -D 1080 host' and make
23 netscape use localhost:1080 as a socks proxy. 23 netscape use localhost:1080 as a socks proxy.
24 - markus@cvs.openbsd.org 2001/04/08 11:24:33
25 [uidswap.c]
26 KNF
24 27
2520010408 2820010408
26 - OpenBSD CVS Sync 29 - OpenBSD CVS Sync
@@ -4961,4 +4964,4 @@
4961 - Wrote replacements for strlcpy and mkdtemp 4964 - Wrote replacements for strlcpy and mkdtemp
4962 - Released 1.0pre1 4965 - Released 1.0pre1
4963 4966
4964$Id: ChangeLog,v 1.1084 2001/04/08 18:30:26 mouring Exp $ 4967$Id: ChangeLog,v 1.1085 2001/04/08 18:38:04 mouring Exp $
diff --git a/uidswap.c b/uidswap.c
index 7cfacd4a5..3786e276f 100644
--- a/uidswap.c
+++ b/uidswap.c
@@ -12,7 +12,7 @@
12 */ 12 */
13 13
14#include "includes.h" 14#include "includes.h"
15RCSID("$OpenBSD: uidswap.c,v 1.14 2001/04/06 21:00:16 markus Exp $"); 15RCSID("$OpenBSD: uidswap.c,v 1.15 2001/04/08 11:24:33 markus Exp $");
16 16
17#include "log.h" 17#include "log.h"
18#include "uidswap.h" 18#include "uidswap.h"
@@ -54,8 +54,8 @@ temporarily_use_uid(struct passwd *pw)
54 } 54 }
55 privileged = 1; 55 privileged = 1;
56 temporarily_use_uid_effective = 1; 56 temporarily_use_uid_effective = 1;
57 saved_egid = getegid(); 57 saved_egid = getegid();
58 saved_egroupslen = getgroups(NGROUPS_MAX, saved_egroups); 58 saved_egroupslen = getgroups(NGROUPS_MAX, saved_egroups);
59 if (saved_egroupslen < 0) 59 if (saved_egroupslen < 0)
60 fatal("getgroups: %.100s", strerror(errno)); 60 fatal("getgroups: %.100s", strerror(errno));
61 61
@@ -69,10 +69,10 @@ temporarily_use_uid(struct passwd *pw)
69 fatal("getgroups: %.100s", strerror(errno)); 69 fatal("getgroups: %.100s", strerror(errno));
70 } 70 }
71 /* Set the effective uid to the given (unprivileged) uid. */ 71 /* Set the effective uid to the given (unprivileged) uid. */
72 if (setgroups(user_groupslen, user_groups) < 0) 72 if (setgroups(user_groupslen, user_groups) < 0)
73 fatal("setgroups: %.100s", strerror(errno)); 73 fatal("setgroups: %.100s", strerror(errno));
74 pw->pw_gid = pw->pw_gid; 74 pw->pw_gid = pw->pw_gid;
75 if (setegid(pw->pw_gid) < 0) 75 if (setegid(pw->pw_gid) < 0)
76 fatal("setegid %u: %.100s", (u_int) pw->pw_gid, 76 fatal("setegid %u: %.100s", (u_int) pw->pw_gid,
77 strerror(errno)); 77 strerror(errno));
78 if (seteuid(pw->pw_uid) == -1) 78 if (seteuid(pw->pw_uid) == -1)
@@ -95,9 +95,9 @@ restore_uid(void)
95 /* Set the effective uid back to the saved uid. */ 95 /* Set the effective uid back to the saved uid. */
96 if (seteuid(saved_euid) < 0) 96 if (seteuid(saved_euid) < 0)
97 fatal("seteuid %u: %.100s", (u_int) saved_euid, strerror(errno)); 97 fatal("seteuid %u: %.100s", (u_int) saved_euid, strerror(errno));
98 if (setgroups(saved_egroupslen, saved_egroups) < 0) 98 if (setgroups(saved_egroupslen, saved_egroups) < 0)
99 fatal("setgroups: %.100s", strerror(errno)); 99 fatal("setgroups: %.100s", strerror(errno));
100 if (setegid(saved_egid) < 0) 100 if (setegid(saved_egid) < 0)
101 fatal("setegid %u: %.100s", (u_int) saved_egid, strerror(errno)); 101 fatal("setegid %u: %.100s", (u_int) saved_egid, strerror(errno));
102 temporarily_use_uid_effective = 0; 102 temporarily_use_uid_effective = 0;
103} 103}