From 7a02a2ba80c2997947a2b2c48c33f8c7647f7471 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 31 Jan 2010 18:59:41 +0100 Subject: s4:wrepl_server: truncate the scope of a netbios name to 237 bytes as Windows 2008 does metze --- source4/wrepl_server/wrepl_apply_records.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source4/wrepl_server') diff --git a/source4/wrepl_server/wrepl_apply_records.c b/source4/wrepl_server/wrepl_apply_records.c index e6ff9a03bf..878f689f70 100644 --- a/source4/wrepl_server/wrepl_apply_records.c +++ b/source4/wrepl_server/wrepl_apply_records.c @@ -1358,6 +1358,20 @@ static NTSTATUS wreplsrv_apply_one_record(struct wreplsrv_partner *partner, bool replica_vs_replica = false; bool local_vs_replica = false; + if (replica->name.scope) { + TALLOC_CTX *parent; + const char *scope; + + /* + * Windows 2008 truncates the scope to 237 bytes, + * so we do... + */ + parent = talloc_parent(replica->name.scope); + scope = talloc_strndup(parent, replica->name.scope, 237); + NT_STATUS_HAVE_NO_MEMORY(scope); + replica->name.scope = scope; + } + status = winsdb_lookup(partner->service->wins_db, &replica->name, mem_ctx, &rec); if (NT_STATUS_EQUAL(NT_STATUS_OBJECT_NAME_NOT_FOUND, status)) { -- cgit