From e212b7e961a7648051cd5cb91b00d5617763c2cf Mon Sep 17 00:00:00 2001 From: mom040267 Date: Sat, 31 Jan 2015 07:14:06 +0000 Subject: [PATCH] ip address resolution fix --- ChangeLog | 4 ++++ rpm/build.settings.sh | 2 +- rpm/turnserver.spec | 4 +++- src/client/ns_turn_ioaddr.c | 12 +++++++----- src/ns_turn_defs.h | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7ac716ba..9a69efbc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +1/31/2015 Oleg Moskalenko +Version 4.4.1.2 'Ardee West': + - IP address resolution fix; + 1/24/2015 Oleg Moskalenko Version 4.4.1.1 'Ardee West': - https admin server; diff --git a/rpm/build.settings.sh b/rpm/build.settings.sh index 5121d85b..c5c3ea19 100755 --- a/rpm/build.settings.sh +++ b/rpm/build.settings.sh @@ -2,7 +2,7 @@ # Common settings script. -TURNVERSION=4.4.1.1 +TURNVERSION=4.4.1.2 BUILDDIR=~/rpmbuild ARCH=`uname -p` TURNSERVER_SVN_URL=http://coturn.googlecode.com/svn diff --git a/rpm/turnserver.spec b/rpm/turnserver.spec index 9912ff89..747a3562 100644 --- a/rpm/turnserver.spec +++ b/rpm/turnserver.spec @@ -1,5 +1,5 @@ Name: turnserver -Version: 4.4.1.1 +Version: 4.4.1.2 Release: 0%{dist} Summary: Coturn TURN Server @@ -288,6 +288,8 @@ fi %{_includedir}/turn/client/TurnMsgLib.h %changelog +* Sat Jan 31 2015 Oleg Moskalenko + - Sync to 4.4.1.2 * Sat Jan 24 2015 Oleg Moskalenko - Sync to 4.4.1.1 * Wed Dec 24 2014 Oleg Moskalenko diff --git a/src/client/ns_turn_ioaddr.c b/src/client/ns_turn_ioaddr.c index 60ccd3d5..f86ede17 100644 --- a/src/client/ns_turn_ioaddr.c +++ b/src/client/ns_turn_ioaddr.c @@ -245,24 +245,26 @@ int make_ioa_addr(const u08bits* saddr0, int port, ioa_addr *addr) { beg_af: - while(!found && addr_result) { + while(addr_result) { if(addr_result->ai_family == family) { - ns_bcopy(addr_result->ai_addr, addr, addr_result->ai_addrlen); if (addr_result->ai_family == AF_INET) { + ns_bcopy(addr_result->ai_addr, addr, addr_result->ai_addrlen); addr->s4.sin_port = nswap16(port); #if defined(TURN_HAS_SIN_LEN) /* tested when configured */ addr->s4.sin_len = sizeof(struct sockaddr_in); #endif + found = 1; + break; } else if (addr_result->ai_family == AF_INET6) { + ns_bcopy(addr_result->ai_addr, addr, addr_result->ai_addrlen); addr->s6.sin6_port = nswap16(port); #if defined(SIN6_LEN) /* this define is required by IPv6 if used */ addr->s6.sin6_len = sizeof(struct sockaddr_in6); #endif - } else { - continue; + found = 1; + break; } - found = 1; } addr_result = addr_result->ai_next; diff --git a/src/ns_turn_defs.h b/src/ns_turn_defs.h index 3cedbe84..570e1fdc 100644 --- a/src/ns_turn_defs.h +++ b/src/ns_turn_defs.h @@ -31,7 +31,7 @@ #ifndef __IOADEFS__ #define __IOADEFS__ -#define TURN_SERVER_VERSION "4.4.1.1" +#define TURN_SERVER_VERSION "4.4.1.2" #define TURN_SERVER_VERSION_NAME "Ardee West" #define TURN_SOFTWARE "Coturn-" TURN_SERVER_VERSION " '" TURN_SERVER_VERSION_NAME "'"