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

Re: filter=\'(?=undefined)\'



On Wed, 2006-03-22 at 14:27 -0500, Brian A. Seklecki wrote:

> I'm assuming it's fun-with-slapd(8), because if I actually try to run 
> ldapsearch(1) with  "(?=undefined)"  --- even if i escape ? and = with 
> "\", I get:
> 
> # extended LDIF
> #
> # LDAPv3
> # base <dc=collaborativefusion,dc=com> with scope sub
> # filter: (?=undefined)
> # requesting: ALL
> #
> 
> ldapsearch: ldap_search_ext: Bad search filter (-7)

It appears you don't realize the difference between an "invalid" and an
"undefined" filter.  An invalid filter is detected by the client library
and nothing gets sent to slapd; "(?=undefined)" is invalid per specs; an
undefined filter is something like "(foo=bar)", assuming that "foo" is
an undefined attribute or "bar" does not comply with "foo"'s syntax.

In that case, the "(?=undefined)" string you see is not a filter; it's
slapd's way of logging that an undefined filter has been detected.  Note
that an undefined filter is a perfectly valid filter that matches
nothing; for example,

	(&(objectClass=*)(?=undefined))

matches nothing, while

	(|(objectClass=*)(?=undefined))

matches everything.

p.




Ing. Pierangelo Masarati
Responsabile Open Solution
OpenLDAP Core Team

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
------------------------------------------
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it
------------------------------------------