mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
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 <vl@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
62e655568e
commit
c0e28638fa
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user