diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2011-01-23 17:58:52 -0500 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2011-01-23 17:58:52 -0500 |
commit | fbf4af3a43b44258037dbd657efe828419f6ba45 (patch) | |
tree | f3f2f73c542ae4544cbb589f212eeded068aee2d /lib-src | |
parent | 19634648a609af92c97a084cd4d3ad3b10113c1d (diff) | |
download | emacs-fbf4af3a43b44258037dbd657efe828419f6ba45.tar.gz |
* movemail.c (main): Use setregid, as setegid is missing on HP-UX (Bug#6811).
Suggested by Peter O'Gorman.
Diffstat (limited to 'lib-src')
-rw-r--r-- | lib-src/ChangeLog | 5 | ||||
-rw-r--r-- | lib-src/movemail.c | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 421bdc06a43..aa5ae5ba7e6 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2011-01-23 Chong Yidong <cyd@stupidchicken.com> + + * 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 <rgm@gnu.org> * ebrowse.c (version) <emacs_copyright>: diff --git a/lib-src/movemail.c b/lib-src/movemail.c index 3aebf79c6c8..5fcc6de17a6 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 |