summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaurav Sinha <gaurav.sinha@vyatta.com>2012-11-21 16:19:35 -0800
committerGaurav Sinha <gaurav.sinha@vyatta.com>2012-11-21 16:22:26 -0800
commit234449bd8c7269d30fde51985ab411c601b7a2a5 (patch)
treee46ef4c20265c5360a957b1f82a77756fb1065f5
parent9bdf8747b55b934e22133a10c3fddf1bc0a5ad1a (diff)
downloadvyatta-cfg-firewall-234449bd8c7269d30fde51985ab411c601b7a2a5.tar.gz
vyatta-cfg-firewall-234449bd8c7269d30fde51985ab411c601b7a2a5.zip
fix for 8492. Don't declare error and bail out on attempt to deletion of ipset.
(cherry picked from commit 5853281f2c8514a40608b1e83eca65e4c25aae00)
-rwxr-xr-xscripts/firewall/vyatta-ipset.pl7
1 files changed, 5 insertions, 2 deletions
diff --git a/scripts/firewall/vyatta-ipset.pl b/scripts/firewall/vyatta-ipset.pl
index 0627381..b3fd806 100755
--- a/scripts/firewall/vyatta-ipset.pl
+++ b/scripts/firewall/vyatta-ipset.pl
@@ -317,7 +317,10 @@ sub prune_deleted_sets {
next if ($groups{$g} ne 'deleted');
next if ($cfg->isEffective($g)); # don't prune if delete failed
my $rc;
- return $rc if (($rc = ipset_delete($g)));
+ # Try and delete, don't return error on failure. This subroutine is called when
+ # firewall root node is being removed to prune ipsets that might have not been
+ # deleted due to refcounts.
+ $rc = ipset_delete($g);
}
}
@@ -331,7 +334,7 @@ sub prune_deleted_sets {
$cfg->setLevel("firewall group $type-group");
next if ($cfg->isEffective($set)); # don't prune if still in config
my $rc;
- return $rc if (($rc = ipset_delete($set)));
+ $rc = ipset_delete($set);
}
}
exit 0;