From c20cfcdcf05168a5d4e8ef9e0263706e6094eba0 Mon Sep 17 00:00:00 2001 From: Sean Bright <sean@malleable.com> Date: Mon, 27 Feb 2012 17:03:46 +0000 Subject: [PATCH] Address comments from Mark Michelson git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357014 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_iax2.c | 5 ++--- main/netsock.c | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 24f49d8bf4..fab2752c78 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -12270,7 +12270,7 @@ static int check_srcaddr(struct ast_sockaddr *addr) { int sd; - sd = socket(ast_sockaddr_is_ipv4(addr) ? AF_INET : AF_INET6, SOCK_DGRAM, 0); + sd = socket(addr->ss.ss_family, SOCK_DGRAM, 0); if (sd < 0) { ast_log(LOG_ERROR, "Socket: %s\n", strerror(errno)); return -1; @@ -12302,8 +12302,7 @@ static int peer_set_srcaddr(struct iax2_peer *peer, const char *srcaddr) if (!(tmp = ast_strdupa(srcaddr))) return -1; - host = strsep(&tmp, ":"); - portstr = tmp; + ast_sockaddr_split_hostport(tmp, &host, &portstr, 0); if (portstr) { port = atoi(portstr); diff --git a/main/netsock.c b/main/netsock.c index 334617da6b..994afc6015 100644 --- a/main/netsock.c +++ b/main/netsock.c @@ -167,6 +167,11 @@ struct ast_netsock *ast_netsock_bind(struct ast_netsock_list *list, struct io_co struct ast_sockaddr addr; if (ast_sockaddr_parse(&addr, bindinfo, 0)) { + if (!ast_sockaddr_is_ipv4(&addr)) { + ast_log(LOG_WARNING, "Only IPv4 addresses are supported at this time.\n"); + return NULL; + } + if (!ast_sockaddr_port(&addr)) { ast_sockaddr_set_port(&addr, defaultport); } -- GitLab