Seqfault with multiple
JDL
JDL at ImagineNet.net
Wed Mar 25 14:02:25 CET 2009
tnt at kalik.net wrote:
>>> Read man unlang again. See what does == do. Perhaps you want:
>>>
>>> if (Client-IP-Address == "192.168.10.20") {
>>> update reply {
>>> Service-Type == Authenticate-Only
>>> }
>>> }
>>>
>>> Or you want to use -= on multiple attributes.
>>>
>>> Ivan Kalik
>>> Kalik Informatika ISP
>>>
>>>
>> Please read man unlang again, Neither of your examples are appropriate
>> for my purposes. "Service-Type == Authenticate-Only" would remove the
>> Service-Type attribute if its value is not Authenticate-Only. I do not
>> want to remove the Service-Type attribute at all. I want to set its
>> value to Authenticate-Only which is why I used the := operator.
>>
>>
>
> So do:
>
> if (Client-IP-Address == "192.168.10.20") {
> update reply {
> Service-Type:= Authenticate-Only
> Service-Type == Authenticate-Only
> }
> }
>
>
>> The == operator removes the attribute if the attribute and its value DO
>> NOT match the reply.
>>
>
> It removes *all* the attributes and values that do not match. That *is*
> what you want - to keep that Service-Type and remove all other
> attributes regardless of value?
>
> Listing two attributes with == is pointless - it will delete the whole
> list.
>
> Ivan Kalik
> Kalik Informatika ISP
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>
The == operator does _not_ remove all attributes. It only affects the
attribute named on the left of this operator. It does not delete or
affect any other attributes in the request. See example below.
update request {
Idle-Timeout == 999
}
Will remove all non-matching attributes. So it will remove
Idle-Timeout = 0
Idle-Timeout = 1
Idle-Timeout = 1000
It will not remove
Idle-Timeout = 999
I have tested this extensively on my system with debug -X. I know this
is how this configuration works because I can see the results in the
debug output.
Jim L.
More information about the Freeradius-Users
mailing list