svn commit: samba r16773 - in branches/SAMBA_4_0/source: librpc/idl
rpc_server/samr
abartlet at samba.org
abartlet at samba.org
Mon Jul 3 04:00:13 GMT 2006
Author: abartlet
Date: 2006-07-03 04:00:10 +0000 (Mon, 03 Jul 2006)
New Revision: 16773
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16773
Log:
Fix one more RPC-SAMR test (an alias level), and make it clear that
the unknown value in the samr_GroupInfo structures are the group
attributes.
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/librpc/idl/samr.idl
branches/SAMBA_4_0/source/rpc_server/samr/dcesrv_samr.c
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/samr.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/samr.idl 2006-07-03 03:58:01 UTC (rev 16772)
+++ branches/SAMBA_4_0/source/librpc/idl/samr.idl 2006-07-03 04:00:10 UTC (rev 16773)
@@ -388,8 +388,8 @@
} samr_GroupInfoAll;
typedef struct {
- uint32 unknown;
- } samr_GroupInfoX;
+ samr_GroupAttrs attributes;
+ } samr_GroupInfoAttributes;
typedef struct {
lsa_String description;
@@ -398,17 +398,17 @@
typedef enum {
GROUPINFOALL = 1,
GROUPINFONAME = 2,
- GROUPINFOX = 3,
+ GROUPINFOATTRIBUTES = 3,
GROUPINFODESCRIPTION = 4,
GROUPINFOALL2 = 5
} samr_GroupInfoEnum;
typedef [switch_type(samr_GroupInfoEnum)] union {
- [case(GROUPINFOALL)] samr_GroupInfoAll all;
- [case(GROUPINFONAME)] lsa_String name;
- [case(GROUPINFOX)] samr_GroupInfoX unknown;
- [case(GROUPINFODESCRIPTION)] lsa_String description;
- [case(GROUPINFOALL2)] samr_GroupInfoAll all2;
+ [case(GROUPINFOALL)] samr_GroupInfoAll all;
+ [case(GROUPINFONAME)] lsa_String name;
+ [case(GROUPINFOATTRIBUTES)] samr_GroupInfoAttributes attributes;
+ [case(GROUPINFODESCRIPTION)] lsa_String description;
+ [case(GROUPINFOALL2)] samr_GroupInfoAll all2;
} samr_GroupInfo;
NTSTATUS samr_QueryGroupInfo(
Modified: branches/SAMBA_4_0/source/rpc_server/samr/dcesrv_samr.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/samr/dcesrv_samr.c 2006-07-03 03:58:01 UTC (rev 16772)
+++ branches/SAMBA_4_0/source/rpc_server/samr/dcesrv_samr.c 2006-07-03 04:00:10 UTC (rev 16773)
@@ -1642,19 +1642,25 @@
switch (r->in.level) {
case GROUPINFOALL:
QUERY_STRING(msg, all.name.string, "sAMAccountName");
- r->out.info->all.attributes = 7; /* Do like w2k3 */
+ r->out.info->all.attributes = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED; /* Do like w2k3 */
QUERY_UINT (msg, all.num_members, "numMembers")
QUERY_STRING(msg, all.description.string, "description");
break;
case GROUPINFONAME:
QUERY_STRING(msg, name.string, "sAMAccountName");
break;
- case GROUPINFOX:
- r->out.info->unknown.unknown = 7;
+ case GROUPINFOATTRIBUTES:
+ r->out.info->attributes.attributes = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED; /* Do like w2k3 */
break;
case GROUPINFODESCRIPTION:
QUERY_STRING(msg, description.string, "description");
break;
+ case GROUPINFOALL2:
+ QUERY_STRING(msg, all2.name.string, "sAMAccountName");
+ r->out.info->all.attributes = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED; /* Do like w2k3 */
+ QUERY_UINT (msg, all2.num_members, "numMembers")
+ QUERY_STRING(msg, all2.description.string, "description");
+ break;
default:
r->out.info = NULL;
return NT_STATUS_INVALID_INFO_CLASS;
@@ -1698,7 +1704,7 @@
* sAMAccountName attribute */
SET_STRING(msg, name.string, "sAMAccountName");
break;
- case GROUPINFOX:
+ case GROUPINFOATTRIBUTES:
/* This does not do anything obviously visible in W2k3 LDAP */
break;
default:
@@ -3193,7 +3199,7 @@
static NTSTATUS samr_TestPrivateFunctionsUser(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
struct samr_TestPrivateFunctionsUser *r)
{
- DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+ return NT_STATUS_NOT_IMPLEMENTED;
}
More information about the samba-cvs
mailing list