mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 04:11:08 +00:00
Merged revisions 68370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r68370 | file | 2007-06-07 20:02:34 -0400 (Thu, 07 Jun 2007) | 10 lines Merged revisions 68368 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r68368 | file | 2007-06-07 19:59:04 -0400 (Thu, 07 Jun 2007) | 2 lines Do a DNS lookup immediately upon calling the dnsmgr function, don't wait until a refresh happens. (issue #9097 reported by plack) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -121,6 +121,9 @@ void ast_dnsmgr_release(struct ast_dnsmgr_entry *entry)
|
|||||||
|
|
||||||
int ast_dnsmgr_lookup(const char *name, struct in_addr *result, struct ast_dnsmgr_entry **dnsmgr)
|
int ast_dnsmgr_lookup(const char *name, struct in_addr *result, struct ast_dnsmgr_entry **dnsmgr)
|
||||||
{
|
{
|
||||||
|
struct ast_hostent ahp;
|
||||||
|
struct hostent *hp;
|
||||||
|
|
||||||
if (ast_strlen_zero(name) || !result || !dnsmgr)
|
if (ast_strlen_zero(name) || !result || !dnsmgr)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@@ -135,21 +138,18 @@ int ast_dnsmgr_lookup(const char *name, struct in_addr *result, struct ast_dnsmg
|
|||||||
if (inet_aton(name, result))
|
if (inet_aton(name, result))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* if the manager is disabled, do a direct lookup and return the result,
|
/* do a lookup now but add a manager so it will automagically get updated in the background */
|
||||||
otherwise register a managed lookup for the name */
|
if ((hp = ast_gethostbyname(name, &ahp)))
|
||||||
if (!enabled) {
|
memcpy(result, hp->h_addr, sizeof(result));
|
||||||
struct ast_hostent ahp;
|
|
||||||
struct hostent *hp;
|
/* if dnsmgr is not enable don't bother adding an entry */
|
||||||
|
if (!enabled)
|
||||||
if ((hp = ast_gethostbyname(name, &ahp)))
|
|
||||||
memcpy(result, hp->h_addr, sizeof(result));
|
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
|
||||||
if (option_verbose > 2)
|
if (option_verbose > 2)
|
||||||
ast_verbose(VERBOSE_PREFIX_2 "adding dns manager for '%s'\n", name);
|
ast_verbose(VERBOSE_PREFIX_2 "adding dns manager for '%s'\n", name);
|
||||||
*dnsmgr = ast_dnsmgr_get(name, result);
|
*dnsmgr = ast_dnsmgr_get(name, result);
|
||||||
return !*dnsmgr;
|
return !*dnsmgr;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user