]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
hostname: Allow overriding the chassis type from hwdb
authorBastien Nocera <hadess@hadess.net>
Fri, 21 Jan 2022 17:56:42 +0000 (18:56 +0100)
committerBastien Nocera <hadess@hadess.net>
Fri, 21 Jan 2022 20:59:09 +0000 (21:59 +0100)
Closes: #7390
src/hostname/hostnamed.c

index b20a93ad81c8d109c0e4d9fe4e94d071bccefd52..559326b9f5195448fc492842037b8aff42dabb68 100644 (file)
@@ -725,16 +725,18 @@ static int property_get_chassis(
                 sd_bus_error *error) {
 
         Context *c = userdata;
-        const char *name;
+        _cleanup_free_ char *dmi_chassis = NULL;
+        const char *name = NULL;
 
         context_read_machine_info(c);
 
-        if (isempty(c->data[PROP_CHASSIS]))
-                name = fallback_chassis();
-        else
+        if (isempty(c->data[PROP_CHASSIS])) {
+                if (get_dmi_data("ID_CHASSIS", NULL, &dmi_chassis) <= 0)
+                        name = fallback_chassis();
+        } else
                 name = c->data[PROP_CHASSIS];
 
-        return sd_bus_message_append(reply, "s", name);
+        return sd_bus_message_append(reply, "s", name ?: dmi_chassis);
 }
 
 static int property_get_uname_field(