Hello,

can you make the patch for master branch? It has to be added there.

Cheers,
Daniel

On 06/01/14 11:54, Kelvin Chua wrote:
here is a patch against 4.0.5 to make this work with the address table

--- kamailio-4.0.5/modules/permissions/hash.c 2013-12-20 11:42:46.000000000 -0500
+++ kamailio-4.0.5/modules/permissions/hash.c 2014-01-06 05:48:54.000000000 -0500
@@ -486,13 +486,24 @@
 {
  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 1:09 PM, Kelvin Chua <kelchy@gmail.com> wrote:
then the documentation has to be changed:

1.4. Address Permissions

The module can be used to determine if an address (IP address and port) matches any of the IP subnets stored in cached Kamailio database table. Port 0 in cached database table matches any port. IP address and port to be matched can be either taken from the request (allow_source_address) or given as pvar arguments (allow_address).

Addresses stored in cached database table can be grouped together into one or more groups specified by a group identifier (positive integer value, i.e., equal or greater than 1). Group identifier is given as argument to allow_address and allow_source_address functions.

As a side effect of matching the address, non-NULL tag (see tag_col module parameter) is added as value to peer_tag AVP if peer_tag_avp module parameter has been defined.





Kelvin Chua


On Sun, Jan 5, 2014 at 4:47 AM, Juha Heinanen <jh@tutpro.com> 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.

-- juha

_______________________________________________
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




_______________________________________________
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.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda