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 <mico...@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 <kel...@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 < >> mico...@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://www.linkedin.com/in/miconda >>> >>> >>> >>> _______________________________________________ >>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>> sr-users@lists.sip-router.org >>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>> >> >> > > -- > Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda > - http://www.linkedin.com/in/miconda > >
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users