]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bootspec: don't complain about valid loader.conf settings
authorLennart Poettering <lennart@poettering.net>
Mon, 26 Feb 2024 11:21:01 +0000 (12:21 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 27 Feb 2024 16:57:19 +0000 (16:57 +0000)
Let's not complain about various valid loader.conf settings we more
recently added. At the same time let's remove the half-assed userspace
parsers for the fields we actually do support but don't actually really
care about in userspace. There's really no point in storing strings away
that we are not using at all, hence just don#t.

Fixes: #31487
src/shared/bootspec.c
src/shared/bootspec.h

index df45c670007c24f27a05ec415ea97c13f57850ea..ceda70fb879eb131307c50c6553cffaa569f3114 100644 (file)
@@ -431,12 +431,6 @@ void boot_config_free(BootConfig *config) {
         assert(config);
 
         free(config->default_pattern);
-        free(config->timeout);
-        free(config->editor);
-        free(config->auto_entries);
-        free(config->auto_firmware);
-        free(config->console_mode);
-        free(config->beep);
 
         free(config->entry_oneshot);
         free(config->entry_default);
@@ -491,20 +485,10 @@ int boot_loader_read_conf(BootConfig *config, FILE *file, const char *path) {
 
                 if (streq(field, "default"))
                         r = free_and_strdup(&config->default_pattern, p);
-                else if (streq(field, "timeout"))
-                        r = free_and_strdup(&config->timeout, p);
-                else if (streq(field, "editor"))
-                        r = free_and_strdup(&config->editor, p);
-                else if (streq(field, "auto-entries"))
-                        r = free_and_strdup(&config->auto_entries, p);
-                else if (streq(field, "auto-firmware"))
-                        r = free_and_strdup(&config->auto_firmware, p);
-                else if (streq(field, "console-mode"))
-                        r = free_and_strdup(&config->console_mode, p);
-                else if (streq(field, "random-seed-mode"))
-                        log_syntax(NULL, LOG_WARNING, path, line, 0, "'random-seed-mode' has been deprecated, ignoring.");
-                else if (streq(field, "beep"))
-                        r = free_and_strdup(&config->beep, p);
+                else if (STR_IN_SET(field, "timeout", "editor", "auto-entries", "auto-firmware",
+                                    "auto-poweroff", "auto-reboot", "beep", "reboot-for-bitlocker",
+                                    "secure-boot-enroll", "console-mode"))
+                        r = 0; /* we don't parse these in userspace, but they are OK */
                 else {
                         log_syntax(NULL, LOG_WARNING, path, line, 0, "Unknown line '%s', ignoring.", field);
                         continue;
index 9ae88d78aae532f9d4687bd5a9e9b702acad4a3a..5f9a0d705626887d27e822e240243abb3d55877f 100644 (file)
@@ -65,12 +65,6 @@ typedef struct BootEntry {
 
 typedef struct BootConfig {
         char *default_pattern;
-        char *timeout;
-        char *editor;
-        char *auto_entries;
-        char *auto_firmware;
-        char *console_mode;
-        char *beep;
 
         char *entry_oneshot;
         char *entry_default;