Hi, I am trying to expand an ipaddr typed attribute to hex value. the man unlang page contains the following :
e.g. If a request contains "Framed-IP-Address = 127.0.0.1", the expansion of %{hex:Framed-IP-Address} will yeild "0x7f000001".
but when ever I do that I get empty expansion. I am configuring the dynamic-clients, and my clients IPs are defined in the db as signed int (well, ugly, but I can not change that at the moment), the database is mssql, so I do not have those fancy functions like INET_ATON() I can do a SQL stored procedure to handle the conversion, but the expansion is much neater and simplifies things a lot. below is the output of my radiusd -X when trying to make the expansion. (0) server dynamic_clients { (0) # Executing section authorize from file /etc/raddb/sites-enabled/dynamic-clients (0) authorize { (0) if ("%{mssql_rbs: SELECT NASIndex FROM NASConfig WHERE NASIP = convert(int, %{hex:Packet-Src-IP-Address}) }") { (0) EXPAND %{User-Name} (0) --> (0) SQL-User-Name set to '' rlm_sql (mssql_rbs): Reserved connection (0) (0) Executing select query: SELECT NASIndex FROM NASConfig WHERE NASIP = convert(int, ) rlm_sql_freetds: unexpected result type from query (0) ERROR: rlm_sql_freetds: Server msg from "WIN-39JGB9CGE5E\EARTHLINKMSSQL": severity(102), number(15), origin(1), layer(1), procedure "none": Incorrect syntax near ')'. (0) ERROR: SQL query failed: server error rlm_sql (mssql_rbs): Released connection (0) Need 5 more connections to reach 10 spares rlm_sql (mssql_rbs): Opening additional connection (5), 1 of 27 pending slots used (0) EXPAND %{mssql_rbs: SELECT NASIndex FROM NASConfig WHERE NASIP = convert(int, %{hex:Packet-Src-IP-Address}) } (0) --> (0) if ("%{mssql_rbs: SELECT NASIndex FROM NASConfig WHERE NASIP = convert(int, %{hex:Packet-Src-IP-Address}) }") -> FALSE (0) [ok] = ok (0) } # authorize = ok (0) } # server dynamic_clients (0) Converting control list to client fields (0) ERROR: Cannot add client 172.31.4.6: Required attribute "FreeRADIUS-Client-Secret" is missing Ignoring request to auth address * port 1812 bound to server ELProxy from unknown client 172.31.4.6 port 35221 proto udp Ready to process requests it is complaining about a syntax error where the "supposed" hex value would be (inside the convert function) I also tried integer instead of hex with the same results am I missing something here? I can not seam to find any other reference to the "hex" expansion online nor in the config/man. thanks Ali