diff options
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 1887ec34f..95f4a3c3e 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2959,10 +2959,9 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in if (var && sin) { for (tmp = var; tmp; tmp = tmp->next) { if (!strcasecmp(tmp->name, "host")) { - struct in_addr sin2; - struct ast_dnsmgr_entry *dnsmgr = NULL; - memset(&sin2, 0, sizeof(sin2)); - if ((ast_dnsmgr_lookup(tmp->value, &sin2, &dnsmgr) < 0) || (memcmp(&sin2, &sin->sin_addr, sizeof(sin2)) != 0)) { + struct ast_hostent ahp; + struct hostent *hp; + if (!(hp = ast_gethostbyname(tmp->value, &ahp)) || (memcmp(&hp->h_addr, &sin->sin_addr, sizeof(hp->h_addr)))) { /* No match */ ast_variables_destroy(var); var = NULL; @@ -3072,10 +3071,9 @@ static struct iax2_user *realtime_user(const char *username, struct sockaddr_in if (var) { for (tmp = var; tmp; tmp = tmp->next) { if (!strcasecmp(tmp->name, "host")) { - struct in_addr sin2; - struct ast_dnsmgr_entry *dnsmgr = NULL; - memset(&sin2, 0, sizeof(sin2)); - if ((ast_dnsmgr_lookup(tmp->value, &sin2, &dnsmgr) < 0) || (memcmp(&sin2, &sin->sin_addr, sizeof(sin2)) != 0)) { + struct ast_hostent ahp; + struct hostent *hp; + if (!(hp = ast_gethostbyname(tmp->value, &ahp)) || (memcmp(&hp->h_addr, &sin->sin_addr, sizeof(hp->h_addr)))) { /* No match */ ast_variables_destroy(var); var = NULL; |