diff options
author | Alexey Shchepin <alexey@process-one.net> | 2005-04-19 22:19:22 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2005-04-19 22:19:22 +0000 |
commit | d5b0b5c42bad349103ce25017d0c703e20cb20e1 (patch) | |
tree | 1ce1c6afd243e0b11185764bebef1ae5efa52c6b | |
parent | Fixes a bug on the web interface: On user creation screen the user creation w... (diff) |
* src/mod_disco.erl: Fixed domain listing when one virtual host is
a subdomain of another
SVN Revision: 322
-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) -> |