[SCM] Samba Shared Repository - branch v3-6-test updated
Jeremy Allison
jra at samba.org
Thu Oct 7 13:06:16 MDT 2010
The branch, v3-6-test has been updated
via 547fbb3 samr: for correctness, rename samr_RidTypeArray to samr_RidAttrArray.
via 6e20bd8 s4-samr: Fix dcesrv_samr_QueryGroupMember.
via 3244835 s3-samr: fix _samr_QueryGroupMember().
from efcc76b s3: Adding TCP_KEEPALIVE_THRESHOLD and TCP_KEEPALIVE_ABORT_THRESHOLD to the list of accepted socket settings.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test
- Log -----------------------------------------------------------------
commit 547fbb3b026e7c3d64b033af8e29fd2e9cc0b370
Author: Günther Deschner <gd at samba.org>
Date: Thu Oct 7 13:01:29 2010 +0200
samr: for correctness, rename samr_RidTypeArray to samr_RidAttrArray.
Guenther
Autobuild-User: Günther Deschner <gd at samba.org>
Autobuild-Date: Thu Oct 7 12:04:32 UTC 2010 on sn-devel-104
(cherry picked from commit b7683a2c9d10e34e4d8eed8664ed4c14f71f981f)
commit 6e20bd8b7d040d44867e26888f218583f100b6d1
Author: Günther Deschner <gd at samba.org>
Date: Thu Oct 7 12:45:45 2010 +0200
s4-samr: Fix dcesrv_samr_QueryGroupMember.
Guenther
(cherry picked from commit e0b340247a4f7f0b6506752add0af3df8deb9920)
commit 3244835dd517eb416f24b3cfec24814444a7e1bc
Author: Günther Deschner <gd at samba.org>
Date: Thu Oct 7 12:45:04 2010 +0200
s3-samr: fix _samr_QueryGroupMember().
that array contains attributes, not sid types.
Guenther
(cherry picked from commit 71ab8f326b7e73ed888e46452d4c31ea17c69c60)
-----------------------------------------------------------------------
Summary of changes:
librpc/idl/samr.idl | 6 +++---
source3/lib/netapi/group.c | 6 +++---
source3/rpc_server/srv_samr_nt.c | 13 ++++++++-----
source3/rpcclient/cmd_samr.c | 4 ++--
source3/utils/net_rpc.c | 4 ++--
source3/winbindd/winbindd_msrpc.c | 2 +-
source3/winbindd/winbindd_rpc.c | 2 +-
source4/rpc_server/samr/dcesrv_samr.c | 12 +++++++-----
source4/torture/rpc/samr.c | 4 ++--
source4/torture/rpc/samr_accessmask.c | 2 +-
10 files changed, 30 insertions(+), 25 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/idl/samr.idl b/librpc/idl/samr.idl
index f54d626..ee9ab79 100644
--- a/librpc/idl/samr.idl
+++ b/librpc/idl/samr.idl
@@ -658,12 +658,12 @@ import "misc.idl", "lsa.idl", "security.idl";
typedef struct {
uint32 count;
[size_is(count)] uint32 *rids;
- [size_is(count)] uint32 *types;
- } samr_RidTypeArray;
+ [size_is(count)] samr_GroupAttrs *attributes;
+ } samr_RidAttrArray;
NTSTATUS samr_QueryGroupMember(
[in,ref] policy_handle *group_handle,
- [out,ref] samr_RidTypeArray **rids
+ [out,ref] samr_RidAttrArray **rids
);
diff --git a/source3/lib/netapi/group.c b/source3/lib/netapi/group.c
index 7b0159c..c9514c0 100644
--- a/source3/lib/netapi/group.c
+++ b/source3/lib/netapi/group.c
@@ -233,7 +233,7 @@ WERROR NetGroupDel_r(struct libnetapi_ctx *ctx,
struct samr_Ids rids;
struct samr_Ids types;
union samr_GroupInfo *info = NULL;
- struct samr_RidTypeArray *rid_array = NULL;
+ struct samr_RidAttrArray *rid_array = NULL;
ZERO_STRUCT(connect_handle);
ZERO_STRUCT(domain_handle);
@@ -1259,7 +1259,7 @@ WERROR NetGroupGetUsers_r(struct libnetapi_ctx *ctx,
struct lsa_String lsa_account_name;
struct dom_sid2 *domain_sid = NULL;
struct samr_Ids group_rids, name_types;
- struct samr_RidTypeArray *rid_array = NULL;
+ struct samr_RidAttrArray *rid_array = NULL;
struct lsa_Strings names;
struct samr_Ids member_types;
@@ -1407,7 +1407,7 @@ WERROR NetGroupSetUsers_r(struct libnetapi_ctx *ctx,
union samr_GroupInfo *group_info = NULL;
struct samr_Ids user_rids, name_types;
struct samr_Ids group_rids, group_types;
- struct samr_RidTypeArray *rid_array = NULL;
+ struct samr_RidAttrArray *rid_array = NULL;
struct lsa_String *lsa_names = NULL;
uint32_t *add_rids = NULL;
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 6d4c108..b087528 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -5485,7 +5485,7 @@ NTSTATUS _samr_QueryGroupMember(struct pipes_struct *p,
uint32 *attr=NULL;
NTSTATUS status;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
ginfo = policy_handle_find(p, r->in.group_handle,
SAMR_GROUP_ACCESS_GET_MEMBERS, NULL,
@@ -5494,7 +5494,7 @@ NTSTATUS _samr_QueryGroupMember(struct pipes_struct *p,
return status;
}
- rids = TALLOC_ZERO_P(p->mem_ctx, struct samr_RidTypeArray);
+ rids = TALLOC_ZERO_P(p->mem_ctx, struct samr_RidAttrArray);
if (!rids) {
return NT_STATUS_NO_MEMORY;
}
@@ -5526,11 +5526,14 @@ NTSTATUS _samr_QueryGroupMember(struct pipes_struct *p,
attr = NULL;
}
- for (i=0; i<num_members; i++)
- attr[i] = SID_NAME_USER;
+ for (i=0; i<num_members; i++) {
+ attr[i] = SE_GROUP_MANDATORY |
+ SE_GROUP_ENABLED_BY_DEFAULT |
+ SE_GROUP_ENABLED;
+ }
rids->count = num_members;
- rids->types = attr;
+ rids->attributes = attr;
rids->rids = rid;
*r->out.rids = rids;
diff --git a/source3/rpcclient/cmd_samr.c b/source3/rpcclient/cmd_samr.c
index ea94376..f0f1243 100644
--- a/source3/rpcclient/cmd_samr.c
+++ b/source3/rpcclient/cmd_samr.c
@@ -721,7 +721,7 @@ static NTSTATUS cmd_samr_query_groupmem(struct rpc_pipe_client *cli,
uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
int i;
unsigned int old_timeout;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
if ((argc < 2) || (argc > 3)) {
printf("Usage: %s rid [access mask]\n", argv[0]);
@@ -773,7 +773,7 @@ static NTSTATUS cmd_samr_query_groupmem(struct rpc_pipe_client *cli,
for (i = 0; i < rids->count; i++) {
printf("\trid:[0x%x] attr:[0x%x]\n", rids->rids[i],
- rids->types[i]);
+ rids->attributes[i]);
}
rpccli_samr_Close(cli, mem_ctx, &group_pol);
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c
index 8c9f0f8..c9ab86b 100644
--- a/source3/utils/net_rpc.c
+++ b/source3/utils/net_rpc.c
@@ -1510,7 +1510,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c,
bool group_is_primary = false;
NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
uint32_t group_rid;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
/* char **names; */
int i;
/* struct samr_RidWithAttribute *user_gids; */
@@ -2511,7 +2511,7 @@ static NTSTATUS rpc_list_group_members(struct net_context *c,
struct policy_handle group_pol;
uint32 num_members, *group_rids;
int i;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
struct lsa_Strings names;
struct samr_Ids types;
diff --git a/source3/winbindd/winbindd_msrpc.c b/source3/winbindd/winbindd_msrpc.c
index 4bfede5..500c279 100644
--- a/source3/winbindd/winbindd_msrpc.c
+++ b/source3/winbindd/winbindd_msrpc.c
@@ -618,7 +618,7 @@ static NTSTATUS msrpc_lookup_groupmem(struct winbindd_domain *domain,
unsigned int j, r;
struct rpc_pipe_client *cli;
unsigned int orig_timeout;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
DEBUG(3,("msrpc_lookup_groupmem: %s sid=%s\n", domain->name,
sid_string_dbg(group_sid)));
diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c
index 80f7bb6..15c0424 100644
--- a/source3/winbindd/winbindd_rpc.c
+++ b/source3/winbindd/winbindd_rpc.c
@@ -692,7 +692,7 @@ NTSTATUS rpc_lookup_groupmem(TALLOC_CTX *mem_ctx,
switch(type) {
case SID_NAME_DOM_GRP:
{
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
status = rpccli_samr_OpenGroup(samr_pipe,
mem_ctx,
diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c
index e222a41..1a455f9 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -2118,7 +2118,7 @@ static NTSTATUS dcesrv_samr_QueryGroupMember(struct dcesrv_call_state *dce_call,
struct dcesrv_handle *h;
struct samr_account_state *a_state;
struct samr_domain_state *d_state;
- struct samr_RidTypeArray *array;
+ struct samr_RidAttrArray *array;
unsigned int i, num_members;
struct dom_sid *members;
NTSTATUS status;
@@ -2135,7 +2135,7 @@ static NTSTATUS dcesrv_samr_QueryGroupMember(struct dcesrv_call_state *dce_call,
return status;
}
- array = talloc_zero(mem_ctx, struct samr_RidTypeArray);
+ array = talloc_zero(mem_ctx, struct samr_RidAttrArray);
if (array == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -2151,8 +2151,8 @@ static NTSTATUS dcesrv_samr_QueryGroupMember(struct dcesrv_call_state *dce_call,
return NT_STATUS_NO_MEMORY;
}
- array->types = talloc_array(array, uint32_t, num_members);
- if (array->types == NULL) {
+ array->attributes = talloc_array(array, uint32_t, num_members);
+ if (array->attributes == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -2168,7 +2168,9 @@ static NTSTATUS dcesrv_samr_QueryGroupMember(struct dcesrv_call_state *dce_call,
return status;
}
- array->types[array->count] = 7; /* RID type of some kind, not sure what the value means. */
+ array->attributes[array->count] = SE_GROUP_MANDATORY |
+ SE_GROUP_ENABLED_BY_DEFAULT |
+ SE_GROUP_ENABLED;
array->count++;
}
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index a34ef40..d52c049 100644
--- a/source4/torture/rpc/samr.c
+++ b/source4/torture/rpc/samr.c
@@ -5616,7 +5616,7 @@ static bool test_QueryGroupMember(struct dcerpc_binding_handle *b,
struct policy_handle *handle)
{
struct samr_QueryGroupMember r;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
bool ret = true;
torture_comment(tctx, "Testing QueryGroupMember\n");
@@ -7010,7 +7010,7 @@ static bool test_AddGroupMember(struct dcerpc_binding_handle *b,
struct samr_AddGroupMember r;
struct samr_DeleteGroupMember d;
struct samr_QueryGroupMember q;
- struct samr_RidTypeArray *rids = NULL;
+ struct samr_RidAttrArray *rids = NULL;
struct samr_SetMemberAttributesOfGroup s;
uint32_t rid;
bool found_member = false;
diff --git a/source4/torture/rpc/samr_accessmask.c b/source4/torture/rpc/samr_accessmask.c
index 63f99f9..e6f7b05 100644
--- a/source4/torture/rpc/samr_accessmask.c
+++ b/source4/torture/rpc/samr_accessmask.c
@@ -812,7 +812,7 @@ static bool test_samr_group(struct torture_context *tctx,
}
{
struct samr_QueryGroupMember r;
- struct samr_RidTypeArray *rids;
+ struct samr_RidAttrArray *rids;
r.in.group_handle = &group_handle;
r.out.rids = &rids;
--
Samba Shared Repository
More information about the samba-cvs
mailing list