diff options
Diffstat (limited to 'ldap/servers')
-rw-r--r-- | ldap/servers/slapd/valueset.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ldap/servers/slapd/valueset.c b/ldap/servers/slapd/valueset.c index 3df302f3..7334a7a0 100644 --- a/ldap/servers/slapd/valueset.c +++ b/ldap/servers/slapd/valueset.c @@ -1358,7 +1358,9 @@ valueset_replace(Slapi_Attr *a, Slapi_ValueSet *vs, Slapi_Value **valstoreplace) Avlnode *vtree = NULL; rc = valuetree_add_valuearray( a->a_type, a->a_plugin, valstoreplace, &vtree, NULL ); valuetree_free(&vtree); - if ( LDAP_SUCCESS != rc ) + if ( LDAP_SUCCESS != rc && + /* bz 247413: don't override LDAP_TYPE_OR_VALUE_EXISTS */ + LDAP_TYPE_OR_VALUE_EXISTS != rc ) { /* There were already duplicate values in the value set */ rc = LDAP_OPERATIONS_ERROR; |