From: Joshua Colp Date: Thu, 12 Apr 2007 19:32:00 +0000 (+0000) Subject: Don't treat a host lookup as failed if sipregs is not in use when doing a realtime... X-Git-Tag: 1.6.0-beta1~3^2~2844 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c4c2def7166543bdde49987be9e3737d2ee6527e;p=thirdparty%2Fasterisk.git Don't treat a host lookup as failed if sipregs is not in use when doing a realtime lookup. (issue #9255 reported by sergee) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61618 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 99b156ed17..0741715f4f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2657,14 +2657,16 @@ static struct sip_peer *realtime_peer(const char *newpeername, struct sockaddr_i } else if (sin) { /* Then check on IP address for dynamic peers */ ast_copy_string(ipaddr, ast_inet_ntoa(sin->sin_addr), sizeof(ipaddr)); var = ast_load_realtime("sippeers", "host", ipaddr, NULL); /* First check for fixed IP hosts */ - if (var && realtimeregs) { - tmp = var; - while (tmp) { - if (!newpeername && !strcasecmp(tmp->name, "name")) - newpeername = tmp->value; - tmp = tmp->next; + if (var) { + if (realtimeregs) { + tmp = var; + while (tmp) { + if (!newpeername && !strcasecmp(tmp->name, "name")) + newpeername = tmp->value; + tmp = tmp->next; + } + varregs = ast_load_realtime("sipregs", "name", newpeername, NULL); } - varregs = ast_load_realtime("sipregs", "name", newpeername, NULL); } else { if (realtimeregs) varregs = ast_load_realtime("sipregs", "ipaddr", ipaddr, NULL); /* Then check for registered hosts */