summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-08-07 00:25:08 +0200
committerLennart Poettering <lennart@poettering.net>2009-10-17 00:28:29 +0200
commitdc3f32f00d7c3091d7d44fe1739a8c38ea3fb34f (patch)
treef4f873446abf31e15f30550b817c71946453db15 /configure.in
parentdc11af9d1b7f029e6a58fd3354438032877efce4 (diff)
check ConsoleKit database for detecting if user is on console
In addtion to Solaris style /dev/console permission checking and pam_console style /var/run/console file existance checking add support for checking console status via the ConsoleKit database. This adds very basic support and will read the console database on every single read. These needs optimization.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in62
1 files changed, 56 insertions, 6 deletions
diff --git a/configure.in b/configure.in
index 5a4ec23b..653a45f7 100644
--- a/configure.in
+++ b/configure.in
@@ -78,7 +78,9 @@ AC_ARG_ENABLE(libaudit,AS_HELP_STRING([--enable-libaudit],[build audit daemon su
AC_ARG_ENABLE(dnotify, AS_HELP_STRING([--enable-dnotify],[build with dnotify support (linux only)]),enable_dnotify=$enableval,enable_dnotify=auto)
AC_ARG_ENABLE(inotify, AS_HELP_STRING([--enable-inotify],[build with inotify support (linux only)]),enable_inotify=$enableval,enable_inotify=auto)
AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto)
+AC_ARG_ENABLE(console-auth-dir, AS_HELP_STRING([--enable-console-auth-dir],[enable console auth dir]),enable_console_auth_dir=$enableval,enable_console_auth_dir=auto)
AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto)
+AC_ARG_ENABLE(consolekit-database, AS_HELP_STRING([--enable-consolekit-database],[enable ConsoleKit database]),enable_consolekit_database=$enableval,enable_consolekit_database=auto)
AC_ARG_ENABLE(userdb-cache, AS_HELP_STRING([--enable-userdb-cache],[build with userdb-cache support]),enable_userdb_cache=$enableval,enable_userdb_cache=yes)
AC_ARG_WITH(xml, AS_HELP_STRING([--with-xml=[libxml/expat]],[XML library to use]))
@@ -89,6 +91,7 @@ AC_ARG_WITH(system-pid-file, AS_HELP_STRING([--with-system-pid-file=[pidfile]],[
AC_ARG_WITH(system-socket, AS_HELP_STRING([--with-system-socket=[filename]],[UNIX domain socket for systemwide daemon]))
AC_ARG_WITH(console-auth-dir, AS_HELP_STRING([--with-console-auth-dir=[dirname]],[directory to check for console ownerhip]))
AC_ARG_WITH(console-owner-file, AS_HELP_STRING([--with-console-owner-file=[filename]],[file whose owner determines current console owner]))
+AC_ARG_WITH(consolekit-database, AS_HELP_STRING([--with-consolekit-database=[filename]],[ConsoleKit database file]))
AC_ARG_WITH(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)]))
AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory for installing the DBUS daemon]))
@@ -834,6 +837,32 @@ fi
AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
+dnl console auth dir
+if test x$enable_console_auth_dir = xno ; then
+ have_console_auth_dir=no;
+else
+ case $host_os in
+ linux*)
+ have_console_auth_dir=yes;
+ AC_DEFINE(HAVE_CONSOLE_AUTH_DIR,1,[Have console auth dir])
+ ;;
+ *)
+ have_console_auth_dir=no;;
+ esac
+fi
+
+AM_CONDITIONAL(HAVE_CONSOLE_AUTH_DIR, test x$have_console_auth_dir = xyes)
+
+dnl ConsoleKit database
+if test x$enable_consolekit_database = xno ; then
+ have_consolekit_database=no;
+else
+ have_consolekit_database=yes;
+ AC_DEFINE(HAVE_CONSOLEKIT_DATABASE,1,[Have ConsoleKit database])
+fi
+
+AM_CONDITIONAL(HAVE_CONSOLEKIT_DATABASE, test x$have_consolekit_database = xyes)
+
# libaudit detection
if test x$enable_libaudit = xno ; then
have_libaudit=no;
@@ -1298,15 +1327,33 @@ fi
AC_SUBST(DBUS_SYSTEM_PID_FILE)
+#### ConsoleKit database file to check for console ownership
+if test x$have_consolekit_database = xyes; then
+ if ! test -z "$with_consolekit_database"; then
+ DBUS_CONSOLEKIT_DATABASE=$with_consolekit_database
+ else
+ DBUS_CONSOLEKIT_DATABASE=/var/run/ConsoleKit/database
+ fi
+else
+ DBUS_CONSOLEKIT_DATABASE=
+fi
+
+AC_SUBST(DBUS_CONSOLEKIT_DATABASE)
+AC_DEFINE_UNQUOTED(DBUS_CONSOLEKIT_DATABASE, "$DBUS_CONSOLEKIT_DATABASE", [ConsoleKit database to check for console ownership])
+
#### Directory to check for console ownership
-if ! test -z "$with_console_auth_dir"; then
- DBUS_CONSOLE_AUTH_DIR=$with_console_auth_dir
+if test x$have_console_auth_dir = xyes; then
+ if ! test -z "$with_console_auth_dir"; then
+ DBUS_CONSOLE_AUTH_DIR=$with_console_auth_dir
+ else
+ DBUS_CONSOLE_AUTH_DIR=/var/run/console/
+ fi
else
- DBUS_CONSOLE_AUTH_DIR=/var/run/console/
+ DBUS_CONSOLE_AUTH_DIR=
fi
AC_SUBST(DBUS_CONSOLE_AUTH_DIR)
-AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownerhip])
+AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownership])
#### File to check for console ownership
if test x$have_console_owner_file = xyes; then
@@ -1508,9 +1555,12 @@ echo "
System bus address: ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
System bus PID file: ${DBUS_SYSTEM_PID_FILE}
Session bus socket dir: ${DBUS_SESSION_SOCKET_DIR}
+ Have ConsoleKit db: ${have_consolekit_database}
+ ConsoleKit db: ${DBUS_CONSOLEKIT_DATABASE}
+ Have Console auth dir: ${have_console_auth_dir}
Console auth dir: ${DBUS_CONSOLE_AUTH_DIR}
- Console owner file: ${have_console_owner_file}
- Console owner file path: ${DBUS_CONSOLE_OWNER_FILE}
+ Have Console owner file: ${have_console_owner_file}
+ Console owner file: ${DBUS_CONSOLE_OWNER_FILE}
System bus user: ${DBUS_USER}
Session bus services dir: ${EXPANDED_DATADIR}/dbus-1/services
'make check' socket dir: ${TEST_SOCKET_DIR}