[midPoint] New ldap connector and auxiliary objectClasses

Radovan Semancik radovan.semancik at evolveum.com
Fri Oct 23 13:04:43 CEST 2015


Hi,

On 10/23/2015 10:44 AM, midpoint at mybtinternet.com wrote:
>    Actually, it is not a violation of the standard, see RFC 4520, section 3.4,
>    published in 2006. http://www.rfc-archive.org/getrfc.php?rfc=4520

Yes. That looks to be a valid comment. Although I do no claim to be an 
expert on LDAP standardization ... anyway. Connector supports this now.

>    More curious though, is why Apache Directory Studio deals with this properly;
>    does this imply they are not using their own directory API?

Honestly, I do no know. Studio is using the same API, but it seems to 
use it in a very tolerant way. E.g. it looks like studio is not really 
using the schema for the operations. It seems to just recognize whether 
the attribute is string-like or binary-like for LDAP operations. But 
obviously, the Studio has to be able to parse the schema with 
non-numeric OIDs because there is a schema browser. I'm not sure how 
that could work. Maybe the Studio is using a different method to work 
with the OIDs. I have chosen the methods that seemed to be the most 
correct way of working with schema (get object class definition, find 
attribute definitions, get syntax OID, find syntax definition, ...). 
Unlike the Studio, the connector has to be quite precise about data 
types (boolean, int, and later also timestamps) for midPoint to present, 
compare and validate the data correctly. I hoped that this method will 
properly utilize attribute types, address upcase/lowercase issues with 
attribute names, attribute aliases and so on. In retrospect, that might 
have been quite a naive assumption. Soon the problems appeared as we 
started testing the connector with commercial LDAP servers(*). So I'm 
gradually relaxing the code and I'm adding various fall-back code paths 
to work even with bad servers. I'm also contributing the code to Apache 
Directory project. But, I do not want to relax the code too much ... I 
think there is something to consider here: 
https://tools.ietf.org/html/draft-thomson-postel-was-wrong-00

(*) I do not want to point fingers here ... but one popular commercial 
LDAP server does not provide syntax definitions at all. Other (not so 
popular) server has two attribute definitions with the same OID. Several 
servers use attribute names with illegal characters in them (like hash 
or space). And so on ...

-- 
Radovan Semancik
Software Architect
evolveum.com




More information about the midPoint mailing list