netlogon_creds_cli: Factor out netlogon_creds_cli_store_internal
authorVolker Lendecke <vl@samba.org>
Wed, 13 Sep 2017 16:32:36 +0000 (09:32 -0700)
committerVolker Lendecke <vl@samba.org>
Mon, 25 Sep 2017 07:43:12 +0000 (09:43 +0200)
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>
libcli/auth/netlogon_creds_cli.c

index 178d9c88b92029ee33aa3c602b4d7c5a03c8febc..f1aa8d03ca550fd92e4ae18b5adb9955afd8d84c 100644 (file)
@@ -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)
 {