diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-01-01 18:48:34 -0500 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-01-01 18:48:34 -0500 |
commit | 2269cfda301f0187d41b7b42e5f57f5783afdc11 (patch) | |
tree | 97ad0638c69476d4bbc3b9482a9d8aa293ebf213 | |
parent | 5693776ae4f48ee55ea4affa9c060a95dcc4b1be (diff) | |
download | ikiwiki-2269cfda301f0187d41b7b42e5f57f5783afdc11.tar ikiwiki-2269cfda301f0187d41b7b42e5f57f5783afdc11.tar.gz |
* Split error messages for failures to drop real uid and gid.
* Retry dropping uid and gid, possibly this will help with the "Resource
temporarily unavailable" failures I've experienced under xen.
-rw-r--r-- | IkiWiki/Wrapper.pm | 10 | ||||
-rw-r--r-- | debian/changelog | 8 |
2 files changed, 16 insertions, 2 deletions
diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index dcf3e5c36..16e5bd350 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -91,8 +91,14 @@ $envsave newenviron[i]=NULL; environ=newenviron; - if (setregid(getegid(), -1) != 0 || setreuid(geteuid(), -1) != 0) { - perror("failed to drop real uid/gid"); + if (setregid(getegid(), -1) != 0 && + setregid(getegid(), -1) != 0) { + perror("failed to drop real gid"); + exit(1); + } + if (setreuid(geteuid(), -1) != 0 && + setreuid(geteuid(), -1) != 0) { + perror("failed to drop real uid"); exit(1); } diff --git a/debian/changelog b/debian/changelog index 640192d55..1fe89256c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +ikiwiki (2.18) UNRELEASED; urgency=low + + * Split error messages for failures to drop real uid and gid. + * Retry dropping uid and gid, possibly this will help with the "Resource + temporarily unavailable" failures I've experienced under xen. + + -- Joey Hess <joeyh@debian.org> Tue, 01 Jan 2008 18:46:59 -0500 + ikiwiki (2.17) unstable; urgency=low * Improved parentlinks special case for index pages. |