24 #define DBUS_USERDB_INCLUDES_PRIVATE 1
25 #include "dbus-userdb.h"
26 #include "dbus-hash.h"
27 #include "dbus-test.h"
28 #include "dbus-internals.h"
29 #include "dbus-protocol.h"
30 #include "dbus-credentials.h"
109 end == _dbus_string_get_length (str))
135 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
164 _dbus_verbose (
"No cache for user \"%s\"\n",
165 _dbus_string_get_const_data (username));
178 _DBUS_ASSERT_ERROR_IS_SET (error);
187 _DBUS_ASSERT_ERROR_IS_SET (error);
219 static DBusUserDatabase *system_db =
NULL;
224 shutdown_system_db (
void *data)
226 if (system_db !=
NULL)
234 init_system_db (
void)
238 if (system_db ==
NULL)
244 if (system_db ==
NULL)
263 _dbus_warn (
"Could not get password database information for UID of current process: %s\n",
310 database_locked =
TRUE;
325 database_locked =
FALSE;
357 if (system_db !=
NULL)
376 if (!init_system_db ())
381 *username = &process_username;
400 if (!init_system_db ())
405 *homedir = &process_homedir;
422 DBusUserDatabase *db;
464 DBusUserDatabase *db;
513 DBusUserDatabase *db;
552 DBusUserDatabase *db;
563 if (db->users ==
NULL)
569 if (db->groups ==
NULL)
574 if (db->users_by_name ==
NULL)
579 if (db->groups_by_name ==
NULL)
601 #ifdef DBUS_ENABLE_EMBEDDED_TESTS
608 _dbus_user_database_ref (DBusUserDatabase *db)
628 if (db->refcount == 0)
636 if (db->users_by_name)
639 if (db->groups_by_name)
663 return *info !=
NULL;
682 return *info !=
NULL;