Browse Source

Ticket #563 - DSCreate.pm: Error messages cannot be used in the if expression since they could be localized.

Bug description: Error messages from the command line interface
could be localized based upon the users' configuration.  But the
script expects English sentence.

Fix description: Set the C locale '$ENV{LANG} = "C"' before running
the command line if the message from the command is examined in
the expression.

Reviewed by Mark (Thank you!!)
Noriko Hosoi 13 years ago
parent
commit
0219577ab7
1 changed files with 3 additions and 0 deletions
  1. 3 0
      ldap/admin/src/scripts/DSCreate.pm.in

+ 3 - 0
ldap/admin/src/scripts/DSCreate.pm.in

@@ -1013,6 +1013,7 @@ sub updateSelinuxPolicy {
                 my $semanage_err;
                 my $rc;
                 my $retry = 60;
+                $ENV{LANG} = "C";
                 while (($retry > 0) && ($semanage_err = `semanage port -a -t ldap_port_t -p tcp $inf->{slapd}->{ServerPort} 2>&1`) && ($rc = $?)) {
                     debug(1, "Adding port $inf->{slapd}->{ServerPort} to selinux policy failed - $semanage_err (return code: $rc).\n");
                     debug(1, "Retrying in 5 seconds\n");
@@ -1393,6 +1394,7 @@ sub removeDSInstance {
             my $semanage_err;
             my $rc;
             my $retry = 60;
+            $ENV{LANG} = "C";
             while (($retry > 0) && ($semanage_err = `semanage port -d -t ldap_port_t -p tcp $port 2>&1`) && ($rc = $?)) {
                 if (($semanage_err =~ /defined in policy, cannot be deleted/) || ($semanage_err =~ /is not defined/)) {
                     $retry = -1;
@@ -1415,6 +1417,7 @@ sub removeDSInstance {
             my $semanage_err;
             my $rc;
             my $retry = 60;
+            $ENV{LANG} = "C";
             while (($retry > 0) && ($semanage_err = `semanage port -d -t ldap_port_t -p tcp $secureport 2>&1`) && ($rc = $?)) {
                 if (($semanage_err =~ /defined in policy, cannot be deleted/) || ($semanage_err =~ /is not defined/)) {
                     $retry = -1;