From fbf4af3a43b44258037dbd657efe828419f6ba45 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 23 Jan 2011 17:58:52 -0500 Subject: [PATCH] * movemail.c (main): Use setregid, as setegid is missing on HP-UX (Bug#6811). Suggested by Peter O'Gorman. --- lib-src/ChangeLog | 5 +++++ lib-src/movemail.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 421bdc06a4..aa5ae5ba7e 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2011-01-23 Chong Yidong + + * movemail.c (main): Use setregid instead of setegid, which is + missing on older systems. Suggested by Peter O'Gorman (Bug#6811). + 2011-01-02 Glenn Morris * ebrowse.c (version) : diff --git a/lib-src/movemail.c b/lib-src/movemail.c index 3aebf79c6c..5fcc6de17a 100644 --- a/lib-src/movemail.c +++ b/lib-src/movemail.c @@ -360,7 +360,7 @@ main (argc, argv) time_t touched_lock, now; #endif - if (setuid (getuid ()) < 0 || setegid (real_gid) < 0) + if (setuid (getuid ()) < 0 || setregid (-1, real_gid) < 0) fatal ("Failed to drop privileges", 0, 0); #ifndef MAIL_USE_MMDF @@ -387,7 +387,7 @@ main (argc, argv) if (outdesc < 0) pfatal_with_name (outname); - if (setegid (priv_gid) < 0) + if (setregid (-1, priv_gid) < 0) fatal ("Failed to regain privileges", 0, 0); /* This label exists so we can retry locking @@ -484,7 +484,7 @@ main (argc, argv) #endif /* Prevent symlink attacks truncating other users' mailboxes */ - if (setegid (real_gid) < 0) + if (setregid (-1, real_gid) < 0) fatal ("Failed to drop privileges", 0, 0); /* Check to make sure no errors before we zap the inbox. */ @@ -519,7 +519,7 @@ main (argc, argv) #endif /* not MAIL_USE_SYSTEM_LOCK */ /* End of mailbox truncation */ - if (setegid (priv_gid) < 0) + if (setregid (-1, priv_gid) < 0) fatal ("Failed to regain privileges", 0, 0); #ifdef MAIL_USE_MAILLOCK -- 2.20.1