diff options
Diffstat (limited to 'src/ejabberd_c2s_config.erl')
-rw-r--r-- | src/ejabberd_c2s_config.erl | 22 |
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]. |