From ec00251c88a91615cc0446c8501dccd290484395 Mon Sep 17 00:00:00 2001 From: Victor Kislov Date: Thu, 6 Aug 2020 19:21:39 +0300 Subject: [PATCH] BUG/MINOR: auth: report valid crypto(3) support depending on build options Since 1.8 with commit e8692b41e ("CLEANUP: auth: use the build options list to report its support"), crypt(3) is always reported as being supported in "haproxy -vv" because no test on USE_LIBCRYPT is made anymore when producing the output. This reintroduces the distinction between with and without USE_LIBCRYPT in the output by indicating "yes" or "no". It may be backported as far as 1.8, though the code differs due to a number of include files cleanups. --- src/auth.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/auth.c b/src/auth.c index bcb4a8e..65dd6e9 100644 --- a/src/auth.c +++ b/src/auth.c @@ -36,6 +36,7 @@ struct userlist *userlist = NULL; /* list of all existing userlists */ #ifdef USE_LIBCRYPT +#define CRYPT_STATE_MSG "yes" #ifdef HA_HAVE_CRYPT_R /* context for crypt_r() */ static THREAD_LOCAL struct crypt_data crypt_data = { .initialized = 0 }; @@ -43,6 +44,8 @@ static THREAD_LOCAL struct crypt_data crypt_data = { .initialized = 0 }; /* lock for crypt() */ __decl_thread(static HA_SPINLOCK_T auth_lock); #endif +#else /* USE_LIBCRYPT */ +#define CRYPT_STATE_MSG "no" #endif /* find targets for selected groups. The function returns pointer to @@ -310,4 +313,4 @@ pat_match_auth(struct sample *smp, struct pattern_expr *expr, int fill) return NULL; } -REGISTER_BUILD_OPTS("Encrypted password support via crypt(3): yes"); +REGISTER_BUILD_OPTS("Encrypted password support via crypt(3): "CRYPT_STATE_MSG); -- 1.7.10.4