Raphaël Ouazana-Sustowski wrote:
Sorry, that was a typo.
Case 2 (inversed values):
dn: olcDatabase={3}bdb,cn=config changetype: modify replace: olcAccess olcAccess: {2} to * by dn.base=cn=2,dc=example,dc=com write olcAccess: {1} to * by dn.base=cn=1,dc=example,dc=com write olcAccess: {0} to * by dn.base=cn=0,dc=example,dc=com write
Result: olcAccess: {0} to * by dn.base=cn=0,dc=example,dc=com write olcAccess: {1} to * by dn.base=cn=2,dc=example,dc=com write olcAccess: {2} to * by dn.base=cn=1,dc=example,dc=com write
The two last values are incorrectly mixed.
Wrong, this works as designed. See draft-chu-ldap-xordered-xx section 3.3.
I reread intensively this section (xx=00), but I don't find anywhere where it is specified that lines are read one after one and not globally.
The ordering-prefix may also be used in Modification requests to specify which values to delete, and in which position values should be added. When processing deletions and insertions, all of the ordinals are recounted after each individual modification.
If a value being added does not have an ordering-prefix, it is simply appended to the list and the appropriate ordering-prefix is automatically generated. Likewise if an ordering-prefix is provided that is greater than or equal to the number of existing values. <<<<
Anyway this is not a problem anymore in my software, I modified the client to send the values in the good order. But I'd like to understand where it is specified. Else I think this sample case should be added to the draft.
Regards, Raphaël Ouazana.