summaryrefslogtreecommitdiff
path: root/main/netsock.c
diff options
context:
space:
mode:
authorMichael L. Young <elgueromexicano@gmail.com>2013-10-04 21:41:58 +0000
committerMichael L. Young <elgueromexicano@gmail.com>2013-10-04 21:41:58 +0000
commit2af53640c88464bb338753120945159e8e1a9cb9 (patch)
tree65951c78f0d8b20bb58808b5fa12444b4de38154 /main/netsock.c
parent21902bf9647823049358cdf386150d4b9b15e75e (diff)
Add IPv6 Support To chan_iax2
This patch adds IPv6 support to chan_iax2. Yay! (closes issue ASTERISK-22025) Patches: iax2-ipv6-v5-reviewboard.diff by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2660/ ........ Merged revisions 400567 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/netsock.c')
-rw-r--r--main/netsock.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/main/netsock.c b/main/netsock.c
index 598bc4b70..18bf561f1 100644
--- a/main/netsock.c
+++ b/main/netsock.c
@@ -117,7 +117,7 @@ struct ast_netsock *ast_netsock_bindaddr(struct ast_netsock_list *list, struct i
const int reuseFlag = 1;
/* Make a UDP socket */
- netsocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
+ netsocket = socket(ast_sockaddr_is_ipv6(bindaddr) ? AST_AF_INET6 : AST_AF_INET, SOCK_DGRAM, IPPROTO_IP);
if (netsocket < 0) {
ast_log(LOG_ERROR, "Unable to create network socket: %s\n", strerror(errno));
@@ -155,7 +155,7 @@ struct ast_netsock *ast_netsock_bindaddr(struct ast_netsock_list *list, struct i
ns->ioc = ioc;
ns->sockfd = netsocket;
ns->data = data;
- memcpy(&ns->bindaddr, bindaddr, sizeof(ns->bindaddr));
+ ast_sockaddr_copy(&ns->bindaddr, bindaddr);
ASTOBJ_CONTAINER_LINK(list, ns);
return ns;
@@ -171,10 +171,6 @@ 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);