summaryrefslogtreecommitdiffstats
path: root/usr/local/www/services_captiveportal_mac.php
diff options
context:
space:
mode:
authorErmal LUÇI <eri@pfsense.org>2015-01-12 12:30:45 +0100
committerErmal LUÇI <eri@pfsense.org>2015-01-12 12:30:45 +0100
commita4cd8f03a8d566ec10c8a1a025ce86b7d7728afe (patch)
tree01d89c711a42224b262ee31de36ef06f05f27b5c /usr/local/www/services_captiveportal_mac.php
parent9d89f78096c984b3c1e980a8763f7213ce857545 (diff)
downloadpfsense-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.php21
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']) {
OpenPOWER on IntegriCloud