diff options
author | bbryant <bbryant@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-09 18:51:52 +0000 |
---|---|---|
committer | bbryant <bbryant@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-09 18:51:52 +0000 |
commit | 722eb3c4c3cfa1c0cee915c949c5f95199ee24dd (patch) | |
tree | 25683963c5e51bdedd6211cd0ea92a85639505c3 /main/netsock2.c | |
parent | 815b5b09da5e555add7bba3d8fca588e7611248a (diff) |
Merged revisions 285710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r285710 | bbryant | 2010-09-09 14:50:13 -0400 (Thu, 09 Sep 2010) | 8 lines
Fixes an issue with dialplan pattern matching where the specificity for pattern ranges and pattern special characters was inconsistent.
(closes issue #16903)
Reported by: Nick_Lewis
Patches:
pbx.c-specificity.patch uploaded by Nick Lewis (license 657)
Tested by: Nick_Lewis
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@285711 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/netsock2.c')
-rw-r--r-- | main/netsock2.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/main/netsock2.c b/main/netsock2.c index 929f4b337..99f7eac89 100644 --- a/main/netsock2.c +++ b/main/netsock2.c @@ -118,7 +118,7 @@ char *ast_sockaddr_stringify_fmt(const struct ast_sockaddr *sa, int format) return ast_str_buffer(str); } -int static _ast_sockaddr_parse(char *str, char **host, char **port, int flags) +int ast_sockaddr_split_hostport(char *str, char **host, char **port, int flags) { char *s = str; @@ -187,7 +187,7 @@ int ast_sockaddr_parse(struct ast_sockaddr *addr, const char *str, int flags) int e; s = ast_strdupa(str); - if (!_ast_sockaddr_parse(s, &host, &port, flags)) { + if (!ast_sockaddr_split_hostport(s, &host, &port, flags)) { return 0; } @@ -233,7 +233,7 @@ int ast_sockaddr_resolve(struct ast_sockaddr **addrs, const char *str, int e, i, res_cnt; s = ast_strdupa(str); - if (!_ast_sockaddr_parse(s, &host, &port, flags)) { + if (!ast_sockaddr_split_hostport(s, &host, &port, flags)) { return 0; } @@ -343,7 +343,9 @@ uint16_t _ast_sockaddr_port(const struct ast_sockaddr *addr, const char *file, i addr->len == sizeof(struct sockaddr_in6)) { return ntohs(((struct sockaddr_in6 *)&addr->ss)->sin6_port); } - ast_log(__LOG_DEBUG, file, line, func, "Not an IPv4 nor IPv6 address, cannot get port.\n"); + if (option_debug >= 1) { + ast_log(__LOG_DEBUG, file, line, func, "Not an IPv4 nor IPv6 address, cannot get port.\n"); + } return 0; } @@ -355,7 +357,7 @@ void _ast_sockaddr_set_port(struct ast_sockaddr *addr, uint16_t port, const char } else if (addr->ss.ss_family == AF_INET6 && addr->len == sizeof(struct sockaddr_in6)) { ((struct sockaddr_in6 *)&addr->ss)->sin6_port = htons(port); - } else { + } else if (option_debug >= 1) { ast_log(__LOG_DEBUG, file, line, func, "Not an IPv4 nor IPv6 address, cannot set port.\n"); } @@ -485,7 +487,7 @@ int _ast_sockaddr_to_sin(const struct ast_sockaddr *addr, return 0; } - if (addr->ss.ss_family != AF_INET) { + if (addr->ss.ss_family != AF_INET && option_debug >= 1) { ast_log(__LOG_DEBUG, file, line, func, "Address family is not AF_INET\n"); } @@ -498,7 +500,7 @@ void _ast_sockaddr_from_sin(struct ast_sockaddr *addr, const struct sockaddr_in { memcpy(&addr->ss, sin, sizeof(*sin)); - if (addr->ss.ss_family != AF_INET) { + if (addr->ss.ss_family != AF_INET && option_debug >= 1) { ast_log(__LOG_DEBUG, file, line, func, "Address family is not AF_INET\n"); } |