From: Michael <mic...@in...> - 2000-02-11 13:03:24
|
Federico Di Gregorio wrote: > > Scavenging the mail folder uncovered Michael Ströder's letter: > > Federico Di Gregorio wrote: > > > > I will have a closer look at it as soon as it appears in the CVS. > > > > > > I asked about LDAPv3 two days ago. > > > > > > i am sorry but i don't know about v3. any urls? > > > > RFC2251..2256. (I would not claim having read through all of this.) > > > > What IS really of interest that you can retrieve all object classes, > > attributes and syntaxes with their OIDs existing on a particular > > LDAP host by reading a schema entry from the root DSE => you don't > > have to configure the LDAP client to know all the schema > > definitions. Unfortunately LDAPv3 servers does not provide this > > functionality to LDAPv2 clients. > > i don't understand very well. can you elaborate or give an example? E.g. a LDAPv3 server has a special entry under his RootDSE that might look like this (shortened schema from a Domino server, lines are wrapped): Found under cn=schema: objectclass=top objectclass=subschema objectclasses=( 2.5.6.0 NAME 'Top' ABSTRACT MUST ( objectClass ) NOTES '' ) objectclasses=( 2.5.6.6 NAME 'person' ABSTRACT SUP 'Top' MUST ( objectClass $ sn $ cn ) MAY ( userPa objectclasses=( 2.5.6.7 NAME 'organizationalPerson' ABSTRACT SUP 'person' MUST ( objectClass $ sn $ objectclasses=( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' ABSTRACT SUP 'organizationalPerson' MUS objectclasses=( 2.5.6.9 NAME 'groupOfNames' ABSTRACT SUP 'Top' MUST ( objectClass $ member $ cn ) MA objectclasses=( 2.16.840.1.113678.2.2.2.1.2 NAME 'dominoGroup' STRUCTURAL SUP 'groupOfNames' MUST ( objectclasses=( id-oc-DominoPDPerson NAME 'PDPerson' STRUCTURAL SUP 'Top' MUST ( objectClass ) MAY ( objectclasses=( 2.16.840.1.113678.2.2.2.1.3 NAME 'dominoPerson' STRUCTURAL SUP 'inetOrgPerson' MUST objectclasses=( 2.5.6.4 NAME 'organization' STRUCTURAL SUP 'Top' MUST ( objectClass ) MAY ( DisplayN objectclasses=( 2.5.6.5 NAME 'organizationalUnit' STRUCTURAL SUP 'Top' MUST ( objectClass ) MAY ( Di objectclasses=( 2.16.840.1.113678.2.2.2.1.6 NAME 'Server' STRUCTURAL SUP 'Top' MUST ( objectClass ) objectclasses=( id-oc-Domino$DomainExtensibleSchema NAME '$DomainExtensibleSchema' AUXILIARY SUP 'Top objectclasses=( 2.16.840.1.113678.2.2.2.1.7 NAME '$PersonGeneralInfo' AUXILIARY SUP 'Top' MUST ( obj objectclasses=( id-oc-Domino$$SearchTemplate for PDPeopleSearch NAME '$$SearchTemplate for PDPeopleSe ditcontentrules=( 2.16.840.1.113678.2.2.2.1.3 NAME 'dominoPerson' AUX ( $PersonGeneralInfo )) attributetypes=( 2.5.4.0 NAME 'objectClass' SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 NOTES 'Type' ) attributetypes=( 2.5.4.4 NAME 'sn' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ALIAS ( surName $ s ) NOTES ' attributetypes=( 2.5.4.3 NAME 'cn' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ALIAS ( commonName ) NOTES 'C ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.5 DESC 'Binary' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' ) ldapsyntaxes=( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' ) This should give you an idea of how powerful this mechanism is for generic LDAP clients. I already started writing a parser for this but got stuck because up to now I do not have a good class library. Ciao, Michael. |