diff options
author | Stefan Metzmacher <metze@samba.org> | 2017-03-17 11:16:36 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2017-03-24 11:57:09 +0100 |
commit | 4af89d534d17744c54ea2408190a25c27cec18ea (patch) | |
tree | fca14fedf08c07cf607f2ed51f9c2a2c4c7b2499 /source3/auth/auth_samba4.c | |
parent | 65d5f845ed61641f42be614bb78391cba87e762a (diff) | |
download | samba-4af89d534d17744c54ea2408190a25c27cec18ea.tar.gz |
auth4: let auth_check_password* return pauthoritative
BUG: https://bugzilla.samba.org/show_bug.cgi?id=2976
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3/auth/auth_samba4.c')
-rw-r--r-- | source3/auth/auth_samba4.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/auth/auth_samba4.c b/source3/auth/auth_samba4.c index a0d6afd32d4..138c6cd4f09 100644 --- a/source3/auth/auth_samba4.c +++ b/source3/auth/auth_samba4.c @@ -118,6 +118,7 @@ static NTSTATUS check_samba4_security(const struct auth_context *auth_context, NTSTATUS nt_status; struct auth_user_info_dc *user_info_dc; struct auth4_context *auth4_context; + uint8_t authoritative = 0; nt_status = make_auth4_context_s4(auth_context, mem_ctx, &auth4_context); if (!NT_STATUS_IS_OK(nt_status)) { @@ -132,13 +133,19 @@ static NTSTATUS check_samba4_security(const struct auth_context *auth_context, return nt_status; } - nt_status = auth_check_password(auth4_context, auth4_context, user_info, &user_info_dc); + nt_status = auth_check_password(auth4_context, auth4_context, user_info, + &user_info_dc, &authoritative); if (!NT_STATUS_IS_OK(nt_status)) { + if (NT_STATUS_EQUAL(nt_status, NT_STATUS_NO_SUCH_USER) && + authoritative == 0) + { + nt_status = NT_STATUS_NOT_IMPLEMENTED; + } TALLOC_FREE(auth4_context); TALLOC_FREE(frame); return nt_status; } - + nt_status = auth_convert_user_info_dc_saminfo3(mem_ctx, user_info_dc, &info3); |