[asterisk-bugs] [JIRA] (ASTERISK-26865) chan_iax2: Reload of iax peer results in loss of host address/port

Richard Begg (JIRA) noreply at issues.asterisk.org
Tue Mar 14 00:10:10 CDT 2017


Richard Begg created ASTERISK-26865:
---------------------------------------

             Summary: chan_iax2: Reload of iax peer results in loss of host address/port
                 Key: ASTERISK-26865
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26865
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Channels/chan_iax2
    Affects Versions: 13.14.0
            Reporter: Richard Begg


When reloading the config containing an IAX peer with a destination hostname (rather than IP address), the target address/and port are invalidated resulting in the peer becoming unreachable.

This is accompanied by errors like this:
ERROR[734] netsock2.c: Unknown address family '0'.
ERROR[734] netsock2.c: getnameinfo(): ai_family not supported

Looking at the code, line 12931 in chan_iax2.c appears to be the cause:
peer->addr.ss.ss_family = AST_AF_UNSPEC;

In short, the peer address is being invalidated on the assumption that the subsequent ast_dnsmgr_lookup() call will restore it.  However, if dnsmgr is enabled - then this doesn't happen, as the ast_dnsmgr_lookup() just returns without updating the ast_sockaddr structure if the hostname hasn't changed.  

I'm not sure whether this is the correct behaviour or not if dnsmgr is not enabled, but it certainly doesn't seem to be if it is.

Attached is a proposed patch to force a refresh of the dnsmgr entry (if there is one) instead.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list