[SR-Users] misc_radius false error

Victor V. Kustov coyote at bks.tv
Wed May 15 15:41:19 CEST 2013


Hello!

Radius pairs has two similar types: integer and ipaddr.
generate_avps
In modules/misc_radius/functions.c, function generate_avps()
we see that attribute checked for PW_TYPE_INTEGER (integer) type.
That incorrect: when rad attribute has PW_TYPE_IPADDR (for example
Framed-IP-Addr) then we raise error, but we must processing ipaddr same
as integer.

As result misc_radius cant sent queries with PW_TYPE_IPADDR at all: 
error "attribute ## not integer" raised.


Need correct this same way:

@@ -142,7 +196,8 @@ static void generate_avps(struct attr *attrs, VALUE_PAIR* received)
     do {                                                               \
        if ((_len) != 0) {                                              \
            if ((_len) == -1) {                                         \
-               if (_attrs[_attr].t != PW_TYPE_INTEGER) {               \
+               if (_attrs[_attr].t != PW_TYPE_INTEGER) \
+                   if (_attrs[_attr].t != PW_TYPE_IPADDR) {           \
                    LM_ERR("attribute %d is not of type integer\n",     \
                           _attrs[_attr].v);                            \
                    goto error;
                    \

Daniel, what about my previous patch? May be resend with this corrections?


--
 WBR, Victor
  JID: coyote at bks.tv
  JID: coyote at bryansktel.ru
  I use FREE operation system: 3.8.4-calculate GNU/Linux



More information about the sr-users mailing list