Hi,

I have found two small problems with the LDAP backend, and a trivial fix
for both.

Problem 1: When the DN contains the characters "(" or ")", the filter
string for searching the entry is wrong. Parentheses are part of the
filter syntax, and must be escaped with backslashes.

Problem 2: Evolution has the strange habit not to rename the DN when one
changes the CN. E.g. it may happen the the DN cn=person1,o=sample has
the CN attribute cn=person2. Although unusual, this is not strictly
wrong.

The solution is not to use search by filters, but by basename. The
following patch implements this.

Btw, I am quite impressed by multisync. It works for me with a Siemens
S65, connected by infrared, and an OpenLDAP directory (configured for
Evolution).

Gerd

--- ldap.c.orig 2005-01-31 13:57:18.596546937 +0100
+++ ldap.c      2005-01-31 14:58:30.965815263 +0100
@@ -290,8 +290,8 @@
 
        ldapentry->ldapdata = g_malloc0(1024 * sizeof(LDAPMod *));
 
-       sprintf(filter, "(&(objectClass=*)(%s))", 
ldap_explode_dn(quoted_decode(ldapentry->uid), 0)[0]);
-       if (ldap_search_s(conn->ld, conn->searchbase, conn->scope, filter, 
attrs, 0, &res)) {
+       sprintf(filter, "(objectClass=*)");
+       if (ldap_search_s(conn->ld, quoted_decode(ldapentry->uid), 
LDAP_SCOPE_BASE, filter, attrs, 0, &res)) {
                ldap_debug(conn, 0, "Unable to search with filter %s", filter);
                return;
        }


-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
[EMAIL PROTECTED]          http://www.gerd-stolpmann.de
------------------------------------------------------------




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Multisync-devel mailing list
Multisync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/multisync-devel

Reply via email to