From: David Sommerseth <dav...@redhat.com>

If the SYSTEMD_ASK_PASSWORD_PATH executable cannot be found, we
don't consider systemd as running.

[v2 - Don't clean up white-space]

Signed-off-by: David Sommerseth <dav...@redhat.com>
---
 src/openvpn/console.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/openvpn/console.c b/src/openvpn/console.c
index 059b6f0..337b1bb 100644
--- a/src/openvpn/console.c
+++ b/src/openvpn/console.c
@@ -143,14 +143,16 @@ close_tty (FILE *fp)
 static bool
 check_systemd_running ()
 {
-  struct stat a, b;
+  struct stat a, b, c;

   /* We simply test whether the systemd cgroup hierarchy is
-   * mounted */
+   * mounted, as well as the systemd-ask-password executable
+   * being available */

   return (lstat("/sys/fs/cgroup", &a) == 0)
          && (lstat("/sys/fs/cgroup/systemd", &b) == 0)
-         && (a.st_dev != b.st_dev);
+         && (a.st_dev != b.st_dev)
+         && (stat(SYSTEMD_ASK_PASSWORD_PATH, &c) == 0);

 }

-- 
1.8.3.1


Reply via email to