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

Empty attribute does not replicate



Hi everybody,

I discovered that when updating an attribute to have an empty value, the
master accepts this update but slurpd refuses to replicate it. I've traced
this to:

        if ( str_parse_line( buf, &type, &value, &len ) < 0 ) {
            Debug( LDAP_DEBUG_ANY,
                    "Error: Re_parse: malformed replog file\n",
                    0, 0, 0 );
            return -1;
        }

in re.c

line64.c:

        /* skip space between : and value */
        while ( isspace( (unsigned char) *s ) ) {
                s++;
        }

        /* if no value is present, error out */
        if ( *s == '\0' ) {
                Debug( LDAP_DEBUG_PARSE, "parse_line missing value\n", 0,0,0
);
                return( -1 );
        }


str_parse_line thinks that any line with an empty value is broken. Now I'm
not sure how this should be fixed. I'm hessitant to learn str_parse_line
otherwise, and I see no other way to denote an empty value.

If somebody tells me the right way to fix this, I'll implement it.

Oh, by the way, since we've switched to the 1.2.6 REL_ENG tag, our slapd is
*rock solid*. We run massive queries and updates on it and it hasn't grown a
byte. Thanks!

Regards,


bert hubert.

-- 
       //\             |   Absoluut geen woordvoerder van Casema. Gewoon
      ||  Ooo          |               niet geloven wat ik zeg.
       \\/             |                                          
    C A S E M A        |          Inspice et cautus eris - D11T'95