aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_c2s_config.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_c2s_config.erl')
-rw-r--r--src/ejabberd_c2s_config.erl22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/ejabberd_c2s_config.erl b/src/ejabberd_c2s_config.erl
index 5db740777..0f0a2a875 100644
--- a/src/ejabberd_c2s_config.erl
+++ b/src/ejabberd_c2s_config.erl
@@ -26,24 +26,21 @@
-module(ejabberd_c2s_config).
--behaviour(ejabberd_config).
-
-author('mremond@process-one.net').
--export([get_c2s_limits/0, opt_type/1]).
+-export([get_c2s_limits/0]).
%% Get first c2s configuration limitations to apply it to other c2s
%% connectors.
get_c2s_limits() ->
- case ejabberd_config:get_option(listen, fun(V) -> V end) of
- undefined -> [];
- C2SFirstListen ->
- case lists:keysearch(ejabberd_c2s, 2, C2SFirstListen) of
- false -> [];
- {value, {_Port, ejabberd_c2s, Opts}} ->
- select_opts_values(Opts)
- end
+ C2SFirstListen = ejabberd_config:get_option(
+ listen, fun ejabberd_listener:validate_cfg/1, []),
+ case lists:keysearch(ejabberd_c2s, 2, C2SFirstListen) of
+ false -> [];
+ {value, {_Port, ejabberd_c2s, Opts}} ->
+ select_opts_values(Opts)
end.
+
%% Only get access, shaper and max_stanza_size values
select_opts_values(Opts) ->
@@ -65,6 +62,3 @@ select_opts_values([{max_stanza_size, Value} | Opts],
[{max_stanza_size, Value} | SelectedValues]);
select_opts_values([_Opt | Opts], SelectedValues) ->
select_opts_values(Opts, SelectedValues).
-
-opt_type(listen) -> fun (V) -> V end;
-opt_type(_) -> [listen].