From 1744a05823b73add76bf8fd1a4222a2626d2c400 Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 17 Dec 2012 11:41:24 +0000 Subject: Cleanup the pipes as well when removing or operating on tables for hostnames/ips/mac --- usr/local/www/services_captiveportal_ip.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'usr/local/www/services_captiveportal_ip.php') 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']]); -- cgit v1.1