Return false when failed to apply the rules on the backend

This commit is contained in:
alena 2011-10-24 17:55:04 -07:00
parent f6717e0a23
commit 6379c9c61e
2 changed files with 6 additions and 6 deletions

View File

@ -420,7 +420,6 @@ public class FirewallManagerImpl implements FirewallService, FirewallManager, Ma
// load cidrs if any
rule.setSourceCidrList(_firewallCidrsDao.getSourceCidrs(rule.getId()));
}
if (caller != null) {
_accountMgr.checkAccess(caller, null, rules.toArray(new FirewallRuleVO[rules.size()]));
@ -566,7 +565,7 @@ public class FirewallManagerImpl implements FirewallService, FirewallManager, Ma
// now send everything to the backend
List<FirewallRuleVO> rulesToApply = _firewallDao.listByNetworkAndPurpose(networkId, Purpose.Firewall);
applyFirewallRules(rulesToApply, true, caller);
boolean success = applyFirewallRules(rulesToApply, true, caller);
// Now we check again in case more rules have been inserted.
rules.addAll(_firewallDao.listByNetworkAndPurposeAndNotRevoked(networkId, Purpose.Firewall));
@ -575,7 +574,7 @@ public class FirewallManagerImpl implements FirewallService, FirewallManager, Ma
s_logger.debug("Successfully released firewall rules for network id=" + networkId + " and # of rules now = " + rules.size());
}
return rules.size() == 0;
return success && rules.size() == 0;
}
@Override

View File

@ -917,11 +917,12 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager {
revokeStaticNatRuleInternal(rule.getId(), caller, userId, false);
}
boolean success = true;
// revoke all PF rules for the network
applyPortForwardingRulesForNetwork(networkId, true, caller);
success = success && applyPortForwardingRulesForNetwork(networkId, true, caller);
// revoke all all static nat rules for the network
applyStaticNatRulesForNetwork(networkId, true, caller);
success = success && applyStaticNatRulesForNetwork(networkId, true, caller);
// Now we check again in case more rules have been inserted.
rules.addAll(_forwardingDao.listByNetworkAndNotRevoked(networkId));
@ -931,7 +932,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager {
s_logger.debug("Successfully released rules for network id=" + networkId + " and # of rules now = " + rules.size());
}
return rules.size() == 0;
return success && rules.size() == 0;
}
@Override