From d87f8c429e6852d11f7a3bddf6981e2f754c1ea8 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Thu, 19 Jun 2014 20:13:20 +0000 Subject: pjsip cli: Change Identify to show CIDR notation instead of netmasks. * 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() for the CLI output. This is a CLI change only. AMI was not affected. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3652/ ........ Merged revisions 416737 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@416738 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/acl.h | 7 +++++++ include/asterisk/netsock2.h | 10 ++++++++++ 2 files changed, 17 insertions(+) (limited to 'include') diff --git a/include/asterisk/acl.h b/include/asterisk/acl.h index d1773b6b1..bda1c7606 100644 --- a/include/asterisk/acl.h +++ b/include/asterisk/acl.h @@ -141,6 +141,13 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha */ void ast_ha_join(const struct ast_ha *ha, struct ast_str **buf); +/*! + * \brief Convert HAs to a comma separated string value using CIDR notation + * \param ha the starting ha head + * \param buf string buffer to convert data to + */ +void ast_ha_join_cidr(const struct ast_ha *ha, struct ast_str **buf); + /*! * \brief Add a rule to an ACL struct * diff --git a/include/asterisk/netsock2.h b/include/asterisk/netsock2.h index 2db8b8081..3ede99087 100644 --- a/include/asterisk/netsock2.h +++ b/include/asterisk/netsock2.h @@ -262,6 +262,16 @@ static inline char *ast_sockaddr_stringify_addr(const struct ast_sockaddr *addr) return ast_sockaddr_stringify_fmt(addr, AST_SOCKADDR_STR_ADDR); } +/*! + * \since 12.4 + * + * \brief + * Count the 1 bits in a netmask + * + * \return number of 1 bits + */ +int ast_sockaddr_cidr_bits(const struct ast_sockaddr *sa); + /*! * \since 1.8 * -- cgit v1.2.3