make verbose a global state
[pve-firewall.git] / src / PVE / Service / pve_firewall.pm
index 9f712e0..d8e42ec 100755 (executable)
@@ -158,20 +158,22 @@ __PACKAGE__->register_method ({
 
            my $res = { status => $status };
 
-           my $verbose = 1; # show syntax errors 
-           my $cluster_conf = PVE::Firewall::load_clusterfw_conf(undef, $verbose); 
+           PVE::Firewall::set_verbose(1); # show syntax errors
+
+           my $cluster_conf = PVE::Firewall::load_clusterfw_conf(undef);
            $res->{enable} = $cluster_conf->{options}->{enable} ? 1 : 0;
 
            if ($status eq 'running') {
                
-               my ($ruleset, $ipset_ruleset, $rulesetv6) = PVE::Firewall::compile($cluster_conf, undef, undef, $verbose);
+               my ($ruleset, $ipset_ruleset, $rulesetv6, $ebtables_ruleset) = PVE::Firewall::compile($cluster_conf, undef, undef);
 
-               $verbose = 0; # do not show iptables details
-               my (undef, undef, $ipset_changes) = PVE::Firewall::get_ipset_cmdlist($ipset_ruleset, $verbose);
-               my ($test, $ruleset_changes) = PVE::Firewall::get_ruleset_cmdlist($ruleset, $verbose);
-               my (undef, $ruleset_changesv6) = PVE::Firewall::get_ruleset_cmdlist($rulesetv6, $verbose, "ip6tables");
+               PVE::Firewall::set_verbose(0); # do not show iptables details
+               my (undef, undef, $ipset_changes) = PVE::Firewall::get_ipset_cmdlist($ipset_ruleset);
+               my ($test, $ruleset_changes) = PVE::Firewall::get_ruleset_cmdlist($ruleset);
+               my (undef, $ruleset_changesv6) = PVE::Firewall::get_ruleset_cmdlist($rulesetv6, "ip6tables");
+               my (undef, $ebtables_changes) = PVE::Firewall::get_ebtables_cmdlist($ebtables_ruleset);
 
-               $res->{changes} = ($ipset_changes || $ruleset_changes || $ruleset_changesv6) ? 1 : 0;
+               $res->{changes} = ($ipset_changes || $ruleset_changes || $ruleset_changesv6 || $ebtables_changes) ? 1 : 0;
            }
 
            return $res;
@@ -198,21 +200,24 @@ __PACKAGE__->register_method ({
 
        my $code = sub {
 
-           my $verbose = 1;
+           PVE::Firewall::set_verbose(1);
 
-           my $cluster_conf = PVE::Firewall::load_clusterfw_conf(undef, $verbose); 
-           my ($ruleset, $ipset_ruleset, $rulesetv6) = PVE::Firewall::compile($cluster_conf, undef, undef, $verbose);
+           my $cluster_conf = PVE::Firewall::load_clusterfw_conf(undef);
+           my ($ruleset, $ipset_ruleset, $rulesetv6, $ebtables_ruleset) = PVE::Firewall::compile($cluster_conf, undef, undef);
 
            print "ipset cmdlist:\n";
-           my (undef, undef, $ipset_changes) = PVE::Firewall::get_ipset_cmdlist($ipset_ruleset, $verbose);
+           my (undef, undef, $ipset_changes) = PVE::Firewall::get_ipset_cmdlist($ipset_ruleset);
 
            print "\niptables cmdlist:\n";
-           my (undef, $ruleset_changes) = PVE::Firewall::get_ruleset_cmdlist($ruleset, $verbose);
+           my (undef, $ruleset_changes) = PVE::Firewall::get_ruleset_cmdlist($ruleset);
 
            print "\nip6tables cmdlist:\n";
-           my (undef, $ruleset_changesv6) = PVE::Firewall::get_ruleset_cmdlist($rulesetv6, $verbose, "ip6tables");
+           my (undef, $ruleset_changesv6) = PVE::Firewall::get_ruleset_cmdlist($rulesetv6, "ip6tables");
+
+           print "\nebtables cmdlist:\n";
+           my (undef, $ebtables_changes) = PVE::Firewall::get_ebtables_cmdlist($ebtables_ruleset);
 
-           if ($ipset_changes || $ruleset_changes || $ruleset_changesv6) {
+           if ($ipset_changes || $ruleset_changes || $ruleset_changesv6 || $ebtables_changes) {
                print "detected changes\n";
            } else {
                print "no changes\n";
@@ -329,9 +334,11 @@ __PACKAGE__->register_method ({
 
        local $SIG{'__WARN__'} = 'DEFAULT'; # do not fill up syslog
 
-       my ($ruleset, $ipset_ruleset, $rulesetv6) = PVE::Firewall::compile(undef, undef, undef, $param->{verbose});
+       PVE::Firewall::set_verbose($param->{verbose});
+
+       my ($ruleset, $ipset_ruleset, $rulesetv6, $ebtables_ruleset) = PVE::Firewall::compile();
 
-       PVE::FirewallSimulator::debug($param->{verbose} || 0);
+       PVE::FirewallSimulator::debug();
        
        my $host_ip = PVE::Cluster::remote_node_ip($nodename);
 
@@ -395,19 +402,3 @@ our $cmddef = {
  };
 
 1;
-
-__END__
-
-=head1 NAME
-                                          
-pve-firewall - PVE Firewall Daemon
-
-=head1 SYNOPSIS
-
-=include synopsis
-
-=head1 DESCRIPTION
-
-This service updates iptables rules periodically.
-
-=include pve_copyright