fix: enforce minimum refresh interval for ocsp and crl caches
This commit is contained in:
parent
ea31fc4529
commit
86278c99a6
|
@ -55,8 +55,10 @@
|
||||||
|
|
||||||
start_link() ->
|
start_link() ->
|
||||||
URLs = emqx:get_env(crl_cache_urls, []),
|
URLs = emqx:get_env(crl_cache_urls, []),
|
||||||
RefreshIntervalMS = emqx:get_env(crl_cache_refresh_interval,
|
RefreshIntervalMS0 = emqx:get_env(crl_cache_refresh_interval,
|
||||||
timer:minutes(15)),
|
timer:minutes(15)),
|
||||||
|
MinimumRefreshInverval = timer:minutes(1),
|
||||||
|
RefreshIntervalMS = max(RefreshIntervalMS0, MinimumRefreshInverval),
|
||||||
start_link(#{urls => URLs, refresh_interval => RefreshIntervalMS}).
|
start_link(#{urls => URLs, refresh_interval => RefreshIntervalMS}).
|
||||||
|
|
||||||
start_link(Opts = #{urls := _, refresh_interval := _}) ->
|
start_link(Opts = #{urls := _, refresh_interval := _}) ->
|
||||||
|
|
|
@ -141,7 +141,9 @@ handle_call({http_fetch, ListenerID}, _From, State) ->
|
||||||
handle_call({register_listener, ListenerID}, _From, State0) ->
|
handle_call({register_listener, ListenerID}, _From, State0) ->
|
||||||
?LOG(debug, "registering ocsp cache for ~p", [ListenerID]),
|
?LOG(debug, "registering ocsp cache for ~p", [ListenerID]),
|
||||||
#{opts := Opts} = emqx_listeners:find_by_id(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},
|
State = State0#{{refresh_interval, ListenerID} => RefreshInterval},
|
||||||
{reply, ok, ensure_timer(ListenerID, State, 0)};
|
{reply, ok, ensure_timer(ListenerID, State, 0)};
|
||||||
handle_call(Call, _From, State) ->
|
handle_call(Call, _From, State) ->
|
||||||
|
|
Loading…
Reference in New Issue