summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Danneman <steven.danneman@isilon.com>2009-05-27 17:14:49 -0700
committerSteven Danneman <steven.danneman@isilon.com>2009-05-28 13:21:15 -0700
commitfbca26923915a70031f561b198cfe2cc0d9c3aa6 (patch)
treea471770c51b0944545c3000fe894c7cddd7cb532
parentd74e42e0eca0bb15c12fa51f125d905a6cee5db5 (diff)
downloadsamba-fbca26923915a70031f561b198cfe2cc0d9c3aa6.tar.gz
samba-fbca26923915a70031f561b198cfe2cc0d9c3aa6.tar.bz2
samba-fbca26923915a70031f561b198cfe2cc0d9c3aa6.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.
-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 a27025fc8d..9d29987c0d 100644
--- a/source3/auth/auth_util.c
+++ b/source3/auth/auth_util.c
@@ -208,21 +208,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()) )