提交 980957e9 authored 作者: Michael Jerris's avatar Michael Jerris

Wed Mar 4 12:31:05 CST 2009 Pekka Pessi <first.last@nokia.com>

  * s2_dns_domain(): more flexible selection of transports by URI parameters


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12419 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 721612aa
Wed Mar 4 14:36:40 CST 2009 Wed Mar 4 14:37:34 CST 2009
...@@ -97,14 +97,16 @@ void s2_dns_setup(su_root_t *root) ...@@ -97,14 +97,16 @@ void s2_dns_setup(su_root_t *root)
} }
/* Set filter function */ /* Set filter function */
void s2_dns_set_filter(int (*filter)(void *data, size_t len, void *userdata), void
s2_dns_set_filter(int (*filter)(void *data, size_t len, void *userdata),
void *userdata) void *userdata)
{ {
s2dns.filter = filter; s2dns.filter = filter;
s2dns.userdata = userdata; s2dns.userdata = userdata;
} }
void s2_dns_teardown(void) void
s2_dns_teardown(void)
{ {
struct s2_dns_response *r, *next; struct s2_dns_response *r, *next;
su_root_deregister(s2dns.root, s2dns.reg), s2dns.reg = -1; su_root_deregister(s2dns.root, s2dns.reg), s2dns.reg = -1;
...@@ -442,7 +444,7 @@ static void make_server(char *server, char const *prefix, char const *domain) ...@@ -442,7 +444,7 @@ static void make_server(char *server, char const *prefix, char const *domain)
} }
} }
/** Set up DNS domain */ /** Set up records for SIP server */
void s2_dns_domain(char const *domain, int use_naptr, void s2_dns_domain(char const *domain, int use_naptr,
/* char *prefix, int priority, url_t const *uri, */ /* char *prefix, int priority, url_t const *uri, */
...) ...)
...@@ -471,7 +473,9 @@ void s2_dns_domain(char const *domain, int use_naptr, ...@@ -471,7 +473,9 @@ void s2_dns_domain(char const *domain, int use_naptr,
char *services = NULL; char *services = NULL;
priority = va_arg(va, int); priority = va_arg(va, int);
uri = va_arg(va, url_t *); assert(uri); uri = va_arg(va, url_t *);
if (uri == NULL)
continue;
if (uri->url_type == url_sips) { if (uri->url_type == url_sips) {
services = "SIPS+D2T"; services = "SIPS+D2T";
...@@ -499,7 +503,9 @@ void s2_dns_domain(char const *domain, int use_naptr, ...@@ -499,7 +503,9 @@ void s2_dns_domain(char const *domain, int use_naptr,
for (;(prefix = va_arg(va, char *));) { for (;(prefix = va_arg(va, char *));) {
priority = va_arg(va, int); priority = va_arg(va, int);
uri = va_arg(va, url_t *); assert(uri); uri = va_arg(va, url_t *);
if (uri == NULL)
continue;
make_server(server, prefix, domain); make_server(server, prefix, domain);
...@@ -518,7 +524,9 @@ void s2_dns_domain(char const *domain, int use_naptr, ...@@ -518,7 +524,9 @@ void s2_dns_domain(char const *domain, int use_naptr,
va_copy(va, va0); va_copy(va, va0);
for (;(prefix = va_arg(va, char *));) { for (;(prefix = va_arg(va, char *));) {
priority = va_arg(va, int); priority = va_arg(va, int);
uri = va_arg(va, url_t *); assert(uri); uri = va_arg(va, url_t *);
if (uri == NULL)
continue;
make_server(server, prefix, domain); make_server(server, prefix, domain);
...@@ -539,7 +547,8 @@ void s2_dns_domain(char const *domain, int use_naptr, ...@@ -539,7 +547,8 @@ void s2_dns_domain(char const *domain, int use_naptr,
va_copy(va, va0); va_copy(va, va0);
for (;(prefix = va_arg(va, char *));) { for (;(prefix = va_arg(va, char *));) {
(void)va_arg(va, int); (void)va_arg(va, int);
(void)va_arg(va, url_t *); if (va_arg(va, url_t *) == NULL)
continue;
memset(m, 0, sizeof m); memset(m, 0, sizeof m);
make_server(server, prefix, domain); make_server(server, prefix, domain);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论