From 86278c99a6c5ba0c3b649260cb56251f9c167d2a Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Mon, 7 Nov 2022 15:35:07 -0300 Subject: [PATCH] fix: enforce minimum refresh interval for ocsp and crl caches --- src/emqx_crl_cache.erl | 6 ++++-- src/emqx_ocsp_cache.erl | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/emqx_crl_cache.erl b/src/emqx_crl_cache.erl index 33c9d0374..49bdec126 100644 --- a/src/emqx_crl_cache.erl +++ b/src/emqx_crl_cache.erl @@ -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 := _}) -> diff --git a/src/emqx_ocsp_cache.erl b/src/emqx_ocsp_cache.erl index d1e11c558..9246f6df9 100644 --- a/src/emqx_ocsp_cache.erl +++ b/src/emqx_ocsp_cache.erl @@ -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) ->