summaryrefslogtreecommitdiff
path: root/source3/rpc_client
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2017-12-11 15:18:58 +0100
committerRalph Boehme <slow@samba.org>2018-01-13 08:24:08 +0100
commit7082ebbbfb6db036655b63f84c39b6406b963a23 (patch)
tree80ce4577a7e67b8cec48d9c1402e696c07ee5ccc /source3/rpc_client
parent7eed1661f61bdd946457fc1b3a968dbdf827956b (diff)
downloadsamba-7082ebbbfb6db036655b63f84c39b6406b963a23.tar.gz
s3/rpc_client: add map_info3_to_validation()
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'source3/rpc_client')
-rw-r--r--source3/rpc_client/util_netlogon.c23
-rw-r--r--source3/rpc_client/util_netlogon.h4
2 files changed, 27 insertions, 0 deletions
diff --git a/source3/rpc_client/util_netlogon.c b/source3/rpc_client/util_netlogon.c
index 0e600d681e9..ac804f84196 100644
--- a/source3/rpc_client/util_netlogon.c
+++ b/source3/rpc_client/util_netlogon.c
@@ -179,3 +179,26 @@ NTSTATUS map_validation_to_info3(TALLOC_CTX *mem_ctx,
return NT_STATUS_OK;
}
+
+NTSTATUS map_info3_to_validation(TALLOC_CTX *mem_ctx,
+ struct netr_SamInfo3 *info3,
+ uint16_t *_validation_level,
+ union netr_Validation **_validation)
+{
+ union netr_Validation *validation = NULL;
+
+ validation = talloc_zero(mem_ctx, union netr_Validation);
+ if (validation == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ validation->sam3 = copy_netr_SamInfo3(mem_ctx, info3);
+ if (validation->sam3 == NULL) {
+ TALLOC_FREE(validation);
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ * _validation_level = 3;
+ *_validation = validation;
+ return NT_STATUS_OK;
+}
diff --git a/source3/rpc_client/util_netlogon.h b/source3/rpc_client/util_netlogon.h
index a89e043d5af..80c7bff99d1 100644
--- a/source3/rpc_client/util_netlogon.h
+++ b/source3/rpc_client/util_netlogon.h
@@ -31,5 +31,9 @@ NTSTATUS map_validation_to_info3(TALLOC_CTX *mem_ctx,
uint16_t validation_level,
union netr_Validation *validation,
struct netr_SamInfo3 **info3_p);
+NTSTATUS map_info3_to_validation(TALLOC_CTX *mem_ctx,
+ struct netr_SamInfo3 *info3,
+ uint16_t *_validation_level,
+ union netr_Validation **_validation);
#endif /* _RPC_CLIENT_UTIL_NETLOGON_H_ */