s4:auth: check for user_info->mapped.account_name if it needs to be filled
authorStefan Metzmacher <metze@samba.org>
Thu, 3 Mar 2022 22:14:10 +0000 (23:14 +0100)
committerJule Anger <janger@samba.org>
Wed, 16 Mar 2022 13:41:14 +0000 (13:41 +0000)
mapped_state is a special hack for authenticate_ldap_simple_bind_send()
in order to avoid some additional work in authsam_check_password_internals().

But that code will be changed in the next commits, so we can simplify
the logic and only check for user_info->mapped.account_name being NULL.
As it's the important factor that user_info->mapped.account_name is
non-NULL down in the auth stack.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13879

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from commit c7b8c71b2b71bb9d95c33d403c4204376f443852)

source4/auth/ntlm/auth.c

index 3dd2ffc92765e4065f03d4f658255317d296cb2f..09d660a392b122f5374f9430fd49b71a6dca7783 100644 (file)
@@ -220,17 +220,12 @@ _PUBLIC_ struct tevent_req *auth_check_password_send(TALLOC_CTX *mem_ctx,
        state->user_info        = user_info;
        state->authoritative    = 1;
 
-       if (!user_info->mapped_state) {
+       if (user_info->mapped.account_name == NULL) {
                struct auth_usersupplied_info *user_info_tmp;
 
                /*
                 * We don't really do any mapping here.
                 *
-                * So we don't set user_info->mapped_state,
-                * but we set mapped.domain_name and
-                * mapped.account_name to the client
-                * provided values.
-                *
                 * It's up to the backends to do mappings
                 * for their authentication.
                 */