aboutsummaryrefslogtreecommitdiff
path: root/src/mod_register.erl
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2018-12-01 07:21:41 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2018-12-01 07:21:41 +0100
commit2eb907dc7f68a3e0fcf719379de4d7c657a0374c (patch)
treed51eccf5e99b7ddb3eae6e0c5f46c8566684a1b0 /src/mod_register.erl
parentApply new cache options on mod_stream_mgmt reload (diff)
mod_register: Don't advertise IBR unconditionally
Don't advertise the IBR stream feature if registration is disabled in the configuration.
Diffstat (limited to 'src/mod_register.erl')
-rw-r--r--src/mod_register.erl10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mod_register.erl b/src/mod_register.erl
index dbbddbd5d..3785c9c00 100644
--- a/src/mod_register.erl
+++ b/src/mod_register.erl
@@ -73,8 +73,14 @@ depends(_Host, _Opts) ->
[].
-spec stream_feature_register([xmpp_element()], binary()) -> [xmpp_element()].
-stream_feature_register(Acc, _Host) ->
- [#feature_register{}|Acc].
+stream_feature_register(Acc, Host) ->
+ case {gen_mod:get_module_opt(Host, ?MODULE, access),
+ gen_mod:get_module_opt(Host, ?MODULE, ip_access),
+ gen_mod:get_module_opt(Host, ?MODULE, redirect_url)} of
+ {none, _, <<>>} -> Acc;
+ {_, none, <<>>} -> Acc;
+ {_, _, _} -> [#feature_register{}|Acc]
+ end.
c2s_unauthenticated_packet(#{ip := IP, server := Server} = State,
#iq{type = T, sub_els = [_]} = IQ)