diff options
author | Ermal Luçi <eri@pfsense.org> | 2009-11-15 20:49:11 +0000 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2009-11-15 20:49:11 +0000 |
commit | 1ba7a81ba017fb5f49c3775e7f1117b335bea211 (patch) | |
tree | cc76d08dcc63b628eb548201454341f21d8c56b3 | |
parent | d9d95b0a30c6b37c3525ee38d99495c63f7044f6 (diff) | |
download | pfsense-1ba7a81ba017fb5f49c3775e7f1117b335bea211.zip pfsense-1ba7a81ba017fb5f49c3775e7f1117b335bea211.tar.gz |
Propperly fix the special case of proxyarp vip deleteion. With comments from cbuechler@.
-rwxr-xr-x | usr/local/www/firewall_virtual_ip.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/usr/local/www/firewall_virtual_ip.php b/usr/local/www/firewall_virtual_ip.php index dc54f8f..46df4f8 100755 --- a/usr/local/www/firewall_virtual_ip.php +++ b/usr/local/www/firewall_virtual_ip.php @@ -101,8 +101,14 @@ if ($_GET['act'] == "del") { } if (!$input_errors) { - interface_vip_bring_down($a_vip[$_GET['id']]); - unset($a_vip[$_GET['id']]); + // Special case since every proxyarp vip is handled by the same daemon. + if ($a_vip[$_GET['id']]['mode'] == "proxyarp") { + unset($a_vip[$_GET['id']]); + interface_proxyarp_configure(); + } else { + interface_vip_bring_down($a_vip[$_GET['id']]); + unset($a_vip[$_GET['id']]); + } write_config(); mark_subsystem_dirty('vip'); header("Location: firewall_virtual_ip.php"); |