From: Stefan Metzmacher Date: Mon, 19 Jun 2017 06:39:19 +0000 (+0200) Subject: s4:dsdb/samdb: pass an existing 'struct ldb_context' to crack_auto_name_to_nt4_name() X-Git-Tag: tdb-1.3.14~185 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ebb63e1cb3a40b3af691c56dd0ae2c6cfdccf9ec;p=thirdparty%2Fsamba.git s4:dsdb/samdb: pass an existing 'struct ldb_context' to crack_auto_name_to_nt4_name() 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 Reviewed-by: Andrew Bartlett --- diff --git a/source4/auth/ntlm/auth_simple.c b/source4/auth/ntlm/auth_simple.c index c3bc25acae5..d7811b9e5b2 100644 --- a/source4/auth/ntlm/auth_simple.c +++ b/source4/auth/ntlm/auth_simple.c @@ -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, diff --git a/source4/dsdb/samdb/cracknames.c b/source4/dsdb/samdb/cracknames.c index a361238d53f..14d6a53ac16 100644 --- a/source4/dsdb/samdb/cracknames.c +++ b/source4/dsdb/samdb/cracknames.c @@ -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); }