From ab8cd4470c392e04e458eed378b857db00e97f13 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 30 Dec 2005 12:43:11 +0000 Subject: r12607: fix the build metze (This used to be commit 5cc955bf5400a415e462853cff47a69ef206a548) --- source4/nbt_server/query.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'source4/nbt_server/query.c') diff --git a/source4/nbt_server/query.c b/source4/nbt_server/query.c index f71d7b99ed..39300f6e01 100644 --- a/source4/nbt_server/query.c +++ b/source4/nbt_server/query.c @@ -24,7 +24,7 @@ #include "dlinklist.h" #include "system/network.h" #include "nbt_server/nbt_server.h" - +#include "nbt_server/wins/winsserver.h" /* answer a name query @@ -54,25 +54,30 @@ void nbtd_request_query(struct nbt_name_socket *nbtsock, /* see if we have the requested name on this interface */ name = &packet->questions[0].name; - if (!(packet->operation & NBT_FLAG_BROADCAST) && - (packet->operation & NBT_FLAG_RECURSION_DESIRED)) { - nbtd_winsserver_request(nbtsock, packet, src); - return; - } - iname = nbtd_find_iname(iface, name, 0); - if (iname == NULL) { /* don't send negative replies to broadcast queries */ if (packet->operation & NBT_FLAG_BROADCAST) { return; } + if (packet->operation & NBT_FLAG_RECURSION_DESIRED) { + nbtd_winsserver_request(nbtsock, packet, src); + return; + } + /* otherwise send a negative reply */ nbtd_negative_name_query_reply(nbtsock, packet, src); return; } + if (!(packet->operation & NBT_FLAG_BROADCAST) && + (packet->operation & NBT_FLAG_RECURSION_DESIRED) && + (iname->nb_flags & NBT_NM_GROUP)) { + nbtd_winsserver_request(nbtsock, packet, src); + return; + } + /* if the name is not yet active and its a broadcast query then ignore it for now */ if (!(iname->nb_flags & NBT_NM_ACTIVE) && -- cgit