From: Daan De Meyer Date: Mon, 13 Mar 2023 10:30:48 +0000 (+0100) Subject: Always pass credentials as base64 encoded X-Git-Tag: v15~296^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1385%2Fhead;p=thirdparty%2Fmkosi.git Always pass credentials as base64 encoded Avoid qemu command line shenanigans by just always passing base64 encoded binary credentials. --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index afea77673..2730a2289 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -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}"]