]> git.sur5r.net Git - openldap/commitdiff
ITS#5517
authorQuanah Gibson-Mount <quanah@openldap.org>
Wed, 11 Feb 2009 01:57:40 +0000 (01:57 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 11 Feb 2009 01:57:40 +0000 (01:57 +0000)
CHANGES
servers/slapd/mods.c

diff --git a/CHANGES b/CHANGES
index 453a76b1a1d81dc095c7685261627b9b6c9aa676..4f3a4c8d0904d3f3eb60451b5227b4e4a0229cc6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -23,6 +23,7 @@ OpenLDAP 2.4.14 Engineering
        Fixed slapd bconfig to return error codes (ITS#5867)
        Fixed slapd bconfig encoding incorrectly (ITS#5897)
        Fixed slapd bconfig dangling pointers (ITS#5924)
+       Fixed slapd behavior with superior objectClasses (ITS#5517)
        Fixed slapd connection assert (ITS#5835)
        Fixed slapd epoll handling (ITS#5886)
        Fixed slapd frontend/backend options handling (ITS#5857)
index 328d69b53be4f90beb01fb203755857930bd1814..1ad15f8906997ed3068939a25d4a1237cc16e0c6 100644 (file)
@@ -99,7 +99,13 @@ modify_add_values(
                 * server (whether from LDAP or from the underlying
                 * database).
                 */
-               flags = SLAP_MR_EQUALITY | SLAP_MR_VALUE_OF_ASSERTION_SYNTAX;
+               if ( a->a_desc == slap_schema.si_ad_objectClass ) {
+                       /* Needed by ITS#5517 */
+                       flags = SLAP_MR_EQUALITY | SLAP_MR_VALUE_OF_ATTRIBUTE_SYNTAX;
+
+               } else {
+                       flags = SLAP_MR_EQUALITY | SLAP_MR_VALUE_OF_ASSERTION_SYNTAX;
+               }
                if ( mod->sm_nvalues ) {
                        flags |= SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH |
                                SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH;