diff options
author | Gerald Carter <jerry@samba.org> | 2005-06-09 18:45:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:57:09 -0500 |
commit | 958624a9fc36f89de1b33ca79b1a72fcb63cbb62 (patch) | |
tree | 9eddde4a9abff3cbb6d8cc2d07c25265b143624d | |
parent | db0b2f9ebe947a244ee4ec493e489d928ed5cb63 (diff) | |
download | samba-958624a9fc36f89de1b33ca79b1a72fcb63cbb62.tar.gz samba-958624a9fc36f89de1b33ca79b1a72fcb63cbb62.tar.bz2 samba-958624a9fc36f89de1b33ca79b1a72fcb63cbb62.zip |
r7450: fix my bone head mistake with ntlm authentcation and 'map to guest = bad uid'; make sure the authentication suceeds
(This used to be commit 5de1ffce2f2a0a340f6591939b8f63a3d96a627e)
-rw-r--r-- | source3/auth/auth.c | 13 | ||||
-rw-r--r-- | source3/auth/auth_util.c | 8 |
2 files changed, 12 insertions, 9 deletions
diff --git a/source3/auth/auth.c b/source3/auth/auth.c index 61f638fcd0..9886526cf9 100644 --- a/source3/auth/auth.c +++ b/source3/auth/auth.c @@ -312,15 +312,10 @@ static NTSTATUS check_ntlm_password(const struct auth_context *auth_context, /* failed authentication; check for guest lapping */ - if ( lp_map_to_guest() == MAP_TO_GUEST_ON_BAD_UID ) { - make_server_info_guest(server_info); - nt_status = NT_STATUS_OK; - } else { - DEBUG(2, ("check_ntlm_password: Authentication for user [%s] -> [%s] FAILED with error %s\n", - user_info->smb_name.str, user_info->internal_username.str, - nt_errstr(nt_status))); - ZERO_STRUCTP(server_info); - } + DEBUG(2, ("check_ntlm_password: Authentication for user [%s] -> [%s] FAILED with error %s\n", + user_info->smb_name.str, user_info->internal_username.str, + nt_errstr(nt_status))); + ZERO_STRUCTP(server_info); return nt_status; } diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index 021f780112..49df15533a 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -1161,7 +1161,15 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx, &found_username, &uid, &gid, &sam_account ); } + /* if we still don't have a valid unix account check for + 'map to gues = bad uid' */ + if (!NT_STATUS_IS_OK(nt_status)) { + if ( lp_map_to_guest() == MAP_TO_GUEST_ON_BAD_UID ) { + make_server_info_guest(server_info); + return NT_STATUS_OK; + } + DEBUG(0, ("make_server_info_info3: pdb_init_sam failed!\n")); return nt_status; } |