]> git.proxmox.com Git - pve-firewall.git/blobdiff - src/PVE/API2/Firewall/Groups.pm
rename groups.fw to cluster.fw
[pve-firewall.git] / src / PVE / API2 / Firewall / Groups.pm
index 9ce6ce775ea971bd5f45c7c44f9a08ddc96f3ad8..4ea2f77eff66f85dca1ebb04c194e7d04825eb90 100644 (file)
@@ -39,11 +39,11 @@ __PACKAGE__->register_method({
     code => sub {
        my ($param) = @_;
 
-       my $groups_conf = PVE::Firewall::load_security_groups();
+       my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
 
        my $res = [];
-       foreach my $group (keys %{$groups_conf->{rules}}) {
-           push @$res, { name => $group, count => scalar(@{$groups_conf->{rules}->{$group}}) };
+       foreach my $group (keys %{$cluster_conf->{rules}}) {
+           push @$res, { name => $group, count => scalar(@{$cluster_conf->{rules}->{$group}}) };
        }
 
        return $res;
@@ -80,12 +80,12 @@ __PACKAGE__->register_method({
     code => sub {
        my ($param) = @_;
 
-       my $groups_conf = PVE::Firewall::load_security_groups();
+       my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
 
-       my $rules = $groups_conf->{rules}->{$param->{group}};
+       my $rules = $cluster_conf->{rules}->{$param->{group}};
        die "no such security group\n" if !defined($rules);
 
-       my $digest = $groups_conf->{digest};
+       my $digest = $cluster_conf->{digest};
 
        my $res = [];
 
@@ -129,12 +129,12 @@ __PACKAGE__->register_method({
     code => sub {
        my ($param) = @_;
 
-       my $groups_conf = PVE::Firewall::load_security_groups();
+       my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
 
-       my $rules = $groups_conf->{rules}->{$param->{group}};
+       my $rules = $cluster_conf->{rules}->{$param->{group}};
        die "no such security group\n" if !defined($rules);
 
-       my $digest = $groups_conf->{digest};
+       my $digest = $cluster_conf->{digest};
        # fixme: check digest
        
        die "no rule at position $param->{pos}\n" if $param->{pos} >= scalar(@$rules);
@@ -166,12 +166,12 @@ __PACKAGE__->register_method({
     code => sub {
        my ($param) = @_;
 
-       my $groups_conf = PVE::Firewall::load_security_groups();
+       my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
 
-       my $rules = $groups_conf->{rules}->{$param->{group}};
+       my $rules = $cluster_conf->{rules}->{$param->{group}};
        die "no such security group\n" if !defined($rules);
 
-       my $digest = $groups_conf->{digest};
+       my $digest = $cluster_conf->{digest};
                
        my $rule = { type => 'out', action => 'ACCEPT', enable => 0};
 
@@ -179,7 +179,7 @@ __PACKAGE__->register_method({
 
        unshift @$rules, $rule;
 
-       PVE::Firewall::save_security_groups($groups_conf);
+       PVE::Firewall::save_clusterfw_conf($cluster_conf);
 
        return undef;
    }});
@@ -200,7 +200,7 @@ __PACKAGE__->register_method({
                type => 'string',
            },
            moveto => {
-               description => "Move rule to new position <moveto>.",
+               description => "Move rule to new position <moveto>. Other arguments are ignored.",
                type => 'integer',
                minimum => 0,
                optional => 1,
@@ -211,20 +211,18 @@ __PACKAGE__->register_method({
     code => sub {
        my ($param) = @_;
 
-       my $groups_conf = PVE::Firewall::load_security_groups();
+       my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
 
-       my $rules = $groups_conf->{rules}->{$param->{group}};
+       my $rules = $cluster_conf->{rules}->{$param->{group}};
        die "no such security group\n" if !defined($rules);
 
-       my $digest = $groups_conf->{digest};
+       my $digest = $cluster_conf->{digest};
        # fixme: check digest
        
        die "no rule at position $param->{pos}\n" if $param->{pos} >= scalar(@$rules);
        
        my $rule = $rules->[$param->{pos}];
 
-       PVE::Firewall::copy_rule_data($rule, $param);
        my $moveto = $param->{moveto};
        if (defined($moveto) && $moveto != $param->{pos}) {
            my $newrules = [];
@@ -237,10 +235,12 @@ __PACKAGE__->register_method({
            }
            push @$newrules, $rule if $moveto >= scalar(@$rules);
 
-           $groups_conf->{rules}->{$param->{group}} = $newrules;
-       }           
+           $cluster_conf->{rules}->{$param->{group}} = $newrules;
+       } else {
+           PVE::Firewall::copy_rule_data($rule, $param);
+       }
 
-       PVE::Firewall::save_security_groups($groups_conf);
+       PVE::Firewall::save_clusterfw_conf($cluster_conf);
 
        return undef;
    }});
@@ -271,19 +271,19 @@ __PACKAGE__->register_method({
     code => sub {
        my ($param) = @_;
 
-       my $groups_conf = PVE::Firewall::load_security_groups();
+       my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
 
-       my $rules = $groups_conf->{rules}->{$param->{group}};
+       my $rules = $cluster_conf->{rules}->{$param->{group}};
        die "no such security group\n" if !defined($rules);
 
-       my $digest = $groups_conf->{digest};
+       my $digest = $cluster_conf->{digest};
        # fixme: check digest
        
        die "no rule at position $param->{pos}\n" if $param->{pos} >= scalar(@$rules);
        
        splice(@$rules, $param->{pos}, 1);
 
-       PVE::Firewall::save_security_groups($groups_conf);
+       PVE::Firewall::save_clusterfw_conf($cluster_conf);
 
        return undef;
    }});