Jephte Clain wrote:
Le 04/12/2015 15:30, Michael Ströder a écrit :
> Jephte Clain wrote:
>> I may have a need soon to implement "computed" attributes in LDAP, to
>> accommodate dumb clients that are unable to properly update the database
>> for example, an attribute masterAttr may have values like "A:B" (its
>> updated by the dumb client), but other clients need the A or B part separately.
>> So whenever masterAttr is updated with value "A:B", firstPartAttr have
>> updated with "A" and secondPartAttr with "B"
thank you for your response,
> Note that splitting the value pairs into distinct attributes within the same
> entry does not work for multi-valued attributes.
what do you mean? if masterAttr, firstPartAttr and secondPartAttr are
multivalued, shouldn't it be possible?
I mean, with:
I would get:
Or am I missing something? Would the *PartAttr attributes have to have special
syntax to allow duplicate values?
Strictly speaking it's an information loss.
You can of course do that if the value pairing has no special meaning/relation
in your deployment.
>> - using back-sock as an overlay to monitor modifications and
update the modified
>> objects accordingly?
> Yes. Not the best performance though. And you need a recent OpenLDAP release
> with back-sock fixes.
>> - a script that monitor the accesslog database and update the modified objects
>> - biting the bullet and writing an overlay myself?
> Yes, most probably gives the best performance.
OK. So what do you recommend?
I know a bit of C, but I haven't written in that language for some years now
(the last thing I wrote was a plugin for PostgreSQL)
I could use some help, especially where to start? I have trouble finding docs
about native plugins.
I'm also not a C developer, so I wrote a back-sock listener in Python.
If you want to implement a native overlay it might be useful to have a look at
the sources of various small overlays in contrib/slapd-modules/.