On 25 Apr 2013, at 10:37, Arran Cudbard-Bell <[email protected]> wrote:

> 
> On 25 Apr 2013, at 08:54, Alan DeKok <[email protected]> wrote:
> 
>> Franks Andy (RLZ) IT Systems Engineer wrote:
>>> I have a hopefully fairly straightforward question. We have a network
>>> switch, a procurve 5406 that we’re doing mac based port authentication
>>> on. The switch sends radius attributes including the NAS-Port-ID. I want
>>> to be able to reply with tagged and untagged vlans for the ports once
>>> authenticated, but the combination depends on the port. Lots of ports
>>> will likely have the same setup though, so I’d like to do something (I
>>> guess in the users file) like
>>> 
>>> DEFAULT NAS-Port-ID == 1-12,
>> 
>> That doesn't really work...
>> 
>>> This would work ok, but the ports are named modularly, i.e. A1, A2 etc,
>>> up to usually F24 max, not just numerically. What’s the most elegant way
>>> of doing this?
>> 
>> Badly.  There's really no good solution to this.
> 

<correction>

authorize{
        if (!NAS-Port && ("%{tolower:NAS-Port-ID}" =~ /([a-z])([0-9]+)/i)) {
                update request {
                        Tmp-String-0 := "%{1}"
                }

                update request {
                        Tmp-Integer-0 = "0x%{hex:Tmp-String-0}"
                }

                update request {
                        Nas-Port := "%{expr:( %{2} * 100 ) + %{Tmp-Integer-0}}"
                }
        }
}

DEFAULT         NAS-Port >= <bar>, NAS-Port <= <bar>

Arran Cudbard-Bell <[email protected]>
FreeRADIUS Development Team

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to