cleanup_fw_rule: only copy defined rule properties
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 25 Mar 2014 08:20:52 +0000 (09:20 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 25 Mar 2014 08:20:52 +0000 (09:20 +0100)
src/PVE/Firewall.pm

index c4b319f..d7788f0 100644 (file)
@@ -636,23 +636,6 @@ sub parse_port_name_number_or_range {
 }
 
 # helper function for API
-sub cleanup_fw_rule {
-    my ($rule, $digest, $pos) = @_;
-
-    my $r = {};
-
-    foreach my $k (keys %$rule) {
-       next if $k eq 'nbdport';
-       next if $k eq 'nbsport';
-       my $v = $rule->{$k};
-       next if !defined($v);
-       $r->{$k} = $v;
-       $r->{digest} = $digest;
-       $r->{pos} = $pos;
-    }
-
-    return $r;
-}
 
 my $rule_properties = {
     pos => {
@@ -708,6 +691,23 @@ my $rule_properties = {
     },
 };
 
+sub cleanup_fw_rule {
+    my ($rule, $digest, $pos) = @_;
+
+    my $r = {};
+
+    foreach my $k (keys %$rule) {
+       next if !$rule_properties->{$k};
+       my $v = $rule->{$k};
+       next if !defined($v);
+       $r->{$k} = $v;
+       $r->{digest} = $digest;
+       $r->{pos} = $pos;
+    }
+
+    return $r;
+}
+
 sub add_rule_properties {
     my ($properties) = @_;