summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2010-10-25 20:48:18 +0200
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-10-25 19:37:27 +0000
commit33f65a93fe905d60d8fca85327ddbbf3f8c7fe6e (patch)
treeb65db118f4eed0a04a44927d9a7cf23d7775e292
parent83c381385cf7d3787497a1adc78bb80e2e9c2e21 (diff)
downloadsamba-33f65a93fe905d60d8fca85327ddbbf3f8c7fe6e.tar.gz
samba-33f65a93fe905d60d8fca85327ddbbf3f8c7fe6e.tar.bz2
samba-33f65a93fe905d60d8fca85327ddbbf3f8c7fe6e.zip
s4:samr RPC server - "dcesrv_samr_info_DomGeneralInformation" - count always all type of groups
One pair are universal an global groups (on the SAMR pipe called "groups") and the other one are the domain and builtin local groups (on the SAMR pipe called "aliases"). Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Mon Oct 25 19:37:27 UTC 2010 on sn-devel-104
-rw-r--r--source4/rpc_server/samr/dcesrv_samr.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c
index be96883fc6..e419485cdc 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -524,11 +524,13 @@ static NTSTATUS dcesrv_samr_info_DomGeneralInformation(struct samr_domain_state
"(objectClass=user)");
info->num_groups = samdb_search_count(state->sam_ctx, mem_ctx,
state->domain_dn,
- "(&(objectClass=group)(groupType=%u))",
+ "(&(objectClass=group)(|(groupType=%u)(groupType=%u)))",
+ GTYPE_SECURITY_UNIVERSAL_GROUP,
GTYPE_SECURITY_GLOBAL_GROUP);
info->num_aliases = samdb_search_count(state->sam_ctx, mem_ctx,
state->domain_dn,
- "(&(objectClass=group)(groupType=%u))",
+ "(&(objectClass=group)(|(groupType=%u)(groupType=%u)))",
+ GTYPE_SECURITY_BUILTIN_LOCAL_GROUP,
GTYPE_SECURITY_DOMAIN_LOCAL_GROUP);
return NT_STATUS_OK;
@@ -3570,8 +3572,8 @@ static NTSTATUS dcesrv_samr_GetGroupsForUser(struct dcesrv_call_state *dce_call,
attrs, d_state->domain_sid,
"(&(member=%s)(|(grouptype=%d)(grouptype=%d))(objectclass=group))",
ldb_dn_get_linearized(a_state->account_dn),
- GTYPE_SECURITY_GLOBAL_GROUP,
- GTYPE_SECURITY_UNIVERSAL_GROUP);
+ GTYPE_SECURITY_UNIVERSAL_GROUP,
+ GTYPE_SECURITY_GLOBAL_GROUP);
if (count < 0)
return NT_STATUS_INTERNAL_DB_CORRUPTION;