mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
r6781: -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 (This used to be commit 58c6887da48c2ebdec14529cb81e7589101f7aae)
This commit is contained in:
parent
0b8b29f070
commit
6f76065690
@ -282,9 +282,90 @@ interface drsuapi
|
||||
[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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user