diff --git a/src/eldap/eldap_utils.erl b/src/eldap/eldap_utils.erl index 66a1fcfef..056499d4a 100644 --- a/src/eldap/eldap_utils.erl +++ b/src/eldap/eldap_utils.erl @@ -94,17 +94,18 @@ get_user_part(String, Pattern) -> {'EXIT', _} -> {error, badmatch}; Result -> - case regexp:sub(Pattern, "%u", Result) of - {ok, StringRes, _} -> + case catch ejabberd_regexp:replace(Pattern, "%u", Result) of + {'EXIT', _} -> + {error, badmatch}; + StringRes -> case (string:to_lower(StringRes) == string:to_lower(String)) of true -> {ok, Result}; false -> {error, badmatch} - end; - _ -> {error, badmatch} - end + end + end end. make_filter(Data, UIDs) ->