From: Lennart Poettering Date: Tue, 30 Apr 2019 11:48:34 +0000 (+0200) Subject: logind: convert ENXIO into 0, to signal 'not found' cleanly X-Git-Tag: v243-rc1~295^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=77c45ce3369f95f1f143830de460639619489ac0;p=thirdparty%2Fsystemd.git logind: convert ENXIO into 0, to signal 'not found' cleanly --- diff --git a/src/login/logind-user-dbus.c b/src/login/logind-user-dbus.c index fcaeba13f6b..ca3ea7e432f 100644 --- a/src/login/logind-user-dbus.c +++ b/src/login/logind-user-dbus.c @@ -245,6 +245,10 @@ int user_object_find(sd_bus *bus, const char *path, const char *interface, void return 0; r = manager_get_user_from_creds(m, message, UID_INVALID, error, &user); + if (r == -ENXIO) { + sd_bus_error_free(error); + return 0; + } if (r < 0) return r; } else { @@ -305,10 +309,11 @@ int user_node_enumerator(sd_bus *bus, const char *path, void *userdata, char *** message = sd_bus_get_current_message(bus); if (message) { _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL; - uid_t uid; r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_OWNER_UID|SD_BUS_CREDS_AUGMENT, &creds); if (r >= 0) { + uid_t uid; + r = sd_bus_creds_get_owner_uid(creds, &uid); if (r >= 0) { user = hashmap_get(m->users, UID_TO_PTR(uid));