summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Danneman <steven.danneman@isilon.com>2009-05-27 17:14:49 -0700
committerKarolin Seeger <kseeger@samba.org>2009-05-29 09:34:47 +0200
commitdca252e98173422713bf1a72123844c516823ee6 (patch)
tree8d18674dcbabf2656a890e5994bf45f18ee89862
parent89a287c07a2d373085b3ac591735dd111d393603 (diff)
downloadsamba-dca252e98173422713bf1a72123844c516823ee6.tar.gz
samba-dca252e98173422713bf1a72123844c516823ee6.tar.xz
samba-dca252e98173422713bf1a72123844c516823ee6.zip
s3/auth map NULL domains to our global sam name
This is an addendum to d8c54fdd, which made make_user_info_map() match Windows behavior by mapping untrusted domains given to smbd on the wire with the users credentials to smbd's global sam name. This fix was being circumvented in the case where the client passed a NULL domain. Vista clients do this. In that case smbd was always remapping the name to the machine workgroup. The NULL domain case should also be mapped to the global sam name. Removing the code in this patch, causes us to fall down to the logic added in d8c54fdd and properly map the domain. (cherry picked from commit fbca26923915a70031f561b198cfe2cc0d9c3aa6) (cherry picked from commit 22b9d9d28d9acd68a9bc492530fcd0a565ff0aa3)
-rw-r--r--source3/auth/auth_util.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c
index 24c5a826b1a..4a8fc95aa64 100644
--- a/source3/auth/auth_util.c
+++ b/source3/auth/auth_util.c
@@ -207,21 +207,15 @@ NTSTATUS make_user_info_map(auth_usersupplied_info **user_info,
DEBUG(5, ("Mapping user [%s]\\[%s] from workstation [%s]\n",
client_domain, smb_name, wksta_name));
- /* don't allow "" as a domain, fixes a Win9X bug
- where it doens't supply a domain for logon script
- 'net use' commands. */
-
- if ( *client_domain )
- domain = client_domain;
- else
- domain = lp_workgroup();
+ domain = client_domain;
/* If you connect to a Windows domain member using a bogus domain name,
* the Windows box will map the BOGUS\user to SAMNAME\user. Thus, if
* the Windows box is a DC the name will become DOMAIN\user and be
* authenticated against AD, if the Windows box is a member server but
* not a DC the name will become WORKSTATION\user. A standalone
- * non-domain member box will also map to WORKSTATION\user. */
+ * non-domain member box will also map to WORKSTATION\user.
+ * This also deals with the client passing in a "" domain */
if (!is_trusted_domain(domain) &&
!strequal(domain, get_global_sam_name()) )