diff --git a/CHANGES b/CHANGES index 98e5e3a807f6744bfacb1db095a52e16388571a0..53bd70faabe68eda8a4ff7c0a7f3d7f418b9d2d8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ OpenLDAP 2.4 Change Log OpenLDAP 2.4.21 Engineering + Fixed slapo-unique conflict with ppolicy (ITS#6270) OpenLDAP 2.4.20 Release (2009/11/27) Fixed client tools with LDAP options (ITS#6283) diff --git a/servers/slapd/overlays/unique.c b/servers/slapd/overlays/unique.c index 62d27430c8e5eaebfbb916cf02d1084b76918391..42d6cf24c9c547636616edfdcf3bf024d6641081 100644 --- a/servers/slapd/overlays/unique.c +++ b/servers/slapd/overlays/unique.c @@ -1074,13 +1074,13 @@ unique_add( domain = domain->next ) { unique_domain_uri *uri; - int ks = STRLENOF("(|)"); for ( uri = domain->uri; uri; uri = uri->next ) { int len; + int ks = 0; if ( uri->ndn.bv_val && !dnIsSuffix( &op->o_req_ndn, &uri->ndn )) @@ -1117,7 +1117,7 @@ unique_add( if ( !ks ) continue; /* terminating NUL */ - ks++; + ks += sizeof("(|)"); if ( uri->filter.bv_val && uri->filter.bv_len ) ks += uri->filter.bv_len + STRLENOF ("(&)"); @@ -1195,13 +1195,13 @@ unique_modify( domain = domain->next ) { unique_domain_uri *uri; - int ks = STRLENOF("(|)"); for ( uri = domain->uri; uri; uri = uri->next ) { int len; + int ks = 0; if ( uri->ndn.bv_val && !dnIsSuffix( &op->o_req_ndn, &uri->ndn )) @@ -1228,7 +1228,7 @@ unique_modify( if ( !ks ) continue; /* terminating NUL */ - ks++; + ks += sizeof("(|)"); if ( uri->filter.bv_val && uri->filter.bv_len ) ks += uri->filter.bv_len + STRLENOF ("(&)"); @@ -1309,13 +1309,13 @@ unique_modrdn( domain = domain->next ) { unique_domain_uri *uri; - int ks = STRLENOF("(|)"); for ( uri = domain->uri; uri; uri = uri->next ) { int i, len; + int ks = 0; if ( uri->ndn.bv_val && !dnIsSuffix( &op->o_req_ndn, &uri->ndn ) @@ -1364,7 +1364,7 @@ unique_modrdn( if ( !ks ) continue; /* terminating NUL */ - ks++; + ks += sizeof("(|)"); if ( uri->filter.bv_val && uri->filter.bv_len ) ks += uri->filter.bv_len + STRLENOF ("(&)");