summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2013-09-14 10:54:08 -0300
committerRenato Botelho <garga@FreeBSD.org>2013-09-14 10:54:08 -0300
commit81ce28d87039d21c8b03986362d9f2ccffe6d407 (patch)
tree9b72f0fc3a08c742786060919f1b822016fe135c /etc
parent01ba8ec63d4c99ed8fd1e3085c9fa960aa6d3a7b (diff)
downloadpfsense-81ce28d87039d21c8b03986362d9f2ccffe6d407.zip
pfsense-81ce28d87039d21c8b03986362d9f2ccffe6d407.tar.gz
Remove unecessary blockedmacs db and read it directly from config
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/captiveportal.inc44
1 files changed, 11 insertions, 33 deletions
diff --git a/etc/inc/captiveportal.inc b/etc/inc/captiveportal.inc
index 3e888c7..0a7cd62 100644
--- a/etc/inc/captiveportal.inc
+++ b/etc/inc/captiveportal.inc
@@ -953,10 +953,6 @@ function captiveportal_passthrumac_configure_entry($macent) {
$rules = "add {$ruleno} pipe {$pipeup} ip from any to any MAC any {$macent['mac']}\n";
$ruleno++;
$rules .= "add {$ruleno} pipe {$pipedown} ip from any to any MAC {$macent['mac']} any\n";
- } else {
- $blockedmacs = captiveportal_read_blockedmacs_db();
- $blockedmacs[] = $macent['mac'];
- captiveportal_write_blockedmacs_db($blockedmacs);
}
return $rules;
@@ -983,12 +979,6 @@ function captiveportal_passthrumac_delete_entry($macent) {
$rules .= "pipe delete " . $pipeno . "\n";
$rules .= "pipe delete " . ++$pipeno . "\n";
}
- } else {
- $blockedmacs = captiveportal_read_blockedmacs_db();
- foreach ($blockedmacs as $idx => $blockedmac)
- if ($blockedmac == $macent['mac'])
- unset($blockedmacs[$idx]);
- captiveportal_write_blockedmacs_db($blockedmacs);
}
return $rules;
@@ -999,7 +989,6 @@ function captiveportal_passthrumac_configure($lock = false) {
$rules = "";
- captiveportal_zap_blockedmacs_db();
if (is_array($config['captiveportal'][$cpzone]['passthrumac']))
foreach ($config['captiveportal'][$cpzone]['passthrumac'] as $macent)
$rules .= captiveportal_passthrumac_configure_entry($macent);
@@ -2097,33 +2086,22 @@ function captiveportal_write_usedmacs_db($usedmacs) {
unlock($cpumaclck);
}
-function captiveportal_read_blockedmacs_db() {
- global $g, $cpzone;
-
- $cpumaclck = lock("captiveblockedmacs{$cpzone}");
- if (file_exists("{$g['vardb_path']}/captiveportal_blockedmacs_{$cpzone}.db")) {
- $blockedmacs = file("{$g['vardb_path']}/captiveportal_blockedmacs_{$cpzone}.db", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
- if (!$blockedmacs)
- $blockedmacs = array();
- } else
- $blockedmacs = array();
+function captiveportal_blocked_mac($mac) {
+ global $config, $g, $cpzone;
- unlock($cpumaclck);
- return $blockedmacs;
-}
+ if (empty($mac) || !is_macaddr($mac))
+ return false;
-function captiveportal_write_blockedmacs_db($blockedmacs) {
- global $g, $cpzone;
+ if (!is_array($config['captiveportal'][$cpzone]['passthrumac']))
+ return false;
- $cpumaclck = lock("captiveblockedmacs{$cpzone}", LOCK_EX);
- @file_put_contents("{$g['vardb_path']}/captiveportal_blockedmacs_{$cpzone}.db", implode("\n", $blockedmacs));
- unlock($cpumaclck);
-}
+ foreach ($config['captiveportal'][$cpzone]['passthrumac'] as $passthrumac)
+ if (($passthrumac['action'] == 'block') &&
+ ($passthrumac['mac'] == strtolower($mac)))
+ return true;
-function captiveportal_zap_blockedmacs_db() {
- global $g, $cpzone;
+ return false;
- @unlink_if_exists("{$g['vardb_path']}/captiveportal_blockedmacs_{$cpzone}.db");
}
function captiveportal_send_server_accounting($off = false) {
OpenPOWER on IntegriCloud