From: Frank Lichtenheld Date: Fri, 26 Jul 2024 10:40:32 +0000 (+0200) Subject: console_systemd: rename query_user_exec to query_user_systemd X-Git-Tag: v2.7_alpha1~229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=418463ad27c13f56adb5b02cfd62018b7d634ee8;p=thirdparty%2Fopenvpn.git console_systemd: rename query_user_exec to query_user_systemd This allows us to override query_user_exec for unit tests more consistently without having to jump through weird hoops. Fixes running test_pkcs11 with --enable-systemd. While here also fix documentation comments for query_user_exec*. Change-Id: I379e1eb6dc57b9fe4bbdaefbd947a14326e7117a Signed-off-by: Frank Lichtenheld Acked-by: Gert Doering Message-Id: <20240726104032.2112-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg28983.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/console.h b/src/openvpn/console.h index 7358299d7..72ae8e081 100644 --- a/src/openvpn/console.h +++ b/src/openvpn/console.h @@ -65,11 +65,10 @@ void query_user_add(char *prompt, size_t prompt_len, /** - * Executes a configured setup, using the built-in method for querying the user. + * Loop through configured query_user slots, using the built-in method for + * querying the user. * This method uses the console/TTY directly. * - * @param setup Pointer to the setup defining what to ask the user - * * @return True if executing all the defined steps completed successfully */ bool query_user_exec_builtin(void); @@ -77,21 +76,34 @@ bool query_user_exec_builtin(void); #if defined(ENABLE_SYSTEMD) /** - * Executes a configured setup, using the compiled method for querying the user + * Loop through configured query_user slots, using the systemd method for + * querying the user. + * If systemd is not running it will fall back to use + * query_user_exec_builtin() instead. * - * @param setup Pointer to the setup defining what to ask the user + * @return True if executing all the defined steps completed successfully + */ +bool query_user_exec_systemd(void); + +/** + * Loop through configured query_user slots, using the compiled method for + * querying the user. * * @return True if executing all the defined steps completed successfully */ -bool query_user_exec(void); +static inline bool +query_user_exec(void) +{ + return query_user_exec_systemd(); +} -#else /* ENABLE_SYSTEMD not defined*/ +#else /* ENABLE_SYSTEMD not defined */ /** * Wrapper function enabling query_user_exec() if no alternative methods have * been enabled * */ -static bool +static inline bool query_user_exec(void) { return query_user_exec_builtin(); diff --git a/src/openvpn/console_systemd.c b/src/openvpn/console_systemd.c index c7cf1adad..cc91cd100 100644 --- a/src/openvpn/console_systemd.c +++ b/src/openvpn/console_systemd.c @@ -96,7 +96,7 @@ get_console_input_systemd(const char *prompt, const bool echo, char *input, cons * */ bool -query_user_exec(void) +query_user_exec_systemd(void) { bool ret = true; /* Presume everything goes okay */ int i; diff --git a/tests/unit_tests/openvpn/test_pkcs11.c b/tests/unit_tests/openvpn/test_pkcs11.c index 6d283a209..5518fa15d 100644 --- a/tests/unit_tests/openvpn/test_pkcs11.c +++ b/tests/unit_tests/openvpn/test_pkcs11.c @@ -75,6 +75,14 @@ query_user_clear(void) { assert_true(0); } +#if defined(ENABLE_SYSTEMD) +bool +query_user_exec_systemd(void) +{ + assert_true(0); + return false; +} +#endif bool query_user_exec_builtin(void) { diff --git a/tests/unit_tests/openvpn/test_user_pass.c b/tests/unit_tests/openvpn/test_user_pass.c index b43e65571..de60291b7 100644 --- a/tests/unit_tests/openvpn/test_user_pass.c +++ b/tests/unit_tests/openvpn/test_user_pass.c @@ -26,10 +26,6 @@ #include "config.h" #endif -#undef ENABLE_SYSTEMD -/* avoid redefining ENABLE_SYSTEMD in misc.c */ -#undef HAVE_CONFIG_H - #include "syshead.h" #include "manage.h" @@ -44,6 +40,13 @@ struct management *management; /* global */ /* mocking */ +#if defined(ENABLE_SYSTEMD) +bool +query_user_exec_systemd(void) +{ + return query_user_exec_builtin(); +} +#endif bool query_user_exec_builtin(void) {