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