summaryrefslogtreecommitdiffstats
path: root/usr/local/www/services_captiveportal_ip_edit.php
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2012-12-19 22:16:47 +0000
committerErmal <eri@pfsense.org>2012-12-19 22:16:47 +0000
commitfe7e987e36951d4a96640ba2790c21911e21b957 (patch)
treeff878d3b02956ccc304e0a659956126e0eca2296 /usr/local/www/services_captiveportal_ip_edit.php
parentfe3693cb1ac33580f86b8ed103ca9c4088e57941 (diff)
downloadpfsense-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-xusr/local/www/services_captiveportal_ip_edit.php13
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']}";
OpenPOWER on IntegriCloud