From 40bda538a72ed3b82f3e0609e7d76606a7cd7254 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 1 Feb 2010 14:39:13 +0100 Subject: [PATCH] s4:winsserver: reject name registrations with a scope length > 237 This matches Windows 2008 behavior. Name releases are just ignored. metze --- source4/nbt_server/wins/winsserver.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source4/nbt_server/wins/winsserver.c b/source4/nbt_server/wins/winsserver.c index 4b8b8cc137a..ca8daedc66f 100644 --- a/source4/nbt_server/wins/winsserver.c +++ b/source4/nbt_server/wins/winsserver.c @@ -496,6 +496,11 @@ static void nbtd_winsserver_register(struct nbt_name_socket *nbtsock, goto done; } + if (name->scope && strlen(name->scope) > 237) { + rcode = NBT_RCODE_SVR; + goto done; + } + duplicate_packet = wins_check_wack_queue(iface, packet, src); if (duplicate_packet) { /* just ignore the packet */ @@ -874,6 +879,10 @@ static void nbtd_winsserver_release(struct nbt_name_socket *nbtsock, goto done; } + if (name->scope && strlen(name->scope) > 237) { + goto done; + } + status = winsdb_lookup(winssrv->wins_db, name, packet, &rec); if (!NT_STATUS_IS_OK(status)) { goto done; -- 2.11.4.GIT