Strange in dictionary

vanish vanishox at coltel.ru
Wed May 13 13:53:03 CEST 2015


Greeting.

I found something strange in dictionary work. 

1. I have next sql query for radreply:

"SELECT 1 id, '%{SQL-User-Name}' username, 'Cisco-Account-Info'
attribute, 'AOPEN_DNS' value, '=' op from TABLE(SET {1}) \
  union \ 
SELECT 2 id, '%{SQL-User-Name}' username, 'Cisco-Account-Info'
attribute, 'AL4REDIRECT_SERVICE' value,  '+=' op from TABLE(SET {1})"

When user authenticate is successfull - FR send Access-Accept packet to
cisco device:

>Sending Access-Accept of id 201 to 10.10.10.1 port 1645
>	Cisco-Account-Info = "AOPEN_DNS"
>	Cisco-Account-Info += "AL4REDIRECT_SERVICE"

Everything work fine.

2. But when i want to send Cisco-AVPair attribute to cisco:

"SELECT 1 id, '%{SQL-User-Name}' username, 'Cisco-Account-Info'
attribute, 'AOPEN_DNS' value, '=' op from TABLE(SET {1}) \
  union \ 
SELECT 2 id, '%{SQL-User-Name}' username, 'Cisco-Account-Info'
attribute, 'AL4REDIRECT_SERVICE' value,  '+=' op from TABLE(SET {1})"
  union \
SELECT 3 id, '%{SQL-User-Name}' username, 'Cisco-AVPair' attribute,
'ip:addr-pool=pool1' value,  '=' op from TABLE(SET {1})"

I get next error:

Error: rlm_sql: Failed to create the pair: Unknown attribute
"Cisco-AVPair      " requires a hex string, not "ip:addr-pool=pool1"

I check dictionary.cisco:

>#cat /usr/share/freeradius/dictionary.cisco | egrep "Info|AVP"
>ATTRIBUTE	Cisco-AVPair				1	string
>ATTRIBUTE	Cisco-Account-Info			250	string
>ATTRIBUTE	Cisco-Service-Info			251	string
>ATTRIBUTE	Cisco-Control-Info			253	string

Attributes exists, but error occure.

Please explain me, where the mistake.





More information about the Freeradius-Users mailing list