From 2ea976b71c3660bb549042b1a81fa3204e1add19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ermal=20LU=C3=87I?= Date: Mon, 12 Jan 2015 12:30:45 +0100 Subject: Properly handle large passthrough entries even here. --- usr/local/www/services_captiveportal_mac.php | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'usr/local') diff --git a/usr/local/www/services_captiveportal_mac.php b/usr/local/www/services_captiveportal_mac.php index f8de219..a73d2d1 100644 --- a/usr/local/www/services_captiveportal_mac.php +++ b/usr/local/www/services_captiveportal_mac.php @@ -71,14 +71,19 @@ if ($_POST) { if ($_POST['apply']) { $retval = 0; - $cpzoneid = $a_cp[$cpzone]['cpzoneid']; - $rules = captiveportal_passthrumac_configure(); - @file_put_contents("{$g['tmp_path']}/passthrumac_gui", $rules); - mwexec("/sbin/ipfw -x {$cpzoneid} {$g['tmp_path']}/passthrumac_gui"); - $savemsg = get_std_save_message($retval); - if ($retval == 0) - clear_subsystem_dirty('passthrumac'); - @unlink("{$g['tmp_path']}/passthrumac_gui"); + if (is_array($a_cp[$cpzone]['passthrumac'])) { + if (count($a_cp[$cpzone]['passthrumac']) > 2000) + set_time_limit(0); + $cpzoneid = $a_cp[$cpzone]['cpzoneid']; + $rules = captiveportal_passthrumac_configure(); + @file_put_contents("{$g['tmp_path']}/passthrumac_gui", $rules); + mwexec("/sbin/ipfw -x {$cpzoneid} {$g['tmp_path']}/passthrumac_gui"); + $savemsg = get_std_save_message($retval); + if ($retval == 0) + clear_subsystem_dirty('passthrumac'); + @unlink("{$g['tmp_path']}/passthrumac_gui"); + set_time_limit(900); + } } if ($_POST['postafterlogin']) { -- cgit v1.1