From 99dd1a9c00c03de2dfb743bc22e32c5380afe0d0 Mon Sep 17 00:00:00 2001 From: Asterisk Autobuilder Date: Tue, 6 Mar 2012 20:53:03 +0000 Subject: [PATCH] Merge 357665 git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.8.11.0-rc2@358430 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/acl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/main/acl.c b/main/acl.c index 160f60a919..cc57570b46 100644 --- a/main/acl.c +++ b/main/acl.c @@ -737,6 +737,7 @@ int ast_find_ourip(struct ast_sockaddr *ourip, const struct ast_sockaddr *bindad { char ourhost[MAXHOSTNAMELEN] = ""; struct ast_sockaddr root; + int res, port = ast_sockaddr_port(ourip); /* just use the bind address if it is nonzero */ if (!ast_sockaddr_is_any(bindaddr)) { @@ -749,6 +750,8 @@ int ast_find_ourip(struct ast_sockaddr *ourip, const struct ast_sockaddr *bindad ast_log(LOG_WARNING, "Unable to get hostname\n"); } else { if (resolve_first(ourip, ourhost, PARSE_PORT_FORBID, family) == 0) { + /* reset port since resolve_first wipes this out */ + ast_sockaddr_set_port(ourip, port); return 0; } } @@ -756,8 +759,12 @@ int ast_find_ourip(struct ast_sockaddr *ourip, const struct ast_sockaddr *bindad /* A.ROOT-SERVERS.NET. */ if (!resolve_first(&root, "A.ROOT-SERVERS.NET", PARSE_PORT_FORBID, 0) && !ast_ouraddrfor(&root, ourip)) { + /* reset port since resolve_first wipes this out */ + ast_sockaddr_set_port(ourip, port); return 0; } - return get_local_address(ourip); + res = get_local_address(ourip); + ast_sockaddr_set_port(ourip, port); + return res; }