At 2008-04-30, Howard Chu told me:
Andy Cobaugh wrote:
Is it possible to somehow add a statically defined attribute to all search
results. For example, if I wanted to add "authAuthority: ;Kerberosv5;;" to
all entries with "(objectClass=posixAccount)". I've looked at slapo-rwm,
and its rwm-map directive, but that only seems to map one attribute to
another. I'm thinking there must be a way to do this, or perhaps it would
be simple enough add this functionality to slapo-rwm.
It seems like this is something that could be fairly useful, so perhaps
this should be considered a feature request.
Note: I don't control the upstream ldap server in my organization (I'm
using a local proxying server with the translucent overlay). I could add
this attribute to every entry in the upstream server, but that's several
tens of thousands of entries that I would need to locally modify.
If all of your posixAccount entries reside in a single subtree, you could use
the collect overlay for this purpose.
That's almost exactly what I need, though I've had to make some
modifications.
First, obviously slapo-collect doesn't have a build target, perhaps there
should be? I had to add some pre-processor directives to portable.h, and
add collect.c to a couple of places in Makefile.in to get it to compile
with make.
Second, because my users live right under the root of the DIT (not my
choice, this decision was made long ago), and because I'm using
slapo-translucent on that part of the tree, I couldn't modify the parent
to contain the attribute I need. A quick comment of the dnIsSuffix() bits
in collect.c allowed me to specify an entry anywhere in the tree.
Thanks for pointing me in the right direction.
--
Andy