[asterisk-commits] kmoore: branch 11 r400681 -	/branches/11/res/res_rtp_asterisk.c
    SVN commits to the Asterisk project 
    asterisk-commits at lists.digium.com
       
    Tue Oct  8 10:42:47 CDT 2013
    
    
  
Author: kmoore
Date: Tue Oct  8 10:42:44 2013
New Revision: 400681
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400681
Log:
Fix STUN crash when using IPv6 any address
Ensure that when chan_sip binds to the IPv6 any address ([::]), IPv4
candidates are also added.
(closes issue ASTERISK-21917)
Reported by: Torrey Searle
Patches:
    0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License 5334)
Modified:
    branches/11/res/res_rtp_asterisk.c
Modified: branches/11/res/res_rtp_asterisk.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/res/res_rtp_asterisk.c?view=diff&rev=400681&r1=400680&r2=400681
==============================================================================
--- branches/11/res/res_rtp_asterisk.c (original)
+++ branches/11/res/res_rtp_asterisk.c Tue Oct  8 10:42:44 2013
@@ -1660,7 +1660,13 @@
 	unsigned int count = PJ_ARRAY_SIZE(address), pos = 0;
 
 	/* Add all the local interface IP addresses */
-	pj_enum_ip_interface(ast_sockaddr_is_ipv4(addr) ? pj_AF_INET() : pj_AF_INET6(), &count, address);
+	if (ast_sockaddr_is_ipv4(addr)) {
+		pj_enum_ip_interface(pj_AF_INET(), &count, address);
+	} else if (ast_sockaddr_is_any(addr)) {
+		pj_enum_ip_interface(pj_AF_UNSPEC(), &count, address);
+	} else {
+		pj_enum_ip_interface(pj_AF_INET6(), &count, address);
+	}
 
 	for (pos = 0; pos < count; pos++) {
 		pj_sockaddr_set_port(&address[pos], port);
    
    
More information about the asterisk-commits
mailing list