From: Quanah Gibson-Mount Date: Sun, 22 Feb 2009 21:56:29 +0000 (+0000) Subject: ITS#5965 X-Git-Tag: OPENLDAP_REL_ENG_2_4_15~4 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=40080f65cbd28bec3990d2dd100f93090924aff9;p=openldap ITS#5965 --- diff --git a/CHANGES b/CHANGES index 3e063c6f0b..15064e016b 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,7 @@ OpenLDAP 2.4.15 Release (2009/02/19) Fixed slapd bconfig conversion again (ITS#5346) 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) Fixed slapd-bdb/hdb behavior with unallocatable shm (ITS#5956) Fixed slapd-ldap/meta with entries with invalid attrs (ITS#5959) Fixed slapd-relay control initialization (ITS#5724) diff --git a/servers/slapd/schema_check.c b/servers/slapd/schema_check.c index b466613c47..e95b3625cd 100644 --- a/servers/slapd/schema_check.c +++ b/servers/slapd/schema_check.c @@ -881,7 +881,7 @@ entry_naming_check( SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH, &ava->la_value, NULL, NULL ); - if( rc != 0 ) { + if ( rc != 0 ) { switch( rc ) { case LDAP_INAPPROPRIATE_MATCHING: snprintf( textbuf, textlen, @@ -895,8 +895,16 @@ entry_naming_check( break; case LDAP_NO_SUCH_ATTRIBUTE: if ( add_naming ) { - add = 1; - rc = LDAP_SUCCESS; + if ( is_at_single_value( desc->ad_type ) ) { + snprintf( textbuf, textlen, + "value of single-valued naming attribute '%s' conflicts with value present in entry", + ava->la_attr.bv_val ); + + } else { + add = 1; + rc = LDAP_SUCCESS; + } + } else { snprintf( textbuf, textlen, "value of naming attribute '%s' is not present in entry",