diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2006-06-07 19:59:11 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2006-06-07 19:59:11 +0000 |
commit | 3ac2e48282085f557d665df4915eaed08875fe1f (patch) | |
tree | 9a14488484fc0782915f3d0fbd4cb0a575b5b5c4 /dbus | |
parent | 6253823095f6aa8e247bba52e7c8556efefca4c0 (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.c | 28 |
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 (); |