From f09df9b1869b7d95d7399b13b79ecf1f14b02f07 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 18 Jul 2008 01:11:32 +0200 Subject: netapi: fix NetGroupGetInfo() against NT4. Guenther (This used to be commit c0fea9c4d0d3d297972c052c17b9be6d0530e098) --- source3/lib/netapi/group.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'source3/lib') diff --git a/source3/lib/netapi/group.c b/source3/lib/netapi/group.c index 6d9ed18b68..f856ec0a13 100644 --- a/source3/lib/netapi/group.c +++ b/source3/lib/netapi/group.c @@ -659,6 +659,7 @@ WERROR NetGroupGetInfo_r(struct libnetapi_ctx *ctx, struct samr_Ids rids; struct samr_Ids types; union samr_GroupInfo *info = NULL; + bool group_info_all = false; ZERO_STRUCT(connect_handle); ZERO_STRUCT(domain_handle); @@ -721,13 +722,22 @@ WERROR NetGroupGetInfo_r(struct libnetapi_ctx *ctx, &group_handle, GROUPINFOALL2, &info); + if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) { + status = rpccli_samr_QueryGroupInfo(pipe_cli, ctx, + &group_handle, + GROUPINFOALL, + &info); + group_info_all = true; + } + if (!NT_STATUS_IS_OK(status)) { werr = ntstatus_to_werror(status); goto done; } werr = map_group_info_to_buffer(ctx, r->in.level, - &info->all2, domain_sid, rids.ids[0], + group_info_all ? &info->all : &info->all2, + domain_sid, rids.ids[0], r->out.buf); if (!W_ERROR_IS_OK(werr)) { goto done; -- cgit