Merged revisions 376837 via svnmerge from

file:///srv/subversion/repos/asterisk/trunk

................
  r376837 | elguero | 2012-11-29 15:58:41 -0600 (Thu, 29 Nov 2012) | 25 lines
  
  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
  ........
  
  Merged revisions 376835 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........
  
  Merged revisions 376836 from http://svn.asterisk.org/svn/asterisk/branches/11
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Automerge script
2012-11-29 22:20:25 +00:00
parent ddde765c59
commit f052e88b49

View File

@@ -17896,10 +17896,13 @@ 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;
ast_sockaddr_set_port(&tmp, 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);
/* Check and see if the requesting UA is likely to be behind a NAT. If they are, set the
* natdetected flag so that later, peers with nat=auto_* can use the value. Also