The LDAP module is database driver, i.e. it implements DBv2 API functions. The goal is map database query defined by table, matching fields and result fields to LDAP search in sub-tree defined by root, object class, attributes and pass it to the OpenLDAP which communicates with the LDAP server. This procedure is sometimes tricky because the LDAP does not support all database features or supports them in different manner. Here we must express especially filtering and multi-values. The multi-value is de facto array of single values. If the LDAP module gets a multi-value field then it generates record for every single value, respectively for every combination in case the more fields contain multi-value. The LDAP supports natively "AND", "OR", "NOT" logical operators and "equal", "non-equal", "less-or-equal" and "greater-or-equal" comparison operators. Therefore "less" and "greater" operators are mapped as "less/greater-or-equal-AND-not-equal". It's important realize it when the attribute which will be used for filtering may contain multi-value. The LDAP server evaluates comparison operator on multi-value so that the result for record is true if the condition is satisfied for any single value. The single values not satisfying condition are not truncated. It implies two cases for positive comparison, e.g. "equal", the result contains values not satisfying the condition, the case may be handled by additional filter in the LDAP module, the negative comparison, e.g. "non-equal", does
| Parámetro | Tipo | Descripción |
|---|---|---|
| config | string | 3.2. reconnect_attempt (integer) |
| reconnect_attempt | integer | 3.1. config (string) |
| config | string | Default value is ldap.cfg. |
| reconnect_attempt | integer | Default value is 3. |
Copyright © 2008 Iptel.org GmBH