diff options
author | Ermal LUÇI <eri@pfsense.org> | 2015-01-12 12:30:45 +0100 |
---|---|---|
committer | Ermal LUÇI <eri@pfsense.org> | 2015-01-12 12:30:45 +0100 |
commit | a4cd8f03a8d566ec10c8a1a025ce86b7d7728afe (patch) | |
tree | 01d89c711a42224b262ee31de36ef06f05f27b5c /usr/local/www/services_captiveportal_mac.php | |
parent | 9d89f78096c984b3c1e980a8763f7213ce857545 (diff) | |
download | pfsense-a4cd8f03a8d566ec10c8a1a025ce86b7d7728afe.zip pfsense-a4cd8f03a8d566ec10c8a1a025ce86b7d7728afe.tar.gz |
Properly handle large passthrough entries even here.
Diffstat (limited to 'usr/local/www/services_captiveportal_mac.php')
-rw-r--r-- | usr/local/www/services_captiveportal_mac.php | 21 |
1 files changed, 13 insertions, 8 deletions
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']) { |