diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-08-07 00:25:08 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-10-17 00:28:29 +0200 |
commit | dc3f32f00d7c3091d7d44fe1739a8c38ea3fb34f (patch) | |
tree | f4f873446abf31e15f30550b817c71946453db15 /configure.in | |
parent | dc11af9d1b7f029e6a58fd3354438032877efce4 (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.in | 62 |
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} |