mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-24 17:29:28 +01:00
mod_host_meta: Complain at start if listener is not encrypted
This commit is contained in:
parent
63caa369be
commit
7a1ca4b203
@ -51,12 +51,14 @@
|
|||||||
%%%----------------------------------------------------------------------
|
%%%----------------------------------------------------------------------
|
||||||
|
|
||||||
start(_Host, _Opts) ->
|
start(_Host, _Opts) ->
|
||||||
|
report_hostmeta_listener(),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
stop(_Host) ->
|
stop(_Host) ->
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
reload(_Host, _NewOpts, _OldOpts) ->
|
reload(_Host, _NewOpts, _OldOpts) ->
|
||||||
|
report_hostmeta_listener(),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
depends(_Host, _Opts) ->
|
depends(_Host, _Opts) ->
|
||||||
@ -66,7 +68,7 @@ depends(_Host, _Opts) ->
|
|||||||
%%% HTTP handlers
|
%%% HTTP handlers
|
||||||
%%%----------------------------------------------------------------------
|
%%%----------------------------------------------------------------------
|
||||||
|
|
||||||
process([], #request{method = 'GET', tp = https, host = Host, path = Path}) ->
|
process([], #request{method = 'GET', host = Host, path = Path}) ->
|
||||||
case lists:last(Path) of
|
case lists:last(Path) of
|
||||||
<<"host-meta">> ->
|
<<"host-meta">> ->
|
||||||
file_xml(Host);
|
file_xml(Host);
|
||||||
@ -174,6 +176,23 @@ find_handler_port_path(Tls, Module) ->
|
|||||||
(_) -> false
|
(_) -> false
|
||||||
end, ets:tab2list(ejabberd_listener)).
|
end, ets:tab2list(ejabberd_listener)).
|
||||||
|
|
||||||
|
report_hostmeta_listener() ->
|
||||||
|
case {find_handler_port_path(false, ?MODULE),
|
||||||
|
find_handler_port_path(true, ?MODULE)} of
|
||||||
|
{[], []} ->
|
||||||
|
?CRITICAL_MSG("It seems you enabled ~p in 'modules' but forgot to "
|
||||||
|
"add it as a request_handler in an ejabberd_http "
|
||||||
|
"listener.", [?MODULE]);
|
||||||
|
{[_|_], _} ->
|
||||||
|
?WARNING_MSG("Apparently ~p is enabled in a request_handler in a "
|
||||||
|
"non-encrypted ejabberd_http listener. This is "
|
||||||
|
"disallowed by XEP-0156. Please enable 'tls' in that "
|
||||||
|
"listener, or setup a proxy encryption mechanism.",
|
||||||
|
[?MODULE]);
|
||||||
|
{[], [_|_]} ->
|
||||||
|
ok
|
||||||
|
end.
|
||||||
|
|
||||||
%%%----------------------------------------------------------------------
|
%%%----------------------------------------------------------------------
|
||||||
%%% Options and Doc
|
%%% Options and Doc
|
||||||
%%%----------------------------------------------------------------------
|
%%%----------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user