]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/import-creds: use proc_cmdline_get_bool()
authorMike Yuan <me@yhndnzj.com>
Sat, 13 Jul 2024 16:47:41 +0000 (18:47 +0200)
committerMike Yuan <me@yhndnzj.com>
Sat, 13 Jul 2024 20:58:23 +0000 (22:58 +0200)
src/core/import-creds.c

index 5709457408eaf11b5368cc9f7d97e5c566c103fd..2603eab1d97ab8ac07290f7c01182d45c739d569 100644 (file)
@@ -880,19 +880,14 @@ int import_credentials(void) {
                 RET_GATHER(r, merge_credentials_trusted(received_creds_dir));
 
         } else {
-                _cleanup_free_ char *v = NULL;
+                bool import;
 
-                r = proc_cmdline_get_key("systemd.import_credentials", PROC_CMDLINE_STRIP_RD_PREFIX, &v);
+                r = proc_cmdline_get_bool("systemd.import_credentials", PROC_CMDLINE_STRIP_RD_PREFIX|PROC_CMDLINE_TRUE_WHEN_MISSING, &import);
                 if (r < 0)
-                        log_debug_errno(r, "Failed to check if 'systemd.import_credentials=' kernel command line option is set, ignoring: %m");
-                else if (r > 0) {
-                        r = parse_boolean(v);
-                        if (r < 0)
-                                log_debug_errno(r, "Failed to parse 'systemd.import_credentials=' parameter, ignoring: %m");
-                        else if (r == 0) {
-                                log_notice("systemd.import_credentials=no is set, skipping importing of credentials.");
-                                return 0;
-                        }
+                        log_debug_errno(r, "Failed to check systemd.import_credentials= kernel command line option, proceeding: %m");
+                else if (!import) {
+                        log_notice("systemd.import_credentials=no is set, skipping importing of credentials.");
+                        return 0;
                 }
 
                 r = import_credentials_boot();