summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2006-06-07 19:59:11 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2006-06-07 19:59:11 +0000
commit3ac2e48282085f557d665df4915eaed08875fe1f (patch)
tree9a14488484fc0782915f3d0fbd4cb0a575b5b5c4 /dbus
parent6253823095f6aa8e247bba52e7c8556efefca4c0 (diff)
* configure.in:
* dbus/dbus-userdb-util.c: Add Solaris console owner patch from Artem Kachitchkine
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-userdb-util.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/dbus/dbus-userdb-util.c b/dbus/dbus-userdb-util.c
index 344bd747..81564ad7 100644
--- a/dbus/dbus-userdb-util.c
+++ b/dbus/dbus-userdb-util.c
@@ -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 ();