diff options
Diffstat (limited to 'src/ejabberd_s2s_out.erl')
-rw-r--r-- | src/ejabberd_s2s_out.erl | 62 |
1 files changed, 20 insertions, 42 deletions
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl index 3c9e1a1c9..deff3e5b5 100644 --- a/src/ejabberd_s2s_out.erl +++ b/src/ejabberd_s2s_out.erl @@ -191,42 +191,21 @@ tls_enabled(#{server := LServer}) -> connect_timeout(#{server := LServer}) -> ejabberd_config:get_option( {outgoing_s2s_timeout, LServer}, - fun(TimeOut) when is_integer(TimeOut), TimeOut > 0 -> - timer:seconds(TimeOut); - (infinity) -> - infinity - end, timer:seconds(10)). + timer:seconds(10)). default_port(#{server := LServer}) -> - ejabberd_config:get_option( - {outgoing_s2s_port, LServer}, - fun(I) when is_integer(I), I > 0, I =< 65536 -> I end, - 5269). + ejabberd_config:get_option({outgoing_s2s_port, LServer}, 5269). address_families(#{server := LServer}) -> ejabberd_config:get_option( {outgoing_s2s_families, LServer}, - fun(Families) -> - lists:map( - fun(ipv4) -> inet; - (ipv6) -> inet6 - end, Families) - end, [inet, inet6]). + [inet, inet6]). dns_retries(#{server := LServer}) -> - ejabberd_config:get_option( - {s2s_dns_retries, LServer}, - fun(I) when is_integer(I), I>=0 -> I end, - 2). + ejabberd_config:get_option({s2s_dns_retries, LServer}, 2). dns_timeout(#{server := LServer}) -> - ejabberd_config:get_option( - {s2s_dns_timeout, LServer}, - fun(I) when is_integer(I), I>=0 -> - timer:seconds(I); - (infinity) -> - infinity - end, timer:seconds(10)). + ejabberd_config:get_option({s2s_dns_timeout, LServer}, timer:seconds(10)). handle_auth_success(Mech, #{sockmod := SockMod, socket := Socket, ip := IP, @@ -391,10 +370,7 @@ mk_bounce_error(_Lang, _State) -> -spec get_delay() -> non_neg_integer(). get_delay() -> - MaxDelay = ejabberd_config:get_option( - s2s_max_retry_delay, - fun(I) when is_integer(I), I > 0 -> I end, - 300), + MaxDelay = ejabberd_config:get_option(s2s_max_retry_delay, 300), crypto:rand_uniform(1, MaxDelay). -spec set_idle_timeout(state()) -> state(). @@ -464,26 +440,28 @@ maybe_report_huge_timeout(_, _) -> ok. opt_type(outgoing_s2s_families) -> - fun (Families) -> - true = lists:all(fun (ipv4) -> true; - (ipv6) -> true - end, - Families), - Families + fun(Families) -> + lists:map( + fun(ipv4) -> inet; + (ipv6) -> inet6 + end, Families) end; opt_type(outgoing_s2s_port) -> fun (I) when is_integer(I), I > 0, I =< 65536 -> I end; opt_type(outgoing_s2s_timeout) -> - fun (TimeOut) when is_integer(TimeOut), TimeOut > 0 -> - TimeOut; - (infinity) -> infinity + fun(TimeOut) when is_integer(TimeOut), TimeOut > 0 -> + timer:seconds(TimeOut); + (unlimited) -> + infinity; + (infinity) -> + infinity end; opt_type(s2s_dns_retries) -> fun (I) when is_integer(I), I >= 0 -> I end; opt_type(s2s_dns_timeout) -> - fun (TimeOut) when is_integer(TimeOut), TimeOut > 0 -> - TimeOut; - (infinity) -> infinity + fun(I) when is_integer(I), I>=0 -> timer:seconds(I); + (infinity) -> infinity; + (unlimited) -> infinity end; opt_type(s2s_max_retry_delay) -> fun (I) when is_integer(I), I > 0 -> I end; |