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"
135 _DBUS_ASSERT_ERROR_IS_CLEAR (error);
164 _dbus_verbose (
"No cache for user \"%s\"\n",
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",
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;
469 const char *from_environment;
473 if (from_environment !=
NULL)
523 DBusUserDatabase *db;
562 DBusUserDatabase *db;
573 if (db->users ==
NULL)
579 if (db->groups ==
NULL)
584 if (db->users_by_name ==
NULL)
589 if (db->groups_by_name ==
NULL)
611 #ifdef DBUS_ENABLE_EMBEDDED_TESTS
618 _dbus_user_database_ref (DBusUserDatabase *db)
638 if (db->refcount == 0)
646 if (db->users_by_name)
649 if (db->groups_by_name)
673 return *info !=
NULL;
692 return *info !=
NULL;