diff options
author | Ermal <eri@pfsense.org> | 2012-12-19 22:16:47 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2012-12-19 22:16:47 +0000 |
commit | fe7e987e36951d4a96640ba2790c21911e21b957 (patch) | |
tree | ff878d3b02956ccc304e0a659956126e0eca2296 /usr/local/www/services_captiveportal_ip_edit.php | |
parent | fe3693cb1ac33580f86b8ed103ca9c4088e57941 (diff) | |
download | pfsense-fe7e987e36951d4a96640ba2790c21911e21b957.zip pfsense-fe7e987e36951d4a96640ba2790c21911e21b957.tar.gz |
Various fixes to removal of pipes
Diffstat (limited to 'usr/local/www/services_captiveportal_ip_edit.php')
-rwxr-xr-x | usr/local/www/services_captiveportal_ip_edit.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/usr/local/www/services_captiveportal_ip_edit.php b/usr/local/www/services_captiveportal_ip_edit.php index 763ca90..2b86051 100755 --- a/usr/local/www/services_captiveportal_ip_edit.php +++ b/usr/local/www/services_captiveportal_ip_edit.php @@ -128,15 +128,16 @@ if ($_POST) { $ip['bw_up'] = $_POST['bw_up']; if ($_POST['bw_down']) $ip['bw_down'] = $_POST['bw_down']; + $oldmask = ""; if (isset($id) && $a_allowedips[$id]) { $oldip = $a_allowedips[$id]['ip']; if (!empty($a_allowedips[$id]['sn'])) - $oldip .= "/{$a_allowedips[$id]['sn']}"; + $oldmask .= "/{$a_allowedips[$id]['sn']}"; $a_allowedips[$id] = $ip; } else { $oldip = $ip['ip']; if (!empty($ip['sn'])) - $oldip .= "/{$ip['sn']}"; + $oldmask .= "/{$ip['sn']}"; $a_allowedips[] = $ip; } allowedips_sort(); @@ -144,9 +145,15 @@ if ($_POST) { write_config(); if (isset($a_cp[$cpzone]['enable']) && is_module_loaded("ipfw.ko")) { + captiveportal_ipfw_set_context($cpzone); + if (is_ipaddr($oldip)) { + if (!empty($oldmask)) + $ipfw = pfSense_ipfw_getTablestats($cpzone, 3, $oldip, $oldmask); + else + $ipfw = pfSense_ipfw_getTablestats($cpzone, 3, $oldip); + } $rules = "table 3 delete {$oldip}"; $rules .= "table 4 delete {$oldip}"; - $ipfw = pfSense_ipfw_getTablestats($cpzone, 3, $oldip); if (is_array($ipfw)) { captiveportal_free_dn_ruleno($ipfw['dnpipe']); $rules .= "pipe delete {$ipfw['dnpipe']}"; |