diff --git a/CHANGES b/CHANGES index 7622e86c96d4b2990a724e1889e50fc118c2921e..e7576e55ec83b1e65186e6a69834b1b462d2ef75 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,7 @@ OpenLDAP 2.4.15 Release (2009/02/19) Fixed libldap GnuTLS compilation (ITS#5955) Fixed slapd bconfig conversion again (ITS#5346) Fixed slapd behavior with superior objectClasses again (ITS#5517) + Fixed slapd RFC4512 behavior with same attr in RDN (ITS#5968) Fixed slapd corrupt contextCSN (ITS#5947) Fixed slapd syncrepl order to match on add/delete (ITS#5954) Fixed slapd adding rdn with other values (ITS#5965) diff --git a/servers/slapd/dn.c b/servers/slapd/dn.c index c3669d64067967f7c2bcad40ff39c223bac0760d..638187411a5de0c6d2967ddb171e22cb467f18f7 100644 --- a/servers/slapd/dn.c +++ b/servers/slapd/dn.c @@ -250,21 +250,8 @@ AVA_Sort( LDAPRDN rdn, int nAVAs ) ava_j = rdn[ j ]; a = strcmp( ava_i->la_attr.bv_val, ava_j->la_attr.bv_val ); - if ( a == 0 ) { - int d; - - d = ava_i->la_value.bv_len - ava_j->la_value.bv_len; - - a = memcmp( ava_i->la_value.bv_val, - ava_j->la_value.bv_val, - d <= 0 ? ava_i->la_value.bv_len - : ava_j->la_value.bv_len ); - - if ( a == 0 ) { - a = d; - } - } - /* Duplicates are not allowed */ + /* RFC4512 does not allow multiple AVAs + * with the same attribute type in RDN (ITS#5968) */ if ( a == 0 ) return LDAP_INVALID_DN_SYNTAX;