summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-02-03 17:41:04 +0100
committerLuca Boccassi <luca.boccassi@gmail.com>2022-02-03 19:52:18 +0000
commitff28d259c0b0630841878d503e31cc9480c50f5d (patch)
treea65f28310723de5f1e41476929dc379916cce495
parent79decacff0029e92d71f0871defee5989fb50674 (diff)
downloadsystemd-ff28d259c0b0630841878d503e31cc9480c50f5d.tar.gz
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
-rw-r--r--man/org.freedesktop.hostname1.xml3
-rw-r--r--src/hostname/hostnamed.c11
2 files changed, 4 insertions, 10 deletions
diff --git a/man/org.freedesktop.hostname1.xml b/man/org.freedesktop.hostname1.xml
index 5e3bb7807d..94004002ec 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 4637ac8817..a60e0f8295 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,