summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/NEWS1
-rw-r--r--perl-install/run_program.pm5
2 files changed, 6 insertions, 0 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index 90c6f05ae..785362668 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,6 +1,7 @@
- distinct exceptions from segfaults, thus restoring catching SIGSEGV
and preventing looping while segfaulting again
- fix loading of tifm_sd module (#18237)
+- run_program layer: enable to drop privileges through setuid()
- drakbug:
o run the regular user browser (#33522)
diff --git a/perl-install/run_program.pm b/perl-install/run_program.pm
index 3c7e556dd..11ebc2289 100644
--- a/perl-install/run_program.pm
+++ b/perl-install/run_program.pm
@@ -109,6 +109,11 @@ sub raw {
$ok;
}
} else {
+ if ($options->{setuid}) {
+ require POSIX;
+ POSIX::setuid($options->{set_uid});
+ }
+
sub die_exit {
log::l($_[0]);
c::_exit(128);