diff options
Diffstat (limited to 'src/ejabberd_config.erl')
-rw-r--r-- | src/ejabberd_config.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl index 5ec2556f6..cf3d099cc 100644 --- a/src/ejabberd_config.erl +++ b/src/ejabberd_config.erl @@ -37,7 +37,7 @@ default_db/1, default_db/2, default_ram_db/1, default_ram_db/2, default_queue_type/1, queue_dir/0, fsm_limit_opts/1, use_cache/1, cache_size/1, cache_missed/1, cache_life_time/1, - codec_options/1]). + codec_options/1, get_plain_terms_file/2, negotiation_timeout/0]). -export([start/2]). @@ -1415,6 +1415,8 @@ opt_type(cache_life_time) -> (infinity) -> infinity; (unlimited) -> infinity end; +opt_type(negotiation_timeout) -> + fun(T) when T > 0 -> T end; opt_type(shared_key) -> fun iolist_to_binary/1; opt_type(node_start) -> @@ -1425,7 +1427,7 @@ opt_type(_) -> [hide_sensitive_log_data, hosts, language, max_fsm_queue, default_db, default_ram_db, queue_type, queue_dir, loglevel, use_cache, cache_size, cache_missed, cache_life_time, - shared_key, node_start, validate_stream]. + shared_key, node_start, validate_stream, negotiation_timeout]. -spec may_hide_data(any()) -> any(). may_hide_data(Data) -> @@ -1479,3 +1481,7 @@ codec_options(Host) -> true -> []; false -> [ignore_els] end. + +-spec negotiation_timeout() -> pos_integer(). +negotiation_timeout() -> + timer:seconds(get_option(negotiation_timeout, 30)). |