Hi,
I was trying to get a translucent-overlay working, using the relay
backend. But it does not work as expected. I want to merge two existent
entries form the same server into a new virtual entry.
The problem it, that I could not get the rwm overlay needed for the
relay backend to work. If I simply try to add the rwm entry into the
config like that:
olcOverlay={0}rwm,olcDatabase={0}relay,olcOverlay={0}translucent,olcDatabase={1}hdb,cn=config
The server answers with an object class violation error: "no structural
objectClass add function". The cause of this error, is that the
olcTranslucentDatabase entry is defined as Cfg_Misc and not Cfg_Database
and the rwm Entry insists to be initiated in a Cfg_Database entry.
I tried even more. I changed the source if the translucent overlay and
defined olcTranslucentDatabase to be a Cfg_Database entry. Now the
server gives to following error:
config_add_internal:
DN="olcOverlay={0}rwm,olcDatabase={0}relay,olcOverlay={0}translucent,olcDatabase={1}hdb,cn=config" not child of DN="olcOverlay={0}translucent,olcOverlay={1}hdb,cn=config"
Adding some debug output I see that the server is testing if the
olcOverlay={0}rwm entry is a child of
olcDatabase={-1}relay,olcOverlay={0}translucent,olcOverlay={1}hdb,cn=config.
But the relay Database is added with an id of 0. Where does the
mysterious "-1" come from? I have seen this in the translucent source:
backend_db_init( "ldap", &ov->db, -1, NULL )
Is this maybe the cause? I tried to change this "-1" to "0", but nothing
changes.
I read somewhere, that the translucent overlay is only supposed to work
with the ldap backend. But as far as I can see, I need the same
rewriting using the rwm overlay with the ldap backend. So that should
not work either.
Could someone give me a clue, how to get this working?
Thanks,
Alex