From: Günther Deschner Date: Mon, 31 Mar 2008 18:40:16 +0000 (+0200) Subject: Add init_samr_parameters_string(). X-Git-Tag: samba-3.3.0pre1~2994 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8f6f0d1601cb93af51f8d493382cd707c3eb0cdf;p=thirdparty%2Fsamba.git Add init_samr_parameters_string(). Guenther --- diff --git a/source/rpc_server/srv_samr_nt.c b/source/rpc_server/srv_samr_nt.c index eeb3e400dd0..034392ed212 100644 --- a/source/rpc_server/srv_samr_nt.c +++ b/source/rpc_server/srv_samr_nt.c @@ -2154,6 +2154,41 @@ NTSTATUS _samr_OpenUser(pipes_struct *p, return NT_STATUS_OK; } +/************************************************************************* + *************************************************************************/ + +static NTSTATUS init_samr_parameters_string(TALLOC_CTX *mem_ctx, + DATA_BLOB *blob, + struct lsa_BinaryString **_r) +{ + struct lsa_BinaryString *r; + + if (!blob || !_r) { + return NT_STATUS_INVALID_PARAMETER; + } + + r = TALLOC_ZERO_P(mem_ctx, struct lsa_BinaryString); + if (!r) { + return NT_STATUS_NO_MEMORY; + } + + r->array = TALLOC_ZERO_ARRAY(mem_ctx, uint16_t, blob->length/2); + if (!r->array) { + return NT_STATUS_NO_MEMORY; + } + memcpy(r->array, blob->data, blob->length); + r->size = blob->length; + r->length = blob->length; + + if (!r->array) { + return NT_STATUS_NO_MEMORY; + } + + *_r = r; + + return NT_STATUS_OK; +} + /************************************************************************* get_user_info_7. Safe. Only gives out account_name. *************************************************************************/