]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sysupdated: Accept "current+pending" key
authorValentin David <me@valentindavid.com>
Mon, 30 Mar 2026 08:07:04 +0000 (10:07 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 30 Mar 2026 21:33:43 +0000 (23:33 +0200)
Since 594d0345fa997446b4c2dcfbccf3f83257bb55a3 the key for
current version might be "current+pending". So in order not to fail
we need to accept it.

Fixes #41409

src/sysupdate/sysupdated.c

index fde6124e849dc9265463d30a32e69b4fcb2505b1..f387494b58051c303cba330419622ecd5ce385fe 100644 (file)
@@ -1334,7 +1334,9 @@ static int target_method_get_version(sd_bus_message *msg, void *userdata, sd_bus
 
         version_json = sd_json_variant_by_key(v, "current");
         if (!version_json)
-                return log_sysupdate_bad_json(SYNTHETIC_ERRNO(EPROTO), "list", "Missing key 'current'");
+                version_json = sd_json_variant_by_key(v, "current+pending");
+        if (!version_json)
+                return log_sysupdate_bad_json(SYNTHETIC_ERRNO(EPROTO), "list", "Missing key 'current' or 'current+pending'");
 
         if (sd_json_variant_is_null(version_json))
                 return sd_bus_reply_method_return(msg, "s", "");