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

Integer syntax and ordering rule in OpenLDAP 2.0.x and 2.1.x



Hello,

I'm working with an OpenLDAP-based product relying on version 2.0.22 (Globus MDS). For this, I've implemented a schema that uses the following integer definition when needed:

http://www.globus.org/mds2-alpha/schema.html

attributetype ( 1.3.6.1.4.1.3536.2.3.4.1	
    NAME 'releasebeta'				
    EQUALITY integerMatch			
    ORDERING caseIgnoreOrderingMatch		
    SUBSTR caseIgnoreSubstringsMatch		
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27	
    SINGLE-VALUE)				

Since, in OpenLDAP 2.0.x there is no implementation for integerOrderingMatch ordering rule, the Globus proposal is to use the
caseIgnoreOrderingMatch and this seems to work fine.


Now I've to deal with a mixed system where 2.0.x and 2.1.x openldap versions have to coexist. The problem I'm facing is that the integer definition works for the first, but not for the second, therefore I cannot distribute the same schema.

The error that I get when loading the schema in the 2.1.x version is
-> AttributeType inappropriate matching rule: "caseIgnoreOrderingMatch"

If I change the ordering rule to integerOrderingMatch, it works for the second, but not for the first.

My question is:

1. can you recommend any integer definition with ordering support that works for both OpenLDAP 2.0.x and 2.1.x versions?

2. if this is not possible, what does happen if I distribute two different versions for the schema, one for OpenLDAP 2.0.x and another one for OpenLDAP 2.1.x?

3. there is a simple patch for OpenLDAP 2.0.22 that introduces the support for integerOrderingMatch? I guess something from
http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/schema_init.c.diff?r1=1.210&r2=1.211&hideattic=1&sortbydate=0&f=h


Thanks,
Sergio


REF:

1. the RFC 2252 defines a set of core attribute syntax and matching
rules, among these for inequality filters like ordering, there is the
caseIgnoreOrderingMatch

http://www.ietf.org/rfc/rfc2252.txt

it seems that this does not define any matching rules for integers

2. the RFC 3698 introduces the integerOrderingMatch matching rule and
this is implemented in the openldap 2.1.*

http://www.ietf.org/rfc/rfc3698.txt



--
Sergio Andreozzi

Istituto Nazionale di Fisica Nucleare - CNAF
Viale Berti Pichat, 6/2
40127 BOLOGNA
ITALY

Tel +39 051 609 2860
Fax +39 051 609 2746

E-mail : sergio.andreozzi@cnaf.infn.it
Website: www.cnaf.infn.it/~sergio