From 172cef2963874308c935be17c7ed9856d1a7f78f Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 7 Mar 2012 16:00:23 -0500 Subject: [PATCH] Add a CheckUserAuthorization option for using libsystemd-login. --- os/utils.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/os/utils.c b/os/utils.c index 6461ed5..23acb2f 100644 --- a/os/utils.c +++ b/os/utils.c @@ -1736,6 +1736,10 @@ CheckUserParameters(int argc, char **argv, char **envp) #include #endif /* USE_PAM */ +#ifdef USE_SYSTEMD +#include +#endif /* USE_SYSTEMD */ + void CheckUserAuthorization(void) { @@ -1777,6 +1781,16 @@ CheckUserAuthorization(void) pam_end(pamh, PAM_SUCCESS); } #endif +#ifdef USE_SYSTEMD + int uid; + + uid = getuid(); + if (uid == 0) + return; + if (sd_uid_get_seats(uid, 1, NULL) <= 0) { + FatalError("Cannot start X server. User is not on an active seat.\n"); + } +#endif /* USE_SYSTEMD */ } /* -- 1.7.7.6