tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit de7053b8967db64ae2a871d11b12afbcb9b1f8a6
parent c550990400cbab450eaead69f6dd5261b89b484f
Author: Nick Mathewson <nickm@torproject.org>
Date:   Thu,  7 Nov 2019 07:42:58 -0500

Adjustments to 32406 per review

When we are failing because of a lack of a _required_ engine, note
that the engine was "required".

When engines are disabled, any required engine should cause a
failure.

Diffstat:
Msrc/lib/crypt_ops/crypto_openssl_mgt.c | 8+++++++-
Msrc/test/conf_examples/crypto_accel_req/error | 2+-
2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c b/src/lib/crypt_ops/crypto_openssl_mgt.c @@ -290,6 +290,11 @@ crypto_openssl_init_engines(const char *accelName, (void)accelName; (void)accelDir; log_warn(LD_CRYPTO, "No OpenSSL hardware acceleration support enabled."); + if (accelName && accelName[0] == '!') { + log_warn(LD_CRYPTO, "Unable to load required dynamic OpenSSL engine " + "\"%s\".", accelName+1); + return -1; + } return 0; #else ENGINE *e = NULL; @@ -312,7 +317,8 @@ crypto_openssl_init_engines(const char *accelName, e = ENGINE_by_id(accelName); } if (!e) { - log_warn(LD_CRYPTO, "Unable to load dynamic OpenSSL engine \"%s\".", + log_warn(LD_CRYPTO, "Unable to load %sdynamic OpenSSL engine \"%s\".", + required?"required ":"", accelName); if (required) return -1; diff --git a/src/test/conf_examples/crypto_accel_req/error b/src/test/conf_examples/crypto_accel_req/error @@ -1 +1 @@ -Unable to load dynamic OpenSSL engine "nonexistent_chartreuse_accelerator" +Unable to load required dynamic OpenSSL engine "nonexistent_chartreuse_accelerator"