[Date Prev][Date Next]
Re: (ITS#5343) cn=config crash when deleting attrs
On Mittwoch, 30. Januar 2008, email@example.com 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
> modifying entry
> ldapmodify of dynamic config failed (16)
> >>>>> scripts/test034-translucent with bdb failed (exit 1)
Hm, the 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.