Hi,

On 01/23/2015 09:07 PM, Emmanuel Lécharny wrote:
Thinking about it, as soon as the schema elements stored in the
subschemaSubentries are supposed to be standardized by RFC 4512, there
is no reason the existing code should not work with any server, except
that we should remove the

if ( isApacheDs( rootDse ) )

check...

Could you give that a try ?

Yes, I will try this. However I guess it won't be that easy.

Anyway, my thinking was probably similar to yours. I.e. we do not need to distinguish each server by its vendor name. We only need to support serveral well-know styles of representing schema. E.g. try looking for subschema entry in DSE. If that fails try going directly to cn=schema suffix (this seems to be the Netscape family style). Maybe try some other tricks. I guess that this is reasonably safe. It is unlikely that a non-schema entry will be mistakenly parsed as a schema entry. So it is pretty much OK to try (and fail) a lot of methods. Also, getting the schema is already quite an expensive operation. Therefore adding several round-trips will not make it much worse than it already is. So I think this is the way to go. I guess that by implementing just a couple of these methods we can support majority of LDAP servers. And we do not even need to know their names.

I'll try it. My current list of servers to test is:
OpenLDAP, OpenDJ, 389ds, eDirectory

So I'm going to play with these during next couple of weeks. And we can try other servers later on.

--

                                           Radovan Semancik
                                          Software Architect
                                             evolveum.com

Reply via email to