diff options
author | Tim Rice <tim@multitalents.net> | 2002-04-21 11:26:10 -0700 |
---|---|---|
committer | Tim Rice <tim@multitalents.net> | 2002-04-21 11:26:10 -0700 |
commit | f02dccc0dc5711d5bdfb45f92a2f1bba41e365f0 (patch) | |
tree | db24726055f610d63839c5f1c6bcfb0f72e5d35a | |
parent | a370f4dcc6ae04c430ad97c28a2bd945c2350120 (diff) |
[entropy.c.] Portability fix for SCO Unix 3.2v4.x (SCO OSR 3.0).
entropy.c needs seteuid(getuid()) for the setuid(original_uid) to succeed.
Patch by gert@greenie.muc.de. This fixes one part of Bug 208
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | entropy.c | 9 |
2 files changed, 11 insertions, 5 deletions
@@ -1,3 +1,8 @@ +20020421 + - (tim) [entropy.c.] Portability fix for SCO Unix 3.2v4.x (SCO OSR 3.0). + entropy.c needs seteuid(getuid()) for the setuid(original_uid) to succeed. + Patch by gert@greenie.muc.de. This fixes one part of Bug 208 + 20020418 - (djm) Avoid SIGCHLD breakage when run from rsync. Fix from Sturle Sunde <sturle.sunde@usit.uio.no> @@ -8258,4 +8263,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.2060 2002/04/18 12:53:22 djm Exp $ +$Id: ChangeLog,v 1.2061 2002/04/21 18:26:10 tim Exp $ @@ -45,7 +45,7 @@ * XXX: we should tell the child how many bytes we need. */ -RCSID("$Id: entropy.c,v 1.42 2002/04/18 12:53:27 djm Exp $"); +RCSID("$Id: entropy.c,v 1.43 2002/04/21 18:26:10 tim Exp $"); #ifndef OPENSSL_PRNG_ONLY #define RANDOM_SEED_SIZE 48 @@ -87,9 +87,10 @@ seed_rng(void) close(devnull); if (original_uid != original_euid && - setuid(original_uid) == -1) { - fprintf(stderr, "(rand child) setuid: %s\n", - strerror(errno)); + ( seteuid(getuid()) == -1 || + setuid(original_uid) == -1) ) { + fprintf(stderr, "(rand child) setuid(%d): %s\n", + original_uid, strerror(errno)); _exit(1); } |