From 10a70c0fabdc3a90840a3ede5ef47480b82ce425 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Wed, 14 Oct 2009 13:21:39 +0300 Subject: [PATCH] peer: handle dns lookup failure properly --- nhrp/nhrp_peer.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nhrp/nhrp_peer.c b/nhrp/nhrp_peer.c index fdeef17..aee2906 100644 --- a/nhrp/nhrp_peer.c +++ b/nhrp/nhrp_peer.c @@ -679,17 +679,17 @@ static void nhrp_peer_address_query_cb(struct nhrp_address_query *query, address_query); char host[64]; - if (num_addr <= 0) { + if (num_addr > 0) { + nhrp_info("Resolved '%s' as %s", + peer->nbma_hostname, + nhrp_address_format(&addrs[0], sizeof(host), host)); + peer->next_hop_address = addrs[0]; + peer->afnum = nhrp_afnum_from_pf(peer->next_hop_address.type); + nhrp_peer_run_up_script(peer); + } else { nhrp_error("Failed to resolve '%s'", peer->nbma_hostname); nhrp_peer_restart_error(peer); } - - nhrp_info("Resolved '%s' as %s", - peer->nbma_hostname, - nhrp_address_format(&addrs[0], sizeof(host), host)); - peer->next_hop_address = addrs[0]; - peer->afnum = nhrp_afnum_from_pf(peer->next_hop_address.type); - nhrp_peer_run_up_script(peer); } static void nhrp_peer_restart_cb(struct ev_timer *w, int revents) -- 1.6.5