[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#7168) [PATCH] Fix count constraint when using multiple modifications



On 06/07/2012 03:00 PM, Howard Chu wrote:
> jsynacek@redhat.com wrote:
>> Full_Name: Jan Synacek
>> Version: 2.4.29
>> OS: Fedora 16
>> URL: http://jsynacek.fedorapeople.org/openldap/jsynacek-20120216-constraint-count.patch
>> Submission from: (NULL) (209.132.186.34)
>>
>>
>> Constraint overlay doesn't take into account multiple modifications when using
>> count.
>>
>> Example: If count for 'description' attribute is set e.g. to 2, the following
>> results in a constraint violation:
>>
>> dn: cn=usr2, dc=my-domain,dc=com
>> add: description
>> description: d1
>> description: d2
>> description: d3-viol
>>
>> However, this passes:
>>
>> dn: cn=usr2, dc=my-domain,dc=com
>> add: description
>> description: d1
>> -
>> add: description
>> description: d2
>> -
>> add: description
>> description: d3
>>
>> This patch fixes the behavior in case multiple modifications are used.
>>
>> Original bug report: https://bugzilla.redhat.com/show_bug.cgi?id=742163
>>
>> The patch is uploaded on fedorapeople.org:
>> http://jsynacek.fedorapeople.org/openldap/jsynacek-20120216-constraint-count.patch
>>
>> I wasn't able to use ftp.openldap.org due to 'No space left' error.
>
> This code (and the original) don't seem to properly take deletes into account. It resets the ce counter to 0 on any delete op, but it should be decrementing based on the number of values provided. (And of course, it can only do that if the specified value is actually present in the attribute.)
>

I've updated the patch:
http://jsynacek.fedorapeople.org/openldap/jsynacek-20120619-constraint-count.patch

Also, I've uploaded the tests I use:
http://jsynacek.fedorapeople.org/openldap/constraint-count-tests.tar.bz2


-- 
Jan Synacek
Software Engineer, BaseOS team Brno, Red Hat