]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
varlink: don't bother replying about validation errors on method calls with 'oneway...
authorLennart Poettering <lennart@poettering.net>
Wed, 11 Oct 2023 14:59:24 +0000 (16:59 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 11 Oct 2023 16:19:36 +0000 (18:19 +0200)
src/shared/varlink.c

index 8eeac4a49fdbddfd3ea6f9803b7bac2590c06df2..8f643e27b0fd152ff71381a1fdee58608d2b5b59 100644 (file)
@@ -1314,7 +1314,12 @@ static int varlink_dispatch_method(Varlink *v) {
                         r = varlink_idl_validate_method_call(v->current_method, parameters, &bad_field);
                         if (r < 0) {
                                 log_debug_errno(r, "Parameters for method %s() didn't pass validation on field '%s': %m", method, strna(bad_field));
-                                r = varlink_errorb(v, VARLINK_ERROR_INVALID_PARAMETER, JSON_BUILD_OBJECT(JSON_BUILD_PAIR_STRING("parameter", bad_field)));
+
+                                if (!FLAGS_SET(flags, VARLINK_METHOD_ONEWAY)) {
+                                        r = varlink_errorb(v, VARLINK_ERROR_INVALID_PARAMETER, JSON_BUILD_OBJECT(JSON_BUILD_PAIR_STRING("parameter", bad_field)));
+                                        if (r < 0)
+                                                return r;
+                                }
                                 invalid = true;
                         }
                 }