diff options
Diffstat (limited to 'lib/ssl/src/ssl_config.erl')
-rw-r--r-- | lib/ssl/src/ssl_config.erl | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_config.erl b/lib/ssl/src/ssl_config.erl index 6d09af9b1c..e03f117c82 100644 --- a/lib/ssl/src/ssl_config.erl +++ b/lib/ssl/src/ssl_config.erl @@ -29,7 +29,10 @@ -define(DEFAULT_MAX_SESSION_CACHE, 1000). -export([init/2, - pre_1_3_session_opts/0 + pre_1_3_session_opts/0, + get_max_early_data_size/0, + get_ticket_lifetime/0, + get_ticket_store_size/0 ]). %%==================================================================== @@ -66,6 +69,32 @@ pre_1_3_session_opts() -> [CbOpts#{lifetime => LifeTime, max => Max}]. +get_ticket_lifetime() -> + case application:get_env(ssl, server_session_ticket_lifetime) of + {ok, Seconds} when is_integer(Seconds) andalso + Seconds =< 604800 -> %% MUST be less than 7 days + Seconds; + _ -> + 7200 %% Default 2 hours + end. + + +get_ticket_store_size() -> + case application:get_env(ssl, server_session_ticket_store_size) of + {ok, Size} when is_integer(Size) -> + Size; + _ -> + 1000 + end. + +get_max_early_data_size() -> + case application:get_env(ssl, server_session_ticket_max_early_data) of + {ok, Size} when is_integer(Size) -> + Size; + _ -> + ?DEFAULT_MAX_EARLY_DATA_SIZE + end. + %%==================================================================== %% Internal functions %%==================================================================== @@ -202,6 +231,7 @@ init_diffie_hellman(DbHandle,_, DHParamFile, server) -> file_error(DHParamFile, {dhfile, Reason}) end. + session_cb_init_args() -> case application:get_env(ssl, session_cb_init_args) of {ok, Args} when is_list(Args) -> @@ -225,3 +255,4 @@ max_session_cache_size() -> _ -> ?DEFAULT_MAX_SESSION_CACHE end. + |