From cf3e59422ac20f20e7209e02a90c8c08085e2100 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Thu, 7 Jun 2007 15:40:19 +0000 Subject: Ticket #325: More tunable settings in DNS resolver git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1346 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib-util/include/pjlib-util/resolver.h | 9 +++++++++ pjlib-util/src/pjlib-util/srv_resolver.c | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'pjlib-util') diff --git a/pjlib-util/include/pjlib-util/resolver.h b/pjlib-util/include/pjlib-util/resolver.h index db869529..f7fd9ede 100644 --- a/pjlib-util/include/pjlib-util/resolver.h +++ b/pjlib-util/include/pjlib-util/resolver.h @@ -193,8 +193,17 @@ typedef struct pj_dns_settings unsigned qretr_count; /**< Query maximum retransmission count. */ unsigned cache_max_ttl; /**< Maximum TTL for cached responses. If the value is zero, caching is disabled. */ + unsigned good_ns_ttl; /**< See #PJ_DNS_RESOLVER_GOOD_NS_TTL */ + unsigned bad_ns_ttl; /**< See #PJ_DNS_RESOLVER_BAD_NS_TTL */ } pj_dns_settings; +/** + * Set default values to the DNS settings. + * + * @param s The DNS settings to be initialized. + */ +PJ_DECL(void) pj_dns_settings_default(pj_dns_settings *s); + /** * Create DNS resolver instance. After the resolver is created, application diff --git a/pjlib-util/src/pjlib-util/srv_resolver.c b/pjlib-util/src/pjlib-util/srv_resolver.c index df518781..3a5c6a69 100644 --- a/pjlib-util/src/pjlib-util/srv_resolver.c +++ b/pjlib-util/src/pjlib-util/srv_resolver.c @@ -127,7 +127,7 @@ PJ_DEF(pj_status_t) pj_dns_srv_resolve( const pj_str_t *domain_name, query_job->dns_state = PJ_DNS_TYPE_SRV; PJ_LOG(5, (query_job->objname, - "Starting async DNS %s query_job: target=%.*", + "Starting async DNS %s query_job: target=%.*s", pj_dns_get_type_name(query_job->dns_state), (int)target_name.slen, target_name.ptr)); @@ -187,6 +187,12 @@ static void build_server_entries(pj_dns_srv_resolver_job *query_job, ++query_job->srv_cnt; } + if (query_job->srv_cnt == 0) { + PJ_LOG(4,(query_job->objname, + "Could not find SRV record in DNS answer!")); + return; + } + /* First pass: * order the entries based on priority. */ -- cgit v1.2.3