From ff28d259c0b0630841878d503e31cc9480c50f5d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 3 Feb 2022 17:41:04 +0100 Subject: [PATCH] hostnamed: drop "iteractive" parameter from GetHardwareSerial() Since a long time the D-Bus spec knows a special bit in its message header for indicating that "interactive" authentication is OK. The original hostnamed API is before that was added hence most functions expose that boolean as explicit argument. For new added functions let's get rid of it, the message flag is good enough and replaces it with complete functionality. No new APIs should carry the "interactive" boolean flag explicitly as argument anymore. Follow-up for: 9697662915e47a4797b05003cb1970fe2b01e530 --- man/org.freedesktop.hostname1.xml | 3 +-- src/hostname/hostnamed.c | 11 +++-------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/man/org.freedesktop.hostname1.xml b/man/org.freedesktop.hostname1.xml index 5e3bb7807dc..94004002ecf 100644 --- a/man/org.freedesktop.hostname1.xml +++ b/man/org.freedesktop.hostname1.xml @@ -58,8 +58,7 @@ node /org/freedesktop/hostname1 { in b interactive); GetProductUUID(in b interactive, out ay uuid); - GetHardwareSerial(in b interactive, - out s serial); + GetHardwareSerial(out s serial); Describe(out s json); properties: readonly s Hostname = '...'; diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index 4637ac88178..a60e0f82958 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -1082,21 +1082,17 @@ static int method_get_hardware_serial(sd_bus_message *m, void *userdata, sd_bus_ _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL; _cleanup_free_ char *serial = NULL; Context *c = userdata; - int interactive, r; + int r; assert(m); assert(c); - r = sd_bus_message_read(m, "b", &interactive); - if (r < 0) - return r; - r = bus_verify_polkit_async( m, CAP_SYS_ADMIN, "org.freedesktop.hostname1.get-hardware-serial", NULL, - interactive, + false, UID_INVALID, &c->polkit_registry, error); @@ -1304,8 +1300,7 @@ static const sd_bus_vtable hostname_vtable[] = { method_get_product_uuid, SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD_WITH_NAMES("GetHardwareSerial", - "b", - SD_BUS_PARAM(interactive), + NULL,, "s", SD_BUS_PARAM(serial), method_get_hardware_serial, -- 2.47.3