diff --git a/src/cfgparse-ssl.c b/src/cfgparse-ssl.c index ed9765c24..f4a521460 100644 --- a/src/cfgparse-ssl.c +++ b/src/cfgparse-ssl.c @@ -1354,6 +1354,13 @@ static int ssl_bind_parse_ocsp_update(char **args, int cur_arg, struct proxy *px return ERR_ALERT | ERR_FATAL; } + if (ssl_conf->ocsp_update == SSL_SOCK_OCSP_UPDATE_ON) { + /* We might need to create the main ocsp update task */ + int ret = ssl_create_ocsp_update_task(err); + if (ret) + return ret; + } + return 0; } diff --git a/src/ssl_sock.c b/src/ssl_sock.c index 7df704890..79efc8eee 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -1363,6 +1363,15 @@ int ssl_create_ocsp_update_task(char **err) return 0; } +static int ssl_ocsp_task_schedule() +{ + if (ocsp_update_task) + task_schedule(ocsp_update_task, now_ms); + + return 0; +} +REGISTER_POST_CHECK(ssl_ocsp_task_schedule); + static void ssl_sock_free_ocsp(struct certificate_ocsp *ocsp); static void ssl_destroy_ocsp_update_task(void)