wins/winsserver.o \
wins/winsclient.o \
wins/winswack.o
-PRIVATE_PROTO_HEADER = wins/winswack_proto.h
+PRIVATE_PROTO_HEADER = wins/winsserver_proto.h
REQUIRED_SUBSYSTEMS = \
LIBCLI_NBT WINSDB
# End SUBSYSTEM NBTD_WINS
#include "dlinklist.h"
#include "system/network.h"
#include "nbt_server/nbt_server.h"
+#include "nbt_server/wins/winsserver.h"
/*
#include "nbt_server/nbt_server.h"
#include "smbd/service_task.h"
#include "lib/socket/socket.h"
+#include "nbt_server/wins/winsserver.h"
/*
#include "includes.h"
#include "smbd/service_task.h"
#include "nbt_server/nbt_server.h"
-
+#include "nbt_server/wins/winsserver.h"
/*
serve out the nbt statistics
#include "lib/events/events.h"
#include "smbd/service_task.h"
#include "nbt_server/nbt_server.h"
-
+#include "nbt_server/wins/winsserver.h"
/*
startup the nbtd task
#include "dlinklist.h"
#include "system/network.h"
#include "nbt_server/nbt_server.h"
-
+#include "nbt_server/wins/winsserver.h"
/*
answer a name query
/* 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) &&
#include "smbd/service_task.h"
#include "libcli/composite/composite.h"
#include "librpc/gen_ndr/ndr_samr.h"
+#include "nbt_server/wins/winsserver.h"
static void nbtd_start_refresh_timer(struct nbtd_iface_name *iname);
#include "includes.h"
#include "nbt_server/nbt_server.h"
+#include "nbt_server/wins/winsserver.h"
#include "libcli/composite/composite.h"
#include "lib/events/events.h"
#include "smbd/service_task.h"
#include "includes.h"
#include "nbt_server/nbt_server.h"
#include "nbt_server/wins/winsdb.h"
-#include "nbt_server/wins/winswack.h"
+#include "nbt_server/wins/winsserver.h"
#include "system/time.h"
#include "libcli/composite/composite.h"
#include "smbd/service_task.h"
} out;
};
-#include "nbt_server/wins/winswack_proto.h"
+#include "nbt_server/wins/winsserver_proto.h"
#include "includes.h"
#include "nbt_server/nbt_server.h"
#include "nbt_server/wins/winsdb.h"
-#include "nbt_server/wins/winswack.h"
+#include "nbt_server/wins/winsserver.h"
#include "system/time.h"
#include "libcli/composite/composite.h"