svn commit: samba r6781 - in branches/SAMBA_4_0/source/librpc/idl: .

metze at samba.org metze at samba.org
Fri May 13 12:22:21 GMT 2005


Author: metze
Date: 2005-05-13 12:22:21 +0000 (Fri, 13 May 2005)
New Revision: 6781

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6781

Log:
-add some comments on how attributes and objectClasses are identified in DRSUAPI
-and some comments on what the attribute syntaxes matches what internal datatypes

metze 
Modified:
   branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl	2005-05-13 12:21:46 UTC (rev 6780)
+++ branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl	2005-05-13 12:22:21 UTC (rev 6781)
@@ -282,9 +282,90 @@
 		[size_is(count)] drsuapi_DsReplicaCoursor2 coursors[];
 	} drsuapi_DsReplicaCoursor2CtrEx;
 
+	/*
+	 * In DRSUAPI the objectClasses and attributes
+	 * are identified by uint32 values, but in the schema
+	 * they are identified by the governsID (objectClasses)
+	 * and attributeID (attributes)
+	 *
+	 * the following table shows the mapping used between the two representations
+	 * e.g. - objectClass 'nTDSDSA' has governsID: 1.2.840.113556.1.5.7000.47
+	 *        and a UINT32-ID of '0x0017002F'.
+	 *      - so the OID 1.2.840.113556.1.5.7000.47 is splitted into a
+	 *        OID-prefix: 1.2.840.113556.1.5.7000
+	 *	  and a value: 47 => 0x2F
+	 *      - the mapping table gives a UINT32-prefix: 0x00170000
+	 *      - and the UINT32-ID is 0x0017002F = 0x00170000 | 0x2F
+	 *
+	 * OID-prefix			=> UINT32-Id prefix
+	 *
+	 * 2.5.4.*			=> 0x00000000 (standard attributes RFC2256 core.schema)
+	 * 2.5.6.*			=> 0x00010000 (standard object classes RFC2256 core.schema)
+	 * 1.2.840.113556.1.2.*   	=> 0x00020000
+	 * 1.2.840.113556.1.3.*		=> 0x00030000
+	 * 1.2.840.113556.1.4.*		=> 0x00090000
+	 * 1.2.840.113556.1.5.*		=> 0x000A0000
+	 * 2.16.840.1.113730.3.*	=> 0x00140000
+	 * 0.9.2342.19200300.100.1.*	=> 0x00150000
+	 * 2.16.840.1.113730.3.1.*	=> 0x00160000
+	 * 1.2.840.113556.1.5.7000.*	=> 0x00170000
+	 * 2.5.20.*			=> 0x001A0000
+	 * 2.16.840.1.113730.3.2.*	=> 0x001C0000
+	 * 1.3.6.1.4.1.250.1.*		=> 0x001D0000
+	 * 0.9.2342.19200300.100.4.*	=> 0x001F0000
+	 *
+	 * 1.2.840.113549.1.9.*   	(unstructuredAddress,unstructuredName)
+	 * 1.3.6.1.4.1.1466.101.119.2	(dynamicObject)
+	 * 1.3.6.1.4.1.1466.101.119.3	(entryTTL)
+	 * 2.5.18.*			(createTimeStamp,modifyTimeStamp, SubSchema)		
+	 * 2.5.21.*			(attrs for SubSchema)
+	 *
+	 * Here's a list of used 'attributeSyntax' OID's
+	 *
+	 * 2.5.5.1	=> Object(DS-DN) string
+	 *		   struct drsuapi_DsObjectIdentifier3
+	 *
+	 * 2.5.5.2	=> OID-string
+	 *		=> mayContain, mustContain... also have this syntax but have string values
+	 *
+	 * 2.5.5.4	=> String(Teletex) case-insensitive string with teletex charset
+	 *
+	 * 2.5.5.5	=> String(IA5) case-sensitive string
+	 *
+	 * 2.5.5.6	=> String(Numeric)
+	 *		=> eg. internationalISDNNumber
+	 *
+	 * 2.5.5.7	=> Object(DN-Binary) B:<byte count>:<bytes>:<object DN>
+	 *		=> e.g. wellKnownObjects
+	 *
+	 * 2.5.5.8	=> BOOL
+	 *
+	 * 2.5.5.9	=> int32
+	 *
+	 * 2.5.5.10	=> DATA_BLOB
+	 *		=> struct GUID
+	 *
+	 * 2.5.5.11	=> LDAP timestring
+	 *		=> NTTIME_1sec
+	 *
+	 * 2.5.5.12	=> String(Unicode) case-insensitive string
+	 *		=> 'standard strings'
+	 *
+	 * 2.5.5.13	=> Object(Presentation-Address) string
+	 *		=> used in objectClass applicationEntity
+	 *
+	 * 2.5.5.14	=> Object(DN-String) S:<char count>:<string>:<object DN>
+	 *		=> not used
+	 *
+	 * 2.5.5.15	=> ntSecurityDescriptor
+	 *
+	 * 2.5.5.16	=> int64
+	 *
+	 * 2.5.5.17	=> dom_sid
+	 */
+
 	typedef [v1_enum] enum {
-		DRSUAPI_OBJECTCLASS_top		= 0x00010000,
-		DRSUAPI_OBJECTCLASS_test	= 0x00000000
+		DRSUAPI_OBJECTCLASS_top			= 0x00010000
 	} drsuapi_DsObjectClassId;
 
 	typedef [v1_enum,public] enum {



More information about the samba-cvs mailing list