summaryrefslogtreecommitdiffstats
path: root/usr/local/www/services_captiveportal_ip.php
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2012-12-17 11:41:24 +0000
committerErmal <eri@pfsense.org>2012-12-17 11:41:24 +0000
commit1744a05823b73add76bf8fd1a4222a2626d2c400 (patch)
treeb436b94178ca8794ba947664e6fbb532c52deedd /usr/local/www/services_captiveportal_ip.php
parent1272429c1b2b95a16be8af0469cac855cdbc1887 (diff)
downloadpfsense-1744a05823b73add76bf8fd1a4222a2626d2c400.zip
pfsense-1744a05823b73add76bf8fd1a4222a2626d2c400.tar.gz
Cleanup the pipes as well when removing or operating on tables for hostnames/ips/mac
Diffstat (limited to 'usr/local/www/services_captiveportal_ip.php')
-rwxr-xr-xusr/local/www/services_captiveportal_ip.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/usr/local/www/services_captiveportal_ip.php b/usr/local/www/services_captiveportal_ip.php
index ee1b463..4d895cd 100755
--- a/usr/local/www/services_captiveportal_ip.php
+++ b/usr/local/www/services_captiveportal_ip.php
@@ -70,8 +70,14 @@ if ($_GET['act'] == "del") {
if (!empty($ipent['sn']))
$ipent['ip'] .= "/{$ipent['sn']}";
captiveportal_ipfw_set_context($cpzone);
- mwexec("/sbin/ipfw table 3 delete " . $ipent['ip']);
- mwexec("/sbin/ipfw table 4 delete " . $ipent['ip']);
+ $ipfw = pfSense_ipfw_getTablestats($cpzone, 3, $ipent['ip']);
+ if (is_array($ipfw)) {
+ captiveportal_free_dn_ruleno($ipfw['dnpipe']);
+ pfSense_pipe_action("pipe delete {$ipfw['dnpipe']}");
+ pfSense_pipe_action("pipe delete " . ($ipfw['dnpipe']+1));
+ }
+ pfSense_ipfw_Tableaction($cpzone, IP_FW_TABLE_DEL, 3, $ipent['ip']);
+ pfSense_ipfw_Tableaction($cpzone, IP_FW_TABLE_DEL, 4, $ipent['ip']);
}
unset($a_allowedips[$_GET['id']]);
OpenPOWER on IntegriCloud