s4:dsdb/samdb: pass an existing 'struct ldb_context' to crack_auto_name_to_nt4_name()
authorStefan Metzmacher <metze@samba.org>
Mon, 19 Jun 2017 06:39:19 +0000 (08:39 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 26 Jun 2017 06:47:15 +0000 (08:47 +0200)
There's no point in creating a temporary ldb_context as
the only callers already have a valid struct ldb_context for
the local sam.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/auth/ntlm/auth_simple.c
source4/dsdb/samdb/cracknames.c

index c3bc25acae551c8f662af95c34802caef17e4ec3..d7811b9e5b215f86865505ca6efd4396cba7be42 100644 (file)
@@ -105,8 +105,8 @@ _PUBLIC_ struct tevent_req *authenticate_ldap_simple_bind_send(TALLOC_CTX *mem_c
                MSV1_0_CLEARTEXT_PASSWORD_ALLOWED |
                MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED;
 
-       status = crack_auto_name_to_nt4_name(state, ev, lp_ctx, dn,
-                                            &nt4_domain, &nt4_username);
+       status = crack_auto_name_to_nt4_name(state, state->auth_context->sam_ctx,
+                                            dn, &nt4_domain, &nt4_username);
        if (!NT_STATUS_IS_OK(status)) {
                log_authentication_event(msg, lp_ctx,
                                         user_info, status,
index a361238d53f0728bbbe73ddf69ecbcda506405b6..14d6a53ac164f6585fa7f15bdf621fb22fc80811 100644 (file)
@@ -1434,13 +1434,11 @@ NTSTATUS crack_name_to_nt4_name(TALLOC_CTX *mem_ctx,
 }
 
 NTSTATUS crack_auto_name_to_nt4_name(TALLOC_CTX *mem_ctx,
-                                    struct tevent_context *ev_ctx, 
-                                    struct loadparm_context *lp_ctx,
+                                    struct ldb_context *ldb,
                                     const char *name,
                                     const char **nt4_domain,
                                     const char **nt4_account)
 {
-       struct ldb_context *ldb = NULL;
        enum drsuapi_DsNameFormat format_offered = DRSUAPI_DS_NAME_FORMAT_UNKNOWN;
 
        /* Handle anonymous bind */
@@ -1462,10 +1460,6 @@ NTSTATUS crack_auto_name_to_nt4_name(TALLOC_CTX *mem_ctx,
                return NT_STATUS_NO_SUCH_USER;
        }
 
-       ldb = samdb_connect(mem_ctx, ev_ctx, lp_ctx, system_session(lp_ctx), 0);
-       if (ldb == NULL) {
-               return NT_STATUS_INTERNAL_DB_CORRUPTION;
-       }
        return crack_name_to_nt4_name(mem_ctx, ldb, format_offered, name, nt4_domain, nt4_account);
 }