[svn-commits] simon.perreault: branch group/v6-new r272525 - in /team/group/v6-new: channel...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Jun 25 10:47:02 CDT 2010
Author: simon.perreault
Date: Fri Jun 25 10:46:58 2010
New Revision: 272525
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=272525
Log:
Fixed handling of port number in SRV lookups.
Modified:
team/group/v6-new/channels/chan_sip.c
team/group/v6-new/main/acl.c
Modified: team/group/v6-new/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/group/v6-new/channels/chan_sip.c?view=diff&rev=272525&r1=272524&r2=272525
==============================================================================
--- team/group/v6-new/channels/chan_sip.c (original)
+++ team/group/v6-new/channels/chan_sip.c Fri Jun 25 10:46:58 2010
@@ -4951,16 +4951,17 @@
*/
if (!ast_sockaddr_port(&dialog->sa) && sip_cfg.srvlookup) {
snprintf(service, sizeof(service), "_sip._%s.%s", get_transport(dialog->socket.type), peername);
- srv_ret = ast_get_srv(NULL, host, sizeof(host), &tportno, service);
- if (srv_ret > 0) {
+ if ((srv_ret = ast_get_srv(NULL, host, sizeof(host), &tportno,
+ service)) > 0)
hostn = host;
- ast_sockaddr_set_port(&dialog->sa, tportno);
- }
}
if (ast_sockaddr_resolve_first(&dialog->sa, hostn,
PARSE_PORT_FORBID, 0))
ast_log(LOG_WARNING, "No such host: %s\n", peername);
+
+ if (srv_ret > 0)
+ ast_sockaddr_set_port(&dialog->sa, tportno);
}
if (!dialog->socket.type)
Modified: team/group/v6-new/main/acl.c
URL: http://svnview.digium.com/svn/asterisk/team/group/v6-new/main/acl.c?view=diff&rev=272525&r1=272524&r2=272525
==============================================================================
--- team/group/v6-new/main/acl.c (original)
+++ team/group/v6-new/main/acl.c Fri Jun 25 10:46:58 2010
@@ -382,14 +382,13 @@
char host[256];
struct ast_sockaddr *addrs;
int addrs_cnt;
+ int srv_ret = 0;
int tportno;
if (service) {
snprintf(srv, sizeof(srv), "%s.%s", service, value);
- if (ast_get_srv(NULL, host, sizeof(host), &tportno, srv) > 0) {
+ if ((srv_ret = ast_get_srv(NULL, host, sizeof(host), &tportno, srv)) > 0)
value = host;
- ast_sockaddr_set_port(addr, tportno);
- }
}
addrs_cnt = ast_sockaddr_resolve(&addrs, value, PARSE_PORT_FORBID, addr->ss.ss_family);
@@ -402,6 +401,9 @@
ast_log(LOG_WARNING, "Unable to lookup '%s'\n", value);
return -1;
}
+
+ if (srv_ret > 0)
+ ast_sockaddr_set_port(addr, tportno);
return 0;
}
More information about the svn-commits
mailing list