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