mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
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) ........ Merged revisions 400681 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 400682 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1661,7 +1661,13 @@ static void rtp_add_candidates_to_ice(struct ast_rtp_instance *instance, struct
|
||||
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);
|
||||
|
Reference in New Issue
Block a user