rlm_perl bug while adding VSA?

magmike at mail.ru magmike at mail.ru
Fri Jan 17 12:15:10 CET 2014


Alan wrote: 
>> magmike at mail.ru wrote:
>>>   If you're running a 5 year-old version of the server, you really need
>>> to upgrade.

>> i use freeradiusd 2.1.12
>> $ freeradius -v
>> freeradius: FreeRADIUS Version 2.1.12, for host i486-pc-linux-gnu, built on Dec 16 2012 at 22:03:33

>   <shrug>  It works for me with the latest release.

>   Please try with 2.2.3.  If the bug is still there, I'll look at it.

>   Alan DeKok.

It's like bug in functions which use VALUE_PAIR.attribute  as signed int

i.e.  paircopy2 from valuepair.c:359

-------------------------------------------------------------
VALUE_PAIR *paircopy2(VALUE_PAIR *vp, int attr)
{
    VALUE_PAIR  *first, *n, **last;

    first = NULL;
    last = &first;

    while (vp) {
        if (attr >= 0 && vp->attribute != attr) {
            vp = vp->next;
            continue;
        }
-------------------------------------------------------------

Here when vendor id > 32K, attr argument is negative.
so  
  if (attr >= 0 && vp->attribute != attr) {
will false 

 attr >= 0 should be changed to attr == -1 for correct execution


Michael



More information about the Freeradius-Users mailing list