diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/mod_disco.erl | 12 |
2 files changed, 15 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2005-04-20 Alexey Shchepin <alexey@sevcom.net> + + * src/mod_disco.erl: Fixed domain listing when one virtual host is + a subdomain of another + 2005-04-18 Alexey Shchepin <alexey@sevcom.net> * 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) -> |