summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbcyrill <cyrill@bannwart.info>2012-06-09 22:33:24 +0200
committerbcyrill <cyrill@bannwart.info>2012-06-09 22:33:24 +0200
commit54df925b9ea447bdd10f88a886e2ef11d44c3059 (patch)
treef844373c0c3488b6c405e342e67e16aa7c0b26a7
parent52a43b2fa3c018b145de759af4da823fcb6260fc (diff)
downloadpfsense-54df925b9ea447bdd10f88a886e2ef11d44c3059.zip
pfsense-54df925b9ea447bdd10f88a886e2ef11d44c3059.tar.gz
Make mac_format aware of multiple Captiveportal instances
-rw-r--r--etc/inc/captiveportal.inc2
-rw-r--r--etc/inc/util.inc5
-rw-r--r--usr/local/captiveportal/radius_accounting.inc8
-rw-r--r--usr/local/captiveportal/radius_authentication.inc2
4 files changed, 9 insertions, 8 deletions
diff --git a/etc/inc/captiveportal.inc b/etc/inc/captiveportal.inc
index 4953f23..33aa135 100644
--- a/etc/inc/captiveportal.inc
+++ b/etc/inc/captiveportal.inc
@@ -1660,7 +1660,7 @@ function portal_mac_radius($clientmac,$clientip) {
$radmac_secret = $config['captiveportal'][$cpzone]['radmac_secret'];
/* authentication against the radius server */
- $username = mac_format($clientmac);
+ $username = mac_format($clientmac, $cpzone);
$auth_list = radius($username,$radmac_secret,$clientip,$clientmac,"MACHINE LOGIN");
if ($auth_list['auth_val'] == 2)
return TRUE;
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index 6146d7c..88cce91 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -1205,11 +1205,12 @@ function xml_safe_fieldname($fieldname) {
return strtolower(str_replace($replace, "", $fieldname));
}
-function mac_format($clientmac) {
+function mac_format($clientmac, $zone = false) {
global $config;
$mac = explode(":", $clientmac);
- $mac_format = $config['captiveportal']['radmac_format'] ? $config['captiveportal']['radmac_format'] : false;
+ if ($zone)
+ $mac_format = $zone ? $config['captiveportal'][$zone]['radmac_format'] : false;
switch($mac_format) {
case 'singledash':
diff --git a/usr/local/captiveportal/radius_accounting.inc b/usr/local/captiveportal/radius_accounting.inc
index 0a1300c..0061f71 100644
--- a/usr/local/captiveportal/radius_accounting.inc
+++ b/usr/local/captiveportal/radius_accounting.inc
@@ -82,8 +82,8 @@ function RADIUS_ACCOUNTING_START($ruleno, $username, $sessionid, $radiusservers,
global $config, $cpzone;
$retvalue = array();
- $nas_mac = mac_format(get_interface_mac("wan"));
- $clientmac = mac_format($clientmac);
+ $nas_mac = mac_format(get_interface_mac("wan"), $cpzone);
+ $clientmac = mac_format($clientmac, $cpzone);
$nas_port = intval($ruleno);
$radiusvendor = $config['captiveportal'][$cpzone]['radiusvendor'] ? $config['captiveportal'][$cpzone]['radiusvendor'] : null;
@@ -194,8 +194,8 @@ function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radius
global $config, $cpzone;
$retvalue = array();
- $nas_mac = mac_format(get_interface_mac("wan"));
- $clientmac = mac_format($clientmac);
+ $nas_mac = mac_format(get_interface_mac("wan"), $cpzone);
+ $clientmac = mac_format($clientmac, $cpzone);
$nas_port = intval($ruleno);
$radiusvendor = $config['captiveportal'][$cpzone]['radiusvendor'] ? $config['captiveportal'][$cpzone]['radiusvendor'] : null;
$stop_time = (empty($stop_time)) ? time() : $stop_time;
diff --git a/usr/local/captiveportal/radius_authentication.inc b/usr/local/captiveportal/radius_authentication.inc
index df9a368..f201ba0 100644
--- a/usr/local/captiveportal/radius_authentication.inc
+++ b/usr/local/captiveportal/radius_authentication.inc
@@ -80,7 +80,7 @@ function RADIUS_AUTHENTICATION($username,$password,$radiusservers,$clientip,$cli
global $config, $cpzone;
$retvalue = array();
- $clientmac = mac_format($clientmac);
+ $clientmac = mac_format($clientmac, $cpzone);
$nas_port = $ruleno;
$radiusvendor = $config['captiveportal'][$cpzone]['radiusvendor'] ? $config['captiveportal'][$cpzone]['radiusvendor'] : null;
$radius_protocol = $config['captiveportal'][$cpzone]['radius_protocol'];
OpenPOWER on IntegriCloud