From: David Sommerseth Date: Tue, 9 Sep 2014 16:58:53 +0000 (+0200) Subject: Don't try to use systemd-ask-password if it is not available X-Git-Tag: v2.4_alpha1~384 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=55480682b9bfa5894402954f4c740954d8c5c556;p=thirdparty%2Fopenvpn.git Don't try to use systemd-ask-password if it is not available 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 Acked-by: Gert Doering Message-Id: 20140909202044.GJ1118@greenie.muc.de URL: http://article.gmane.org/gmane.network.openvpn.devel/9035 --- diff --git a/src/openvpn/console.c b/src/openvpn/console.c index 059b6f0ba..337b1bbc5 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); }