On Sat, 2007-06-30 at 15:35 +0200, Pierangelo Masarati wrote:
Zhang Weiwu wrote:
On Sun, 2007-06-24 at 15:54 +0200, Pierangelo Masarati wrote:
Piotr Wadas wrote:
Hello, using openldap 2.3.35.
When I do a search for some attribute like "cn=foobar", and in set of attributes which are to be returned per-entry is "cn" attribute, all its values are returned.
however, when I search with "cn=foo*", and entry has multiple "cn" values, like
"cn=foo", "cn=joe", "cn=foobar", "cn=foobarX", "cn=bob", "cn=nofoobar"
- is it possible to have "cn" returned, but only these values,
which actually matched the filter ?
Yes. Use RFC 3876 control. E.g.
$ ldapsearch -E mv="(cn=foo*)"
Cool, only this is not mentioned in ldapsearch man page.
Please file an ITS for this. Complaining in the last of a series of emails on a partially related subject is really the best way for not seeing it fixed ever.
I just filed it http://www.openldap.org/its/index.cgi?findid=5034 It may be duplicated reported, I seem to recall when I was doing a google search on how to use '-E' I came across a page someone reported this issue (he used '-e' rather then '-E'), but I can never find that webpage again today.
My story is like Piotr Wadas but I do have too many values for an attribute in different language versions, is it possible to only return values in the language version I specified? cn=Wong Penghui cn;lang-zh=Wang Penghui cn;lang-de=...
Now search for cn=*Penghui and wish to only return result in certain language, is it possible?
I don't know, but I guess so. Why don't you just try using a filter like -E mv="(cn;lang-zh=Wang Penghui)" ?
Yes but in most cases I am troubled with, eerm, getting only the default language version, that is getting only "cn=Wong Penghui" but not "cn;lang-zh=Wang Penghui"
-E mv="cn=*Penghui" wouldn't work because by RFC 2596, server should think cn;lang-zh=Wang Penghui matches cn=*Penghui