[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-1690-g227f575

Günther Deschner gd at samba.org
Fri Jan 25 20:49:18 GMT 2008


The branch, v3-2-test has been updated
       via  227f5755c8844dbff8d66adec3d7fd94b583358f (commit)
       via  3ded8b9b7eee18a3f903e264adfb7fea6a3c0c5f (commit)
       via  2caed3f816d29bd7dfa36df3ddd6aeba5bbfa252 (commit)
       via  d69cbd009903a8b36c9254a59faa5783fbc737f9 (commit)
       via  46679ddbc3137ac6edcdb1c61e2a7fa65f91341d (commit)
       via  454a0711f1614107436ef36ec21ebb8567728bf9 (commit)
      from  71d6580c837adcc2cddcdff561f6fb09701501ee (commit)

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


- Log -----------------------------------------------------------------
commit 227f5755c8844dbff8d66adec3d7fd94b583358f
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 25 21:21:33 2008 +0100

    Add cmd_netlogon_dsr_getforesttrustinfo and deregisterdnsrecords to rpcclient.
    
    Guenther

commit 3ded8b9b7eee18a3f903e264adfb7fea6a3c0c5f
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 25 21:19:39 2008 +0100

    Remove hand-written rpccli_netlogon_dsr_getdcnameex[2].
    
    Guenther

commit 2caed3f816d29bd7dfa36df3ddd6aeba5bbfa252
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 25 21:17:44 2008 +0100

    Use rpccli_netr_DsRGetDCNameEx and rpccli_netr_DsRGetDCNameEx2 in rpcclient.
    
    Guenther

commit d69cbd009903a8b36c9254a59faa5783fbc737f9
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 25 21:15:36 2008 +0100

    Re-run make idl.
    
    Couldn't we move on doing this during the build??
    
    Guenther

commit 46679ddbc3137ac6edcdb1c61e2a7fa65f91341d
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 25 21:12:42 2008 +0100

    Fix netr_DsRGetDCNameEx and netr_DsRGetDCNameEx2 IDL.
    
    Guenther

commit 454a0711f1614107436ef36ec21ebb8567728bf9
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jan 25 17:43:15 2008 +0100

    Add IDL for netr_DsrDeregisterDNSHostRecords (just for completion).
    
    Guenther

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

Summary of changes:
 source/include/rpc_netlogon.h        |   35 ------
 source/librpc/gen_ndr/cli_netlogon.c |   22 +++-
 source/librpc/gen_ndr/cli_netlogon.h |   11 ++-
 source/librpc/gen_ndr/ndr_netlogon.c |  198 +++++++++++++++++++++++++++++---
 source/librpc/gen_ndr/ndr_netlogon.h |    2 +-
 source/librpc/gen_ndr/netlogon.h     |   14 ++-
 source/librpc/gen_ndr/srv_netlogon.c |   18 ++--
 source/librpc/gen_ndr/srv_netlogon.h |    2 +-
 source/librpc/idl/netlogon.idl       |   12 ++-
 source/rpc_client/cli_netlogon.c     |  103 -----------------
 source/rpc_parse/parse_net.c         |  209 ----------------------------------
 source/rpcclient/cmd_netlogon.c      |  182 ++++++++++++++++++++++++------
 12 files changed, 384 insertions(+), 424 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_netlogon.h b/source/include/rpc_netlogon.h
index e522486..244e37d 100644
--- a/source/include/rpc_netlogon.h
+++ b/source/include/rpc_netlogon.h
@@ -1096,41 +1096,6 @@ typedef struct net_r_dsr_getdcname {
 	WERROR result;
 } NET_R_DSR_GETDCNAME;
 
-/* NET_Q_DSR_GETDCNAMEEX */
-typedef struct net_q_dsr_getdcnameex {
-	uint32 ptr_server_unc;
-	UNISTR2 uni_server_unc;
-	uint32 ptr_domain_name;
-	UNISTR2 uni_domain_name;
-	uint32 ptr_domain_guid;
-	struct GUID *domain_guid;
-	uint32 ptr_site_name;
-	UNISTR2 uni_site_name;
-	uint32 flags;
-} NET_Q_DSR_GETDCNAMEEX;
-
-/* NET_R_DSR_GETDCNAMEEX */
-typedef struct net_r_dsr_getdcnameex NET_R_DSR_GETDCNAMEEX;
-
-/* NET_Q_DSR_GETDCNAMEEX2 */
-typedef struct net_q_dsr_getdcnameex2 {
-	uint32 ptr_server_unc;
-	UNISTR2 uni_server_unc;
-	uint32 ptr_client_account;
-	UNISTR2 uni_client_account;
-	uint32 mask;
-	uint32 ptr_domain_name;
-	UNISTR2 uni_domain_name;
-	uint32 ptr_domain_guid;
-	struct GUID *domain_guid;
-	uint32 ptr_site_name;
-	UNISTR2 uni_site_name;
-	uint32 flags;
-} NET_Q_DSR_GETDCNAMEEX2;
-
-/* NET_R_DSR_GETDCNAMEEX2 */
-typedef struct net_r_dsr_getdcnameex2 NET_R_DSR_GETDCNAMEEX2;
-
 /* NET_Q_DSR_GESITENAME */
 typedef struct net_q_dsr_getsitename {
 	uint32 ptr_computer_name;
diff --git a/source/librpc/gen_ndr/cli_netlogon.c b/source/librpc/gen_ndr/cli_netlogon.c
index 4c9d976..8bed385 100644
--- a/source/librpc/gen_ndr/cli_netlogon.c
+++ b/source/librpc/gen_ndr/cli_netlogon.c
@@ -1375,7 +1375,7 @@ NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli,
 				    struct GUID *domain_guid,
 				    const char *site_name,
 				    uint32_t flags,
-				    struct netr_DsRGetDCNameInfo *info,
+				    struct netr_DsRGetDCNameInfo **info,
 				    WERROR *werror)
 {
 	struct netr_DsRGetDCNameEx r;
@@ -1728,7 +1728,7 @@ NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli,
 				     struct GUID *domain_guid,
 				     const char *site_name,
 				     uint32_t flags,
-				     struct netr_DsRGetDCNameInfo *info,
+				     struct netr_DsRGetDCNameInfo **info,
 				     WERROR *werror)
 {
 	struct netr_DsRGetDCNameEx2 r;
@@ -2063,17 +2063,27 @@ NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli,
 	return werror_to_ntstatus(r.out.result);
 }
 
-NTSTATUS rpccli_netr_DSRDEREGISTERDNSHOSTRECORDS(struct rpc_pipe_client *cli,
+NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli,
 						 TALLOC_CTX *mem_ctx,
+						 const char *server_name,
+						 const char *domain,
+						 struct GUID *domain_guid,
+						 struct GUID *dsa_guid,
+						 const char *dns_host,
 						 WERROR *werror)
 {
-	struct netr_DSRDEREGISTERDNSHOSTRECORDS r;
+	struct netr_DsrDeregisterDNSHostRecords r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.server_name = server_name;
+	r.in.domain = domain;
+	r.in.domain_guid = domain_guid;
+	r.in.dsa_guid = dsa_guid;
+	r.in.dns_host = dns_host;
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(netr_DSRDEREGISTERDNSHOSTRECORDS, &r);
+		NDR_PRINT_IN_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
 	}
 
 	status = cli_do_rpc_ndr(cli,
@@ -2088,7 +2098,7 @@ NTSTATUS rpccli_netr_DSRDEREGISTERDNSHOSTRECORDS(struct rpc_pipe_client *cli,
 	}
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(netr_DSRDEREGISTERDNSHOSTRECORDS, &r);
+		NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
 	}
 
 	if (NT_STATUS_IS_ERR(status)) {
diff --git a/source/librpc/gen_ndr/cli_netlogon.h b/source/librpc/gen_ndr/cli_netlogon.h
index 5e58986..d98b87a 100644
--- a/source/librpc/gen_ndr/cli_netlogon.h
+++ b/source/librpc/gen_ndr/cli_netlogon.h
@@ -213,7 +213,7 @@ NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli,
 				    struct GUID *domain_guid,
 				    const char *site_name,
 				    uint32_t flags,
-				    struct netr_DsRGetDCNameInfo *info,
+				    struct netr_DsRGetDCNameInfo **info,
 				    WERROR *werror);
 NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli,
 				    TALLOC_CTX *mem_ctx,
@@ -267,7 +267,7 @@ NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli,
 				     struct GUID *domain_guid,
 				     const char *site_name,
 				     uint32_t flags,
-				     struct netr_DsRGetDCNameInfo *info,
+				     struct netr_DsRGetDCNameInfo **info,
 				     WERROR *werror);
 NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli,
 							 TALLOC_CTX *mem_ctx,
@@ -305,8 +305,13 @@ NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli,
 					      uint32_t trust_flags,
 					      struct netr_DomainTrustList *trusts,
 					      WERROR *werror);
-NTSTATUS rpccli_netr_DSRDEREGISTERDNSHOSTRECORDS(struct rpc_pipe_client *cli,
+NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli,
 						 TALLOC_CTX *mem_ctx,
+						 const char *server_name,
+						 const char *domain,
+						 struct GUID *domain_guid,
+						 struct GUID *dsa_guid,
+						 const char *dns_host,
 						 WERROR *werror);
 NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli,
 					     TALLOC_CTX *mem_ctx,
diff --git a/source/librpc/gen_ndr/ndr_netlogon.c b/source/librpc/gen_ndr/ndr_netlogon.c
index 67a54fb..619f08a 100644
--- a/source/librpc/gen_ndr/ndr_netlogon.c
+++ b/source/librpc/gen_ndr/ndr_netlogon.c
@@ -11614,7 +11614,11 @@ static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int
 		if (r->out.info == NULL) {
 			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 		}
-		NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
+		if (*r->out.info == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_ref_ptr(ndr));
+		NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
 		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 	}
 	return NDR_ERR_SUCCESS;
@@ -11626,11 +11630,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int
 	uint32_t _ptr_domain_name;
 	uint32_t _ptr_domain_guid;
 	uint32_t _ptr_site_name;
+	uint32_t _ptr_info;
 	TALLOC_CTX *_mem_save_server_unc_0;
 	TALLOC_CTX *_mem_save_domain_name_0;
 	TALLOC_CTX *_mem_save_domain_guid_0;
 	TALLOC_CTX *_mem_save_site_name_0;
 	TALLOC_CTX *_mem_save_info_0;
+	TALLOC_CTX *_mem_save_info_1;
 	if (flags & NDR_IN) {
 		ZERO_STRUCT(r->out);
 
@@ -11710,7 +11716,14 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int
 		}
 		_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-		NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
+		NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_info));
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, *r->out.info);
+		}
+		_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, LIBNDR_FLAG_REF_ALLOC);
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 	}
@@ -11759,7 +11772,10 @@ _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *n
 		ndr->depth++;
 		ndr_print_ptr(ndr, "info", r->out.info);
 		ndr->depth++;
-		ndr_print_netr_DsRGetDCNameInfo(ndr, "info", r->out.info);
+		ndr_print_ptr(ndr, "info", *r->out.info);
+		ndr->depth++;
+		ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
+		ndr->depth--;
 		ndr->depth--;
 		ndr_print_WERROR(ndr, "result", r->out.result);
 		ndr->depth--;
@@ -12571,7 +12587,11 @@ static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int
 		if (r->out.info == NULL) {
 			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 		}
-		NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
+		if (*r->out.info == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_ref_ptr(ndr));
+		NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
 		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 	}
 	return NDR_ERR_SUCCESS;
@@ -12584,12 +12604,14 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int
 	uint32_t _ptr_domain_name;
 	uint32_t _ptr_domain_guid;
 	uint32_t _ptr_site_name;
+	uint32_t _ptr_info;
 	TALLOC_CTX *_mem_save_server_unc_0;
 	TALLOC_CTX *_mem_save_client_account_0;
 	TALLOC_CTX *_mem_save_domain_name_0;
 	TALLOC_CTX *_mem_save_domain_guid_0;
 	TALLOC_CTX *_mem_save_site_name_0;
 	TALLOC_CTX *_mem_save_info_0;
+	TALLOC_CTX *_mem_save_info_1;
 	if (flags & NDR_IN) {
 		ZERO_STRUCT(r->out);
 
@@ -12688,7 +12710,14 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int
 		}
 		_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-		NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
+		NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_info));
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, *r->out.info);
+		}
+		_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, LIBNDR_FLAG_REF_ALLOC);
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 	}
@@ -12744,7 +12773,10 @@ _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *
 		ndr->depth++;
 		ndr_print_ptr(ndr, "info", r->out.info);
 		ndr->depth++;
-		ndr_print_netr_DsRGetDCNameInfo(ndr, "info", r->out.info);
+		ndr_print_ptr(ndr, "info", *r->out.info);
+		ndr->depth++;
+		ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
+		ndr->depth--;
 		ndr->depth--;
 		ndr_print_WERROR(ndr, "result", r->out.result);
 		ndr->depth--;
@@ -13431,9 +13463,38 @@ _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, con
 	ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_netr_DSRDEREGISTERDNSHOSTRECORDS(struct ndr_push *ndr, int flags, const struct netr_DSRDEREGISTERDNSHOSTRECORDS *r)
+static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
 {
 	if (flags & NDR_IN) {
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
+		if (r->in.server_name) {
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
+			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+		}
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
+		if (r->in.domain) {
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
+			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+		}
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
+		if (r->in.domain_guid) {
+			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
+		}
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
+		if (r->in.dsa_guid) {
+			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
+		}
+		if (r->in.dns_host == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
+		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_host, ndr_charset_length(r->in.dns_host, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
@@ -13441,9 +13502,84 @@ static enum ndr_err_code ndr_push_netr_DSRDEREGISTERDNSHOSTRECORDS(struct ndr_pu
 	return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_netr_DSRDEREGISTERDNSHOSTRECORDS(struct ndr_pull *ndr, int flags, struct netr_DSRDEREGISTERDNSHOSTRECORDS *r)
+static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
 {
+	uint32_t _ptr_server_name;
+	uint32_t _ptr_domain;
+	uint32_t _ptr_domain_guid;
+	uint32_t _ptr_dsa_guid;
+	TALLOC_CTX *_mem_save_server_name_0;
+	TALLOC_CTX *_mem_save_domain_0;
+	TALLOC_CTX *_mem_save_domain_guid_0;
+	TALLOC_CTX *_mem_save_dsa_guid_0;
 	if (flags & NDR_IN) {
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
+		if (_ptr_server_name) {
+			NDR_PULL_ALLOC(ndr, r->in.server_name);
+		} else {
+			r->in.server_name = NULL;
+		}
+		if (r->in.server_name) {
+			_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+			NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+			NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+			if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
+			}
+			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+		}
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
+		if (_ptr_domain) {
+			NDR_PULL_ALLOC(ndr, r->in.domain);
+		} else {
+			r->in.domain = NULL;
+		}
+		if (r->in.domain) {
+			_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
+			NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
+			NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
+			if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
+				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain));
+			}
+			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
+			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+		}
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
+		if (_ptr_domain_guid) {
+			NDR_PULL_ALLOC(ndr, r->in.domain_guid);
+		} else {
+			r->in.domain_guid = NULL;
+		}
+		if (r->in.domain_guid) {
+			_mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
+			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
+		}
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
+		if (_ptr_dsa_guid) {
+			NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
+		} else {
+			r->in.dsa_guid = NULL;
+		}
+		if (r->in.dsa_guid) {
+			_mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
+			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
+		}
+		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
+		NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
+		if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
+			return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_host), ndr_get_array_length(ndr, &r->in.dns_host));
+		}
+		NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
+		NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t), CH_UTF16));
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
@@ -13451,20 +13587,48 @@ static enum ndr_err_code ndr_pull_netr_DSRDEREGISTERDNSHOSTRECORDS(struct ndr_pu
 	return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_netr_DSRDEREGISTERDNSHOSTRECORDS(struct ndr_print *ndr, const char *name, int flags, const struct netr_DSRDEREGISTERDNSHOSTRECORDS *r)
+_PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
 {
-	ndr_print_struct(ndr, name, "netr_DSRDEREGISTERDNSHOSTRECORDS");
+	ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
 	ndr->depth++;
 	if (flags & NDR_SET_VALUES) {
 		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 	}
 	if (flags & NDR_IN) {
-		ndr_print_struct(ndr, "in", "netr_DSRDEREGISTERDNSHOSTRECORDS");
+		ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
+		ndr->depth++;
+		ndr_print_ptr(ndr, "server_name", r->in.server_name);
+		ndr->depth++;
+		if (r->in.server_name) {
+			ndr_print_string(ndr, "server_name", r->in.server_name);
+		}
+		ndr->depth--;
+		ndr_print_ptr(ndr, "domain", r->in.domain);
 		ndr->depth++;
+		if (r->in.domain) {
+			ndr_print_string(ndr, "domain", r->in.domain);
+		}
+		ndr->depth--;
+		ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
+		ndr->depth++;
+		if (r->in.domain_guid) {
+			ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
+		}
+		ndr->depth--;
+		ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
+		ndr->depth++;
+		if (r->in.dsa_guid) {
+			ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
+		}
+		ndr->depth--;
+		ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
+		ndr->depth++;
+		ndr_print_string(ndr, "dns_host", r->in.dns_host);
+		ndr->depth--;
 		ndr->depth--;
 	}
 	if (flags & NDR_OUT) {
-		ndr_print_struct(ndr, "out", "netr_DSRDEREGISTERDNSHOSTRECORDS");
+		ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
 		ndr->depth++;
 		ndr_print_WERROR(ndr, "result", r->out.result);
 		ndr->depth--;
@@ -14590,11 +14754,11 @@ static const struct ndr_interface_call netlogon_calls[] = {
 		false,
 	},
 	{
-		"netr_DSRDEREGISTERDNSHOSTRECORDS",
-		sizeof(struct netr_DSRDEREGISTERDNSHOSTRECORDS),
-		(ndr_push_flags_fn_t) ndr_push_netr_DSRDEREGISTERDNSHOSTRECORDS,
-		(ndr_pull_flags_fn_t) ndr_pull_netr_DSRDEREGISTERDNSHOSTRECORDS,
-		(ndr_print_function_t) ndr_print_netr_DSRDEREGISTERDNSHOSTRECORDS,
+		"netr_DsrDeregisterDNSHostRecords",
+		sizeof(struct netr_DsrDeregisterDNSHostRecords),
+		(ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
+		(ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
+		(ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
 		false,
 	},
 	{
diff --git a/source/librpc/gen_ndr/ndr_netlogon.h b/source/librpc/gen_ndr/ndr_netlogon.h
index 9338aa7..9a2eea8 100644
--- a/source/librpc/gen_ndr/ndr_netlogon.h
+++ b/source/librpc/gen_ndr/ndr_netlogon.h
@@ -245,7 +245,7 @@ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *
 void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r);
 void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r);
 void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r);
-void ndr_print_netr_DSRDEREGISTERDNSHOSTRECORDS(struct ndr_print *ndr, const char *name, int flags, const struct netr_DSRDEREGISTERDNSHOSTRECORDS *r);
+void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r);
 void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r);
 void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r);
 void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r);
diff --git a/source/librpc/gen_ndr/netlogon.h b/source/librpc/gen_ndr/netlogon.h
index d1c00b1..f59d937 100644
--- a/source/librpc/gen_ndr/netlogon.h
+++ b/source/librpc/gen_ndr/netlogon.h
@@ -1260,7 +1260,7 @@ struct netr_DsRGetDCNameEx {
 	} in;
 
 	struct {
-		struct netr_DsRGetDCNameInfo *info;/* [ref] */
+		struct netr_DsRGetDCNameInfo **info;/* [ref] */
 		WERROR result;
 	} out;
 
@@ -1370,7 +1370,7 @@ struct netr_DsRGetDCNameEx2 {
 	} in;
 
 	struct {
-		struct netr_DsRGetDCNameInfo *info;/* [ref] */
+		struct netr_DsRGetDCNameInfo **info;/* [ref] */
 		WERROR result;
 	} out;
 
@@ -1460,7 +1460,15 @@ struct netr_DsrEnumerateDomainTrusts {
 };
 
 
-struct netr_DSRDEREGISTERDNSHOSTRECORDS {
+struct netr_DsrDeregisterDNSHostRecords {
+	struct {
+		const char *server_name;/* [unique,charset(UTF16)] */
+		const char *domain;/* [unique,charset(UTF16)] */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list