Browse Source

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.
Nathan Kinder 15 years ago
parent
commit
92613d99a0
1 changed files with 3 additions and 3 deletions
  1. 3 3
      ldap/admin/src/scripts/DSCreate.pm.in

+ 3 - 3
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@";