]> granicus.if.org Git - ejabberd/commitdiff
If mod_register access_from is 'none', then don't advertise IBR (#857)
authorBadlop <badlop@process-one.net>
Mon, 7 Dec 2015 17:30:52 +0000 (18:30 +0100)
committerBadlop <badlop@process-one.net>
Mon, 7 Dec 2015 17:30:52 +0000 (18:30 +0100)
src/mod_register.erl

index da0b805e73dc9ed5f317cdf50552aeac1a9d0442..5628dbf8c3260063a30959081f33a6519b709c21 100644 (file)
@@ -72,8 +72,11 @@ stop(Host) ->
     gen_iq_handler:remove_iq_handler(ejabberd_sm, Host,
                                     ?NS_REGISTER).
 
-stream_feature_register(Acc, _Host) ->
-    case lists:keymember(<<"mechanisms">>, 2, Acc) of
+stream_feature_register(Acc, Host) ->
+    AF = gen_mod:get_module_opt(Host, ?MODULE, access_from,
+                                          fun(A) when is_atom(A) -> A end,
+                                         all),
+    case (AF /= none) and lists:keymember(<<"mechanisms">>, 2, Acc) of
        true ->
            [#xmlel{name = <<"register">>,
                    attrs = [{<<"xmlns">>, ?NS_FEATURE_IQREGISTER}],