]> git.proxmox.com Git - pve-firewall.git/commitdiff
Check if corosync.conf exists before calling parser
authorStefan Reiter <s.reiter@proxmox.com>
Mon, 22 Jul 2019 13:21:54 +0000 (15:21 +0200)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Wed, 7 Aug 2019 07:44:43 +0000 (09:44 +0200)
Calling cfs_read_file with no corosync.conf (i.e. on a standalone node)
returns {} instead of undef. The previous patches assumes undef for this
scenario. To avoid confusing checks all over the place, simply leave the
config as undef if no file exists.

(cherry picked from commit 1473e5f7084409a95458b2d71d59430c6870d372)
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
src/PVE/Firewall.pm

index 43063c7b658c6fdf4dab8dbc890ada6a9267c742..c819d5a28cef46b159a7842d92664fd4a7d46b8d 100644 (file)
@@ -3519,7 +3519,8 @@ sub compile {
        $hostfw_conf = load_hostfw_conf($cluster_conf, undef) if !$hostfw_conf;
 
        # cfs_update is handled by daemon or API
-       $corosync_conf = PVE::Cluster::cfs_read_file("corosync.conf") if !$corosync_conf;
+       $corosync_conf = PVE::Cluster::cfs_read_file("corosync.conf")
+           if !defined($corosync_conf) && PVE::Corosync::check_conf_exists(1);
 
        $vmdata = read_local_vm_config();
        $vmfw_configs = read_vm_firewall_configs($cluster_conf, $vmdata, undef);