DOVECOT_CHECK_SSL_FUNC([ERR_get_error_all])
DOVECOT_CHECK_SSL_FUNC([EVP_MAC_CTX_new])
DOVECOT_CHECK_SSL_FUNC([OSSL_PROVIDER_try_load])
+ DOVECOT_CHECK_SSL_FUNC([ENGINE_by_id])
DOVECOT_CHECK_SSL_FUNC([SSL_CTX_set_tmp_dh_callback])
DOVECOT_CHECK_SSL_FUNC([SSL_CTX_set_current_cert])
DOVECOT_CHECK_SSL_FUNC([SSL_CTX_set0_tmp_dh_pkey])
if (dovecot_openssl_engine != NULL)
return 1;
-#ifdef HAVE_ENGINE_by_id
+#ifdef HAVE_OSSL_PROVIDER_try_load
+ if ((dovecot_openssl_engine = OSSL_PROVIDER_try_load(NULL, engine, 1)) == NULL) {
+ *error_r = t_strdup_printf("Cannot load '%s': %s", engine,
+ openssl_iostream_error());
+ return 0;
+ }
+ return 1;
+#elif defined(HAVE_ENGINE_by_id)
ENGINE_load_builtin_engines();
dovecot_openssl_engine = ENGINE_by_id(engine);
if (dovecot_openssl_engine == NULL) {
dovecot_openssl_engine = NULL;
return -1;
}
-#elif defined(HAVE_OSSL_PROVIDER_try_load)
- if ((dovecot_openssl_engine = OSSL_PROVIDER_try_load(NULL, engine, 1)) == NULL) {
- *error_r = t_strdup_printf("Cannot load '%s': %s", engine,
- openssl_iostream_error());
- return 0;
- }
- return 1;
#else
*error_r = t_strdup_printf("Cannot load '%s': No engine/provider support available", engine);
#endif