浏览代码

Ticket #48305 - perl module conditional test is not conditional when checking SELinux policies

Description: commit 9fefc13c02c9ae037fad053152193794706aaa31 introduced
a regression:
  Bug 1287547 - 389-ds-base-1.3.4.5-1.fc23.x86_64 leaves empty /NUL around
                after ipa-server-install

To check the existence of a character special file "/dev/null", "-c" is
supposed to be used instead of "-f".

Reviewed by [email protected] (Thank you, Mark!!)

https://fedorahosted.org/389/ticket/48305
Noriko Hosoi 10 年之前
父节点
当前提交
c4233ec14a
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      ldap/admin/src/scripts/DSCreate.pm.in

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

@@ -283,7 +283,7 @@ sub createInstanceScripts {
     my $skip = shift;
     my $perlexec = "@perlexec@" || "/usr/bin/env perl";
     my $myperl = "!$perlexec";
-    my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL ");
+    my $mydevnull = (-c "/dev/null" ? " /dev/null " : " NUL ");
 
     # If we have InstScriptsEnabled, we likely have setup.inf or the argument.
     # However, during an upgrade, we need to know if we should upgrade the template files or not.
@@ -997,7 +997,7 @@ sub setDefaults {
 
 sub updateSelinuxPolicy {
     my $inf = shift;
-    my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL ");
+    my $mydevnull = (-c "/dev/null" ? " /dev/null " : " NUL ");
 
     # if selinux is not available, do nothing
     if ((getLogin() eq 'root') and "@with_selinux@" and
@@ -1451,7 +1451,7 @@ sub removeDSInstance {
     }
 
     # remove the selinux label from the ports if needed
-    my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL ");
+    my $mydevnull = (-c "/dev/null" ? " /dev/null " : " NUL ");
     if ((getLogin() eq 'root') and "@with_selinux@" and
         -f "@sbindir@/sestatus" and !system ("@sbindir@/sestatus | egrep -i \"selinux status:\\s*enabled\" > $mydevnull 2>&1")) {
         foreach my $port (@{$entry->{"nsslapd-port"}})