From 0ff4e51bd42ddae5b0d2d4449846689fb3b9a2f2 Mon Sep 17 00:00:00 2001 From: bossiel Date: Mon, 22 Feb 2010 02:21:10 +0000 Subject: [PATCH] "ANY_HOST" now point to "0.0.0.0" address for IPv4 sockets and "::" for IPv6. --- trunk/tinyNET/src/tnet_socket.c | 22 ++++++++++++++-------- trunk/tinySIP/test/test/test_stack.h | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/trunk/tinyNET/src/tnet_socket.c b/trunk/tinyNET/src/tnet_socket.c index a76d058b..7f3c7ab1 100644 --- a/trunk/tinyNET/src/tnet_socket.c +++ b/trunk/tinyNET/src/tnet_socket.c @@ -142,19 +142,25 @@ static void* tnet_socket_create(void * self, va_list * app) sock->type = va_arg(*app, tnet_socket_type_t); nonblocking = va_arg(*app, int); + memset(local_hostname, 0, sizeof(local_hostname)); + /* Get the local host name */ - if(host != TNET_SOCKET_HOST_ANY && !tsk_strempty(host)) - { - memset(local_hostname, 0, sizeof(local_hostname)); + if(host != TNET_SOCKET_HOST_ANY && !tsk_strempty(host)){ memcpy(local_hostname, host, strlen(host)>sizeof(local_hostname)-1 ? sizeof(local_hostname)-1 : strlen(host)); } else { - if((status = tnet_gethostname(&local_hostname))) - { - TNET_PRINT_LAST_ERROR("gethostname have failed."); - goto bail; + if(TNET_SOCKET_TYPE_IS_IPV6(sock->type)){ + memcpy(local_hostname, "::", 2); } + else{ + memcpy(local_hostname, "0.0.0.0", 7); + } + //if((status = tnet_gethostname(&local_hostname))) + //{ + // TNET_PRINT_LAST_ERROR("gethostname have failed."); + // goto bail; + //} } /* hints address info structure */ @@ -163,7 +169,7 @@ static void* tnet_socket_create(void * self, va_list * app) hints.ai_socktype = TNET_SOCKET_TYPE_IS_STREAM(sock->type) ? SOCK_STREAM : SOCK_DGRAM; hints.ai_protocol = TNET_SOCKET_TYPE_IS_STREAM(sock->type) ? IPPROTO_TCP : IPPROTO_UDP; hints.ai_flags = AI_PASSIVE -#if !TNET_UNDER_WINDOWS +#if !TNET_UNDER_WINDOWS || _WIN32_WINNT>=600 | AI_ADDRCONFIG #endif ; diff --git a/trunk/tinySIP/test/test/test_stack.h b/trunk/tinySIP/test/test/test_stack.h index ecd6cc3c..b147da82 100644 --- a/trunk/tinySIP/test/test/test_stack.h +++ b/trunk/tinySIP/test/test/test_stack.h @@ -132,7 +132,7 @@ void test_stack() TSIP_STACK_SET_REALM("sip:sip2sip.info"), // FIXME: without sip: TSIP_STACK_SET_LOCAL_IP(LOCAL_IP), //TSIP_STACK_SET_DISCOVERY_NAPTR(1), - TSIP_STACK_SET_PROXY_CSCF("proxy.sipthor.net", "udp", 1), + TSIP_STACK_SET_PROXY_CSCF("proxy.sipthor.net", "udp", 0), //TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0), TSIP_STACK_SET_PROXY_CSCF_PORT(5060), TSIP_STACK_SET_SEC_AGREE_MECH("ipsec-3gpp"),