[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-3450-gec2a56b

Günther Deschner gd at samba.org
Wed Jul 30 14:45:14 GMT 2008


The branch, v3-3-test has been updated
       via  ec2a56b5e726400f171d641587cbd0a4b99beec0 (commit)
       via  49ea8984e95618ff8dc8f1d5d757aec997899fd7 (commit)
       via  52218506d6ad51c4f340206d035f79272ba15e3b (commit)
       via  80957bc1bc1462a2478b3eea64f5cb7a84d08677 (commit)
       via  c4131c995d8b36c01b68160e0277b7c3610e9619 (commit)
       via  25522f0de081e819d661728f7f6767037e514094 (commit)
      from  97106199f1a2add886a14523aa7b402667d2cd89 (commit)

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


- Log -----------------------------------------------------------------
commit ec2a56b5e726400f171d641587cbd0a4b99beec0
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 18 23:36:50 2008 +0200

    re-run make idl.
    
    Guenther

commit 49ea8984e95618ff8dc8f1d5d757aec997899fd7
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 18 23:36:26 2008 +0200

    netapi: add some more USER_INFO structs to IDL.
    
    Guenther

commit 52218506d6ad51c4f340206d035f79272ba15e3b
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 18 23:35:33 2008 +0200

    netapi: fix libnetapi_samr_lookup_user_map_USER_INFO.
    
    Guenther

commit 80957bc1bc1462a2478b3eea64f5cb7a84d08677
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 18 23:33:08 2008 +0200

    netapi: use "buffer" in libnetapi.
    
    Guenther

commit c4131c995d8b36c01b68160e0277b7c3610e9619
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 18 23:31:17 2008 +0200

    re-run make idl.
    
    Guenther

commit 25522f0de081e819d661728f7f6767037e514094
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 18 23:30:36 2008 +0200

    netapi: cosmetics, use "buffer" everywhere.
    
    Guenther

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

Summary of changes:
 source/lib/netapi/group.c             |   24 +-
 source/lib/netapi/libnetapi.c         |   28 +-
 source/lib/netapi/libnetapi.h         |   14 +-
 source/lib/netapi/localgroup.c        |   10 +-
 source/lib/netapi/serverinfo.c        |    6 +-
 source/lib/netapi/user.c              |   68 ++--
 source/librpc/gen_ndr/libnetapi.h     |  123 +++++-
 source/librpc/gen_ndr/ndr_libnetapi.c |  786 ++++++++++++++++++++++++++++++++-
 source/librpc/gen_ndr/ndr_libnetapi.h |   63 +++
 source/librpc/idl/libnetapi.idl       |  124 +++++-
 10 files changed, 1134 insertions(+), 112 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/group.c b/source/lib/netapi/group.c
index 04ffb7c..c1c55c8 100644
--- a/source/lib/netapi/group.c
+++ b/source/lib/netapi/group.c
@@ -49,22 +49,22 @@ WERROR NetGroupAdd_r(struct libnetapi_ctx *ctx,
 	ZERO_STRUCT(domain_handle);
 	ZERO_STRUCT(group_handle);
 
-	if (!r->in.buf) {
+	if (!r->in.buffer) {
 		return WERR_INVALID_PARAM;
 	}
 
 	switch (r->in.level) {
 		case 0:
-			info0 = (struct GROUP_INFO_0 *)r->in.buf;
+			info0 = (struct GROUP_INFO_0 *)r->in.buffer;
 			break;
 		case 1:
-			info1 = (struct GROUP_INFO_1 *)r->in.buf;
+			info1 = (struct GROUP_INFO_1 *)r->in.buffer;
 			break;
 		case 2:
-			info2 = (struct GROUP_INFO_2 *)r->in.buf;
+			info2 = (struct GROUP_INFO_2 *)r->in.buffer;
 			break;
 		case 3:
-			info3 = (struct GROUP_INFO_3 *)r->in.buf;
+			info3 = (struct GROUP_INFO_3 *)r->in.buffer;
 			break;
 		default:
 			werr = WERR_UNKNOWN_LEVEL;
@@ -478,7 +478,7 @@ WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 
 	switch (r->in.level) {
 		case 0:
-			g0 = (struct GROUP_INFO_0 *)r->in.buf;
+			g0 = (struct GROUP_INFO_0 *)r->in.buffer;
 			init_lsa_String(&info.name, g0->grpi0_name);
 			status = rpccli_samr_SetGroupInfo(pipe_cli, ctx,
 							  &group_handle,
@@ -486,7 +486,7 @@ WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 							  &info);
 			break;
 		case 1:
-			g1 = (struct GROUP_INFO_1 *)r->in.buf;
+			g1 = (struct GROUP_INFO_1 *)r->in.buffer;
 			init_lsa_String(&info.description, g1->grpi1_comment);
 			status = rpccli_samr_SetGroupInfo(pipe_cli, ctx,
 							  &group_handle,
@@ -494,7 +494,7 @@ WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 							  &info);
 			break;
 		case 2:
-			g2 = (struct GROUP_INFO_2 *)r->in.buf;
+			g2 = (struct GROUP_INFO_2 *)r->in.buffer;
 			init_lsa_String(&info.description, g2->grpi2_comment);
 			status = rpccli_samr_SetGroupInfo(pipe_cli, ctx,
 							  &group_handle,
@@ -511,7 +511,7 @@ WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 							  &info);
 			break;
 		case 3:
-			g3 = (struct GROUP_INFO_3 *)r->in.buf;
+			g3 = (struct GROUP_INFO_3 *)r->in.buffer;
 			init_lsa_String(&info.description, g3->grpi3_comment);
 			status = rpccli_samr_SetGroupInfo(pipe_cli, ctx,
 							  &group_handle,
@@ -528,7 +528,7 @@ WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 							  &info);
 			break;
 		case 1002:
-			g1002 = (struct GROUP_INFO_1002 *)r->in.buf;
+			g1002 = (struct GROUP_INFO_1002 *)r->in.buffer;
 			init_lsa_String(&info.description, g1002->grpi1002_comment);
 			status = rpccli_samr_SetGroupInfo(pipe_cli, ctx,
 							  &group_handle,
@@ -536,7 +536,7 @@ WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 							  &info);
 			break;
 		case 1005:
-			g1005 = (struct GROUP_INFO_1005 *)r->in.buf;
+			g1005 = (struct GROUP_INFO_1005 *)r->in.buffer;
 			info.attributes.attributes = g1005->grpi1005_attributes;
 			status = rpccli_samr_SetGroupInfo(pipe_cli, ctx,
 							  &group_handle,
@@ -739,7 +739,7 @@ WERROR NetGroupGetInfo_r(struct libnetapi_ctx *ctx,
 	werr = map_group_info_to_buffer(ctx, r->in.level,
 					group_info_all ? &info->all : &info->all2,
 					domain_sid, rids.ids[0],
-					r->out.buf);
+					r->out.buffer);
 	if (!W_ERROR_IS_OK(werr)) {
 		goto done;
 	}
diff --git a/source/lib/netapi/libnetapi.c b/source/lib/netapi/libnetapi.c
index 1ebe338..7e9e094 100644
--- a/source/lib/netapi/libnetapi.c
+++ b/source/lib/netapi/libnetapi.c
@@ -783,7 +783,7 @@ NET_API_STATUS NetQueryDisplayInformation(const char * server_name /* [in] [uniq
 
 NET_API_STATUS NetGroupAdd(const char * server_name /* [in] */,
 			   uint32_t level /* [in] */,
-			   uint8_t *buf /* [in] [ref] */,
+			   uint8_t *buffer /* [in] [ref] */,
 			   uint32_t *parm_err /* [out] [ref] */)
 {
 	struct NetGroupAdd r;
@@ -799,7 +799,7 @@ NET_API_STATUS NetGroupAdd(const char * server_name /* [in] */,
 	/* In parameters */
 	r.in.server_name = server_name;
 	r.in.level = level;
-	r.in.buf = buf;
+	r.in.buffer = buffer;
 
 	/* Out parameters */
 	r.out.parm_err = parm_err;
@@ -925,7 +925,7 @@ NET_API_STATUS NetGroupEnum(const char * server_name /* [in] */,
 NET_API_STATUS NetGroupSetInfo(const char * server_name /* [in] */,
 			       const char * group_name /* [in] */,
 			       uint32_t level /* [in] */,
-			       uint8_t *buf /* [in] [ref] */,
+			       uint8_t *buffer /* [in] [ref] */,
 			       uint32_t *parm_err /* [out] [ref] */)
 {
 	struct NetGroupSetInfo r;
@@ -942,7 +942,7 @@ NET_API_STATUS NetGroupSetInfo(const char * server_name /* [in] */,
 	r.in.server_name = server_name;
 	r.in.group_name = group_name;
 	r.in.level = level;
-	r.in.buf = buf;
+	r.in.buffer = buffer;
 
 	/* Out parameters */
 	r.out.parm_err = parm_err;
@@ -973,7 +973,7 @@ NET_API_STATUS NetGroupSetInfo(const char * server_name /* [in] */,
 NET_API_STATUS NetGroupGetInfo(const char * server_name /* [in] */,
 			       const char * group_name /* [in] */,
 			       uint32_t level /* [in] */,
-			       uint8_t **buf /* [out] [ref] */)
+			       uint8_t **buffer /* [out] [ref] */)
 {
 	struct NetGroupGetInfo r;
 	struct libnetapi_ctx *ctx = NULL;
@@ -991,7 +991,7 @@ NET_API_STATUS NetGroupGetInfo(const char * server_name /* [in] */,
 	r.in.level = level;
 
 	/* Out parameters */
-	r.out.buf = buf;
+	r.out.buffer = buffer;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(NetGroupGetInfo, &r);
@@ -1106,7 +1106,7 @@ NET_API_STATUS NetGroupDelUser(const char * server_name /* [in] */,
 
 NET_API_STATUS NetLocalGroupAdd(const char * server_name /* [in] */,
 				uint32_t level /* [in] */,
-				uint8_t *buf /* [in] [ref] */,
+				uint8_t *buffer /* [in] [ref] */,
 				uint32_t *parm_err /* [out] [ref] */)
 {
 	struct NetLocalGroupAdd r;
@@ -1122,7 +1122,7 @@ NET_API_STATUS NetLocalGroupAdd(const char * server_name /* [in] */,
 	/* In parameters */
 	r.in.server_name = server_name;
 	r.in.level = level;
-	r.in.buf = buf;
+	r.in.buffer = buffer;
 
 	/* Out parameters */
 	r.out.parm_err = parm_err;
@@ -1195,7 +1195,7 @@ NET_API_STATUS NetLocalGroupDel(const char * server_name /* [in] */,
 NET_API_STATUS NetLocalGroupGetInfo(const char * server_name /* [in] */,
 				    const char * group_name /* [in] */,
 				    uint32_t level /* [in] */,
-				    uint8_t **buf /* [out] [ref] */)
+				    uint8_t **buffer /* [out] [ref] */)
 {
 	struct NetLocalGroupGetInfo r;
 	struct libnetapi_ctx *ctx = NULL;
@@ -1213,7 +1213,7 @@ NET_API_STATUS NetLocalGroupGetInfo(const char * server_name /* [in] */,
 	r.in.level = level;
 
 	/* Out parameters */
-	r.out.buf = buf;
+	r.out.buffer = buffer;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(NetLocalGroupGetInfo, &r);
@@ -1241,7 +1241,7 @@ NET_API_STATUS NetLocalGroupGetInfo(const char * server_name /* [in] */,
 NET_API_STATUS NetLocalGroupSetInfo(const char * server_name /* [in] */,
 				    const char * group_name /* [in] */,
 				    uint32_t level /* [in] */,
-				    uint8_t *buf /* [in] [ref] */,
+				    uint8_t *buffer /* [in] [ref] */,
 				    uint32_t *parm_err /* [out] [ref] */)
 {
 	struct NetLocalGroupSetInfo r;
@@ -1258,7 +1258,7 @@ NET_API_STATUS NetLocalGroupSetInfo(const char * server_name /* [in] */,
 	r.in.server_name = server_name;
 	r.in.group_name = group_name;
 	r.in.level = level;
-	r.in.buf = buf;
+	r.in.buffer = buffer;
 
 	/* Out parameters */
 	r.out.parm_err = parm_err;
@@ -1340,7 +1340,7 @@ NET_API_STATUS NetLocalGroupEnum(const char * server_name /* [in] */,
 ****************************************************************/
 
 NET_API_STATUS NetRemoteTOD(const char * server_name /* [in] */,
-			    uint8_t **buf /* [out] [ref] */)
+			    uint8_t **buffer /* [out] [ref] */)
 {
 	struct NetRemoteTOD r;
 	struct libnetapi_ctx *ctx = NULL;
@@ -1356,7 +1356,7 @@ NET_API_STATUS NetRemoteTOD(const char * server_name /* [in] */,
 	r.in.server_name = server_name;
 
 	/* Out parameters */
-	r.out.buf = buf;
+	r.out.buffer = buffer;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(NetRemoteTOD, &r);
diff --git a/source/lib/netapi/libnetapi.h b/source/lib/netapi/libnetapi.h
index 774a0ac..0010400 100644
--- a/source/lib/netapi/libnetapi.h
+++ b/source/lib/netapi/libnetapi.h
@@ -138,7 +138,7 @@ WERROR NetQueryDisplayInformation_l(struct libnetapi_ctx *ctx,
 				    struct NetQueryDisplayInformation *r);
 NET_API_STATUS NetGroupAdd(const char * server_name /* [in] */,
 			   uint32_t level /* [in] */,
-			   uint8_t *buf /* [in] [ref] */,
+			   uint8_t *buffer /* [in] [ref] */,
 			   uint32_t *parm_err /* [out] [ref] */);
 WERROR NetGroupAdd_r(struct libnetapi_ctx *ctx,
 		     struct NetGroupAdd *r);
@@ -164,7 +164,7 @@ WERROR NetGroupEnum_l(struct libnetapi_ctx *ctx,
 NET_API_STATUS NetGroupSetInfo(const char * server_name /* [in] */,
 			       const char * group_name /* [in] */,
 			       uint32_t level /* [in] */,
-			       uint8_t *buf /* [in] [ref] */,
+			       uint8_t *buffer /* [in] [ref] */,
 			       uint32_t *parm_err /* [out] [ref] */);
 WERROR NetGroupSetInfo_r(struct libnetapi_ctx *ctx,
 			 struct NetGroupSetInfo *r);
@@ -173,7 +173,7 @@ WERROR NetGroupSetInfo_l(struct libnetapi_ctx *ctx,
 NET_API_STATUS NetGroupGetInfo(const char * server_name /* [in] */,
 			       const char * group_name /* [in] */,
 			       uint32_t level /* [in] */,
-			       uint8_t **buf /* [out] [ref] */);
+			       uint8_t **buffer /* [out] [ref] */);
 WERROR NetGroupGetInfo_r(struct libnetapi_ctx *ctx,
 			 struct NetGroupGetInfo *r);
 WERROR NetGroupGetInfo_l(struct libnetapi_ctx *ctx,
@@ -194,7 +194,7 @@ WERROR NetGroupDelUser_l(struct libnetapi_ctx *ctx,
 			 struct NetGroupDelUser *r);
 NET_API_STATUS NetLocalGroupAdd(const char * server_name /* [in] */,
 				uint32_t level /* [in] */,
-				uint8_t *buf /* [in] [ref] */,
+				uint8_t *buffer /* [in] [ref] */,
 				uint32_t *parm_err /* [out] [ref] */);
 WERROR NetLocalGroupAdd_r(struct libnetapi_ctx *ctx,
 			  struct NetLocalGroupAdd *r);
@@ -209,7 +209,7 @@ WERROR NetLocalGroupDel_l(struct libnetapi_ctx *ctx,
 NET_API_STATUS NetLocalGroupGetInfo(const char * server_name /* [in] */,
 				    const char * group_name /* [in] */,
 				    uint32_t level /* [in] */,
-				    uint8_t **buf /* [out] [ref] */);
+				    uint8_t **buffer /* [out] [ref] */);
 WERROR NetLocalGroupGetInfo_r(struct libnetapi_ctx *ctx,
 			      struct NetLocalGroupGetInfo *r);
 WERROR NetLocalGroupGetInfo_l(struct libnetapi_ctx *ctx,
@@ -217,7 +217,7 @@ WERROR NetLocalGroupGetInfo_l(struct libnetapi_ctx *ctx,
 NET_API_STATUS NetLocalGroupSetInfo(const char * server_name /* [in] */,
 				    const char * group_name /* [in] */,
 				    uint32_t level /* [in] */,
-				    uint8_t *buf /* [in] [ref] */,
+				    uint8_t *buffer /* [in] [ref] */,
 				    uint32_t *parm_err /* [out] [ref] */);
 WERROR NetLocalGroupSetInfo_r(struct libnetapi_ctx *ctx,
 			      struct NetLocalGroupSetInfo *r);
@@ -235,7 +235,7 @@ WERROR NetLocalGroupEnum_r(struct libnetapi_ctx *ctx,
 WERROR NetLocalGroupEnum_l(struct libnetapi_ctx *ctx,
 			   struct NetLocalGroupEnum *r);
 NET_API_STATUS NetRemoteTOD(const char * server_name /* [in] */,
-			    uint8_t **buf /* [out] [ref] */);
+			    uint8_t **buffer /* [out] [ref] */);
 WERROR NetRemoteTOD_r(struct libnetapi_ctx *ctx,
 		      struct NetRemoteTOD *r);
 WERROR NetRemoteTOD_l(struct libnetapi_ctx *ctx,
diff --git a/source/lib/netapi/localgroup.c b/source/lib/netapi/localgroup.c
index 5706762..a0a122d 100644
--- a/source/lib/netapi/localgroup.c
+++ b/source/lib/netapi/localgroup.c
@@ -138,17 +138,17 @@ WERROR NetLocalGroupAdd_r(struct libnetapi_ctx *ctx,
 
 	const char *alias_name = NULL;
 
-	if (!r->in.buf) {
+	if (!r->in.buffer) {
 		return WERR_INVALID_PARAM;
 	}
 
 	switch (r->in.level) {
 		case 0:
-			info0 = (struct LOCALGROUP_INFO_0 *)r->in.buf;
+			info0 = (struct LOCALGROUP_INFO_0 *)r->in.buffer;
 			alias_name = info0->lgrpi0_name;
 			break;
 		case 1:
-			info1 = (struct LOCALGROUP_INFO_1 *)r->in.buf;
+			info1 = (struct LOCALGROUP_INFO_1 *)r->in.buffer;
 			alias_name = info1->lgrpi1_name;
 			break;
 		default:
@@ -546,7 +546,7 @@ WERROR NetLocalGroupGetInfo_r(struct libnetapi_ctx *ctx,
 					r->in.group_name,
 					&alias_info->all,
 					r->in.level, &entries_read,
-					r->out.buf);
+					r->out.buffer);
 
  done:
 	if (!cli) {
@@ -713,7 +713,7 @@ WERROR NetLocalGroupSetInfo_r(struct libnetapi_ctx *ctx,
 
  set_alias:
 
-	werr = map_buffer_to_alias_info(ctx, r->in.level, r->in.buf,
+	werr = map_buffer_to_alias_info(ctx, r->in.level, r->in.buffer,
 					&alias_level, &alias_info);
 	if (!W_ERROR_IS_OK(werr)) {
 		goto done;
diff --git a/source/lib/netapi/serverinfo.c b/source/lib/netapi/serverinfo.c
index a591d37..622b8d4 100644
--- a/source/lib/netapi/serverinfo.c
+++ b/source/lib/netapi/serverinfo.c
@@ -238,9 +238,9 @@ WERROR NetRemoteTOD_r(struct libnetapi_ctx *ctx,
 		goto done;
 	}
 
-	*r->out.buf = (uint8_t *)talloc_memdup(ctx, info,
-			sizeof(struct srvsvc_NetRemoteTODInfo));
-	W_ERROR_HAVE_NO_MEMORY(*r->out.buf);
+	*r->out.buffer = (uint8_t *)talloc_memdup(ctx, info,
+			  sizeof(struct srvsvc_NetRemoteTODInfo));
+	W_ERROR_HAVE_NO_MEMORY(*r->out.buffer);
 
  done:
 	return werr;
diff --git a/source/lib/netapi/user.c b/source/lib/netapi/user.c
index e36274b..4bcab4c 100644
--- a/source/lib/netapi/user.c
+++ b/source/lib/netapi/user.c
@@ -612,10 +612,10 @@ static NTSTATUS libnetapi_samr_lookup_user_map_USER_INFO(TALLOC_CTX *mem_ctx,
 	struct sec_desc_buf *sec_desc = NULL;
 	struct dom_sid sid;
 
-	struct USER_INFO_0 *info0 = NULL;
-	struct USER_INFO_10 *info10 = NULL;
-	struct USER_INFO_20 *info20 = NULL;
-	struct USER_INFO_23 *info23 = NULL;
+	struct USER_INFO_0 info0;
+	struct USER_INFO_10 info10;
+	struct USER_INFO_20 info20;
+	struct USER_INFO_23 info23;
 
 	switch (level) {
 		case 0:
@@ -632,13 +632,10 @@ static NTSTATUS libnetapi_samr_lookup_user_map_USER_INFO(TALLOC_CTX *mem_ctx,
 	}
 
 	if (level == 0) {
-		info0 = TALLOC_P(mem_ctx, struct USER_INFO_0);
-		NT_STATUS_HAVE_NO_MEMORY(info0);
+		info0.usri0_name = talloc_strdup(mem_ctx, user_name);
+		NT_STATUS_HAVE_NO_MEMORY(info0.usri0_name);
 
-		info0->usri0_name = talloc_strdup(mem_ctx, user_name);
-		NT_STATUS_HAVE_NO_MEMORY(info0->usri0_name);
-
-		ADD_TO_ARRAY(mem_ctx, struct USER_INFO_0, *info0,
+		ADD_TO_ARRAY(mem_ctx, struct USER_INFO_0, info0,
 			     (struct USER_INFO_0 **)buffer, num_entries);
 
 		return NT_STATUS_OK;
@@ -659,63 +656,60 @@ static NTSTATUS libnetapi_samr_lookup_user_map_USER_INFO(TALLOC_CTX *mem_ctx,
 
 	switch (level) {
 		case 10:
-			info10 = TALLOC_P(mem_ctx, struct USER_INFO_10);
-			NT_STATUS_HAVE_NO_MEMORY(info10);
-
-			info10->usri10_name = talloc_strdup(mem_ctx, user_name);
-			NT_STATUS_HAVE_NO_MEMORY(info10->usri10_name);
+			info10.usri10_name = talloc_strdup(mem_ctx, user_name);
+			NT_STATUS_HAVE_NO_MEMORY(info10.usri10_name);
 
-			info10->usri10_comment = talloc_strdup(mem_ctx,
+			info10.usri10_comment = talloc_strdup(mem_ctx,
 				info21->description.string);
 
-			info10->usri10_full_name = talloc_strdup(mem_ctx,
+			info10.usri10_full_name = talloc_strdup(mem_ctx,
 				info21->full_name.string);
 
-			info10->usri10_usr_comment = talloc_strdup(mem_ctx,
+			info10.usri10_usr_comment = talloc_strdup(mem_ctx,
 				info21->comment.string);
 
-			ADD_TO_ARRAY(mem_ctx, struct USER_INFO_10, *info10,
+			ADD_TO_ARRAY(mem_ctx, struct USER_INFO_10, info10,
 				     (struct USER_INFO_10 **)buffer, num_entries);
 
 			break;
 
 		case 20:
-			info20 = TALLOC_P(mem_ctx, struct USER_INFO_20);
-			NT_STATUS_HAVE_NO_MEMORY(info20);
+			info20.usri20_name = talloc_strdup(mem_ctx, user_name);
+			NT_STATUS_HAVE_NO_MEMORY(info20.usri20_name);
 
-			info20->usri20_name = talloc_strdup(mem_ctx, user_name);
-			NT_STATUS_HAVE_NO_MEMORY(info20->usri20_name);
-
-			info20->usri20_comment = talloc_strdup(mem_ctx,
+			info20.usri20_comment = talloc_strdup(mem_ctx,
 				info21->description.string);
 
-			info20->usri20_flags = info21->acct_flags;
-			info20->usri20_user_id = rid;
+			info20.usri20_full_name = talloc_strdup(mem_ctx,
+				info21->full_name.string);
+
+			info20.usri20_flags = info21->acct_flags;
+			info20.usri20_user_id = rid;
 
-			ADD_TO_ARRAY(mem_ctx, struct USER_INFO_20, *info20,
+			ADD_TO_ARRAY(mem_ctx, struct USER_INFO_20, info20,
 				     (struct USER_INFO_20 **)buffer, num_entries);
 
 			break;
 		case 23:
-			info23 = TALLOC_P(mem_ctx, struct USER_INFO_23);
-			NT_STATUS_HAVE_NO_MEMORY(info23);
-
-			info23->usri23_name = talloc_strdup(mem_ctx, user_name);
-			NT_STATUS_HAVE_NO_MEMORY(info23->usri23_name);
+			info23.usri23_name = talloc_strdup(mem_ctx, user_name);
+			NT_STATUS_HAVE_NO_MEMORY(info23.usri23_name);
 
-			info23->usri23_comment = talloc_strdup(mem_ctx,
+			info23.usri23_comment = talloc_strdup(mem_ctx,
 				info21->description.string);
 
-			info23->usri23_flags = info21->acct_flags;
+			info23.usri23_full_name = talloc_strdup(mem_ctx,
+				info21->full_name.string);
+
+			info23.usri23_flags = info21->acct_flags;
 
 			if (!sid_compose(&sid, domain_sid, rid)) {
 				return NT_STATUS_NO_MEMORY;
 			}
 
-			info23->usri23_user_sid =
+			info23.usri23_user_sid =
 				(struct domsid *)sid_dup_talloc(mem_ctx, &sid);
 
-			ADD_TO_ARRAY(mem_ctx, struct USER_INFO_23, *info23,
+			ADD_TO_ARRAY(mem_ctx, struct USER_INFO_23, info23,
 				     (struct USER_INFO_23 **)buffer, num_entries);
 			break;
 	}
diff --git a/source/librpc/gen_ndr/libnetapi.h b/source/librpc/gen_ndr/libnetapi.h
index 75fd947..d843b99 100644
--- a/source/librpc/gen_ndr/libnetapi.h
+++ b/source/librpc/gen_ndr/libnetapi.h
@@ -10,6 +10,7 @@
 #define _HEADER_libnetapi
 
 #define ERROR_MORE_DATA	( 234L )
+#define ENCRYPTED_PWLEN	( 256 )
 #define FILTER_TEMP_DUPLICATE_ACCOUNT	( 0x0001 )
 #define FILTER_NORMAL_ACCOUNT	( 0x0002 )
 #define FILTER_INTERDOMAIN_TRUST_ACCOUNT	( 0x0008 )
@@ -192,6 +193,37 @@ struct USER_INFO_20 {
 	uint32_t usri20_user_id;
 };
 
+struct USER_INFO_21 {
+	uint8_t *usri21_password;
+};
+
+struct USER_INFO_22 {
+	const char * usri22_name;
+	uint8_t *usri22_password;
+	uint32_t usri22_password_age;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list