Currently OpenLDAP uses the refint and memberOf modules, knowing that
this attribute is simply a DN, nothing more. These modules (and
probably the input validation) will no doubt be unable to cope with the
'extended' DN form.
Is it reasonable to ask that OpenLDAP carry a module so Samba-specific
in it's application (reading the objectSid and entryUUID and formatting
the link that way)? Should we try to just fill this in with another
search as part of the search entry callback? (at great performance
cost).
Any thoughts?
We already carry a bunch of Samba-related modules in our contrib branch.
I don't see any problem with adding this one. In this case all you need
is a module to implement parsing and processing of your magic Extended
DN control.
Frankly, I can see this being generally useful, if you define the
semantics broadly enough. For example, the request control could take a
data argument providing:
MagicData ::= SEQUENCE of DerefSpec
DerefSpec ::= SEQUENCE {
DerefAttr attributedescription,
attributes attrlist }
attrlist ::= SEQUENCE of attr attributedescription
So for each DerefAttr, dereference the name and extract the attributes
from the target entry, and return them all in the response control.