[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#5343) cn=config crash when deleting attrs

On Mittwoch, 30. Januar 2008, h.b.furuseth@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
> modifying entry
> "olcOverlay={0}translucent,olcDatabase={2}bdb,cn=config"
> 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.
5. ?

Any suggestions?