svn commit: samba r18396 - in branches/SAMBA_3_0/source/librpc/gen_ndr: .

jerry at samba.org jerry at samba.org
Mon Sep 11 20:06:55 GMT 2006


Author: jerry
Date: 2006-09-11 20:06:55 +0000 (Mon, 11 Sep 2006)
New Revision: 18396

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18396

Log:
regenerate unixinfo files after metze changes to the IDL
Modified:
   branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_unixinfo.c
   branches/SAMBA_3_0/source/librpc/gen_ndr/unixinfo.h


Changeset:
Modified: branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_unixinfo.c
===================================================================
--- branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_unixinfo.c	2006-09-11 20:00:00 UTC (rev 18395)
+++ branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_unixinfo.c	2006-09-11 20:06:55 UTC (rev 18396)
@@ -9,73 +9,43 @@
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->homedir));
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->shell));
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		if (r->homedir) {
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
-			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8));
+		{
+			uint32_t _flags_save_string = ndr->flags;
+			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
+			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->homedir));
+			ndr->flags = _flags_save_string;
 		}
-		if (r->shell) {
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
-			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8));
+		{
+			uint32_t _flags_save_string = ndr->flags;
+			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
+			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->shell));
+			ndr->flags = _flags_save_string;
 		}
 	}
+	if (ndr_flags & NDR_BUFFERS) {
+	}
 	return NT_STATUS_OK;
 }
 
 NTSTATUS ndr_pull_unixinfo_GetPWUidInfo(struct ndr_pull *ndr, int ndr_flags, struct unixinfo_GetPWUidInfo *r)
 {
-	uint32_t _ptr_homedir;
-	TALLOC_CTX *_mem_save_homedir_0;
-	uint32_t _ptr_shell;
-	TALLOC_CTX *_mem_save_shell_0;
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_pull_align(ndr, 4));
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
-		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_homedir));
-		if (_ptr_homedir) {
-			NDR_PULL_ALLOC(ndr, r->homedir);
-		} else {
-			r->homedir = NULL;
+		{
+			uint32_t _flags_save_string = ndr->flags;
+			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
+			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->homedir));
+			ndr->flags = _flags_save_string;
 		}
-		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_shell));
-		if (_ptr_shell) {
-			NDR_PULL_ALLOC(ndr, r->shell);
-		} else {
-			r->shell = NULL;
+		{
+			uint32_t _flags_save_string = ndr->flags;
+			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM);
+			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->shell));
+			ndr->flags = _flags_save_string;
 		}
 	}
 	if (ndr_flags & NDR_BUFFERS) {
-		if (r->homedir) {
-			_mem_save_homedir_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->homedir, 0);
-			NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
-			NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
-			if (ndr_get_array_length(ndr, &r->homedir) > ndr_get_array_size(ndr, &r->homedir)) {
-				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->homedir), ndr_get_array_length(ndr, &r->homedir));
-			}
-			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t)));
-			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t), CH_UTF8));
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_homedir_0, 0);
-		}
-		if (r->shell) {
-			_mem_save_shell_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->shell, 0);
-			NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
-			NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
-			if (ndr_get_array_length(ndr, &r->shell) > ndr_get_array_size(ndr, &r->shell)) {
-				return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->shell), ndr_get_array_length(ndr, &r->shell));
-			}
-			NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t)));
-			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t), CH_UTF8));
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_shell_0, 0);
-		}
 	}
 	return NT_STATUS_OK;
 }
@@ -85,19 +55,9 @@
 	ndr_print_struct(ndr, name, "unixinfo_GetPWUidInfo");
 	ndr->depth++;
 	ndr_print_NTSTATUS(ndr, "status", r->status);
-	ndr_print_ptr(ndr, "homedir", r->homedir);
-	ndr->depth++;
-	if (r->homedir) {
-		ndr_print_string(ndr, "homedir", r->homedir);
-	}
+	ndr_print_string(ndr, "homedir", r->homedir);
+	ndr_print_string(ndr, "shell", r->shell);
 	ndr->depth--;
-	ndr_print_ptr(ndr, "shell", r->shell);
-	ndr->depth++;
-	if (r->shell) {
-		ndr_print_string(ndr, "shell", r->shell);
-	}
-	ndr->depth--;
-	ndr->depth--;
 }
 
 NTSTATUS ndr_push_unixinfo_SidToUid(struct ndr_push *ndr, int flags, const struct unixinfo_SidToUid *r)
@@ -168,8 +128,10 @@
 		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.uid));
 	}
 	if (flags & NDR_OUT) {
-		if (r->out.sid == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-		NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.sid));
+		if (r->out.sid) {
+			NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+		}
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
 	}
 	return NT_STATUS_OK;
@@ -177,22 +139,26 @@
 
 NTSTATUS ndr_pull_unixinfo_UidToSid(struct ndr_pull *ndr, int flags, struct unixinfo_UidToSid *r)
 {
+	uint32_t _ptr_sid;
 	TALLOC_CTX *_mem_save_sid_0;
 	if (flags & NDR_IN) {
 		ZERO_STRUCT(r->out);
 
 		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uid));
-		NDR_PULL_ALLOC(ndr, r->out.sid);
-		ZERO_STRUCTP(r->out.sid);
 	}
 	if (flags & NDR_OUT) {
-		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+		if (_ptr_sid) {
 			NDR_PULL_ALLOC(ndr, r->out.sid);
+		} else {
+			r->out.sid = NULL;
 		}
-		_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-		NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
-		NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
-		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
+		if (r->out.sid) {
+			_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, 0);
+			NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
+		}
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
 	}
 	return NT_STATUS_OK;
@@ -216,7 +182,9 @@
 		ndr->depth++;
 		ndr_print_ptr(ndr, "sid", r->out.sid);
 		ndr->depth++;
-		ndr_print_dom_sid(ndr, "sid", r->out.sid);
+		if (r->out.sid) {
+			ndr_print_dom_sid(ndr, "sid", r->out.sid);
+		}
 		ndr->depth--;
 		ndr_print_NTSTATUS(ndr, "result", r->out.result);
 		ndr->depth--;
@@ -292,8 +260,10 @@
 		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.gid));
 	}
 	if (flags & NDR_OUT) {
-		if (r->out.sid == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-		NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.sid));
+		if (r->out.sid) {
+			NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+		}
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
 	}
 	return NT_STATUS_OK;
@@ -301,22 +271,26 @@
 
 NTSTATUS ndr_pull_unixinfo_GidToSid(struct ndr_pull *ndr, int flags, struct unixinfo_GidToSid *r)
 {
+	uint32_t _ptr_sid;
 	TALLOC_CTX *_mem_save_sid_0;
 	if (flags & NDR_IN) {
 		ZERO_STRUCT(r->out);
 
 		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.gid));
-		NDR_PULL_ALLOC(ndr, r->out.sid);
-		ZERO_STRUCTP(r->out.sid);
 	}
 	if (flags & NDR_OUT) {
-		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+		if (_ptr_sid) {
 			NDR_PULL_ALLOC(ndr, r->out.sid);
+		} else {
+			r->out.sid = NULL;
 		}
-		_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-		NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
-		NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
-		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
+		if (r->out.sid) {
+			_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, 0);
+			NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
+		}
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
 	}
 	return NT_STATUS_OK;
@@ -340,7 +314,9 @@
 		ndr->depth++;
 		ndr_print_ptr(ndr, "sid", r->out.sid);
 		ndr->depth++;
-		ndr_print_dom_sid(ndr, "sid", r->out.sid);
+		if (r->out.sid) {
+			ndr_print_dom_sid(ndr, "sid", r->out.sid);
+		}
 		ndr->depth--;
 		ndr_print_NTSTATUS(ndr, "result", r->out.result);
 		ndr->depth--;
@@ -368,9 +344,6 @@
 		for (cntr_infos_1 = 0; cntr_infos_1 < *r->out.count; cntr_infos_1++) {
 			NDR_CHECK(ndr_push_unixinfo_GetPWUidInfo(ndr, NDR_SCALARS, &r->out.infos[cntr_infos_1]));
 		}
-		for (cntr_infos_1 = 0; cntr_infos_1 < *r->out.count; cntr_infos_1++) {
-			NDR_CHECK(ndr_push_unixinfo_GetPWUidInfo(ndr, NDR_BUFFERS, &r->out.infos[cntr_infos_1]));
-		}
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
 	}
 	return NT_STATUS_OK;
@@ -434,9 +407,6 @@
 		for (cntr_infos_1 = 0; cntr_infos_1 < *r->out.count; cntr_infos_1++) {
 			NDR_CHECK(ndr_pull_unixinfo_GetPWUidInfo(ndr, NDR_SCALARS, &r->out.infos[cntr_infos_1]));
 		}
-		for (cntr_infos_1 = 0; cntr_infos_1 < *r->out.count; cntr_infos_1++) {
-			NDR_CHECK(ndr_pull_unixinfo_GetPWUidInfo(ndr, NDR_BUFFERS, &r->out.infos[cntr_infos_1]));
-		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_infos_1, 0);
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
 		if (r->out.infos) {

Modified: branches/SAMBA_3_0/source/librpc/gen_ndr/unixinfo.h
===================================================================
--- branches/SAMBA_3_0/source/librpc/gen_ndr/unixinfo.h	2006-09-11 20:00:00 UTC (rev 18395)
+++ branches/SAMBA_3_0/source/librpc/gen_ndr/unixinfo.h	2006-09-11 20:06:55 UTC (rev 18396)
@@ -6,8 +6,8 @@
 #include "librpc/gen_ndr/security.h"
 struct unixinfo_GetPWUidInfo {
 	NTSTATUS status;/* [keepref] */
-	const char *homedir;/* [unique,keepref,charset(UTF8)] */
-	const char *shell;/* [unique,keepref,charset(UTF8)] */
+	const char * homedir;/* [keepref,flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
+	const char * shell;/* [keepref,flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
 };
 
 
@@ -30,7 +30,7 @@
 	} in;
 
 	struct {
-		struct dom_sid *sid;/* [keepref,ref] */
+		struct dom_sid *sid;/* [unique,keepref] */
 		NTSTATUS result;
 	} out;
 
@@ -56,7 +56,7 @@
 	} in;
 
 	struct {
-		struct dom_sid *sid;/* [keepref,ref] */
+		struct dom_sid *sid;/* [unique,keepref] */
 		NTSTATUS result;
 	} out;
 



More information about the samba-cvs mailing list