]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
importlisttransfersxclient
authorLennart Poettering <lennart@poettering.net>
Fri, 1 Mar 2024 15:13:59 +0000 (16:13 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 1 Mar 2024 21:25:42 +0000 (22:25 +0100)
src/import/importctl.c

index 8035a69a38fb778fbdd8ec403397b51a5a55375f..3028f7d4bd39ebe46f54b2721876ed106c4d415f 100644 (file)
@@ -701,7 +701,7 @@ static int list_transfers(int argc, char *argv[], void *userdata) {
         pager_open(arg_pager_flags);
 
         bool ex;
-        r = bus_call_method(bus, bus_import_mgr, "ListTransfersEx", &error, &reply, NULL);
+        r = bus_call_method(bus, bus_import_mgr, "ListTransfersEx", &error, &reply, "st", image_class_to_string(arg_image_class), UINT64_C(0));
         if (r < 0) {
                 if (sd_bus_error_has_name(&error, SD_BUS_ERROR_UNKNOWN_METHOD)) {
                         sd_bus_error_free(&error);
@@ -741,6 +741,10 @@ static int list_transfers(int argc, char *argv[], void *userdata) {
                 if (r == 0)
                         break;
 
+                /* Ideally we use server-side filtering. But if the server can't do it, we need to do it client side */
+                if (arg_image_class >= 0 && image_class_from_string(class) != arg_image_class)
+                        continue;
+
                 r = table_add_many(
                                 t,
                                 TABLE_UINT32, id,