[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-2396-g6458ef3

Günther Deschner gd at samba.org
Mon Feb 18 16:10:39 GMT 2008


The branch, v3-2-test has been updated
       via  6458ef3977b60f24b87eb88cf870a9f23929ca85 (commit)
       via  4e310a19f12ba7034f33247dca0a9e7a10aa98b7 (commit)
       via  1cac7b0f626b418909a5e7a79a1c6d335c10fbf3 (commit)
       via  2eda5bcbfa8fccb121e5621b45c2bd1d86f6e71e (commit)
      from  01b733f10c1645668f2aea2841bbdc64b4bd5c51 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 6458ef3977b60f24b87eb88cf870a9f23929ca85
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 18 17:04:50 2008 +0100

    Remove unused marshalling for LSA_LOOKUP_NAMES/2/3/4
    
    Guenther

commit 4e310a19f12ba7034f33247dca0a9e7a10aa98b7
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 18 16:57:02 2008 +0100

    Use pidl for _lsa_LookupNames3 and _lsa_LookupNames4.
    
    Guenther

commit 1cac7b0f626b418909a5e7a79a1c6d335c10fbf3
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 18 16:52:56 2008 +0100

    Re-run make idl.
    
    Guenther

commit 2eda5bcbfa8fccb121e5621b45c2bd1d86f6e71e
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 18 16:51:32 2008 +0100

    Fix IDL for lsa_LookupNames3 and lsa_LookupNames4.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/include/rpc_lsa.h        |  141 ----------
 source/librpc/gen_ndr/cli_lsa.c |    4 +-
 source/librpc/gen_ndr/cli_lsa.h |    4 +-
 source/librpc/gen_ndr/lsa.h     |    4 +-
 source/librpc/gen_ndr/ndr_lsa.c |   54 ++++-
 source/librpc/gen_ndr/srv_lsa.c |    4 +-
 source/librpc/idl/lsa.idl       |    4 +-
 source/rpc_parse/parse_lsa.c    |  578 ---------------------------------------
 source/rpc_server/srv_lsa.c     |   48 +---
 source/rpc_server/srv_lsa_nt.c  |  252 +++++------------
 10 files changed, 135 insertions(+), 958 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_lsa.h b/source/include/rpc_lsa.h
index dde014a..a92fca8 100644
--- a/source/include/rpc_lsa.h
+++ b/source/include/rpc_lsa.h
@@ -305,145 +305,4 @@ typedef struct lsa_r_lookup_sids3
 
 } LSA_R_LOOKUP_SIDS3;
 
-/* LSA_Q_LOOKUP_NAMES - LSA Lookup NAMEs */
-typedef struct lsa_q_lookup_names
-{
-	POLICY_HND pol; /* policy handle */
-	uint32 num_entries;
-	uint32 num_entries2;
-	UNIHDR  *hdr_name; /* name buffer pointers */
-	UNISTR2 *uni_name; /* names to be looked up */
-
-	uint32 num_trans_entries;
-	uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */
-	uint16 lookup_level;
-	uint32 mapped_count;
-
-} LSA_Q_LOOKUP_NAMES;
-
-/* LSA_R_LOOKUP_NAMES - response to LSA Lookup NAMEs by name */
-typedef struct lsa_r_lookup_names
-{
-	uint32 ptr_dom_ref;
-	DOM_R_REF *dom_ref; /* domain reference info */
-
-	uint32 num_entries;
-	uint32 ptr_entries;
-	uint32 num_entries2;
-	DOM_RID *dom_rid; /* domain RIDs being looked up */
-
-	uint32 mapped_count;
-
-	NTSTATUS status; /* return code */
-} LSA_R_LOOKUP_NAMES;
-
-/* LSA_Q_LOOKUP_NAMES2 - LSA Lookup NAMEs 2*/
-typedef struct lsa_q_lookup_names2
-{
-	POLICY_HND pol; /* policy handle */
-	uint32 num_entries;
-	uint32 num_entries2;
-	UNIHDR  *hdr_name; /* name buffer pointers */
-	UNISTR2 *uni_name; /* names to be looked up */
-
-	uint32 num_trans_entries;
-	uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */
-	uint16 lookup_level;
-	uint32 mapped_count;
-	uint32 unknown1;
-	uint32 unknown2;
-
-} LSA_Q_LOOKUP_NAMES2;
-
-/* LSA_R_LOOKUP_NAMES2 - response to LSA Lookup NAMEs by name 2 */
-typedef struct lsa_r_lookup_names2
-{
-	uint32 ptr_dom_ref;
-	DOM_R_REF *dom_ref; /* domain reference info */
-
-	uint32 num_entries;
-	uint32 ptr_entries;
-	uint32 num_entries2;
-	DOM_RID2 *dom_rid; /* domain RIDs being looked up */
-
-	uint32 mapped_count;
-
-	NTSTATUS status; /* return code */
-} LSA_R_LOOKUP_NAMES2;
-
-/* LSA_Q_LOOKUP_NAMES3 - LSA Lookup NAMEs 3 */
-typedef struct lsa_q_lookup_names3
-{
-	POLICY_HND pol; /* policy handle */
-	uint32 num_entries;
-	uint32 num_entries2;
-	UNIHDR  *hdr_name; /* name buffer pointers */
-	UNISTR2 *uni_name; /* names to be looked up */
-
-	uint32 num_trans_entries;
-	uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */
-	uint16 lookup_level;
-	uint32 mapped_count;
-	uint32 unknown1;
-	uint32 unknown2;
-
-} LSA_Q_LOOKUP_NAMES3;
-
-/* Sid type used in lookupnames3 and lookupnames4. */
-typedef struct lsa_translatedsid3 {
-	uint8 sid_type;
-	DOM_SID2 *sid2;
-	uint32 sid_idx;
-	uint32 unknown;
-} LSA_TRANSLATED_SID3;
-
-/* LSA_R_LOOKUP_NAMES3 - response to LSA Lookup NAMEs by name 3 */
-typedef struct lsa_r_lookup_names3
-{
-	uint32 ptr_dom_ref;
-	DOM_R_REF *dom_ref; /* domain reference info */
-
-	uint32 num_entries;
-	uint32 ptr_entries;
-	uint32 num_entries2;
-	LSA_TRANSLATED_SID3 *trans_sids;
-
-	uint32 mapped_count;
-
-	NTSTATUS status; /* return code */
-} LSA_R_LOOKUP_NAMES3;
-
-/* LSA_Q_LOOKUP_NAMES4 - LSA Lookup NAMEs 4 */
-typedef struct lsa_q_lookup_names4
-{
-	uint32 num_entries;
-	uint32 num_entries2;
-	UNIHDR  *hdr_name; /* name buffer pointers */
-	UNISTR2 *uni_name; /* names to be looked up */
-
-	uint32 num_trans_entries;
-	uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */
-	uint16 lookup_level;
-	uint32 mapped_count;
-	uint32 unknown1;
-	uint32 unknown2;
-
-} LSA_Q_LOOKUP_NAMES4;
-
-/* LSA_R_LOOKUP_NAMES3 - response to LSA Lookup NAMEs by name 4 */
-typedef struct lsa_r_lookup_names4
-{
-	uint32 ptr_dom_ref;
-	DOM_R_REF *dom_ref; /* domain reference info */
-
-	uint32 num_entries;
-	uint32 ptr_entries;
-	uint32 num_entries2;
-	LSA_TRANSLATED_SID3 *trans_sids;
-
-	uint32 mapped_count;
-
-	NTSTATUS status; /* return code */
-} LSA_R_LOOKUP_NAMES4;
-
 #endif /* _RPC_LSA_H */
diff --git a/source/librpc/gen_ndr/cli_lsa.c b/source/librpc/gen_ndr/cli_lsa.c
index 7f78462..b1609ea 100644
--- a/source/librpc/gen_ndr/cli_lsa.c
+++ b/source/librpc/gen_ndr/cli_lsa.c
@@ -2914,7 +2914,7 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client *cli,
 				 struct policy_handle *handle,
 				 uint32_t num_names,
 				 struct lsa_String *names,
-				 struct lsa_RefDomainList *domains,
+				 struct lsa_RefDomainList **domains,
 				 struct lsa_TransSidArray3 *sids,
 				 enum lsa_LookupNamesLevel level,
 				 uint32_t *count,
@@ -3290,7 +3290,7 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
 				 uint32_t num_names,
 				 struct lsa_String *names,
-				 struct lsa_RefDomainList *domains,
+				 struct lsa_RefDomainList **domains,
 				 struct lsa_TransSidArray3 *sids,
 				 enum lsa_LookupNamesLevel level,
 				 uint32_t *count,
diff --git a/source/librpc/gen_ndr/cli_lsa.h b/source/librpc/gen_ndr/cli_lsa.h
index 8513a9d..7d69926 100644
--- a/source/librpc/gen_ndr/cli_lsa.h
+++ b/source/librpc/gen_ndr/cli_lsa.h
@@ -316,7 +316,7 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client *cli,
 				 struct policy_handle *handle,
 				 uint32_t num_names,
 				 struct lsa_String *names,
-				 struct lsa_RefDomainList *domains,
+				 struct lsa_RefDomainList **domains,
 				 struct lsa_TransSidArray3 *sids,
 				 enum lsa_LookupNamesLevel level,
 				 uint32_t *count,
@@ -353,7 +353,7 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
 				 uint32_t num_names,
 				 struct lsa_String *names,
-				 struct lsa_RefDomainList *domains,
+				 struct lsa_RefDomainList **domains,
 				 struct lsa_TransSidArray3 *sids,
 				 enum lsa_LookupNamesLevel level,
 				 uint32_t *count,
diff --git a/source/librpc/gen_ndr/lsa.h b/source/librpc/gen_ndr/lsa.h
index 62f8f2c..cc7bca3 100644
--- a/source/librpc/gen_ndr/lsa.h
+++ b/source/librpc/gen_ndr/lsa.h
@@ -1472,7 +1472,7 @@ struct lsa_LookupNames3 {
 	} in;
 
 	struct {
-		struct lsa_RefDomainList *domains;/* [ref] */
+		struct lsa_RefDomainList **domains;/* [ref] */
 		struct lsa_TransSidArray3 *sids;/* [ref] */
 		uint32_t *count;/* [ref] */
 		NTSTATUS result;
@@ -1576,7 +1576,7 @@ struct lsa_LookupNames4 {
 	} in;
 
 	struct {
-		struct lsa_RefDomainList *domains;/* [ref] */
+		struct lsa_RefDomainList **domains;/* [ref] */
 		struct lsa_TransSidArray3 *sids;/* [ref] */
 		uint32_t *count;/* [ref] */
 		NTSTATUS result;
diff --git a/source/librpc/gen_ndr/ndr_lsa.c b/source/librpc/gen_ndr/ndr_lsa.c
index d5cbc0e..dc4918a 100644
--- a/source/librpc/gen_ndr/ndr_lsa.c
+++ b/source/librpc/gen_ndr/ndr_lsa.c
@@ -10515,7 +10515,10 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int f
 		if (r->out.domains == NULL) {
 			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 		}
-		NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
+		NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
+		if (*r->out.domains) {
+			NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
+		}
 		if (r->out.sids == NULL) {
 			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 		}
@@ -10532,9 +10535,11 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int f
 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int flags, struct lsa_LookupNames3 *r)
 {
 	uint32_t cntr_names_0;
+	uint32_t _ptr_domains;
 	TALLOC_CTX *_mem_save_handle_0;
 	TALLOC_CTX *_mem_save_names_0;
 	TALLOC_CTX *_mem_save_domains_0;
+	TALLOC_CTX *_mem_save_domains_1;
 	TALLOC_CTX *_mem_save_sids_0;
 	TALLOC_CTX *_mem_save_count_0;
 	if (flags & NDR_IN) {
@@ -10595,7 +10600,18 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int f
 		}
 		_mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
-		NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
+		if (_ptr_domains) {
+			NDR_PULL_ALLOC(ndr, *r->out.domains);
+		} else {
+			*r->out.domains = NULL;
+		}
+		if (*r->out.domains) {
+			_mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
+			NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
+		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
 		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 			NDR_PULL_ALLOC(ndr, r->out.sids);
@@ -10661,7 +10677,12 @@ _PUBLIC_ void ndr_print_lsa_LookupNames3(struct ndr_print *ndr, const char *name
 		ndr->depth++;
 		ndr_print_ptr(ndr, "domains", r->out.domains);
 		ndr->depth++;
-		ndr_print_lsa_RefDomainList(ndr, "domains", r->out.domains);
+		ndr_print_ptr(ndr, "domains", *r->out.domains);
+		ndr->depth++;
+		if (*r->out.domains) {
+			ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
+		}
+		ndr->depth--;
 		ndr->depth--;
 		ndr_print_ptr(ndr, "sids", r->out.sids);
 		ndr->depth++;
@@ -11241,7 +11262,10 @@ static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int fla
 		if (r->out.domains == NULL) {
 			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 		}
-		NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
+		NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
+		if (*r->out.domains) {
+			NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
+		}
 		if (r->out.sids == NULL) {
 			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 		}
@@ -11258,8 +11282,10 @@ static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int fla
 static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int flags, struct lsa_LookupNames4 *r)
 {
 	uint32_t cntr_names_0;
+	uint32_t _ptr_domains;
 	TALLOC_CTX *_mem_save_names_0;
 	TALLOC_CTX *_mem_save_domains_0;
+	TALLOC_CTX *_mem_save_domains_1;
 	TALLOC_CTX *_mem_save_sids_0;
 	TALLOC_CTX *_mem_save_count_0;
 	if (flags & NDR_IN) {
@@ -11313,7 +11339,18 @@ static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int fla
 		}
 		_mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
-		NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
+		if (_ptr_domains) {
+			NDR_PULL_ALLOC(ndr, *r->out.domains);
+		} else {
+			*r->out.domains = NULL;
+		}
+		if (*r->out.domains) {
+			_mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
+			NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
+		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
 		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 			NDR_PULL_ALLOC(ndr, r->out.sids);
@@ -11375,7 +11412,12 @@ _PUBLIC_ void ndr_print_lsa_LookupNames4(struct ndr_print *ndr, const char *name
 		ndr->depth++;
 		ndr_print_ptr(ndr, "domains", r->out.domains);
 		ndr->depth++;
-		ndr_print_lsa_RefDomainList(ndr, "domains", r->out.domains);
+		ndr_print_ptr(ndr, "domains", *r->out.domains);
+		ndr->depth++;
+		if (*r->out.domains) {
+			ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
+		}
+		ndr->depth--;
 		ndr->depth--;
 		ndr_print_ptr(ndr, "sids", r->out.sids);
 		ndr->depth++;
diff --git a/source/librpc/gen_ndr/srv_lsa.c b/source/librpc/gen_ndr/srv_lsa.c
index b21a825..1ce0448 100644
--- a/source/librpc/gen_ndr/srv_lsa.c
+++ b/source/librpc/gen_ndr/srv_lsa.c
@@ -5258,7 +5258,7 @@ static bool api_lsa_LookupNames3(pipes_struct *p)
 	}
 
 	ZERO_STRUCT(r->out);
-	r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+	r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
 	if (r->out.domains == NULL) {
 		talloc_free(r);
 		return false;
@@ -5940,7 +5940,7 @@ static bool api_lsa_LookupNames4(pipes_struct *p)
 	}
 
 	ZERO_STRUCT(r->out);
-	r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+	r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
 	if (r->out.domains == NULL) {
 		talloc_free(r);
 		return false;
diff --git a/source/librpc/idl/lsa.idl b/source/librpc/idl/lsa.idl
index ccac66b..38f3489 100644
--- a/source/librpc/idl/lsa.idl
+++ b/source/librpc/idl/lsa.idl
@@ -960,7 +960,7 @@ import "security.idl";
 		[in]     policy_handle *handle,
 		[in,range(0,1000)] uint32 num_names,
 		[in,size_is(num_names)]  lsa_String names[],
-		[out,ref]    lsa_RefDomainList *domains,
+		[out,ref]    lsa_RefDomainList **domains,
 		[in,out,ref] lsa_TransSidArray3 *sids,
 		[in]         lsa_LookupNamesLevel level,
 		[in,out,ref] uint32 *count,
@@ -1048,7 +1048,7 @@ import "security.idl";
 	NTSTATUS lsa_LookupNames4(
 		[in,range(0,1000)] uint32 num_names,
 		[in,size_is(num_names)]  lsa_String names[],
-		[out,ref]    lsa_RefDomainList *domains,
+		[out,ref]    lsa_RefDomainList **domains,
 		[in,out,ref] lsa_TransSidArray3 *sids,
 		[in]         lsa_LookupNamesLevel level,
 		[in,out,ref] uint32 *count,
diff --git a/source/rpc_parse/parse_lsa.c b/source/rpc_parse/parse_lsa.c
index 3d65b9c..81b6fc9 100644
--- a/source/rpc_parse/parse_lsa.c
+++ b/source/rpc_parse/parse_lsa.c
@@ -628,581 +628,3 @@ bool lsa_io_r_lookup_sids3(const char *desc, LSA_R_LOOKUP_SIDS3 *r_s,
 
 	return True;
 }
-
-/*******************************************************************
-makes a structure.
-********************************************************************/
-
-void init_q_lookup_names(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_NAMES *q_l, 
-			 POLICY_HND *hnd, int num_names, const char **names, 
-			 int level)
-{
-	unsigned int i;
-
-	DEBUG(5, ("init_q_lookup_names\n"));
-
-	ZERO_STRUCTP(q_l);
-
-	q_l->pol = *hnd;
-	q_l->num_entries = num_names;
-	q_l->num_entries2 = num_names;
-	q_l->lookup_level = level;
-
-	if (num_names) {
-		if ((q_l->uni_name = TALLOC_ZERO_ARRAY(mem_ctx, UNISTR2, num_names)) == NULL) {
-			DEBUG(3, ("init_q_lookup_names(): out of memory\n"));
-			return;
-		}
-
-		if ((q_l->hdr_name = TALLOC_ZERO_ARRAY(mem_ctx, UNIHDR, num_names)) == NULL) {
-			DEBUG(3, ("init_q_lookup_names(): out of memory\n"));
-			return;
-		}
-	} else {
-		q_l->uni_name = NULL;
-		q_l->hdr_name = NULL;
-	}
-
-	for (i = 0; i < num_names; i++) {
-		init_unistr2(&q_l->uni_name[i], names[i], UNI_FLAGS_NONE);
-		init_uni_hdr(&q_l->hdr_name[i], &q_l->uni_name[i]);
-	}
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool lsa_io_q_lookup_names(const char *desc, LSA_Q_LOOKUP_NAMES *q_r, 
-			   prs_struct *ps, int depth)
-{
-	unsigned int i;
-
-	prs_debug(ps, depth, desc, "lsa_io_q_lookup_names");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("", &q_r->pol, ps, depth)) /* policy handle */
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-	if(!prs_uint32("num_entries    ", ps, depth, &q_r->num_entries))
-		return False;
-	if(!prs_uint32("num_entries2   ", ps, depth, &q_r->num_entries2))
-		return False;
-
-	if (UNMARSHALLING(ps)) {
-		if (q_r->num_entries) {
-			if ((q_r->hdr_name = PRS_ALLOC_MEM(ps, UNIHDR, q_r->num_entries)) == NULL)
-				return False;
-			if ((q_r->uni_name = PRS_ALLOC_MEM(ps, UNISTR2, q_r->num_entries)) == NULL)
-				return False;
-		}
-	}
-
-	for (i = 0; i < q_r->num_entries; i++) {
-		if(!prs_align(ps))
-			return False;
-		if(!smb_io_unihdr("hdr_name", &q_r->hdr_name[i], ps, depth)) /* pointer names */
-			return False;
-	}
-
-	for (i = 0; i < q_r->num_entries; i++) {
-		if(!prs_align(ps))
-			return False;
-		if(!smb_io_unistr2("dom_name", &q_r->uni_name[i], q_r->hdr_name[i].buffer, ps, depth)) /* names to be looked up */
-			return False;
-	}
-
-	if(!prs_align(ps))
-		return False;
-	if(!prs_uint32("num_trans_entries ", ps, depth, &q_r->num_trans_entries))
-		return False;
-	if(!prs_uint32("ptr_trans_sids ", ps, depth, &q_r->ptr_trans_sids))
-		return False;
-	if(!prs_uint16("lookup_level   ", ps, depth, &q_r->lookup_level))
-		return False;
-	if(!prs_align(ps))
-		return False;
-	if(!prs_uint32("mapped_count   ", ps, depth, &q_r->mapped_count))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-
-bool lsa_io_r_lookup_names(const char *desc, LSA_R_LOOKUP_NAMES *out, prs_struct *ps, int depth)
-{
-	unsigned int i;
-


-- 
Samba Shared Repository


More information about the samba-cvs mailing list