unlang help please

Leighton Man l.j.man at hud.ac.uk
Wed Feb 17 13:32:35 CET 2010


Using /usr/local/bin/radclient -f radpkt .............. where radpkt contains:

Packet-Type = Access-Request
        User-Name = "test at test.test.test"
        Airespace-Wlan-Id = 4
        Service-Type = Framed-User
        Framed-MTU = 1300
        NAS-Port-Type = Wireless-802.11
        Tunnel-Type:0 = VLAN
        Tunnel-Medium-Type:0 = IEEE-802
        Tunnel-Private-Group-Id:0 = "13"


I have unlang in authorise section of sites-enabled/default, after pap:

if (request:Tunnel-Private-Group-Id:0 == "13"){
#if (request:Airespace-Wlan-Id == 3){
   update control {
      Proxy-To-Realm := LOCAL
   }
}

In debug mode I see:

rad_recv: Access-Request packet from host 172.17.193.111 port 51171, id=33, length=87
        User-Name = "test at test.test.test"
        Airespace-Wlan-Id = 4
        Service-Type = Framed-User
        Framed-MTU = 1300
        NAS-Port-Type = Wireless-802.11
        Tunnel-Type:0 = VLAN
        Tunnel-Medium-Type:0 = IEEE-802
        Tunnel-Private-Group-Id:0 = "13"
+- entering group authorize {...}
++[preprocess] returns ok
[auth_log]      expand: /usr/local/var/log/radius/radacct/auth-detail-%Y%m%d -> /usr/local/var/log/radius/radacct/auth-detail-20100217
[auth_log] /usr/local/var/log/radius/radacct/auth-detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/auth-detail-20100217
[auth_log]      expand: %t -> Wed Feb 17 12:23:28 2010
++[auth_log] returns ok
++[chap] returns noop
++[mschap] returns noop
[suffix] Looking up realm "test.test.test" for User-Name = "test at test.test.test"
[suffix] Found realm "DEFAULT"
[suffix] Adding Realm = "DEFAULT"
[suffix] Proxying request from user test to realm DEFAULT
[suffix] Preparing to proxy authentication request to realm "DEFAULT"
++[suffix] returns updated
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[unix] returns notfound
++[files] returns noop
++[expiration] returns noop
++[logintime] returns noop
++[pap] returns noop
++? if (request:Tunnel-Private-Group-Id:0 == "13")
? Evaluating (request:Tunnel-Private-Group-Id:0 == "13") -> FALSE
++? if (request:Tunnel-Private-Group-Id:0 == "13") -> FALSE
        expand: %{client:shortname} -> testing
++[request] returns noop


Etc. etc.

Can someone please explain why the comparison (request:Tunnel-Private-Group-Id:0 == "13") fails? I've tried single quotes, double quotes and no quotes around the 13. If I change == to != in the unlang, the comparison returns TRUE . If I use (request:Airespace-Wlan-Id == 4 ) in the comparison, it all works as I would expect.

Thanks in advance,

Leighton




________________________________

---
This transmission is confidential and may be legally privileged. If you receive it in error, please notify us immediately by e-mail and remove it from your system. If the content of this e-mail does not relate to the business of the University of Huddersfield, then we do not endorse it and will accept no liability.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20100217/7c8ce1f3/attachment.html>


More information about the Freeradius-Users mailing list