diff options
author | Günther Deschner <gd@samba.org> | 2008-06-17 21:22:06 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-06-23 23:38:52 +0200 |
commit | ddf6e73b1fcbc4faae938815e7c7840d04d84150 (patch) | |
tree | ed2d4794eb2e84a4c4e2b50ac9f3bd5991c9d7cd /source3/libnet | |
parent | 33000d77e4b904cf9cdfd3e3d83a3c3cc84d7f2b (diff) | |
download | samba-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.h | 3 | ||||
-rw-r--r-- | source3/libnet/libnet_samsync.c | 38 |
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; +} + |