From 92613d99a0a80e6b53458c6f027ee1f20975bc38 Mon Sep 17 00:00:00 2001 From: Nathan Kinder Date: Dec 14 2010 23:05:55 +0000 Subject: Bug 663191 - Don't use $USER in DSCreate.pm The $USER environment variable is used in the instance creation and removal code to determine what location to use for initconfig files. This will not work correctly if $USER is not set, or if one used su prior to running the installer. This patch uses DSUtil::getLogin instead, which gets the login name without using the $USER environment variable. --- diff --git a/ldap/admin/src/scripts/DSCreate.pm.in b/ldap/admin/src/scripts/DSCreate.pm.in index d3c3f9d..4e88400 100644 --- a/ldap/admin/src/scripts/DSCreate.pm.in +++ b/ldap/admin/src/scripts/DSCreate.pm.in @@ -267,7 +267,7 @@ sub createInstanceScripts { # determine initconfig_dir my $initconfig_dir = $inf->{slapd}->{initconfig_dir}; if (!$initconfig_dir) { - if ($ENV{USER} eq 'root') { + if (getLogin eq 'root') { $initconfig_dir = "$inf->{General}->{prefix}@initconfigdir@"; } else { $initconfig_dir = "$ENV{HOME}/.@package_name@"; @@ -485,7 +485,7 @@ sub makeOtherConfigFiles { # determine initconfig_dir my $initconfig_dir = $inf->{slapd}->{initconfig_dir}; if (!$initconfig_dir) { - if ($ENV{USER} eq 'root') { + if (getLogin eq 'root') { $initconfig_dir = "$inf->{General}->{prefix}@initconfigdir@"; } else { $initconfig_dir = "$ENV{HOME}/.@package_name@"; @@ -1075,7 +1075,7 @@ sub removeDSInstance { # determine initconfig_dir if (!$initconfig_dir) { - if ($ENV{USER} eq 'root') { + if (getLogin eq 'root') { $initconfig_dir = "@initconfigdir@"; } else { $initconfig_dir = "$ENV{HOME}/.@package_name@";