From: Lennart Poettering Date: Thu, 15 May 2025 07:30:12 +0000 (+0200) Subject: core: always handle method call params via sd_varlink_dispatch(), even if we accept... X-Git-Tag: v258-rc1~600^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=231cab5c5e589fa24b2baa6f77ef234fea386cc3;p=thirdparty%2Fsystemd.git core: always handle method call params via sd_varlink_dispatch(), even if we accept none This results in much more precise errors for the clients, and is what we do everywhere else these days. --- diff --git a/src/core/manager-varlink.c b/src/core/manager-varlink.c index c124b2fc9fc..3c7e746640b 100644 --- a/src/core/manager-varlink.c +++ b/src/core/manager-varlink.c @@ -158,8 +158,9 @@ int vl_method_describe_manager(sd_varlink *link, sd_json_variant *parameters, sd assert(parameters); - if (sd_json_variant_elements(parameters) > 0) - return sd_varlink_error_invalid_parameter(link, parameters); + r = sd_varlink_dispatch(link, parameters, /* dispatch_table= */ NULL, /* userdata= */ NULL); + if (r != 0) + return r; r = sd_json_buildo(&v, SD_JSON_BUILD_PAIR_CALLBACK("Context", manager_context_build_json, manager),