[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-2079-g5550c5c

Günther Deschner gd at samba.org
Mon Feb 11 19:53:42 GMT 2008


The branch, v3-2-test has been updated
       via  5550c5c387ad66ffe8532e669b6155a28c6e54d1 (commit)
       via  b24cf05dcad5696a7b948c93de9e995c2b53e80f (commit)
       via  66aac1d7f2a340d30dbbcff9b1589a2e24bacdaa (commit)
       via  4d9f48f918ac5a0e7df0f4e55673c5b285efc4d5 (commit)
      from  14f5a7dd57054f46a607d063ab03c4505de0f05c (commit)

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


- Log -----------------------------------------------------------------
commit 5550c5c387ad66ffe8532e669b6155a28c6e54d1
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 11 20:31:34 2008 +0100

    Remove unused marshalling for LSA_UNK_GET_CONNUSER.
    
    Guenther

commit b24cf05dcad5696a7b948c93de9e995c2b53e80f
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 11 20:29:31 2008 +0100

    Use pidl for _lsa_GetUserName().
    
    Guenther

commit 66aac1d7f2a340d30dbbcff9b1589a2e24bacdaa
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 11 20:22:01 2008 +0100

    Add cmd_lsa_get_username command to rpcclient.
    
    Guenther

commit 4d9f48f918ac5a0e7df0f4e55673c5b285efc4d5
Author: Günther Deschner <gd at samba.org>
Date:   Mon Feb 11 20:49:24 2008 +0100

    Re-run make idl.
    
    Guenther

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

Summary of changes:
 source/include/rpc_lsa.h        |   28 ------
 source/librpc/gen_ndr/cli_lsa.c |    8 +-
 source/librpc/gen_ndr/cli_lsa.h |    4 +-
 source/librpc/gen_ndr/lsa.h     |   12 +--
 source/librpc/gen_ndr/ndr_lsa.c |  177 +++++++++++++++++++++------------------
 source/librpc/gen_ndr/ndr_lsa.h |    1 -
 source/rpc_parse/parse_lsa.c    |   73 ----------------
 source/rpc_server/srv_lsa.c     |   24 +-----
 source/rpc_server/srv_lsa_nt.c  |   48 ++++++-----
 source/rpcclient/cmd_lsarpc.c   |   41 +++++++++
 10 files changed, 175 insertions(+), 241 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_lsa.h b/source/include/rpc_lsa.h
index 9f8beae..fe088c4 100644
--- a/source/include/rpc_lsa.h
+++ b/source/include/rpc_lsa.h
@@ -551,34 +551,6 @@ typedef struct lsa_r_enum_accounts
 	NTSTATUS status;
 } LSA_R_ENUM_ACCOUNTS;
 
-/* LSA_Q_UNK_GET_CONNUSER - gets username\domain of connected user
-                  called when "Take Ownership" is clicked -SK */
-typedef struct lsa_q_unk_get_connuser
-{
-  uint32 ptr_srvname;
-  UNISTR2 uni2_srvname;
-  uint32 unk1; /* 3 unknown uint32's are seen right after uni2_srvname */
-  uint32 unk2; /* unk2 appears to be a ptr, unk1 = unk3 = 0 usually */
-  uint32 unk3; 
-} LSA_Q_UNK_GET_CONNUSER;
-
-/* LSA_R_UNK_GET_CONNUSER */
-typedef struct lsa_r_unk_get_connuser
-{
-  uint32 ptr_user_name;
-  UNIHDR hdr_user_name;
-  UNISTR2 uni2_user_name;
-  
-  uint32 unk1;
-  
-  uint32 ptr_dom_name;
-  UNIHDR hdr_dom_name;
-  UNISTR2 uni2_dom_name;
-
-  NTSTATUS status;
-} LSA_R_UNK_GET_CONNUSER;
-
-
 typedef struct lsa_q_enumprivsaccount
 {
 	POLICY_HND pol; /* policy handle */
diff --git a/source/librpc/gen_ndr/cli_lsa.c b/source/librpc/gen_ndr/cli_lsa.c
index d2c54ef..f910a82 100644
--- a/source/librpc/gen_ndr/cli_lsa.c
+++ b/source/librpc/gen_ndr/cli_lsa.c
@@ -1957,8 +1957,8 @@ NTSTATUS rpccli_lsa_OpenPolicy2(struct rpc_pipe_client *cli,
 NTSTATUS rpccli_lsa_GetUserName(struct rpc_pipe_client *cli,
 				TALLOC_CTX *mem_ctx,
 				const char *system_name,
-				struct lsa_String *account_name,
-				struct lsa_StringPointer *authority_name)
+				struct lsa_String **account_name,
+				struct lsa_String **authority_name)
 {
 	struct lsa_GetUserName r;
 	NTSTATUS status;
@@ -1992,9 +1992,7 @@ NTSTATUS rpccli_lsa_GetUserName(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
-	if (account_name && r.out.account_name) {
-		*account_name = *r.out.account_name;
-	}
+	*account_name = *r.out.account_name;
 	if (authority_name && r.out.authority_name) {
 		*authority_name = *r.out.authority_name;
 	}
diff --git a/source/librpc/gen_ndr/cli_lsa.h b/source/librpc/gen_ndr/cli_lsa.h
index 5e40a17..49f4633 100644
--- a/source/librpc/gen_ndr/cli_lsa.h
+++ b/source/librpc/gen_ndr/cli_lsa.h
@@ -219,8 +219,8 @@ NTSTATUS rpccli_lsa_OpenPolicy2(struct rpc_pipe_client *cli,
 NTSTATUS rpccli_lsa_GetUserName(struct rpc_pipe_client *cli,
 				TALLOC_CTX *mem_ctx,
 				const char *system_name,
-				struct lsa_String *account_name,
-				struct lsa_StringPointer *authority_name);
+				struct lsa_String **account_name,
+				struct lsa_String **authority_name);
 NTSTATUS rpccli_lsa_QueryInfoPolicy2(struct rpc_pipe_client *cli,
 				     TALLOC_CTX *mem_ctx,
 				     struct policy_handle *handle,
diff --git a/source/librpc/gen_ndr/lsa.h b/source/librpc/gen_ndr/lsa.h
index d829c1f..14d46a6 100644
--- a/source/librpc/gen_ndr/lsa.h
+++ b/source/librpc/gen_ndr/lsa.h
@@ -452,10 +452,6 @@ struct lsa_RightSet {
 	struct lsa_StringLarge *names;/* [unique,size_is(count)] */
 };
 
-struct lsa_StringPointer {
-	struct lsa_String *string;/* [unique] */
-};
-
 struct lsa_DomainListEx {
 	uint32_t count;
 	struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
@@ -1189,13 +1185,13 @@ struct lsa_OpenPolicy2 {
 struct lsa_GetUserName {
 	struct {
 		const char *system_name;/* [unique,charset(UTF16)] */
-		struct lsa_String *account_name;/* [unique] */
-		struct lsa_StringPointer *authority_name;/* [unique] */
+		struct lsa_String **account_name;/* [ref] */
+		struct lsa_String **authority_name;/* [unique] */
 	} in;
 
 	struct {
-		struct lsa_String *account_name;/* [unique] */
-		struct lsa_StringPointer *authority_name;/* [unique] */
+		struct lsa_String **account_name;/* [ref] */
+		struct lsa_String **authority_name;/* [unique] */
 		NTSTATUS result;
 	} out;
 
diff --git a/source/librpc/gen_ndr/ndr_lsa.c b/source/librpc/gen_ndr/ndr_lsa.c
index 69feaed..84f9974 100644
--- a/source/librpc/gen_ndr/ndr_lsa.c
+++ b/source/librpc/gen_ndr/ndr_lsa.c
@@ -3344,57 +3344,6 @@ _PUBLIC_ void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, co
 	ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_lsa_StringPointer(struct ndr_push *ndr, int ndr_flags, const struct lsa_StringPointer *r)
-{
-	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_push_align(ndr, 4));
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		if (r->string) {
-			NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->string));
-		}
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_lsa_StringPointer(struct ndr_pull *ndr, int ndr_flags, struct lsa_StringPointer *r)
-{
-	uint32_t _ptr_string;
-	TALLOC_CTX *_mem_save_string_0;
-	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_pull_align(ndr, 4));
-		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
-		if (_ptr_string) {
-			NDR_PULL_ALLOC(ndr, r->string);
-		} else {
-			r->string = NULL;
-		}
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		if (r->string) {
-			_mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
-			NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->string));
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
-		}
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_lsa_StringPointer(struct ndr_print *ndr, const char *name, const struct lsa_StringPointer *r)
-{
-	ndr_print_struct(ndr, name, "lsa_StringPointer");
-	ndr->depth++;
-	ndr_print_ptr(ndr, "string", r->string);
-	ndr->depth++;
-	if (r->string) {
-		ndr_print_lsa_String(ndr, "string", r->string);
-	}
-	ndr->depth--;
-	ndr->depth--;
-}
-
 static enum ndr_err_code ndr_push_lsa_DomainListEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainListEx *r)
 {
 	uint32_t cntr_domains_1;
@@ -8587,23 +8536,35 @@ static enum ndr_err_code ndr_push_lsa_GetUserName(struct ndr_push *ndr, int flag
 			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
 			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 		}
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account_name));
-		if (r->in.account_name) {
-			NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
+		if (r->in.account_name == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.account_name));
+		if (*r->in.account_name) {
+			NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.account_name));
 		}
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.authority_name));
 		if (r->in.authority_name) {
-			NDR_CHECK(ndr_push_lsa_StringPointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.authority_name));
+			NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.authority_name));
+			if (*r->in.authority_name) {
+				NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.authority_name));
+			}
 		}
 	}
 	if (flags & NDR_OUT) {
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.account_name));
-		if (r->out.account_name) {
-			NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.account_name));
+		if (r->out.account_name == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.account_name));
+		if (*r->out.account_name) {
+			NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.account_name));
 		}
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.authority_name));
 		if (r->out.authority_name) {
-			NDR_CHECK(ndr_push_lsa_StringPointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.authority_name));
+			NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.authority_name));
+			if (*r->out.authority_name) {
+				NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.authority_name));
+			}
 		}
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
 	}
@@ -8617,7 +8578,9 @@ static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flag
 	uint32_t _ptr_authority_name;
 	TALLOC_CTX *_mem_save_system_name_0;
 	TALLOC_CTX *_mem_save_account_name_0;
+	TALLOC_CTX *_mem_save_account_name_1;
 	TALLOC_CTX *_mem_save_authority_name_0;
+	TALLOC_CTX *_mem_save_authority_name_1;
 	if (flags & NDR_IN) {
 		ZERO_STRUCT(r->out);
 
@@ -8639,18 +8602,24 @@ static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flag
 			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
 			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
 		}
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.account_name);
+		}
+		_mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
 		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
 		if (_ptr_account_name) {
-			NDR_PULL_ALLOC(ndr, r->in.account_name);
+			NDR_PULL_ALLOC(ndr, *r->in.account_name);
 		} else {
-			r->in.account_name = NULL;
+			*r->in.account_name = NULL;
 		}
-		if (r->in.account_name) {
-			_mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, 0);
-			NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
+		if (*r->in.account_name) {
+			_mem_save_account_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, *r->in.account_name, 0);
+			NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.account_name));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_1, 0);
 		}
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
 		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
 		if (_ptr_authority_name) {
 			NDR_PULL_ALLOC(ndr, r->in.authority_name);
@@ -8660,23 +8629,42 @@ static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flag
 		if (r->in.authority_name) {
 			_mem_save_authority_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 			NDR_PULL_SET_MEM_CTX(ndr, r->in.authority_name, 0);
-			NDR_CHECK(ndr_pull_lsa_StringPointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.authority_name));
+			NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
+			if (_ptr_authority_name) {
+				NDR_PULL_ALLOC(ndr, *r->in.authority_name);
+			} else {
+				*r->in.authority_name = NULL;
+			}
+			if (*r->in.authority_name) {
+				_mem_save_authority_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
+				NDR_PULL_SET_MEM_CTX(ndr, *r->in.authority_name, 0);
+				NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.authority_name));
+				NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_1, 0);
+			}
 			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_0, 0);
 		}
+		NDR_PULL_ALLOC(ndr, r->out.account_name);
+		*r->out.account_name = *r->in.account_name;
 	}
 	if (flags & NDR_OUT) {
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->out.account_name);
+		}
+		_mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->out.account_name, LIBNDR_FLAG_REF_ALLOC);
 		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
 		if (_ptr_account_name) {
-			NDR_PULL_ALLOC(ndr, r->out.account_name);
+			NDR_PULL_ALLOC(ndr, *r->out.account_name);
 		} else {
-			r->out.account_name = NULL;
+			*r->out.account_name = NULL;
 		}
-		if (r->out.account_name) {
-			_mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->out.account_name, 0);
-			NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.account_name));
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
+		if (*r->out.account_name) {
+			_mem_save_account_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, *r->out.account_name, 0);
+			NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.account_name));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_1, 0);
 		}
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
 		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
 		if (_ptr_authority_name) {
 			NDR_PULL_ALLOC(ndr, r->out.authority_name);
@@ -8686,7 +8674,18 @@ static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flag
 		if (r->out.authority_name) {
 			_mem_save_authority_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 			NDR_PULL_SET_MEM_CTX(ndr, r->out.authority_name, 0);
-			NDR_CHECK(ndr_pull_lsa_StringPointer(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.authority_name));
+			NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
+			if (_ptr_authority_name) {
+				NDR_PULL_ALLOC(ndr, *r->out.authority_name);
+			} else {
+				*r->out.authority_name = NULL;
+			}
+			if (*r->out.authority_name) {
+				_mem_save_authority_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
+				NDR_PULL_SET_MEM_CTX(ndr, *r->out.authority_name, 0);
+				NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.authority_name));
+				NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_1, 0);
+			}
 			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_0, 0);
 		}
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
@@ -8712,14 +8711,22 @@ _PUBLIC_ void ndr_print_lsa_GetUserName(struct ndr_print *ndr, const char *name,
 		ndr->depth--;
 		ndr_print_ptr(ndr, "account_name", r->in.account_name);
 		ndr->depth++;
-		if (r->in.account_name) {
-			ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
+		ndr_print_ptr(ndr, "account_name", *r->in.account_name);
+		ndr->depth++;
+		if (*r->in.account_name) {
+			ndr_print_lsa_String(ndr, "account_name", *r->in.account_name);
 		}
 		ndr->depth--;
+		ndr->depth--;
 		ndr_print_ptr(ndr, "authority_name", r->in.authority_name);
 		ndr->depth++;
 		if (r->in.authority_name) {
-			ndr_print_lsa_StringPointer(ndr, "authority_name", r->in.authority_name);
+			ndr_print_ptr(ndr, "authority_name", *r->in.authority_name);
+			ndr->depth++;
+			if (*r->in.authority_name) {
+				ndr_print_lsa_String(ndr, "authority_name", *r->in.authority_name);
+			}
+			ndr->depth--;
 		}
 		ndr->depth--;
 		ndr->depth--;
@@ -8729,14 +8736,22 @@ _PUBLIC_ void ndr_print_lsa_GetUserName(struct ndr_print *ndr, const char *name,
 		ndr->depth++;
 		ndr_print_ptr(ndr, "account_name", r->out.account_name);
 		ndr->depth++;
-		if (r->out.account_name) {
-			ndr_print_lsa_String(ndr, "account_name", r->out.account_name);
+		ndr_print_ptr(ndr, "account_name", *r->out.account_name);
+		ndr->depth++;
+		if (*r->out.account_name) {
+			ndr_print_lsa_String(ndr, "account_name", *r->out.account_name);
 		}
 		ndr->depth--;
+		ndr->depth--;
 		ndr_print_ptr(ndr, "authority_name", r->out.authority_name);
 		ndr->depth++;
 		if (r->out.authority_name) {
-			ndr_print_lsa_StringPointer(ndr, "authority_name", r->out.authority_name);
+			ndr_print_ptr(ndr, "authority_name", *r->out.authority_name);
+			ndr->depth++;
+			if (*r->out.authority_name) {
+				ndr_print_lsa_String(ndr, "authority_name", *r->out.authority_name);
+			}
+			ndr->depth--;
 		}
 		ndr->depth--;
 		ndr_print_NTSTATUS(ndr, "result", r->out.result);
diff --git a/source/librpc/gen_ndr/ndr_lsa.h b/source/librpc/gen_ndr/ndr_lsa.h
index ab4043f..76add45 100644
--- a/source/librpc/gen_ndr/ndr_lsa.h
+++ b/source/librpc/gen_ndr/ndr_lsa.h
@@ -237,7 +237,6 @@ void ndr_print_lsa_TrustDomainInfoInfoAll(struct ndr_print *ndr, const char *nam
 void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char *name, const union lsa_TrustedDomainInfo *r);
 void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF_PTR *r);
 void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, const struct lsa_RightSet *r);
-void ndr_print_lsa_StringPointer(struct ndr_print *ndr, const char *name, const struct lsa_StringPointer *r);
 void ndr_print_lsa_DomainListEx(struct ndr_print *ndr, const char *name, const struct lsa_DomainListEx *r);
 void ndr_print_lsa_DomainInfoKerberos(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoKerberos *r);
 void ndr_print_lsa_DomainInfoEfs(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoEfs *r);
diff --git a/source/rpc_parse/parse_lsa.c b/source/rpc_parse/parse_lsa.c
index ded4b7a..12dd6e1 100644
--- a/source/rpc_parse/parse_lsa.c
+++ b/source/rpc_parse/parse_lsa.c
@@ -1496,79 +1496,6 @@ bool lsa_io_r_enum_accounts(const char *desc, LSA_R_ENUM_ACCOUNTS *out, prs_stru
 }
 
 
-/*******************************************************************
- Reads or writes an LSA_Q_UNK_GET_CONNUSER structure.
-********************************************************************/
-
-bool lsa_io_q_unk_get_connuser(const char *desc, LSA_Q_UNK_GET_CONNUSER *in, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "lsa_io_q_unk_get_connuser");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-   
-	if(!prs_uint32("ptr_srvname", ps, depth, &in->ptr_srvname))
-		return False;
-
-	if(!smb_io_unistr2("uni2_srvname", &in->uni2_srvname, in->ptr_srvname, ps, depth)) /* server name to be looked up */
-		return False;
-
-	if (!prs_align(ps))
-	  return False;
-
-	if(!prs_uint32("unk1", ps, depth, &in->unk1))
-		return False;
-	if(!prs_uint32("unk2", ps, depth, &in->unk2))
-		return False;
-	if(!prs_uint32("unk3", ps, depth, &in->unk3))
-		return False;
-
-	/* Don't bother to read or write at present... */
-	return True;
-}
-
-/*******************************************************************
- Reads or writes an LSA_R_UNK_GET_CONNUSER structure.
-********************************************************************/
-
-bool lsa_io_r_unk_get_connuser(const char *desc, LSA_R_UNK_GET_CONNUSER *out, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "lsa_io_r_unk_get_connuser");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-   
-	if(!prs_uint32("ptr_user_name", ps, depth, &out->ptr_user_name))
-		return False;
-	if(!smb_io_unihdr("hdr_user_name", &out->hdr_user_name, ps, depth))
-		return False;
-	if(!smb_io_unistr2("uni2_user_name", &out->uni2_user_name, out->ptr_user_name, ps, depth))
-		return False;
-
-	if (!prs_align(ps))
-	  return False;
-	
-	if(!prs_uint32("unk1", ps, depth, &out->unk1))
-		return False;
-
-	if(!prs_uint32("ptr_dom_name", ps, depth, &out->ptr_dom_name))
-		return False;
-	if(!smb_io_unihdr("hdr_dom_name", &out->hdr_dom_name, ps, depth))
-		return False;
-	if(!smb_io_unistr2("uni2_dom_name", &out->uni2_dom_name, out->ptr_dom_name, ps, depth))
-		return False;
-
-	if (!prs_align(ps))
-	  return False;
-	
-	if(!prs_ntstatus("status", ps, depth, &out->status))
-		return False;
-
-	return True;
-}
-
 void init_lsa_q_enum_privsaccount(LSA_Q_ENUMPRIVSACCOUNT *trn, POLICY_HND *hnd)
 {
 	memcpy(&trn->pol, hnd, sizeof(trn->pol));
diff --git a/source/rpc_server/srv_lsa.c b/source/rpc_server/srv_lsa.c
index 9f3dd90..9865a70 100644
--- a/source/rpc_server/srv_lsa.c
+++ b/source/rpc_server/srv_lsa.c
@@ -234,29 +234,7 @@ static bool api_lsa_enum_accounts(pipes_struct *p)
 
 static bool api_lsa_unk_get_connuser(pipes_struct *p)
 {
-	LSA_Q_UNK_GET_CONNUSER q_u;
-	LSA_R_UNK_GET_CONNUSER r_u;
-	
-	prs_struct *data = &p->in_data.data;
-	prs_struct *rdata = &p->out_data.rdata;
-
-	ZERO_STRUCT(q_u);
-	ZERO_STRUCT(r_u);
-
-	if(!lsa_io_q_unk_get_connuser("", &q_u, data, 0)) {
-		DEBUG(0,("api_lsa_unk_get_connuser: failed to unmarshall LSA_Q_UNK_GET_CONNUSER.\n"));
-		return False;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list