On Mittwoch, 30. Januar 2008, h.b.furuseth(a)usit.uio.no wrote:
Ralf Haferkamp writes:
> This should be fixed in HEAD now.
Yes. Instead test034-translucent fails:
>>>>> Starting test034-translucent ...
Dynamically configuring local slapd without translucent_no_glue...
ldap_modify: No such attribute (16)
additional info: modify/delete: entryCSN: no such attribute
ldapmodify of dynamic config failed (16)
>>>>> scripts/test034-translucent with bdb failed (exit 1)
config entries do not contain the usual operational Attributes
like entrycsn, modifytimestamp, and so on when the config was loaded
from slapd.conf, but during modification slapd tries to update them
using slap_mods_opattrs(). This function always creates a
LDAP_MOD_REPLACE modifcation, even if the attributes do not exist in
the original entry.
There are multiple ways to fix this, I guess. I am not sure which one to
1. Make slap_mods_opattrs() create a LDAP_MOD_ADD operation, when the
attributes don't exist in the entry.
2. Do not try to modify the attributes (not even add) in
slap_mods_opattrs() if they do not exist.
3. Create the opattrs, when reading from slapd.conf
4. Fix the original Bug differently. Even though I am pretty sure that
my fix is correct.