summaryrefslogtreecommitdiff
path: root/source4/auth/gensec
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-05-05 11:15:24 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:16:31 -0500
commitf597d6df59ece653c9a7c18cfb11b16e7e58b907 (patch)
tree73422f62343e8f0321e33ae22becccc4dff85a6b /source4/auth/gensec
parent320eeed1ef1dfc90e366ba6f8a5d8d66ea8771b2 (diff)
downloadsamba-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)
Diffstat (limited to 'source4/auth/gensec')
-rw-r--r--source4/auth/gensec/schannel.c9
1 files changed, 6 insertions, 3 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);