From f597d6df59ece653c9a7c18cfb11b16e7e58b907 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 5 May 2005 11:15:24 +0000 Subject: r6620: the type 23 schannel bind uses a workstation name, not an account name (This used to be commit 250f1f69dd719a7981ec4c1698942b31826888d2) --- source4/auth/gensec/schannel.c | 9 ++++++--- source4/librpc/idl/schannel.idl | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source4/auth/gensec/schannel.c b/source4/auth/gensec/schannel.c index 0657de27d9..ed3e2caa2a 100644 --- a/source4/auth/gensec/schannel.c +++ b/source4/auth/gensec/schannel.c @@ -64,9 +64,12 @@ static NTSTATUS schannel_update(struct gensec_security *gensec_security, TALLOC_ /* to support this we'd need to have access to the full domain name */ bind_schannel.bind_type = 23; bind_schannel.u.info23.domain = cli_credentials_get_domain(gensec_security->credentials); - bind_schannel.u.info23.account_name = cli_credentials_get_username(gensec_security->credentials); - bind_schannel.u.info23.dnsdomain = str_format_nbt_domain(out_mem_ctx, fulldomainname); - bind_schannel.u.info23.workstation = str_format_nbt_domain(out_mem_ctx, cli_credentials_get_workstation(gensec_security->credentials)); + bind_schannel.u.info23.workstation = cli_credentials_get_workstation(gensec_security->credentials); + bind_schannel.u.info23.dnsdomain = cli_credentials_get_realm(gensec_security->credentials); + /* w2k3 refuses us if we use the full DNS workstation? + why? perhaps because we don't fill in the dNSHostName + attribute in the machine account? */ + bind_schannel.u.info23.dnsworkstation = cli_credentials_get_workstation(gensec_security->credentials); #else bind_schannel.bind_type = 3; bind_schannel.u.info3.domain = cli_credentials_get_domain(gensec_security->credentials); diff --git a/source4/librpc/idl/schannel.idl b/source4/librpc/idl/schannel.idl index e41628fdcd..8c72742f88 100644 --- a/source4/librpc/idl/schannel.idl +++ b/source4/librpc/idl/schannel.idl @@ -20,9 +20,9 @@ interface schannel typedef struct { astring domain; - astring account_name; - nbt_string dnsdomain; /* in NBT dotted format */ - nbt_string workstation; + astring workstation; + nbt_string dnsdomain; + nbt_string dnsworkstation; } schannel_bind_23; typedef [nodiscriminant] union { -- cgit