diff options
author | bcyrill <cyrill@bannwart.info> | 2012-06-09 22:33:24 +0200 |
---|---|---|
committer | bcyrill <cyrill@bannwart.info> | 2012-06-09 22:33:24 +0200 |
commit | 54df925b9ea447bdd10f88a886e2ef11d44c3059 (patch) | |
tree | f844373c0c3488b6c405e342e67e16aa7c0b26a7 | |
parent | 52a43b2fa3c018b145de759af4da823fcb6260fc (diff) | |
download | pfsense-54df925b9ea447bdd10f88a886e2ef11d44c3059.zip pfsense-54df925b9ea447bdd10f88a886e2ef11d44c3059.tar.gz |
Make mac_format aware of multiple Captiveportal instances
-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']; |