Re: Converting attributes from hex to ASCII
Thanks Arran, but I'm already pretty clear on how to update variables in the request. I just don't know how to go about adding the logic to convert hex/octal strings to ASCII values in unlang. This is untested, but my current line of thinking is to modify the queries in sql.conf with something like this: ... IF('%{Some-Trigger-Attribute}'="TRIGGER-VALUE", UNHEX('%{Called-Station-Id}'), '%{Called-Station-Id}'), \ ... A little bit of overhead to every query, but I suspect it will be manageable on our network. Alternatively, I suppose I could do something like this (untested): ... if ("%{Some-Trigger-Attribute}" =~ /^TRIGGER-VALUE$/) { update request { Called-Station-Id := '%{sql:SELECT UNHEX(%{Called-Station-Id})}' } } ... This somehow seems less desirable though. --Aaron On 3/30/2010 10:06 PM, Arran Cudbard-Bell wrote:
update request { Tmp-String-1 := `printf etc...` }
Then use variable expansion %{request:Tmp-String-1}. Variables in the backticks will also be expanded.
-Arran
On 3/30/10 4:59 PM, Aaron Paetznick wrote:
I'm receiving User-Name and various Cisco-AVPair attributes as hex.
The situation is complicated. We have a Calix NAS doing something called DHCP-triggered RADIUS accounting through a Cisco ASR. This means neither vendor wants to accept responsibility, and here we are.
I just thought it would be nice if FreeRADIUS supported a perl-like regex system for manipulating strings. I think I'll have to try to fix this by jiggering the SQL.
I just wanted to see if anybody else has dealt with something like this.
--Aaron
Aaron Paetznick wrote:
I am receiving certain accounting attributes as hex encoded strings,
Why? Which attributes are they?
and I would like to convert them back to cleartext ASCII before sending them to MySQL.
I can't simply update the SQL with UNHEX() functions, as not all of the requests are hex encoded this way.
It sounds like the NAS is broken. Not that I'm surprised...
If I could use perl, I would do something like this:
Why not use Perl? The server doesn't have generic string handling functions, and I don't see the need to invent yet another language.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok wrote: - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (1)
-
Aaron Paetznick