Zhang Weiwu writes: > 1. is there a module that introduces a new syntax, from which I could > observe how that is done? > > 2. Is there any document on what-to-be-aware-of if you design a new syntax?
servers/slapd/schema_init.c documents how to write syntaxes and matching rules, and defines most built-ins. If it's unclear, please tell how to improve the doc. servers/slapd/overlays/accesslog.c defines its own syntax. contrib/slapd-modules/passwd/radius.c is a small module you can see for general module setup. > 3. Do I need to design a new syntax at all? My requirement is the following: > > I need a new syntax for ranged-values. Examples are: > > - netWeight: 12~13kg > - ISOSensitivity: 800~1600 > - heightAdjustableRange: 1.2m~1.5m > > The spec of ranged-value is a numeric, optionally followed by a > measurement unit, followed by a tild as seperator+, followed by > another measurement. LDAP syntaxes often use '$' or '#' as separators, but it's up to you. See e.g. RFC 4517 3.3.28 Postal Address, 3.3.21 Name and Optional UID. > The syntax needs its own comparison rules, so that you can filter a > range, and get entries who offer values ranging in that range. Then you need a syntax and matching rule(s) for it. -- Hallvard
