Improve Code Readability And Fix Setting natdetected Flag

For 1.8, 10, 11 and trunk we are are improving the code readability.

For 11 and trunk, auto nat detection was added.  The natdetected flag was being
set to 1 when the host address in the VIA header did not specifiy a port.  This
patch fixes this by setting the port on the temporary sock address used to
SIP_STANDARD_PORT in order for the sock address comparison to work properly.

(closes issue ASTERISK-20724)
Reported by: Michael L. Young
Patches:
    asterisk-20724-set-port-v2.diff uploaded by Michael L. Young (license 5026)

Review: https://reviewboard.asterisk.org/r/2206/
........

Merged revisions 376834 from http://svn.asterisk.org/svn/asterisk/branches/1.8


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
10
Michael L. Young 13 years ago
parent d8cb3cb8e9
commit 130a58abab

@ -16806,10 +16806,12 @@ static void check_via(struct sip_pvt *p, struct sip_request *req)
if (ast_sockaddr_resolve_first(&tmp, c, 0)) {
ast_log(LOG_WARNING, "Could not resolve socket address for '%s'\n", c);
port = STANDARD_SIP_PORT;
} else if (!(port = ast_sockaddr_port(&tmp)) {
port = STANDARD_SIP_PORT;
}
port = ast_sockaddr_port(&tmp);
ast_sockaddr_set_port(&p->sa,
port != 0 ? port : STANDARD_SIP_PORT);
ast_sockaddr_set_port(&p->sa, port);
if (sip_debug_test_pvt(p)) {
ast_verbose("Sending to %s (%s)\n",

Loading…
Cancel
Save