X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fabook_ldap_server.php;h=87bacd9a6f530ac5ac1f87b94d58d95edabf89f9;hb=e5d759b6758d981a88f6ae35cd14afc3fe7ee313;hp=4fe79c654892006802a832b616e9ef295803f801;hpb=8f22733068d6a0ae64838037dac15c90b45af8d7;p=squirrelmail.git diff --git a/functions/abook_ldap_server.php b/functions/abook_ldap_server.php index 4fe79c65..87bacd9a 100644 --- a/functions/abook_ldap_server.php +++ b/functions/abook_ldap_server.php @@ -1,10 +1,8 @@ (#1197703) * + * @copyright © 1999-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail * @subpackage addressbook @@ -496,12 +496,14 @@ class abook_ldap_server extends addressbook_backend { /* Convert search from user's charset to the one used in ldap */ $expr = $this->charset_encode($expr); - /* Make sure that search does not contain ldap special chars */ - $expression = '(cn=*' . $this->ldapspecialchars($expr) . '*)'; + /* sanitize search string */ + $expr = $this->ldapspecialchars($expr); + + /* Search for same string in cn, main and sn */ + $expression = '(|(cn=*'.$expr.'*)(mail=*'.$expr.'*)(sn=*'.$expr.'*))'; /* Undo sanitizing of * symbol */ $expression = str_replace('\2a','*',$expression); - /* TODO: implement any single character (?) matching */ } /* Add search filtering */