From c8928081a5a9cbfaf16b14d4db57476bda8e1189 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 4 Sep 2002 13:59:02 +0000 Subject: Cygwin port fix. svn path=/trunk/; revision=3692 --- sink.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sink.c') diff --git a/sink.c b/sink.c index ca2dc657..4e160206 100644 --- a/sink.c +++ b/sink.c @@ -937,6 +937,9 @@ static int open_mda_sink(struct query *ctl, struct msgblk *msg, #ifdef HAVE_SIGACTION struct sigaction sa_new; #endif /* HAVE_SIGACTION */ +#ifdef HAVE_SETEUID + uid_t orig_uid; +#endif /* HAVE_SETEUID */ struct idlist *idp; int length = 0, fromlen = 0, nameslen = 0; char *names = NULL, *before, *after, *from = NULL; @@ -1062,6 +1065,7 @@ static int open_mda_sink(struct query *ctl, struct msgblk *msg, * MDA creates properly. (The seteuid call is available * under all BSDs and Linux) */ + orig_uid = getuid(); seteuid(ctl->uid); #endif /* HAVE_SETEUID */ @@ -1071,7 +1075,7 @@ static int open_mda_sink(struct query *ctl, struct msgblk *msg, #ifdef HAVE_SETEUID /* this will fail quietly if we didn't start as root */ - seteuid(0); + seteuid(orig_uid); #endif /* HAVE_SETEUID */ if (!sinkfp) -- cgit v1.2.3