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 value 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 to be 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: masterAttr: A:B masterAttr: A:C
I would get: firstPartAttr: A firstPartAttr: A secondPartAttr: B secondPartAttr: C
Or am I missing something? Would the *PartAttr attributes have to have special syntax to allow duplicate values?
- is there an overlay like slapo-rwm but for attribute values? I searched but
did not found anything. So I guess the answer is no.
- using a combination of back-perl, back-relay and slapo-translucent? is that
Yes. Many moving parts though.
- using back-sock as an overlay to monitor modifications and update the modified
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.
Thanks in advance for any suggestion.
Best regards, Jephté CLAIN