-void
-unprivileged ()
-{
- uid_t ruid, euid, suid;
- if (getresuid(&ruid, &euid, &suid) == -1) {
- cerr << "getresuid() failed.\n";
- }
- if (seteuid(ruid) == -1) {
- cerr << "seteuid() failed.\n";
- }
-}
-
-
-bool PrivilegeEscalator::test = false;
-
-PrivilegeEscalator::~PrivilegeEscalator ()
-{
- if (!test) {
- unprivileged ();
- }
-}
-
-PrivilegeEscalator::PrivilegeEscalator ()
-{
- if (!test) {
- int const r = seteuid(0);
- if (r < 0) {
- throw PrivilegeError (String::compose("seteuid() call failed with %1", errno));
- }
- }
-}
-