Seqfault with multiple

JDL JDL at ImagineNet.net
Wed Mar 25 06:52:42 CET 2009


tnt at kalik.net wrote:
>> Hello to Alan and the rest of the list. I wanted to report this to the
>> bug tracker but it appears to be down right now so I am sending it to
>> the list.
>>
>> I had a situation where I needed to remove all of the attributes from a
>> reply except for Service-Type to one specific client. Unlang seemed to
>> be perfect for this. It should be as simple as the following.
>>
>> if (Client-IP-Address == "192.168.10.20") {
>>    update reply {
>>        Framed-Protocol == ''
>>        Framed-IP-Address == 0.0.0.0
>>        Framed-IP-Netmask == 0.0.0.0
>>        Idle-Timeout == 999
>>        Session-Timeout == 999
>>        Port-Limit == 999
>>        Cisco-AVPair == ''
>>        Service-Type := Authenticate-Only
>>    }
>> }
>>
>>     
>
> 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
>   
Ivan,

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.

The -= operator removes the attribute if the attribute AND its value 
match the reply. Since the values can vary with different users and 
groups in our systerm, this operator is also not appropriate.

The == operator removes the attribute if the attribute and its value DO 
NOT match the reply. In my examples you will see that the values for 
those attributes are unusual values which will probably never be set by 
our user profiles. Since there is no operator or command in unlang to 
remove an attribute regardless of value, this was the best alternative 
that I could design.

According to what I have read, my configuration is correct, both in 
function and in syntax. It just crashes the server :-O

Jim L.



More information about the Freeradius-Users mailing list