summaryrefslogtreecommitdiff
path: root/source3/libnet
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-06-17 21:22:06 +0200
committerGünther Deschner <gd@samba.org>2008-06-23 23:38:52 +0200
commitddf6e73b1fcbc4faae938815e7c7840d04d84150 (patch)
treeed2d4794eb2e84a4c4e2b50ac9f3bd5991c9d7cd /source3/libnet
parent33000d77e4b904cf9cdfd3e3d83a3c3cc84d7f2b (diff)
downloadsamba-ddf6e73b1fcbc4faae938815e7c7840d04d84150.tar.gz
samba-ddf6e73b1fcbc4faae938815e7c7840d04d84150.tar.bz2
samba-ddf6e73b1fcbc4faae938815e7c7840d04d84150.zip
net_vampire: move pull_netr_AcctLockStr() to libnet.
Guenther (This used to be commit 8ec64a96e43d2e55e81f725fe693178ecdc65e88)
Diffstat (limited to 'source3/libnet')
-rw-r--r--source3/libnet/libnet_proto.h3
-rw-r--r--source3/libnet/libnet_samsync.c38
2 files changed, 41 insertions, 0 deletions
diff --git a/source3/libnet/libnet_proto.h b/source3/libnet/libnet_proto.h
index b30b94a54b..6f150d1579 100644
--- a/source3/libnet/libnet_proto.h
+++ b/source3/libnet/libnet_proto.h
@@ -59,4 +59,7 @@ NTSTATUS samsync_process_database(struct rpc_pipe_client *pipe_hnd,
enum netr_SamDatabaseID database_id,
samsync_fn_t callback_fn,
struct samsync_context *ctx);
+NTSTATUS pull_netr_AcctLockStr(TALLOC_CTX *mem_ctx,
+ struct lsa_BinaryString *r,
+ struct netr_AcctLockStr **str_p);
#endif /* _LIBNET_PROTO_H_ */
diff --git a/source3/libnet/libnet_samsync.c b/source3/libnet/libnet_samsync.c
index c86c5c12e1..fab77e8398 100644
--- a/source3/libnet/libnet_samsync.c
+++ b/source3/libnet/libnet_samsync.c
@@ -375,3 +375,41 @@ NTSTATUS samsync_process_database(struct rpc_pipe_client *pipe_hnd,
return result;
}
+
+/**
+ * pull_netr_AcctLockStr
+ */
+
+NTSTATUS pull_netr_AcctLockStr(TALLOC_CTX *mem_ctx,
+ struct lsa_BinaryString *r,
+ struct netr_AcctLockStr **str_p)
+{
+ struct netr_AcctLockStr *str;
+ enum ndr_err_code ndr_err;
+ DATA_BLOB blob;
+
+ if (!mem_ctx || !r || !str_p) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
+ *str_p = NULL;
+
+ str = TALLOC_ZERO_P(mem_ctx, struct netr_AcctLockStr);
+ if (!str) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ blob = data_blob_const(r->array, r->length);
+
+ ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, str,
+ (ndr_pull_flags_fn_t)ndr_pull_netr_AcctLockStr);
+
+ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+ return ndr_map_error2ntstatus(ndr_err);
+ }
+
+ *str_p = str;
+
+ return NT_STATUS_OK;
+}
+