--- mod_shared_roster_ldap.erl.orig 2008-05-13 20:29:23 +0800 +++ mod_shared_roster_ldap.erl 2008-08-05 15:52:03 +0800 @@ -371,7 +371,7 @@ case Attrs of [{UIDAttr, UsersList}] -> lists:foldl(fun(User, Acc) -> - case catch get_user_part(User, UAF) of + case catch get_user_part(stringprep:tolower(User), UAF) of {ok, U} -> case ejabberd_auth:is_user_exists(U, Host) of true -> [{U, Host} | Acc]; @@ -490,7 +490,8 @@ end, SubFilter = "(&("++UIDAttr++"="++UIDAttrFormat++")("++GroupAttr++"=%g))", - UserSubFilter = eldap_filter:do_sub(SubFilter, [{"%g", "*"}]), + SubFilter1 = "(&(uid="++UIDAttrFormat++")("++GroupAttr++"=%g))", + UserSubFilter = eldap_filter:do_sub(SubFilter1, [{"%g", "*"}]), GroupSubFilter = eldap_filter:do_sub(SubFilter, [{"%u", "*"}]), Filter = case ConfigFilter of undefined -> SubFilter;