summaryrefslogtreecommitdiff
path: root/source4/nbt_server/wins/winsserver.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/nbt_server/wins/winsserver.c')
-rw-r--r--source4/nbt_server/wins/winsserver.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source4/nbt_server/wins/winsserver.c b/source4/nbt_server/wins/winsserver.c
index 3eddfb7639..449a11f4fc 100644
--- a/source4/nbt_server/wins/winsserver.c
+++ b/source4/nbt_server/wins/winsserver.c
@@ -583,7 +583,16 @@ static void nbtd_winsserver_query(struct nbt_name_socket *nbtsock,
status = winsdb_lookup(winssrv->wins_db, name, packet, &rec);
if (!NT_STATUS_IS_OK(status)) {
- goto notfound;
+ if (!lp_wins_dns_proxy()) {
+ goto notfound;
+ }
+
+ if (name->type != NBT_NAME_CLIENT && name->type != NBT_NAME_SERVER) {
+ goto notfound;
+ }
+
+ nbtd_wins_dns_proxy_query(nbtsock, packet, src);
+ return;
}
/*