]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Always pass credentials as base64 encoded 1385/head
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 13 Mar 2023 10:30:48 +0000 (11:30 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 13 Mar 2023 12:13:18 +0000 (13:13 +0100)
Avoid qemu command line shenanigans by just always passing base64
encoded binary credentials.

mkosi/__init__.py

index afea7767392e45f2e3f67ea2604ec6d468a510d7..2730a228937d51d2e21ce6b89734d061b5dea9c6 100644 (file)
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: LGPL-2.1+
 
 import argparse
+import base64
 import configparser
 import contextlib
 import crypt
@@ -3678,7 +3679,7 @@ def run_qemu(config: MkosiConfig) -> None:
     cmdline += ["-drive", f"if=pflash,format=raw,readonly=on,file={firmware}"]
 
     for k, v in config.credentials.items():
-        cmdline += ["-smbios", f"type=11,value=io.systemd.credential:{k}={v}"]
+        cmdline += ["-smbios", f"type=11,value=io.systemd.credential.binary:{k}={base64.b64encode(v.encode()).decode()}"]
     for v in config.qemu_smbios:
         cmdline += ["-smbios", f"type=11,value={v}"]