aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-08-11 11:43:16 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-08-11 11:43:16 +0300
commit35eeaa5869763e01dfead4262e375b41d6deb098 (patch)
tree9c8916857c507fcc284fd82bfdae851458ddb370
parentRemove temporary debug (diff)
Fix regression introduced by b82b93f8f0c229e
Fixes #1928
-rw-r--r--src/ejabberd_captcha.erl27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl
index 48e4ac1e6..76af5278f 100644
--- a/src/ejabberd_captcha.erl
+++ b/src/ejabberd_captcha.erl
@@ -388,29 +388,24 @@ get_transfer_protocol(PortString) ->
get_port_listeners(PortNumber) ->
AllListeners = ejabberd_config:get_option(listen, []),
- lists:filter(fun (Listener) when is_list(Listener) ->
- case proplists:get_value(port, Listener) of
- PortNumber -> true;
- _ -> false
- end;
- (_) -> false
- end,
- AllListeners).
+ lists:filter(
+ fun({{Port, _IP, _Transport}, _Module, _Opts}) ->
+ Port == PortNumber
+ end, AllListeners).
get_captcha_transfer_protocol([]) ->
throw(<<"The port number mentioned in captcha_host "
"is not a ejabberd_http listener with "
"'captcha' option. Change the port number "
"or specify http:// in that option.">>);
-get_captcha_transfer_protocol([Listener | Listeners]) when is_list(Listener) ->
- case proplists:get_value(module, Listener) == ejabberd_http andalso
- proplists:get_bool(captcha, Listener) of
+get_captcha_transfer_protocol([{_, ejabberd_http, Opts} | Listeners]) ->
+ case proplists:get_bool(captcha, Opts) of
true ->
- case proplists:get_bool(tls, Listener) of
- true -> https;
- false -> http
- end;
- false -> get_captcha_transfer_protocol(Listeners)
+ case proplists:get_bool(tls, Opts) of
+ true -> https;
+ false -> http
+ end;
+ false -> get_captcha_transfer_protocol(Listeners)
end;
get_captcha_transfer_protocol([_ | Listeners]) ->
get_captcha_transfer_protocol(Listeners).