From 3f117350861d83b5e8494468f4d1749c1c9c0df3 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 23 Jan 2019 11:56:51 +0000 Subject: [PATCH 1/5] dbus-userdb: Remove unimplemented declaration of _dbus_credentials_from_uid() Signed-off-by: Simon McVittie --- dbus/dbus-userdb.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/dbus/dbus-userdb.h b/dbus/dbus-userdb.h index a6926b0f..9b7934a4 100644 --- a/dbus/dbus-userdb.h +++ b/dbus/dbus-userdb.h @@ -107,8 +107,6 @@ DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_get_user_id_and_primary_group (const DBusString *username, dbus_uid_t *uid_p, dbus_gid_t *gid_p); -dbus_bool_t _dbus_credentials_from_uid (dbus_uid_t user_id, - DBusCredentials *credentials); dbus_bool_t _dbus_groups_from_uid (dbus_uid_t uid, dbus_gid_t **group_ids, int *n_group_ids); From c2a3bc30e6fbb3f3412758364a4057593e43b8c0 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 23 Jan 2019 11:57:42 +0000 Subject: [PATCH 2/5] dbus-userdb: Remove unused _dbus_homedir_from_username() Everything that wants a home directory uses either _dbus_homedir_from_uid() or _dbus_homedir_from_current_process(). Signed-off-by: Simon McVittie --- dbus/dbus-userdb.c | 42 ------------------------------------------ dbus/dbus-userdb.h | 3 --- 2 files changed, 45 deletions(-) diff --git a/dbus/dbus-userdb.c b/dbus/dbus-userdb.c index 7f58a376..66682748 100644 --- a/dbus/dbus-userdb.c +++ b/dbus/dbus-userdb.c @@ -415,48 +415,6 @@ _dbus_homedir_from_current_process (const DBusString **homedir) return TRUE; } -/** - * Gets the home directory for the given user. - * - * @param username the username - * @param homedir string to append home directory to - * @returns #TRUE if user existed and we appended their homedir - */ -dbus_bool_t -_dbus_homedir_from_username (const DBusString *username, - DBusString *homedir) -{ - DBusUserDatabase *db; - const DBusUserInfo *info; - - /* FIXME: this can't distinguish ENOMEM from other errors */ - if (!_dbus_user_database_lock_system ()) - return FALSE; - - db = _dbus_user_database_get_system (); - if (db == NULL) - { - _dbus_user_database_unlock_system (); - return FALSE; - } - - if (!_dbus_user_database_get_username (db, username, - &info, NULL)) - { - _dbus_user_database_unlock_system (); - return FALSE; - } - - if (!_dbus_string_append (homedir, info->homedir)) - { - _dbus_user_database_unlock_system (); - return FALSE; - } - - _dbus_user_database_unlock_system (); - return TRUE; -} - /** * Gets the home directory for the given user. * diff --git a/dbus/dbus-userdb.h b/dbus/dbus-userdb.h index 9b7934a4..fa456765 100644 --- a/dbus/dbus-userdb.h +++ b/dbus/dbus-userdb.h @@ -122,9 +122,6 @@ DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_username_from_current_process (const DBusString **username); DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_homedir_from_current_process (const DBusString **homedir); -dbus_bool_t _dbus_homedir_from_username (const DBusString *username, - DBusString *homedir); - dbus_bool_t _dbus_homedir_from_uid (dbus_uid_t uid, DBusString *homedir); From bd860d7525de17ecffc2c75a9e3ee617da528e34 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 23 Jan 2019 12:05:54 +0000 Subject: [PATCH 3/5] _dbus_parse_uid: Remove unused function Signed-off-by: Simon McVittie --- dbus/dbus-sysdeps-unix.c | 40 ---------------------------------------- dbus/dbus-sysdeps-unix.h | 3 --- 2 files changed, 43 deletions(-) diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index 245bbc4b..1eb54bd4 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -2992,46 +2992,6 @@ _dbus_pid_for_log (void) return getpid (); } -/** - * Gets a UID from a UID string. - * - * @param uid_str the UID in string form - * @param uid UID to fill in - * @returns #TRUE if successfully filled in UID - */ -dbus_bool_t -_dbus_parse_uid (const DBusString *uid_str, - dbus_uid_t *uid) -{ - int end; - long val; - - if (_dbus_string_get_length (uid_str) == 0) - { - _dbus_verbose ("UID string was zero length\n"); - return FALSE; - } - - val = -1; - end = 0; - if (!_dbus_string_parse_int (uid_str, 0, &val, - &end)) - { - _dbus_verbose ("could not parse string as a UID\n"); - return FALSE; - } - - if (end != _dbus_string_get_length (uid_str)) - { - _dbus_verbose ("string contained trailing stuff after UID\n"); - return FALSE; - } - - *uid = val; - - return TRUE; -} - #if !DBUS_USE_SYNC /* To be thread-safe by default on platforms that don't necessarily have * atomic operations (notably Debian armel, which is armv4t), we must diff --git a/dbus/dbus-sysdeps-unix.h b/dbus/dbus-sysdeps-unix.h index 8523f8cb..3bbf34d1 100644 --- a/dbus/dbus-sysdeps-unix.h +++ b/dbus/dbus-sysdeps-unix.h @@ -141,9 +141,6 @@ void _dbus_group_info_free (DBusGroupInfo *info); DBUS_PRIVATE_EXPORT dbus_uid_t _dbus_geteuid (void); -dbus_bool_t _dbus_parse_uid (const DBusString *uid_str, - dbus_uid_t *uid); - DBUS_PRIVATE_EXPORT void _dbus_close_all (void); DBUS_PRIVATE_EXPORT From ffa34d6a545afc78781709e848d74a2d3e1cb14b Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 23 Jan 2019 12:09:04 +0000 Subject: [PATCH 4/5] _dbus_user_database_get_gid: Remove unused function Signed-off-by: Simon McVittie --- dbus/dbus-userdb-util.c | 21 --------------------- dbus/dbus-userdb.h | 4 ---- 2 files changed, 25 deletions(-) diff --git a/dbus/dbus-userdb-util.c b/dbus/dbus-userdb-util.c index 09ca7f60..86ee00dd 100644 --- a/dbus/dbus-userdb-util.c +++ b/dbus/dbus-userdb-util.c @@ -360,27 +360,6 @@ _dbus_user_database_get_groupname (DBusUserDatabase *db, return *info != NULL; } -/** - * Gets the user information for the given GID, - * returned group info should not be freed. - * - * @param db user database - * @param gid the group ID - * @param info return location for const ref to group info - * @param error error location - * @returns #FALSE if error is set - */ -dbus_bool_t -_dbus_user_database_get_gid (DBusUserDatabase *db, - dbus_gid_t gid, - const DBusGroupInfo **info, - DBusError *error) -{ - *info = _dbus_user_database_lookup_group (db, gid, NULL, error); - return *info != NULL; -} - - /** * Gets all groups corresponding to the given UID. Returns #FALSE * if no memory, or user isn't known, but always initializes diff --git a/dbus/dbus-userdb.h b/dbus/dbus-userdb.h index fa456765..f2c2cc19 100644 --- a/dbus/dbus-userdb.h +++ b/dbus/dbus-userdb.h @@ -61,10 +61,6 @@ dbus_bool_t _dbus_user_database_get_uid (DBusUserDatabase *db, dbus_uid_t uid, const DBusUserInfo **info, DBusError *error); -dbus_bool_t _dbus_user_database_get_gid (DBusUserDatabase *db, - dbus_gid_t gid, - const DBusGroupInfo **info, - DBusError *error); DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_user_database_get_username (DBusUserDatabase *db, const DBusString *username, From 2091cd73b14e203188c34d26ca9b80a97a3ea66f Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 23 Jan 2019 12:09:27 +0000 Subject: [PATCH 5/5] _dbus_user_database_get_groupname: Inline into its only caller Signed-off-by: Simon McVittie --- dbus/dbus-userdb-util.c | 27 ++++----------------------- dbus/dbus-userdb.h | 5 ----- 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/dbus/dbus-userdb-util.c b/dbus/dbus-userdb-util.c index 86ee00dd..7bbae0ef 100644 --- a/dbus/dbus-userdb-util.c +++ b/dbus/dbus-userdb-util.c @@ -181,8 +181,10 @@ _dbus_get_group_id (const DBusString *groupname, return FALSE; } - if (!_dbus_user_database_get_groupname (db, groupname, - &info, NULL)) + info = _dbus_user_database_lookup_group (db, DBUS_GID_UNSET, groupname, + NULL); + + if (info == NULL) { _dbus_user_database_unlock_system (); return FALSE; @@ -339,27 +341,6 @@ _dbus_user_database_lookup_group (DBusUserDatabase *db, } } - -/** - * Gets the user information for the given group name, - * returned group info should not be freed. - * - * @param db user database - * @param groupname the group name - * @param info return location for const ref to group info - * @param error error location - * @returns #FALSE if error is set - */ -dbus_bool_t -_dbus_user_database_get_groupname (DBusUserDatabase *db, - const DBusString *groupname, - const DBusGroupInfo **info, - DBusError *error) -{ - *info = _dbus_user_database_lookup_group (db, DBUS_GID_UNSET, groupname, error); - return *info != NULL; -} - /** * Gets all groups corresponding to the given UID. Returns #FALSE * if no memory, or user isn't known, but always initializes diff --git a/dbus/dbus-userdb.h b/dbus/dbus-userdb.h index f2c2cc19..1eb4bd46 100644 --- a/dbus/dbus-userdb.h +++ b/dbus/dbus-userdb.h @@ -66,11 +66,6 @@ dbus_bool_t _dbus_user_database_get_username (DBusUserDatabase *db, const DBusString *username, const DBusUserInfo **info, DBusError *error); -dbus_bool_t _dbus_user_database_get_groupname (DBusUserDatabase *db, - const DBusString *groupname, - const DBusGroupInfo **info, - DBusError *error); - DBUS_PRIVATE_EXPORT DBusUserInfo* _dbus_user_database_lookup (DBusUserDatabase *db, dbus_uid_t uid,