1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-03 12:58:35 +03:00

r12412: - the 0x1E name must be registered as group name

- reject wins registration with a static record in the database

metze
(This used to be commit 66b57f5fbf1c2a35972950d655695f014e57d9c5)
This commit is contained in:
Stefan Metzmacher 2005-12-21 23:03:51 +00:00 committed by Gerald (Jerry) Carter
parent 221c1512a8
commit 5b4acf8b10

View File

@ -196,6 +196,12 @@ static void nbtd_winsserver_register(struct nbt_name_socket *nbtsock,
goto done; goto done;
} }
/* w2k3 refuses 0x1E names with out marked as group */
if (name->type == NBT_NAME_BROWSER && !(nb_flags & NBT_NM_GROUP)) {
rcode = NBT_RCODE_RFS;
goto done;
}
status = winsdb_lookup(winssrv->wins_db, name, packet, &rec); status = winsdb_lookup(winssrv->wins_db, name, packet, &rec);
if (NT_STATUS_EQUAL(NT_STATUS_OBJECT_NAME_NOT_FOUND, status)) { if (NT_STATUS_EQUAL(NT_STATUS_OBJECT_NAME_NOT_FOUND, status)) {
rcode = wins_register_new(nbtsock, packet, src, new_type); rcode = wins_register_new(nbtsock, packet, src, new_type);
@ -203,6 +209,13 @@ static void nbtd_winsserver_register(struct nbt_name_socket *nbtsock,
} else if (!NT_STATUS_IS_OK(status)) { } else if (!NT_STATUS_IS_OK(status)) {
rcode = NBT_RCODE_SVR; rcode = NBT_RCODE_SVR;
goto done; goto done;
} else if (rec->is_static) {
if (rec->type == WREPL_TYPE_GROUP || rec->type == WREPL_TYPE_SGROUP) {
rcode = NBT_RCODE_OK;
goto done;
}
rcode = NBT_RCODE_ACT;
goto done;
} }
if (rec->type == WREPL_TYPE_GROUP) { if (rec->type == WREPL_TYPE_GROUP) {