From: Lennart Poettering Date: Sun, 12 Apr 2026 19:47:54 +0000 (+0200) Subject: core: varlink enum for io.systemd.Unit interface (#40972) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d1e16969021fc59d7f77fc9f2453d195a1f4fa76;p=thirdparty%2Fsystemd.git core: varlink enum for io.systemd.Unit interface (#40972) Convert string fields to varlink enums in io.systemd.Unit Following https://github.com/systemd/systemd/pull/39391#discussion_r2489599449, convert all configuration setting fields in the io.systemd.Unit varlink interface from bare SD_VARLINK_STRING to proper enum types, adding type safety to the IDL. This converts ~30 fields across ExecContext, CGroupContext, and UnitContext, adding 25 new varlink enum types. Weak compatibility breakage (per https://github.com/systemd/systemd/pull/40972#issuecomment-4222294318): Varlink enum identifiers cannot contain - or +, so affected values are underscorified on the wire. For example, "tty-force" becomes tty_force, "kmsg+console" becomes kmsg_console. The full list of affected values: ``` - ExecInputType: tty-force, tty-fail - ExecOutputType: kmsg+console, journal+console - ProtectHome: read-only - CGroupController: bpf-firewall, bpf-devices, bpf-foreign, bpf-socket-bind, bpf-restrict-network-interfaces, bpf-bind-network-interface - CollectMode: inactive-or-failed - EmergencyAction: exit-force, reboot-force, reboot-immediate, poweroff-force, poweroff-immediate, soft-reboot, soft-reboot-force, kexec-force, halt-force, halt-immediate - JobMode: replace-irreversibly, ignore-dependencies, ignore-requirements, restart-dependencies ``` --- d1e16969021fc59d7f77fc9f2453d195a1f4fa76