diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-05-05 11:15:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:16:31 -0500 |
commit | f597d6df59ece653c9a7c18cfb11b16e7e58b907 (patch) | |
tree | 73422f62343e8f0321e33ae22becccc4dff85a6b | |
parent | 320eeed1ef1dfc90e366ba6f8a5d8d66ea8771b2 (diff) | |
download | samba-f597d6df59ece653c9a7c18cfb11b16e7e58b907.tar.gz samba-f597d6df59ece653c9a7c18cfb11b16e7e58b907.tar.bz2 samba-f597d6df59ece653c9a7c18cfb11b16e7e58b907.zip |
r6620: the type 23 schannel bind uses a workstation name, not an account name
(This used to be commit 250f1f69dd719a7981ec4c1698942b31826888d2)
-rw-r--r-- | source4/auth/gensec/schannel.c | 9 | ||||
-rw-r--r-- | 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 { |