[RADIATOR] AuthAttrDef for multi-value Radius attribute check
Garry Shtern
Garry.Shtern at twosigma.com
Wed Sep 18 09:53:00 CDT 2013
Ah, I was a bit confused. That makes sense now.
This begs a necessity for a method that retrieves all groups a user belongs to into a multi-value attribute that is checked against with %{RequestOr:<attribute>}="Group1|Group2". At least for LDAP.
Thanks.
-----Original Message-----
From: radiator-bounces at open.com.au [mailto:radiator-bounces at open.com.au] On Behalf Of Heikki Vatiainen
Sent: Wednesday, September 18, 2013 9:33 AM
To: 'radiator at open.com.au'
Subject: Re: [RADIATOR] AuthAttrDef for multi-value Radius attribute check
On 09/18/2013 02:51 PM, Garry Shtern wrote:
> I was under the impression that RquestOr is already supported if one
> lists values separated by a space. Are you proposing to change the
> separator character to pipe and offering explicit method?
I was thinking the case below. Here the request has two OSC-AVPAIR attributes. If you have a check item OSC-AVPAIR=attrname1=value1, it will match since Radiator currently takes just the first named attribute. However, if you need to check that OSC-AVPAIR=attrname2=value2, then it fails since the check is once again done against the first attribute.
For example, with flat user file syntax, this will match:
mikem User-Password=fred, OSC-AVPAIR="attrname1=value1"
but this will not match:
mikem User-Password=fred, OSC-AVPAIR="attrname2=value2"
I think this would be useful for customisation, such as private attributes added for policy checks, cisco-avpair and other attributes that may be present multiple times in a request.
Code: Access-Request
Identifier: 103
Authentic: P<136><15><223>\|K<30><184>?<30><201><212><20>|4
Attributes:
User-Name = "mikem"
Service-Type = Framed-User
NAS-IP-Address = 203.63.154.1
NAS-Identifier = "203.63.154.1"
NAS-Port = 1234
Called-Station-Id = "123456789"
Calling-Station-Id = "987654321"
NAS-Port-Type = Async
User-Password = ~<152><183><5><253>~+Rc<25>+<137><196>><164>d
OSC-AVPAIR = "attrname1=value1"
OSC-AVPAIR = "attrname2=value2"
With pipe you can match a request like this:
Code: Access-Request
Identifier: 103
Authentic: P<136><15><223>\|K<30><184>?<30><201><212><20>|4
Attributes:
User-Name = "mikem"
Service-Type = Framed-User
NAS-IP-Address = 203.63.154.1
NAS-Identifier = "203.63.154.1"
NAS-Port = 1234
Called-Station-Id = "123456789"
Calling-Station-Id = "987654321"
NAS-Port-Type = Async
User-Password = ~<152><183><5><253>~+Rc<25>+<137><196>><164>d
OSC-AVPAIR = "attrname1=value1"
with a user file like this:
mikem User-Password=fred, OSC-AVPAIR="attrname1=value1|attrname2=value2"
This will allow OSC-AVPAIR to be either attrname1=value1 or attrname2=value2
If you still think space can be used, please provide an example. I'm interested to see if I have missed something :)
Thanks,
Heikki
--
Heikki Vatiainen <hvn at open.com.au>
Radiator: the most portable, flexible and configurable RADIUS server anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald, Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS, TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP, DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.
_______________________________________________
radiator mailing list
radiator at open.com.au
http://www.open.com.au/mailman/listinfo/radiator
More information about the radiator
mailing list