diff --git a/ChangeLog b/ChangeLog index 581a16a50..6e373b4dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-04-20 Alexey Shchepin + + * src/mod_disco.erl: Fixed domain listing when one virtual host is + a subdomain of another + 2005-04-18 Alexey Shchepin * src/web/ejabberd_web_admin.erl: Added link to shared roster page diff --git a/src/mod_disco.erl b/src/mod_disco.erl index 084b39da8..769dc0416 100644 --- a/src/mod_disco.erl +++ b/src/mod_disco.erl @@ -344,9 +344,17 @@ get_local_items(_Host, _, _, _) -> get_vh_services(Host) -> - DotHost = "." ++ Host, + Hosts = lists:sort(fun(H1, H2) -> length(H1) >= length(H2) end, ?MYHOSTS), lists:filter(fun(H) -> - lists:suffix(DotHost, H) + case lists:dropwhile( + fun(VH) -> + not lists:suffix("." ++ VH, H) + end, Hosts) of + [] -> + false; + [VH | _] -> + VH == Host + end end, ejabberd_router:dirty_get_all_routes()). get_online_vh_users(Host) ->