mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-03-11 13:01:39 +01:00
* configure.in:
* dbus/dbus-userdb-util.c: Add Solaris console owner patch from Artem Kachitchkine
This commit is contained in:
parent
6253823095
commit
3ac2e48282
3 changed files with 68 additions and 0 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2006-06-07 John (J5) Palmieri <johnp@redhat.com>
|
||||
|
||||
* configure.in:
|
||||
* dbus/dbus-userdb-util.c:
|
||||
Add Solaris console owner patch from Artem Kachitchkine
|
||||
|
||||
2006-06-07 Thiago Macieira <thiago.macieira@trolltech.com>
|
||||
|
||||
* qt/Makfile.am:
|
||||
|
|
|
|||
34
configure.in
34
configure.in
|
|
@ -68,6 +68,7 @@ AC_ARG_ENABLE(mono_docs, AS_HELP_STRING([--enable-mono-docs],[build mono docs]),
|
|||
AC_ARG_ENABLE(python, AS_HELP_STRING([--enable-python],[build python bindings]),enable_python=$enableval,enable_python=auto)
|
||||
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--enable-selinux],[build with SELinux support]),enable_selinux=$enableval,enable_selinux=auto)
|
||||
AC_ARG_ENABLE(dnotify, AS_HELP_STRING([--enable-dnotify],[build with dnotify support (linux only)]),enable_dnotify=$enableval,enable_dnotify=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_WITH(xml, AS_HELP_STRING([--with-xml=[libxml/expat]],[XML library to use]))
|
||||
AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install]))
|
||||
|
|
@ -76,6 +77,7 @@ AC_ARG_WITH(test-socket-dir, AS_HELP_STRING([--with-test-socket-dir=[dirname]],[
|
|||
AC_ARG_WITH(system-pid-file, AS_HELP_STRING([--with-system-pid-file=[pidfile]],[PID file for systemwide daemon]))
|
||||
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(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)]))
|
||||
|
||||
|
||||
|
|
@ -851,6 +853,22 @@ if test x$have_dnotify = xyes; then
|
|||
AC_DEFINE(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX,1,[Use dnotify on Linux])
|
||||
fi
|
||||
|
||||
dnl console owner file
|
||||
if test x$enable_console_owner_file = xno ; then
|
||||
have_console_owner_file=no;
|
||||
else
|
||||
case $target_os in
|
||||
solaris*)
|
||||
have_console_owner_file=yes;
|
||||
AC_DEFINE(HAVE_CONSOLE_OWNER_FILE,1,[Have console owner file])
|
||||
;;
|
||||
*)
|
||||
have_console_owner_file=no;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
|
||||
|
||||
#### Set up final flags
|
||||
DBUS_CLIENT_CFLAGS=
|
||||
DBUS_CLIENT_LIBS=
|
||||
|
|
@ -1289,6 +1307,20 @@ fi
|
|||
AC_SUBST(DBUS_CONSOLE_AUTH_DIR)
|
||||
AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownerhip])
|
||||
|
||||
#### File to check for console ownership
|
||||
if test x$have_console_owner_file = xyes; then
|
||||
if ! test -z "$with_console_owner_file"; then
|
||||
DBUS_CONSOLE_OWNER_FILE=$with_console_owner_file
|
||||
else
|
||||
DBUS_CONSOLE_OWNER_FILE=/dev/console
|
||||
fi
|
||||
else
|
||||
DBUS_CONSOLE_OWNER_FILE=
|
||||
fi
|
||||
|
||||
AC_SUBST(DBUS_CONSOLE_OWNER_FILE)
|
||||
AC_DEFINE_UNQUOTED(DBUS_CONSOLE_OWNER_FILE, "$DBUS_CONSOLE_OWNER_FILE", [File to check for console ownerhip])
|
||||
|
||||
#### User to start the system bus as
|
||||
if test -z "$with_dbus_user" ; then
|
||||
DBUS_USER=messagebus
|
||||
|
|
@ -1517,6 +1549,8 @@ echo "
|
|||
System bus PID file: ${DBUS_SYSTEM_PID_FILE}
|
||||
Session bus socket dir: ${DBUS_SESSION_SOCKET_DIR}
|
||||
Console auth dir: ${DBUS_CONSOLE_AUTH_DIR}
|
||||
Console owner file: ${have_console_owner_file}
|
||||
Console owner file path: ${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}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,34 @@ _dbus_is_console_user (dbus_uid_t uid,
|
|||
const DBusUserInfo *info;
|
||||
dbus_bool_t result = FALSE;
|
||||
|
||||
#ifdef HAVE_CONSOLE_OWNER_FILE
|
||||
|
||||
DBusString f;
|
||||
DBusStat st;
|
||||
|
||||
if (!_dbus_string_init (&f))
|
||||
{
|
||||
_DBUS_SET_OOM (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!_dbus_string_append(&f, DBUS_CONSOLE_OWNER_FILE))
|
||||
{
|
||||
_dbus_string_free(&f);
|
||||
_DBUS_SET_OOM (error);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (_dbus_stat(&f, &st, NULL) && (st.uid == uid))
|
||||
{
|
||||
_dbus_string_free(&f);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
_dbus_string_free(&f);
|
||||
|
||||
#endif /* HAVE_CONSOLE_OWNER_FILE */
|
||||
|
||||
_dbus_user_database_lock_system ();
|
||||
|
||||
db = _dbus_user_database_get_system ();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue