summaryrefslogtreecommitdiff
path: root/source4/rpc_server/samr
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2010-03-03 11:22:07 +0100
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2010-03-03 17:15:31 +0100
commitf92c28bf4e93524217ac8eb4c3f21c0ab360ba26 (patch)
tree6be02d8c0f4bc832f3e3c326d7d41058b60e8792 /source4/rpc_server/samr
parent340797f3fa39278c214c12cbe374a29f0988ecd3 (diff)
downloadsamba-f92c28bf4e93524217ac8eb4c3f21c0ab360ba26.tar.gz
samba-f92c28bf4e93524217ac8eb4c3f21c0ab360ba26.tar.bz2
samba-f92c28bf4e93524217ac8eb4c3f21c0ab360ba26.zip
s4:dcesrv_samr - Fix up "EnumDomainGroups" and "QueryDisplayInfo" calls
We need to look for both global and universal group types when querying them. Found by ekacnet (http://lists.samba.org/archive/samba-technical/2010-March/069777.html).
Diffstat (limited to 'source4/rpc_server/samr')
-rw-r--r--source4/rpc_server/samr/dcesrv_samr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c
index edfacfb4f4..b61c6f471d 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -1139,7 +1139,8 @@ static NTSTATUS dcesrv_samr_EnumDomainGroups(struct dcesrv_call_state *dce_call,
ldb_cnt = samdb_search_domain(d_state->sam_ctx, mem_ctx,
d_state->domain_dn, &res, attrs,
d_state->domain_sid,
- "(&(grouptype=%d)(objectclass=group))",
+ "(&(|(groupType=%d)(groupType=%d))(objectClass=group))",
+ GTYPE_SECURITY_UNIVERSAL_GROUP,
GTYPE_SECURITY_GLOBAL_GROUP);
if (ldb_cnt == -1) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
@@ -3776,8 +3777,10 @@ static NTSTATUS dcesrv_samr_QueryDisplayInfo(struct dcesrv_call_state *dce_call,
break;
case 3:
case 5:
- filter = talloc_asprintf(mem_ctx, "(&(grouptype=%d)"
- "(objectclass=group))",
+ filter = talloc_asprintf(mem_ctx,
+ "(&(|(groupType=%d)(groupType=%d))"
+ "(objectClass=group))",
+ GTYPE_SECURITY_UNIVERSAL_GROUP,
GTYPE_SECURITY_GLOBAL_GROUP);
break;
default: