diff options
-rw-r--r-- | etc/inc/captiveportal.inc | 2 | ||||
-rw-r--r-- | etc/inc/util.inc | 5 | ||||
-rw-r--r-- | usr/local/captiveportal/radius_accounting.inc | 8 | ||||
-rw-r--r-- | usr/local/captiveportal/radius_authentication.inc | 2 |
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']; |