Tuesday, May 27, 2014

[389-commits] Branch '389-ds-base-1.3.2' - 2 commits - ldap/servers VERSION.sh

VERSION.sh | 2 +-
ldap/servers/slapd/attr.c | 4 ++--
ldap/servers/slapd/entrywsi.c | 8 ++++----
3 files changed, 7 insertions(+), 7 deletions(-)

New commits:
commit 27f2fab636b852d8245edd1804d5a5aa0281fa75
Author: Ludwig Krispenz <lkrispen@redhat.com>
Date: Tue May 27 14:14:15 2014 +0200

Ticket 47806 - Failed deletion of aci: no such attribute

Bug Description: an aci can be retrieved by doing an ldapsearch,
but the attemt to delete this specific aci
fails with err=16

Fix Description: the root cause for this problem is that there are many acis in
this entry and the valuearray has an array of sorting
indexes to use the performance improvement from ticket #346
But in replication update resolution values are moved using
functions which are not aware of the attribute syntax
and so the sorting gets out of order and the value to be
deleted isn't found.
NOTE 1: after restart the value could be deleted
NOTE 2: with the latest fix for ticket 346 (comment 81) the bug
isn't visible since the comparison functions used in both
scenarios are similar. but the correct functions should be
called.

https://fedorahosted.org/389/ticket/47806

Reviewed by: Mark, Thanks

diff --git a/ldap/servers/slapd/attr.c b/ldap/servers/slapd/attr.c
index 39c6e99..a4cf6cb 100644
--- a/ldap/servers/slapd/attr.c
+++ b/ldap/servers/slapd/attr.c
@@ -840,7 +840,7 @@ attr_value_find_wsi(Slapi_Attr *a, const struct berval *bval, Slapi_Value **valu
int
slapi_attr_add_value(Slapi_Attr *a, const Slapi_Value *v)
{
- slapi_valueset_add_value( &a->a_present_values, v);
+ slapi_valueset_add_attr_value_ext( a, &a->a_present_values, (Slapi_Value *)v, 0);
return 0;
}

@@ -869,7 +869,7 @@ slapi_attr_set_valueset(Slapi_Attr *a, const Slapi_ValueSet *vs)
int
attr_add_deleted_value(Slapi_Attr *a, const Slapi_Value *v)
{
- slapi_valueset_add_value( &a->a_deleted_values, v);
+ slapi_valueset_add_attr_value_ext( a, &a->a_deleted_values, (Slapi_Value *)v, 0);
return 0;
}

diff --git a/ldap/servers/slapd/entrywsi.c b/ldap/servers/slapd/entrywsi.c
index 7a25489..5059457 100644
--- a/ldap/servers/slapd/entrywsi.c
+++ b/ldap/servers/slapd/entrywsi.c
@@ -52,7 +52,7 @@ entry_present_value_to_deleted_value(Slapi_Attr *a, Slapi_Value *v)
Slapi_Value *r= valueset_remove_value(a, &a->a_present_values, v);
if(r!=NULL)
{
- slapi_valueset_add_value_ext(&a->a_deleted_values, r, SLAPI_VALUE_FLAG_PASSIN);
+ slapi_valueset_add_attr_value_ext(a, &a->a_deleted_values, r, SLAPI_VALUE_FLAG_PASSIN);
}
return LDAP_SUCCESS;
}
@@ -77,7 +77,7 @@ entry_deleted_value_to_present_value(Slapi_Attr *a, Slapi_Value *v)
Slapi_Value *r= valueset_remove_value(a, &a->a_deleted_values, v);
if(r!=NULL)
{
- slapi_valueset_add_value_ext(&a->a_present_values, r, SLAPI_VALUE_FLAG_PASSIN);
+ slapi_valueset_add_attr_value_ext(a, &a->a_present_values, r, SLAPI_VALUE_FLAG_PASSIN);
}
return LDAP_SUCCESS;
}
@@ -1273,9 +1273,9 @@ resolve_attribute_state_to_present_or_deleted(Slapi_Entry *e, Slapi_Attr *a, Sla
if((csn_compare(vucsn,deletedcsn)>=0) ||
value_distinguished_at_csn(e, a, valuestoupdate[i], deletedcsn))
{
- slapi_valueset_add_value_ext(&a->a_present_values, valuestoupdate[i], SLAPI_VALUE_FLAG_PASSIN);
+ slapi_valueset_add_attr_value_ext(a, &a->a_present_values, valuestoupdate[i], SLAPI_VALUE_FLAG_PASSIN);
} else {
- slapi_valueset_add_value_ext(&a->a_deleted_values, valuestoupdate[i], SLAPI_VALUE_FLAG_PASSIN);
+ slapi_valueset_add_attr_value_ext(a, &a->a_deleted_values, valuestoupdate[i], SLAPI_VALUE_FLAG_PASSIN);
}
}
}


commit c52014ccc9b339d296a906463ccb75e5852726ca
Author: Ludwig Krispenz <lkrispen@redhat.com>
Date: Mon May 26 10:18:26 2014 +0200

bump version

diff --git a/VERSION.sh b/VERSION.sh
index 609e298..fef5a76 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -10,7 +10,7 @@ vendor="389 Project"
# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=3
-VERSION_MAINT=2.15
+VERSION_MAINT=2.16
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel


--
389 commits mailing list
389-commits@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/389-commits

No comments:

Post a Comment