From c0e28638fa839958d3e621be53243c2c513f94b4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 13 Sep 2017 09:32:36 -0700 Subject: netlogon_creds_cli: Factor out netlogon_creds_cli_store_internal In a future commit we'll need a version that does not check for context->db.locked_state Signed-off-by: Volker Lendecke Reviewed-by: Andrew Bartlett --- libcli/auth/netlogon_creds_cli.c | 42 +++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 16 deletions(-) (limited to 'libcli') diff --git a/libcli/auth/netlogon_creds_cli.c b/libcli/auth/netlogon_creds_cli.c index 178d9c88b92..f1aa8d03ca5 100644 --- a/libcli/auth/netlogon_creds_cli.c +++ b/libcli/auth/netlogon_creds_cli.c @@ -578,28 +578,15 @@ bool netlogon_creds_cli_validate(struct netlogon_creds_cli_context *context, return (cmp == 0); } -NTSTATUS netlogon_creds_cli_store(struct netlogon_creds_cli_context *context, - struct netlogon_creds_CredentialState *creds) +static NTSTATUS netlogon_creds_cli_store_internal( + struct netlogon_creds_cli_context *context, + struct netlogon_creds_CredentialState *creds) { NTSTATUS status; enum ndr_err_code ndr_err; DATA_BLOB blob; TDB_DATA data; - if (context->db.locked_state == NULL) { - /* - * this was not the result of netlogon_creds_cli_lock*() - */ - return NT_STATUS_INVALID_PAGE_PROTECTION; - } - - if (context->db.locked_state->creds != creds) { - /* - * this was not the result of netlogon_creds_cli_lock*() - */ - return NT_STATUS_INVALID_PAGE_PROTECTION; - } - if (DEBUGLEVEL >= 10) { NDR_PRINT_DEBUG(netlogon_creds_CredentialState, creds); } @@ -625,6 +612,29 @@ NTSTATUS netlogon_creds_cli_store(struct netlogon_creds_cli_context *context, return NT_STATUS_OK; } +NTSTATUS netlogon_creds_cli_store(struct netlogon_creds_cli_context *context, + struct netlogon_creds_CredentialState *creds) +{ + NTSTATUS status; + + if (context->db.locked_state == NULL) { + /* + * this was not the result of netlogon_creds_cli_lock*() + */ + return NT_STATUS_INVALID_PAGE_PROTECTION; + } + + if (context->db.locked_state->creds != creds) { + /* + * this was not the result of netlogon_creds_cli_lock*() + */ + return NT_STATUS_INVALID_PAGE_PROTECTION; + } + + status = netlogon_creds_cli_store_internal(context, creds); + return status; +} + NTSTATUS netlogon_creds_cli_delete(struct netlogon_creds_cli_context *context, struct netlogon_creds_CredentialState *creds) { -- cgit v1.2.1