fix: enforce minimum refresh interval for ocsp and crl caches

This commit is contained in:
Thales Macedo Garitezi 2022-11-07 15:35:07 -03:00
parent ea31fc4529
commit 86278c99a6
2 changed files with 7 additions and 3 deletions

View File

@ -55,8 +55,10 @@
start_link() ->
URLs = emqx:get_env(crl_cache_urls, []),
RefreshIntervalMS = emqx:get_env(crl_cache_refresh_interval,
timer:minutes(15)),
RefreshIntervalMS0 = emqx:get_env(crl_cache_refresh_interval,
timer:minutes(15)),
MinimumRefreshInverval = timer:minutes(1),
RefreshIntervalMS = max(RefreshIntervalMS0, MinimumRefreshInverval),
start_link(#{urls => URLs, refresh_interval => RefreshIntervalMS}).
start_link(Opts = #{urls := _, refresh_interval := _}) ->

View File

@ -141,7 +141,9 @@ handle_call({http_fetch, ListenerID}, _From, State) ->
handle_call({register_listener, ListenerID}, _From, State0) ->
?LOG(debug, "registering ocsp cache for ~p", [ListenerID]),
#{opts := Opts} = emqx_listeners:find_by_id(ListenerID),
RefreshInterval = proplists:get_value(ocsp_refresh_interval, Opts),
RefreshInterval0 = proplists:get_value(ocsp_refresh_interval, Opts),
MinimumRefrshInterval = timer:minutes(1),
RefreshInterval = max(RefreshInterval0, MinimumRefrshInterval),
State = State0#{{refresh_interval, ListenerID} => RefreshInterval},
{reply, ok, ensure_timer(ListenerID, State, 0)};
handle_call(Call, _From, State) ->