@@ -65,11 +65,10 @@
/**
- * 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,15 +76,28 @@
#if defined(ENABLE_SYSTEMD)
/**
- * Executes a configured setup, using the compiled method for querying the user
- *
- * @param setup Pointer to the setup defining what to ask 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.
*
* @return True if executing all the defined steps completed successfully
*/
-bool query_user_exec(void);
+bool query_user_exec_systemd(void);
-#else /* ENABLE_SYSTEMD not defined*/
+/**
+ * Loop through configured query_user slots, using the compiled method for
+ * querying the user.
+ *
+ * @return True if executing all the defined steps completed successfully
+ */
+static bool
+query_user_exec(void)
+{
+ return query_user_exec_systemd();
+}
+
+#else /* ENABLE_SYSTEMD not defined */
/**
* Wrapper function enabling query_user_exec() if no alternative methods have
* been enabled
@@ -96,7 +96,7 @@
*
*/
bool
-query_user_exec(void)
+query_user_exec_systemd(void)
{
bool ret = true; /* Presume everything goes okay */
int i;
@@ -75,6 +75,14 @@
{
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)
{
@@ -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)
{
Attention is currently required from: plaisthos. Hello plaisthos, I'd like you to do a code review. Please visit http://gerrit.openvpn.net/c/openvpn/+/670?usp=email to review the following change. Change subject: console_systemd: rename query_user_exec to query_user_systemd ...................................................................... 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 <frank@lichtenheld.com> --- M src/openvpn/console.h M src/openvpn/console_systemd.c M tests/unit_tests/openvpn/test_pkcs11.c M tests/unit_tests/openvpn/test_user_pass.c 4 files changed, 36 insertions(+), 13 deletions(-) git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/70/670/1