diff options
author | PiBa-NL <pba_2k3@yahoo.com> | 2014-03-09 17:16:51 +0100 |
---|---|---|
committer | PiBa-NL <pba_2k3@yahoo.com> | 2014-03-09 17:16:51 +0100 |
commit | a9fc108f9c09c2b2ea0afb3fca5d526cbaea9bb7 (patch) | |
tree | a779001324dd3e9d5ca0b93d2eb0de10cd8c2c85 /usr | |
parent | d292bd8d60b1e01702b3654e8bb3ac8fd66c88e6 (diff) | |
download | pfsense-a9fc108f9c09c2b2ea0afb3fca5d526cbaea9bb7.zip pfsense-a9fc108f9c09c2b2ea0afb3fca5d526cbaea9bb7.tar.gz |
firewall_virtual_ip , allow deleting last ip-alias if interface uses same the subnet. (while CARP-ip is present)
Diffstat (limited to 'usr')
-rwxr-xr-x | usr/local/www/firewall_virtual_ip.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr/local/www/firewall_virtual_ip.php b/usr/local/www/firewall_virtual_ip.php index 8e524a6..b081c46 100755 --- a/usr/local/www/firewall_virtual_ip.php +++ b/usr/local/www/firewall_virtual_ip.php @@ -140,22 +140,27 @@ if ($_GET['act'] == "del") { } if ($a_vip[$_GET['id']]['mode'] == "ipalias") { + $subnet = gen_subnet($a_vip[$_GET['id']]['subnet'], $a_vip[$_GET['id']]['subnet_bits']) . "/" . $a_vip[$_GET['id']]['subnet_bits']; + $found_if = false; $found_carp = false; $found_other_alias = false; + if ($subnet == $if_subnet) + $found_if = true; + $vipiface = $a_vip[$_GET['id']]['interface']; foreach ($a_vip as $vip_id => $vip) { if ($vip_id == $_GET['id']) continue; - if ($vip['interface'] == $vipiface && ip_in_subnet($vip['subnet'], gen_subnet($a_vip[$_GET['id']]['subnet'], $a_vip[$_GET['id']]['subnet_bits']) . "/" . $a_vip[$_GET['id']]['subnet_bits'])) + if ($vip['interface'] == $vipiface && ip_in_subnet($vip['subnet'], $subnet)) if ($vip['mode'] == "carp") $found_carp = true; else if ($vip['mode'] == "ipalias") $found_other_alias = true; } - if ($found_carp === true && $found_other_alias === false) + if ($found_carp === true && $found_other_alias === false && $found_if === false) $input_errors[] = gettext("This entry cannot be deleted because it is still referenced by a CARP IP with the description") . " {$vip['descr']}."; } |