]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
CVE-2022-38023 libcli/auth: pass lp_ctx to netlogon_creds_cli_set_global_db()
authorStefan Metzmacher <metze@samba.org>
Wed, 30 Nov 2022 13:46:59 +0000 (14:46 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 13 Dec 2022 13:07:29 +0000 (13:07 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15240

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
libcli/auth/netlogon_creds_cli.c
libcli/auth/netlogon_creds_cli.h
source3/rpc_client/cli_netlogon.c
source3/utils/destroy_netlogon_creds_cli.c

index fec192bdae2c8bbf8ef88e62589c7533e4a2371c..470733d8a0518db0e2d90be5d4f6da8cb9df7446 100644 (file)
@@ -202,7 +202,8 @@ static NTSTATUS netlogon_creds_cli_context_common(
 
 static struct db_context *netlogon_creds_cli_global_db;
 
-NTSTATUS netlogon_creds_cli_set_global_db(struct db_context **db)
+NTSTATUS netlogon_creds_cli_set_global_db(struct loadparm_context *lp_ctx,
+                                         struct db_context **db)
 {
        if (netlogon_creds_cli_global_db != NULL) {
                return NT_STATUS_INVALID_PARAMETER_MIX;
index 6f40a46aa0a69142f95046cc663d34abaa52f421..d10197c2d2af102bd7c0c6d768fbc3460aab902f 100644 (file)
@@ -31,7 +31,7 @@ struct messaging_context;
 struct dcerpc_binding_handle;
 struct db_context;
 
-NTSTATUS netlogon_creds_cli_set_global_db(struct db_context **db);
+NTSTATUS netlogon_creds_cli_set_global_db(struct loadparm_context *lp_ctx, struct db_context **db);
 NTSTATUS netlogon_creds_cli_open_global_db(struct loadparm_context *lp_ctx);
 void netlogon_creds_cli_close_global_db(void);
 
index da445122dbdcdab4987af35bd3e294db8b14e207..762802d327806acade61559c8b4ace4a2cdc88de 100644 (file)
@@ -76,7 +76,7 @@ NTSTATUS rpccli_pre_open_netlogon_creds(void)
                return NT_STATUS_NO_MEMORY;
        }
 
-       status = netlogon_creds_cli_set_global_db(&global_db);
+       status = netlogon_creds_cli_set_global_db(lp_ctx, &global_db);
        TALLOC_FREE(frame);
        if (!NT_STATUS_IS_OK(status)) {
                return status;
index f28cad527dfb318096694814595da9de56a0feb5..a2e1952e434c240f553bb90db3e08a00991c42d5 100644 (file)
@@ -82,7 +82,7 @@ int main(int argc, const char *argv[])
                goto done;
        }
 
-       status = netlogon_creds_cli_set_global_db(&global_db);
+       status = netlogon_creds_cli_set_global_db(lp_ctx, &global_db);
        if (!NT_STATUS_IS_OK(status)) {
                fprintf(stderr,
                        "netlogon_creds_cli_set_global_db failed: %s\n",