summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/auth/auth.c13
-rw-r--r--source3/auth/auth_util.c8
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;
}