summaryrefslogtreecommitdiffstats
path: root/perl-install/run_program.pm
diff options
context:
space:
mode:
authorPascal Terjan <pterjan@mandriva.org>2010-02-11 16:45:45 +0000
committerPascal Terjan <pterjan@mandriva.org>2010-02-11 16:45:45 +0000
commit0c18b9dcece7095322902d947136188a1681a4fb (patch)
tree1af35673b01caceb8e4d3d42e01179da8c5bf355 /perl-install/run_program.pm
parentfb730ae27d52fbbe3f0d43ac786187f891f1e3d9 (diff)
downloaddrakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar
drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar.gz
drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar.bz2
drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.tar.xz
drakx-backup-do-not-use-0c18b9dcece7095322902d947136188a1681a4fb.zip
run_program: set XAUTHORITY and HOME for the user we will drop privileges todistro/mdv2008.0
Diffstat (limited to 'perl-install/run_program.pm')
-rw-r--r--perl-install/run_program.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/perl-install/run_program.pm b/perl-install/run_program.pm
index 0f84b9087..a74935656 100644
--- a/perl-install/run_program.pm
+++ b/perl-install/run_program.pm
@@ -111,8 +111,11 @@ sub raw {
} else {
if ($options->{setuid}) {
require POSIX;
- $ENV{'LOGNAME'} = getpwuid($options->{setuid}) || $ENV{LOGNAME};
POSIX::setuid($options->{setuid});
+ my ($logname, $home) = (getpwuid($options->{setuid}))[0,7];
+ $ENV{'XAUTHORITY'} = "$home/.Xauthority";
+ $ENV{'LOGNAME'} = $logname || $ENV{LOGNAME};
+ $ENV{'HOME'} = $home;
}
sub die_exit {