diff options
author | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-10-25 20:48:18 +0200 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-10-25 19:37:27 +0000 |
commit | 33f65a93fe905d60d8fca85327ddbbf3f8c7fe6e (patch) | |
tree | b65db118f4eed0a04a44927d9a7cf23d7775e292 | |
parent | 83c381385cf7d3787497a1adc78bb80e2e9c2e21 (diff) | |
download | samba-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.c | 10 |
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; |