]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: auth: report valid crypto(3) support depending on build options
authorVictor Kislov <vityan888@gmail.com>
Thu, 6 Aug 2020 16:21:39 +0000 (19:21 +0300)
committerWilly Tarreau <w@1wt.eu>
Tue, 8 Sep 2020 12:34:04 +0000 (14:34 +0200)
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

index bcb4a8e46d7a82f49792d02e04359dcac9b61a66..65dd6e952fe83b6906d58094a647b065af0e0dcc 100644 (file)
@@ -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);