]> git.sur5r.net Git - openldap/commitdiff
ITS#5968
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 23 Feb 2009 03:12:09 +0000 (03:12 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 23 Feb 2009 03:12:09 +0000 (03:12 +0000)
CHANGES
servers/slapd/dn.c

diff --git a/CHANGES b/CHANGES
index 7622e86c96d4b2990a724e1889e50fc118c2921e..e7576e55ec83b1e65186e6a69834b1b462d2ef75 100644 (file)
--- 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)
index c3669d64067967f7c2bcad40ff39c223bac0760d..638187411a5de0c6d2967ddb171e22cb467f18f7 100644 (file)
@@ -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;