[asterisk-dev] [Code Review] 3652: pjsip cli: Change Identify to show CIDR notation instead of netmasks.

George Joseph reviewboard at asterisk.org
Thu Jun 19 14:29:44 CDT 2014



> On June 19, 2014, 12:01 p.m., Mark Michelson wrote:
> > branches/12/main/netsock2.c, lines 156-160
> > <https://reviewboard.asterisk.org/r/3652/diff/1/?file=59870#file59870line156>
> >
> >     This loop is incorrect. I believe it should be:
> >     
> >     if (j = 0; j < 8; ++j) {
> >         if ((addr[i] >> j) & 1) {
> >             bits++;
> >         }
> >     }
> 
> Mark Michelson wrote:
>     Obviously that first line should be "for" not "if" :)

I swear I typed "j" instead of "1" in that if.  :)


> On June 19, 2014, 12:01 p.m., Mark Michelson wrote:
> > branches/12/main/acl.c, line 683
> > <https://reviewboard.asterisk.org/r/3652/diff/1/?file=59869#file59869line683>
> >
> >     It's typically a good idea to avoid ast_strdupa() inside a for loop since it theoretically could blow the stack on a very large list.
> >     
> >     Since addr is const, you don't even need to make a stack copy of it at all.

This was a cut and paste from the original ast_ha_join.  I removed the strdup here and there don't seem to be any ill effects but I left ast_ha_join alone as it would require more testing.  After all, somebody put it there for a reason. :)


- George


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3652/#review12209
-----------------------------------------------------------


On June 19, 2014, 11:47 a.m., George Joseph wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3652/
> -----------------------------------------------------------
> 
> (Updated June 19, 2014, 11:47 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> In 'pjsip show endpoints' wouldn't you rather see...
> 
> Identify:  192.168.101.54/32,192.168.147.1/32
> or
> Identify:  26ff:ff:6622:e020::220/128
> 
> instead of...
> 
> Identify:  192.168.101.54/255.255.255.255,192.168.147.1/255.255.255.255
> or
> Identify:  26ff:ff:6622:e020::220/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
> 
> ?
> 
> I would. :)
> 
> Added ast_sockaddr_cidr_bits() to count the 1 bits in an ast_sockaddr.
> Added ast_ha_join_cidr() which uses ast_sockaddr_cidr_bits() for the netmask instead of ast_sockaddr_stringify_addr.
> Changed res_pjsip_endpoint_identifier_ip to call ast_ha_join_cidr() instead of ast_ha_join().
> 
> This is a CLI change only.  AMI was not affected.
> 
> 
> Diffs
> -----
> 
>   branches/12/res/res_pjsip_endpoint_identifier_ip.c 416729 
>   branches/12/main/netsock2.c 416729 
>   branches/12/main/acl.c 416729 
>   branches/12/include/asterisk/netsock2.h 416729 
>   branches/12/include/asterisk/acl.h 416729 
> 
> Diff: https://reviewboard.asterisk.org/r/3652/diff/
> 
> 
> Testing
> -------
> 
> Made sure both ipv4 and ipv6 addresses were formatted correctly.
> 
> 
> Thanks,
> 
> George Joseph
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140619/316904c4/attachment.html>


More information about the asterisk-dev mailing list