[SR-Users] tag column on address table

Daniel-Constantin Mierla miconda at gmail.com
Tue Jan 7 11:09:10 CET 2014


Thanks for spotting it. Should be fixed in master branch now.

Daniel

On 07/01/14 05:00, Kelvin Chua wrote:
> np is undefined in find_group_in_subnet_table()
> it should be:
>
> @@ -717,7 +728,16 @@ int find_group_in_subnet_table(struct subnet* table,
>         while (i < count) {
>                 if ( ((table[i].port == port) || (table[i].port == 0))
>                         && (ip_addr_match_net(addr, &table[i].subnet, 
> table[i].mask)==0))
> +               {
> +                       if (tag_avp.n && table[i].tag.s) {
> +                               val.s = table[i].tag;
> +                               if (add_avp(tag_avp_type|AVP_VAL_STR, 
> tag_avp, val) != 0) {
> +                                       LM_ERR("setting of tag_avp 
> failed\n");
> +                                       return -1;
> +                               }
> +                       }
>                         return table[i].grp;
> +               }
>                 i++;
>         }
>
> Kelvin Chua
>
>
> On Tue, Jan 7, 2014 at 5:33 AM, Daniel-Constantin Mierla 
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Your patch seemed to be only for matching against individual IP
>     addresses, I added also for subnet matching. Can you try with the
>     patch from next commit?
>
>     -
>     http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0c67042fa629ee4744cfc31a15e571b7340b0881
>
>     Cheers,
>     Daniel
>
>
>     On 06/01/14 13:09, Kelvin Chua wrote:
>>     sorry my bad, it is available on the other address functions,
>>     just not on the allow_source_address_group.
>>     anyway, here is the patch to master
>>
>>     diff --git a/modules/permissions/hash.c b/modules/permissions/hash.c
>>     index 3a16581..c80a3f2 100644
>>     --- a/modules/permissions/hash.c
>>     +++ b/modules/permissions/hash.c
>>     @@ -486,13 +486,23 @@ int find_group_in_addr_hash_table(struct
>>     addr_list** table,
>>      {
>>             struct addr_list *np;
>>             str addr_str;
>>     +       int_str avp_val;
>>             addr_str.s = (char*)addr->u.addr;
>>             addr_str.len = 4;
>>     +       get_tag_avp(&tag_avp, &tag_avp_type);
>>             for (np = table[perm_hash(addr_str)]; np != NULL; np =
>>     np->next) {
>>                     if (((np->port == 0) || (np->port == port))
>>                                     && ip_addr_cmp(&np->addr, addr)) {
>>     +                       if ( np->tag.s != NULL ) {
>>     +                               avp_val.s.s = (char *)np->tag.s;
>>     + avp_val.s.len = strlen(avp_val.s.s);
>>     +                               if
>>     (add_avp(tag_avp_type|AVP_VAL_STR, tag_avp, avp_val) != 0) {
>>     + LM_ERR("failed to set of tag_avp failed\n");
>>     + return -1;
>>     +                               }
>>     +                       }
>>                             return np->grp;
>>                     }
>>             }
>>
>>
>>     Kelvin Chua
>>
>>
>>     On Mon, Jan 6, 2014 at 7:59 PM, Kelvin Chua <kelchy at gmail.com
>>     <mailto:kelchy at gmail.com>> wrote:
>>
>>         checking the source code, looks like, it's not being set at
>>         all on any of those functions
>>
>>         Kelvin Chua
>>
>>
>>         On Mon, Jan 6, 2014 at 7:37 PM, Daniel-Constantin Mierla
>>         <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>
>>             Hello,
>>
>>
>>             On 04/01/14 21:47, Juha Heinanen wrote:
>>
>>                 Kelvin Chua writes:
>>
>>                     is the peer_tag_avp used on
>>                     allow_source_address_group?
>>
>>                 based on fast scan of permissions module source, it
>>                 appears that
>>                 peer_tag_avp is set only by allow_trusted function.
>>
>>             the peer tag avp should be set also for allow_address()
>>             and allow_source_address(). I don't think it is set for
>>             allow_source_address_group().
>>
>>             Cheers,
>>             Daniel
>>
>>             -- 
>>             Daniel-Constantin Mierla - http://www.asipto.com
>>             http://twitter.com/#!/miconda
>>             <http://twitter.com/#%21/miconda> -
>>             http://www.linkedin.com/in/miconda
>>
>>
>>
>>             _______________________________________________
>>             SIP Express Router (SER) and Kamailio (OpenSER) -
>>             sr-users mailing list
>>             sr-users at lists.sip-router.org
>>             <mailto:sr-users at lists.sip-router.org>
>>             http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>>
>
>     -- 
>     Daniel-Constantin Mierla -http://www.asipto.com
>     http://twitter.com/#!/miconda  <http://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>
>

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140107/3af98b54/attachment.html>


More information about the sr-users mailing list