]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
machine: validate root directory over varlink
authorLuca Boccassi <luca.boccassi@gmail.com>
Sat, 13 Sep 2025 00:28:24 +0000 (01:28 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 16 Sep 2025 14:58:28 +0000 (15:58 +0100)
Use strict validation to reject invalid directories as the D-Bus
API already does

Follow-up for 5b44c81ff868a4d1b78a74e4770f7a8b2f1d0f91

src/machine/machine-varlink.c

index b2b2f1f2db069cd09b1631b3fde6788366d8c1d5..5a2f67129e1c02554f3f8a698dd513ada2877cbc 100644 (file)
@@ -137,7 +137,7 @@ int vl_method_register(sd_varlink *link, sd_json_variant *parameters, sd_varlink
                 { "leaderProcessId",     SD_JSON_VARIANT_OBJECT,        machine_pidref,           offsetof(Machine, leader),               SD_JSON_STRICT    },
                 { "supervisor",          _SD_JSON_VARIANT_TYPE_INVALID, machine_pidref,           offsetof(Machine, supervisor),           SD_JSON_STRICT    },
                 { "supervisorProcessId", SD_JSON_VARIANT_OBJECT,        machine_pidref,           offsetof(Machine, supervisor),           SD_JSON_STRICT    },
-                { "rootDirectory",       SD_JSON_VARIANT_STRING,        json_dispatch_path,       offsetof(Machine, root_directory),       0                 },
+                { "rootDirectory",       SD_JSON_VARIANT_STRING,        json_dispatch_path,       offsetof(Machine, root_directory),       SD_JSON_STRICT    },
                 { "ifIndices",           SD_JSON_VARIANT_ARRAY,         machine_ifindices,        0,                                       0                 },
                 { "vSockCid",            _SD_JSON_VARIANT_TYPE_INVALID, machine_cid,              offsetof(Machine, vsock_cid),            0                 },
                 { "sshAddress",          SD_JSON_VARIANT_STRING,        sd_json_dispatch_string,  offsetof(Machine, ssh_address),          SD_JSON_STRICT    },