From 41f583648a56b728bc13f4677510fab4e4af04cd Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Fri, 2 Apr 2021 19:33:28 +0200 Subject: [PATCH 01/21] Update to 0.9.0 --- .gitignore | 3 +++ sources | 4 +++- usbredir.spec | 23 +++++++++++++++++------ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 804a74e..f8a88dc 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,6 @@ /usbredir-0.7.tar.bz2 /usbredir-0.7.1.tar.bz2 /usbredir-0.8.0.tar.bz2 +/usbredir-0.9.0.tar.xz +/usbredir-0.9.0.tar.xz.sig +/victortoso-E37A484F.keyring diff --git a/sources b/sources index 0b58e99..1adad3b 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ -SHA512 (usbredir-0.8.0.tar.bz2) = 976274adf08f8691b0961f5238021e988a4347873d0c67576038f44cbdaf25c2bb325d8cede0a507933b719f9715b1508ccd1d8f52fccd36f13a7640553dc108 +SHA512 (usbredir-0.9.0.tar.xz) = ce17fe3572144a5733d5cdae09ce82f6a0af1c33cb905a9c20a434992d9a0218f44e02deb48594c391773466de0a50ddede05649afecfb0b2d83c24cf90fcdf6 +SHA512 (usbredir-0.9.0.tar.xz.sig) = bfb3ae609ebdc35b9ba62d24401154172b6df9a758b326865df13ab387c00890ec9a848ab05de877982c6a826c5488b0d73279f99d64b47ce1deb6ecad147898 +SHA512 (victortoso-E37A484F.keyring) = 091755da8a358c8c8ebd3b5443b4b5eb3c260afed943454c085d48c973de6a42763547c321c64e4da5c1b2983ad0c5146aaeddeb1d54ef414f7e6a530a3bf14a diff --git a/usbredir.spec b/usbredir.spec index 572f5d6..f5cdebf 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,12 +1,16 @@ Name: usbredir -Version: 0.8.0 -Release: 6%{?dist} +Version: 0.9.0 +Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: http://spice-space.org/page/UsbRedir -Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.bz2 -BuildRequires: make +Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz +Source1: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz.sig +Source2: victortoso-E37A484F.keyring +BuildRequires: automake autoconf libtool +BuildRequires: gnupg2 BuildRequires: gcc +BuildRequires: glib2-devel BuildRequires: libusb1-devel >= 1.0.9 %description @@ -43,7 +47,9 @@ A simple USB host TCP server, using libusbredirhost. %prep -%setup -q +gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} +%autosetup -p1 -n usbredir-%{version} +autoreconf -fi %build @@ -65,7 +71,7 @@ rm $RPM_BUILD_ROOT%{_libdir}/libusbredir*.la %{_libdir}/libusbredir*.so.* %files devel -%doc usb-redirection-protocol.txt README.multi-thread ChangeLog TODO +%doc docs/usb-redirection-protocol.md docs/multi-thread.md ChangeLog.md TODO %{_includedir}/usbredir*.h %{_libdir}/libusbredir*.so %{_libdir}/pkgconfig/libusbredir*.pc @@ -73,11 +79,16 @@ rm $RPM_BUILD_ROOT%{_libdir}/libusbredir*.la %files server %{!?_licensedir:%global license %%doc} %license COPYING +%{_bindir}/usbredirect %{_sbindir}/usbredirserver +%{_mandir}/man1/usbredirect.1* %{_mandir}/man1/usbredirserver.1* %changelog +* Fri Apr 02 2021 Victor Toso - 0.9.0-1 +- Update to 0.9.0 + * Wed Jan 27 2021 Fedora Release Engineering - 0.8.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 1f0412b3f871687f2e8721ff97e394670c074932 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 25 May 2021 11:45:53 -0400 Subject: [PATCH 02/21] Fix RPM URL field (bz 1953628) Signed-off-by: Cole Robinson --- usbredir.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index f5cdebf..6c45e67 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -3,7 +3,7 @@ Version: 0.9.0 Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ -URL: http://spice-space.org/page/UsbRedir +URL: https://www.spice-space.org/usbredir.html Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz Source1: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz.sig Source2: victortoso-E37A484F.keyring From 894ea9dbb5148004351f55e7c810dc3480bbf760 Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Thu, 27 May 2021 11:02:25 +0200 Subject: [PATCH 03/21] Update to 0.10.0 Now uses meson! --- .gitignore | 2 ++ sources | 4 ++-- usbredir.spec | 25 ++++++++++++++++--------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index f8a88dc..c24537d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ /usbredir-0.9.0.tar.xz /usbredir-0.9.0.tar.xz.sig /victortoso-E37A484F.keyring +/usbredir-0.10.0.tar.xz +/usbredir-0.10.0.tar.xz.sig diff --git a/sources b/sources index 1adad3b..1e7c7e3 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (usbredir-0.9.0.tar.xz) = ce17fe3572144a5733d5cdae09ce82f6a0af1c33cb905a9c20a434992d9a0218f44e02deb48594c391773466de0a50ddede05649afecfb0b2d83c24cf90fcdf6 -SHA512 (usbredir-0.9.0.tar.xz.sig) = bfb3ae609ebdc35b9ba62d24401154172b6df9a758b326865df13ab387c00890ec9a848ab05de877982c6a826c5488b0d73279f99d64b47ce1deb6ecad147898 +SHA512 (usbredir-0.10.0.tar.xz) = 0532d5f62cee6498fe992327df157ef241e44e9cb3fb2305ddfd2aaeddd7e22451323630e39c66b10b87ee32c7fb62a0935c8692969bc8b79940493bcbf6ebcc +SHA512 (usbredir-0.10.0.tar.xz.sig) = 8b1b806afb777c99cdf93c315471795782c42926e3488ce295aac7bd3ce23d5c03ba7e29bc9cc3661563600012e2ee6a583f5fcc19e7629ec2e8644970e567b2 SHA512 (victortoso-E37A484F.keyring) = 091755da8a358c8c8ebd3b5443b4b5eb3c260afed943454c085d48c973de6a42763547c321c64e4da5c1b2983ad0c5146aaeddeb1d54ef414f7e6a530a3bf14a diff --git a/usbredir.spec b/usbredir.spec index 6c45e67..0856538 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,5 +1,5 @@ Name: usbredir -Version: 0.9.0 +Version: 0.10.0 Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ @@ -7,11 +7,12 @@ URL: https://www.spice-space.org/usbredir.html Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz Source1: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz.sig Source2: victortoso-E37A484F.keyring -BuildRequires: automake autoconf libtool BuildRequires: gnupg2 -BuildRequires: gcc +BuildRequires: gcc g++ BuildRequires: glib2-devel BuildRequires: libusb1-devel >= 1.0.9 +BuildRequires: git-core +BuildRequires: meson %description The usbredir libraries allow USB devices to be used on remote and/or virtual @@ -48,18 +49,20 @@ A simple USB host TCP server, using libusbredirhost. %prep gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} -%autosetup -p1 -n usbredir-%{version} -autoreconf -fi +%autosetup -S git_am %build -%configure --disable-static -make %{?_smp_mflags} V=1 +%meson \ + -Dgit_werror=disabled \ + -Dtools=enabled \ + -Dfuzzing=disabled + +%meson_build %install -%make_install -rm $RPM_BUILD_ROOT%{_libdir}/libusbredir*.la +%meson_install %ldconfig_scriptlets @@ -86,6 +89,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/libusbredir*.la %changelog +* Thu May 27 2021 Victor Toso - 0.10.0-1 +- Update to 0.10.0 +- Now uses meson to build + * Fri Apr 02 2021 Victor Toso - 0.9.0-1 - Update to 0.9.0 From d804c1344acf8c87b80d42768ebe160de15d237a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 20:11:06 +0000 Subject: [PATCH 04/21] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 0856538..f942b17 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.10.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html @@ -89,6 +89,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 0.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Thu May 27 2021 Victor Toso - 0.10.0-1 - Update to 0.10.0 - Now uses meson to build From 28b15871605139451f41268f8d711b9843caf49a Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Tue, 10 Aug 2021 08:57:08 +0200 Subject: [PATCH 05/21] update to release 0.11.0 --- .gitignore | 2 ++ sources | 4 ++-- usbredir.spec | 7 +++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c24537d..228bac9 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ /victortoso-E37A484F.keyring /usbredir-0.10.0.tar.xz /usbredir-0.10.0.tar.xz.sig +/usbredir-0.11.0.tar.xz +/usbredir-0.11.0.tar.xz.sig diff --git a/sources b/sources index 1e7c7e3..20d8708 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (usbredir-0.10.0.tar.xz) = 0532d5f62cee6498fe992327df157ef241e44e9cb3fb2305ddfd2aaeddd7e22451323630e39c66b10b87ee32c7fb62a0935c8692969bc8b79940493bcbf6ebcc -SHA512 (usbredir-0.10.0.tar.xz.sig) = 8b1b806afb777c99cdf93c315471795782c42926e3488ce295aac7bd3ce23d5c03ba7e29bc9cc3661563600012e2ee6a583f5fcc19e7629ec2e8644970e567b2 +SHA512 (usbredir-0.11.0.tar.xz) = 30b7aeaa694b82fdf92fbadb39ba04edf751fe52f810f65cf727a4aedf95c25f9c5d5613149d1f58a92e41c5d0dafb6a000daffe1093a7f18cfaeb650dd7977b +SHA512 (usbredir-0.11.0.tar.xz.sig) = 82545099c8dccc5184085dc04b69c8c9124f7c63017af29f13f36125aac2bdac4f5d048f4540e860df8d1e992ef5b5f642b201467e838da3a780986d61410f3c SHA512 (victortoso-E37A484F.keyring) = 091755da8a358c8c8ebd3b5443b4b5eb3c260afed943454c085d48c973de6a42763547c321c64e4da5c1b2983ad0c5146aaeddeb1d54ef414f7e6a530a3bf14a diff --git a/usbredir.spec b/usbredir.spec index f942b17..d3fa853 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir -Version: 0.10.0 -Release: 2%{?dist} +Version: 0.11.0 +Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html @@ -89,6 +89,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Tue Aug 10 2021 Victor Toso - 0.11.0-1 +- Update to 0.11.0 + * Fri Jul 23 2021 Fedora Release Engineering - 0.10.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From bd537ae389ec6d1b6f7ec7fd06250fce887e9afc Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Fri, 12 Nov 2021 11:49:39 +0100 Subject: [PATCH 06/21] Update to 0.12.0 --- .gitignore | 2 ++ sources | 4 ++-- usbredir.spec | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 228bac9..9329c0b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ /usbredir-0.10.0.tar.xz.sig /usbredir-0.11.0.tar.xz /usbredir-0.11.0.tar.xz.sig +/usbredir-0.12.0.tar.xz +/usbredir-0.12.0.tar.xz.sig diff --git a/sources b/sources index 20d8708..31170db 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (usbredir-0.11.0.tar.xz) = 30b7aeaa694b82fdf92fbadb39ba04edf751fe52f810f65cf727a4aedf95c25f9c5d5613149d1f58a92e41c5d0dafb6a000daffe1093a7f18cfaeb650dd7977b -SHA512 (usbredir-0.11.0.tar.xz.sig) = 82545099c8dccc5184085dc04b69c8c9124f7c63017af29f13f36125aac2bdac4f5d048f4540e860df8d1e992ef5b5f642b201467e838da3a780986d61410f3c +SHA512 (usbredir-0.12.0.tar.xz) = f509a6b5d410fec53efbdc186b80376d6b7f5b34c6c33f2037a83bf105743667c5a18a6d1ef33d6b3c57c1ed6a52b94536369ca768eddb70fda7b436d35fe6ab +SHA512 (usbredir-0.12.0.tar.xz.sig) = e8fae716ad611d16aeaad496b61011364c72eb682d498d2d7d23e4ef8e52b71acb7c7f9506c36e5f5afd7f4e1388241457fbfed1060601bbe64790e0baf99d22 SHA512 (victortoso-E37A484F.keyring) = 091755da8a358c8c8ebd3b5443b4b5eb3c260afed943454c085d48c973de6a42763547c321c64e4da5c1b2983ad0c5146aaeddeb1d54ef414f7e6a530a3bf14a diff --git a/usbredir.spec b/usbredir.spec index d3fa853..0d3dd71 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,5 +1,5 @@ Name: usbredir -Version: 0.11.0 +Version: 0.12.0 Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ @@ -89,6 +89,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Fri Nov 12 2021 Victor Toso - 0.12.0-1 +- Update to 0.12.0 + * Tue Aug 10 2021 Victor Toso - 0.11.0-1 - Update to 0.11.0 From b97b6b1a170c170f09087617bf59a09259eb7449 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 03:40:17 +0000 Subject: [PATCH 07/21] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 0d3dd71..3cab8db 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.12.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html @@ -89,6 +89,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 0.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Nov 12 2021 Victor Toso - 0.12.0-1 - Update to 0.12.0 From 487bda67e0e0817308d73c78696c2e770ecd1121 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 11:33:16 +0000 Subject: [PATCH 08/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 3cab8db..d28de58 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.12.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html @@ -89,6 +89,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 0.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jan 22 2022 Fedora Release Engineering - 0.12.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 6f8ed0685243cbf52900dff27ca4d2e6d7161ec4 Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Wed, 27 Jul 2022 08:54:24 +0200 Subject: [PATCH 09/21] Fix unserialization Signed-off-by: Victor Toso --- ...er-Fix-unserialize-on-pristine-check.patch | 193 ++++++++++++++++++ ...reset-parser-s-fields-on-unserialize.patch | 63 ++++++ usbredir.spec | 8 +- 3 files changed, 263 insertions(+), 1 deletion(-) create mode 100644 0001-usbredirparser-Fix-unserialize-on-pristine-check.patch create mode 100644 0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch diff --git a/0001-usbredirparser-Fix-unserialize-on-pristine-check.patch b/0001-usbredirparser-Fix-unserialize-on-pristine-check.patch new file mode 100644 index 0000000..9d21c34 --- /dev/null +++ b/0001-usbredirparser-Fix-unserialize-on-pristine-check.patch @@ -0,0 +1,193 @@ +From 6bf41a231b445ac5190c32e281b698b1ee5379b4 Mon Sep 17 00:00:00 2001 +From: Victor Toso +Date: Fri, 24 Jun 2022 23:29:08 +0200 +Subject: [PATCH 1/2] usbredirparser: Fix unserialize on pristine check +Content-type: text/plain + +As mentioned in the bug below, the user is trying to migrate QEMU and +it is failing on the unserialization of usbredirparser at the target +host. The user does not have USB attached to the VM at all. + +I've added a test that shows that serialization is currently broken. +It fails at the 'pristine' check in usbredirparser_unserialize(). + +This check was added with e37d86c "Skip empty write buffers when +unserializing parser" and restricted further with 186c4c7 "Avoid +memory leak from ill-formatted serialization data" + +The issue here is that usbredirparser's initialization sets some +fields and thus it isn't guaranteed to be pristine. + +The parser's basic data is: + + | write_buf_count ... : 1 + | write_buf ........ : 0xbc03e0 + | write_buf_total_size: 80 + | data ............. : (nil) + | header_read: ...... : 0 + | type_header_read .. : 0 + | data_read: ........ : 0 + +The current fix is to to ignore write_buf checks as, again, they are +not guaranteed to be pristine. usbredirparser library should properly +overwrite them when unserializing the data and if there were pending +buffers, they should be freed. + +Related: https://bugzilla.redhat.com/show_bug.cgi?id=2096008 + +Signed-off-by: Victor Toso +--- + tests/meson.build | 1 + + tests/serializer.c | 113 ++++++++++++++++++++++++++++++++ + usbredirparser/usbredirparser.c | 4 +- + 3 files changed, 115 insertions(+), 3 deletions(-) + create mode 100644 tests/serializer.c + +diff --git a/tests/meson.build b/tests/meson.build +index 0d4397b..2a179c9 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -1,5 +1,6 @@ + tests = [ + 'filter', ++ 'serializer', + ] + + deps = dependency('glib-2.0') +diff --git a/tests/serializer.c b/tests/serializer.c +new file mode 100644 +index 0000000..4bd669e +--- /dev/null ++++ b/tests/serializer.c +@@ -0,0 +1,113 @@ ++/* ++ * Copyright 2022 Red Hat, Inc. ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, see . ++*/ ++#include "config.h" ++ ++#define G_LOG_DOMAIN "serializer" ++#define G_LOG_USE_STRUCTURED ++ ++#include "usbredirparser.h" ++ ++#include ++#include ++#include ++#include ++ ++ ++static void ++log_cb(void *priv, int level, const char *msg) ++{ ++ GLogLevelFlags glog_level; ++ ++ switch(level) { ++ case usbredirparser_error: ++ glog_level = G_LOG_LEVEL_ERROR; ++ break; ++ case usbredirparser_warning: ++ glog_level = G_LOG_LEVEL_WARNING; ++ break; ++ case usbredirparser_info: ++ glog_level = G_LOG_LEVEL_INFO; ++ break; ++ case usbredirparser_debug: ++ case usbredirparser_debug_data: ++ glog_level = G_LOG_LEVEL_DEBUG; ++ break; ++ default: ++ g_warn_if_reached(); ++ return; ++ } ++ g_log_structured(G_LOG_DOMAIN, glog_level, "MESSAGE", msg); ++} ++ ++static struct usbredirparser * ++get_usbredirparser(void) ++{ ++ struct usbredirparser *parser = usbredirparser_create(); ++ g_assert_nonnull(parser); ++ ++ uint32_t caps[USB_REDIR_CAPS_SIZE] = { 0, }; ++ /* Typical caps set by usbredirhost */ ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_connect_device_version); ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_filter); ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_device_disconnect_ack); ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_ep_info_max_packet_size); ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_64bits_ids); ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_32bits_bulk_length); ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_bulk_receiving); ++#if LIBUSBX_API_VERSION >= 0x01000103 ++ usbredirparser_caps_set_cap(caps, usb_redir_cap_bulk_streams); ++#endif ++ int parser_flags = usbredirparser_fl_usb_host; ++ ++ parser->log_func = log_cb; ++ usbredirparser_init(parser, ++ PACKAGE_STRING, ++ caps, ++ USB_REDIR_CAPS_SIZE, ++ parser_flags); ++ return parser; ++} ++ ++static void ++simple (gconstpointer user_data) ++{ ++ uint8_t *state = NULL; ++ int ret, len = -1; ++ ++ struct usbredirparser *source = get_usbredirparser(); ++ ret = usbredirparser_serialize(source, &state, &len); ++ g_assert_cmpint(ret, ==, 0); ++ ++ struct usbredirparser *target = get_usbredirparser(); ++ ret = usbredirparser_unserialize(target, state, len); ++ g_assert_cmpint(ret, ==, 0); ++ ++ g_clear_pointer(&state, free); ++ usbredirparser_destroy(source); ++ usbredirparser_destroy(target); ++} ++ ++int ++main(int argc, char **argv) ++{ ++ setlocale(LC_ALL, ""); ++ g_test_init(&argc, &argv, NULL); ++ ++ g_test_add_data_func("/serializer/serialize-and-unserialize", NULL, simple); ++ ++ return g_test_run(); ++} +diff --git a/usbredirparser/usbredirparser.c b/usbredirparser/usbredirparser.c +index cd1136b..a5dd0e7 100644 +--- a/usbredirparser/usbredirparser.c ++++ b/usbredirparser/usbredirparser.c +@@ -1816,9 +1816,7 @@ int usbredirparser_unserialize(struct usbredirparser *parser_pub, + return -1; + } + +- if (!(parser->write_buf_count == 0 && parser->write_buf == NULL && +- parser->write_buf_total_size == 0 && +- parser->data == NULL && parser->header_read == 0 && ++ if (!(parser->data == NULL && parser->header_read == 0 && + parser->type_header_read == 0 && parser->data_read == 0)) { + ERROR("unserialization must use a pristine parser"); + usbredirparser_assert_invariants(parser); +-- +2.37.1 + diff --git a/0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch b/0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch new file mode 100644 index 0000000..c46aa22 --- /dev/null +++ b/0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch @@ -0,0 +1,63 @@ +From b93c4cae1aebda786a478677d6364308e4579ade Mon Sep 17 00:00:00 2001 +From: Victor Toso +Date: Sat, 25 Jun 2022 00:29:12 +0200 +Subject: [PATCH 2/2] usbredirparser: reset parser's fields on unserialize +Content-type: text/plain + +This is a followup from previous commit and fixes the following leak. + + | 104 (24 direct, 80 indirect) bytes in 1 blocks are definitely lost in loss record 15 of 19 + | at 0x484A464: calloc (vg_replace_malloc.c:1328) + | by 0x485A238: usbredirparser_queue (usbredirparser.c:1235) + | by 0x485A571: usbredirparser_init (usbredirparser.c:227) + | by 0x40130B: get_usbredirparser (serializer.c:77) + | by 0x401379: simple (serializer.c:95) + | by 0x48FA3DD: ??? (in /usr/lib64/libglib-2.0.so.0.7200.2) + | by 0x48FA144: ??? (in /usr/lib64/libglib-2.0.so.0.7200.2) + | by 0x48FA8E1: g_test_run_suite (in /usr/lib64/libglib-2.0.so.0.7200.2) + | by 0x48FA94C: g_test_run (in /usr/lib64/libglib-2.0.so.0.7200.2) + | by 0x401161: main (serializer.c:112) + | + | LEAK SUMMARY: + | definitely lost: 24 bytes in 1 blocks + | indirectly lost: 80 bytes in 1 blocks + | possibly lost: 0 bytes in 0 blocks + | still reachable: 25,500 bytes in 17 blocks + | suppressed: 0 bytes in 0 blocks + | Reachable blocks (those to which a pointer was found) are not shown. + | To see them, rerun with: --leak-check=full --show-leak-kinds=all + +Signed-off-by: Victor Toso +--- + usbredirparser/usbredirparser.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/usbredirparser/usbredirparser.c b/usbredirparser/usbredirparser.c +index a5dd0e7..9bfc27c 100644 +--- a/usbredirparser/usbredirparser.c ++++ b/usbredirparser/usbredirparser.c +@@ -1823,6 +1823,21 @@ int usbredirparser_unserialize(struct usbredirparser *parser_pub, + return -1; + } + ++ { ++ /* We need to reset parser's state to receive unserialized ++ * data. */ ++ struct usbredirparser_buf *wbuf = parser->write_buf; ++ while (wbuf) { ++ struct usbredirparser_buf *next_wbuf = wbuf->next; ++ free(wbuf->buf); ++ free(wbuf); ++ wbuf = next_wbuf; ++ } ++ parser->write_buf = NULL; ++ parser->write_buf_count = 0; ++ parser->write_buf_total_size = 0; ++ } ++ + if (unserialize_int(parser, &state, &remain, &i, "length")) { + usbredirparser_assert_invariants(parser); + return -1; +-- +2.37.1 + diff --git a/usbredir.spec b/usbredir.spec index d28de58..98f7f4d 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,12 +1,14 @@ Name: usbredir Version: 0.12.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz Source1: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz.sig Source2: victortoso-E37A484F.keyring +Patch0001: 0001-usbredirparser-Fix-unserialize-on-pristine-check.patch +Patch0002: 0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch BuildRequires: gnupg2 BuildRequires: gcc g++ BuildRequires: glib2-devel @@ -89,6 +91,10 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Wed Jul 27 2022 Victor Toso - 0.12.0-4 +- Fixes unserialization (migration bug) + Resolves: rhbz#2096008 + * Sat Jul 23 2022 Fedora Release Engineering - 0.12.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 05b2474a288b30727257a9e4f4bcf76123305961 Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Wed, 3 Aug 2022 10:41:19 +0200 Subject: [PATCH 10/21] Update to 0.13.0 Signed-off-by: Victor Toso --- .gitignore | 2 + ...er-Fix-unserialize-on-pristine-check.patch | 193 ------------------ ...reset-parser-s-fields-on-unserialize.patch | 63 ------ sources | 4 +- usbredir.spec | 26 +-- 5 files changed, 18 insertions(+), 270 deletions(-) delete mode 100644 0001-usbredirparser-Fix-unserialize-on-pristine-check.patch delete mode 100644 0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch diff --git a/.gitignore b/.gitignore index 9329c0b..54f993c 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ /usbredir-0.11.0.tar.xz.sig /usbredir-0.12.0.tar.xz /usbredir-0.12.0.tar.xz.sig +/usbredir-0.13.0.tar.xz +/usbredir-0.13.0.tar.xz.sig diff --git a/0001-usbredirparser-Fix-unserialize-on-pristine-check.patch b/0001-usbredirparser-Fix-unserialize-on-pristine-check.patch deleted file mode 100644 index 9d21c34..0000000 --- a/0001-usbredirparser-Fix-unserialize-on-pristine-check.patch +++ /dev/null @@ -1,193 +0,0 @@ -From 6bf41a231b445ac5190c32e281b698b1ee5379b4 Mon Sep 17 00:00:00 2001 -From: Victor Toso -Date: Fri, 24 Jun 2022 23:29:08 +0200 -Subject: [PATCH 1/2] usbredirparser: Fix unserialize on pristine check -Content-type: text/plain - -As mentioned in the bug below, the user is trying to migrate QEMU and -it is failing on the unserialization of usbredirparser at the target -host. The user does not have USB attached to the VM at all. - -I've added a test that shows that serialization is currently broken. -It fails at the 'pristine' check in usbredirparser_unserialize(). - -This check was added with e37d86c "Skip empty write buffers when -unserializing parser" and restricted further with 186c4c7 "Avoid -memory leak from ill-formatted serialization data" - -The issue here is that usbredirparser's initialization sets some -fields and thus it isn't guaranteed to be pristine. - -The parser's basic data is: - - | write_buf_count ... : 1 - | write_buf ........ : 0xbc03e0 - | write_buf_total_size: 80 - | data ............. : (nil) - | header_read: ...... : 0 - | type_header_read .. : 0 - | data_read: ........ : 0 - -The current fix is to to ignore write_buf checks as, again, they are -not guaranteed to be pristine. usbredirparser library should properly -overwrite them when unserializing the data and if there were pending -buffers, they should be freed. - -Related: https://bugzilla.redhat.com/show_bug.cgi?id=2096008 - -Signed-off-by: Victor Toso ---- - tests/meson.build | 1 + - tests/serializer.c | 113 ++++++++++++++++++++++++++++++++ - usbredirparser/usbredirparser.c | 4 +- - 3 files changed, 115 insertions(+), 3 deletions(-) - create mode 100644 tests/serializer.c - -diff --git a/tests/meson.build b/tests/meson.build -index 0d4397b..2a179c9 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -1,5 +1,6 @@ - tests = [ - 'filter', -+ 'serializer', - ] - - deps = dependency('glib-2.0') -diff --git a/tests/serializer.c b/tests/serializer.c -new file mode 100644 -index 0000000..4bd669e ---- /dev/null -+++ b/tests/serializer.c -@@ -0,0 +1,113 @@ -+/* -+ * Copyright 2022 Red Hat, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+*/ -+#include "config.h" -+ -+#define G_LOG_DOMAIN "serializer" -+#define G_LOG_USE_STRUCTURED -+ -+#include "usbredirparser.h" -+ -+#include -+#include -+#include -+#include -+ -+ -+static void -+log_cb(void *priv, int level, const char *msg) -+{ -+ GLogLevelFlags glog_level; -+ -+ switch(level) { -+ case usbredirparser_error: -+ glog_level = G_LOG_LEVEL_ERROR; -+ break; -+ case usbredirparser_warning: -+ glog_level = G_LOG_LEVEL_WARNING; -+ break; -+ case usbredirparser_info: -+ glog_level = G_LOG_LEVEL_INFO; -+ break; -+ case usbredirparser_debug: -+ case usbredirparser_debug_data: -+ glog_level = G_LOG_LEVEL_DEBUG; -+ break; -+ default: -+ g_warn_if_reached(); -+ return; -+ } -+ g_log_structured(G_LOG_DOMAIN, glog_level, "MESSAGE", msg); -+} -+ -+static struct usbredirparser * -+get_usbredirparser(void) -+{ -+ struct usbredirparser *parser = usbredirparser_create(); -+ g_assert_nonnull(parser); -+ -+ uint32_t caps[USB_REDIR_CAPS_SIZE] = { 0, }; -+ /* Typical caps set by usbredirhost */ -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_connect_device_version); -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_filter); -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_device_disconnect_ack); -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_ep_info_max_packet_size); -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_64bits_ids); -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_32bits_bulk_length); -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_bulk_receiving); -+#if LIBUSBX_API_VERSION >= 0x01000103 -+ usbredirparser_caps_set_cap(caps, usb_redir_cap_bulk_streams); -+#endif -+ int parser_flags = usbredirparser_fl_usb_host; -+ -+ parser->log_func = log_cb; -+ usbredirparser_init(parser, -+ PACKAGE_STRING, -+ caps, -+ USB_REDIR_CAPS_SIZE, -+ parser_flags); -+ return parser; -+} -+ -+static void -+simple (gconstpointer user_data) -+{ -+ uint8_t *state = NULL; -+ int ret, len = -1; -+ -+ struct usbredirparser *source = get_usbredirparser(); -+ ret = usbredirparser_serialize(source, &state, &len); -+ g_assert_cmpint(ret, ==, 0); -+ -+ struct usbredirparser *target = get_usbredirparser(); -+ ret = usbredirparser_unserialize(target, state, len); -+ g_assert_cmpint(ret, ==, 0); -+ -+ g_clear_pointer(&state, free); -+ usbredirparser_destroy(source); -+ usbredirparser_destroy(target); -+} -+ -+int -+main(int argc, char **argv) -+{ -+ setlocale(LC_ALL, ""); -+ g_test_init(&argc, &argv, NULL); -+ -+ g_test_add_data_func("/serializer/serialize-and-unserialize", NULL, simple); -+ -+ return g_test_run(); -+} -diff --git a/usbredirparser/usbredirparser.c b/usbredirparser/usbredirparser.c -index cd1136b..a5dd0e7 100644 ---- a/usbredirparser/usbredirparser.c -+++ b/usbredirparser/usbredirparser.c -@@ -1816,9 +1816,7 @@ int usbredirparser_unserialize(struct usbredirparser *parser_pub, - return -1; - } - -- if (!(parser->write_buf_count == 0 && parser->write_buf == NULL && -- parser->write_buf_total_size == 0 && -- parser->data == NULL && parser->header_read == 0 && -+ if (!(parser->data == NULL && parser->header_read == 0 && - parser->type_header_read == 0 && parser->data_read == 0)) { - ERROR("unserialization must use a pristine parser"); - usbredirparser_assert_invariants(parser); --- -2.37.1 - diff --git a/0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch b/0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch deleted file mode 100644 index c46aa22..0000000 --- a/0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch +++ /dev/null @@ -1,63 +0,0 @@ -From b93c4cae1aebda786a478677d6364308e4579ade Mon Sep 17 00:00:00 2001 -From: Victor Toso -Date: Sat, 25 Jun 2022 00:29:12 +0200 -Subject: [PATCH 2/2] usbredirparser: reset parser's fields on unserialize -Content-type: text/plain - -This is a followup from previous commit and fixes the following leak. - - | 104 (24 direct, 80 indirect) bytes in 1 blocks are definitely lost in loss record 15 of 19 - | at 0x484A464: calloc (vg_replace_malloc.c:1328) - | by 0x485A238: usbredirparser_queue (usbredirparser.c:1235) - | by 0x485A571: usbredirparser_init (usbredirparser.c:227) - | by 0x40130B: get_usbredirparser (serializer.c:77) - | by 0x401379: simple (serializer.c:95) - | by 0x48FA3DD: ??? (in /usr/lib64/libglib-2.0.so.0.7200.2) - | by 0x48FA144: ??? (in /usr/lib64/libglib-2.0.so.0.7200.2) - | by 0x48FA8E1: g_test_run_suite (in /usr/lib64/libglib-2.0.so.0.7200.2) - | by 0x48FA94C: g_test_run (in /usr/lib64/libglib-2.0.so.0.7200.2) - | by 0x401161: main (serializer.c:112) - | - | LEAK SUMMARY: - | definitely lost: 24 bytes in 1 blocks - | indirectly lost: 80 bytes in 1 blocks - | possibly lost: 0 bytes in 0 blocks - | still reachable: 25,500 bytes in 17 blocks - | suppressed: 0 bytes in 0 blocks - | Reachable blocks (those to which a pointer was found) are not shown. - | To see them, rerun with: --leak-check=full --show-leak-kinds=all - -Signed-off-by: Victor Toso ---- - usbredirparser/usbredirparser.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/usbredirparser/usbredirparser.c b/usbredirparser/usbredirparser.c -index a5dd0e7..9bfc27c 100644 ---- a/usbredirparser/usbredirparser.c -+++ b/usbredirparser/usbredirparser.c -@@ -1823,6 +1823,21 @@ int usbredirparser_unserialize(struct usbredirparser *parser_pub, - return -1; - } - -+ { -+ /* We need to reset parser's state to receive unserialized -+ * data. */ -+ struct usbredirparser_buf *wbuf = parser->write_buf; -+ while (wbuf) { -+ struct usbredirparser_buf *next_wbuf = wbuf->next; -+ free(wbuf->buf); -+ free(wbuf); -+ wbuf = next_wbuf; -+ } -+ parser->write_buf = NULL; -+ parser->write_buf_count = 0; -+ parser->write_buf_total_size = 0; -+ } -+ - if (unserialize_int(parser, &state, &remain, &i, "length")) { - usbredirparser_assert_invariants(parser); - return -1; --- -2.37.1 - diff --git a/sources b/sources index 31170db..014291a 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (usbredir-0.12.0.tar.xz) = f509a6b5d410fec53efbdc186b80376d6b7f5b34c6c33f2037a83bf105743667c5a18a6d1ef33d6b3c57c1ed6a52b94536369ca768eddb70fda7b436d35fe6ab -SHA512 (usbredir-0.12.0.tar.xz.sig) = e8fae716ad611d16aeaad496b61011364c72eb682d498d2d7d23e4ef8e52b71acb7c7f9506c36e5f5afd7f4e1388241457fbfed1060601bbe64790e0baf99d22 SHA512 (victortoso-E37A484F.keyring) = 091755da8a358c8c8ebd3b5443b4b5eb3c260afed943454c085d48c973de6a42763547c321c64e4da5c1b2983ad0c5146aaeddeb1d54ef414f7e6a530a3bf14a +SHA512 (usbredir-0.13.0.tar.xz) = dd27b1794233d4a278c3ca0e2a1ef9518946d8c7422cf58bb83d8ed5b4358133da27bdb0f44ad7b679a9983b3c419c3ab014486735614f7ceea85bfa62904273 +SHA512 (usbredir-0.13.0.tar.xz.sig) = ce6998600a252546641bbc4d3595a9d920c5b1f7bceafcca14d45dd1c672cdb0df4a99dc626b64a1d14c5afef175bd0806db293abbe7a671869ae183842cdd0e diff --git a/usbredir.spec b/usbredir.spec index 98f7f4d..a8a935c 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,14 +1,12 @@ Name: usbredir -Version: 0.12.0 -Release: 4%{?dist} +Version: 0.13.0 +Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz Source1: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz.sig Source2: victortoso-E37A484F.keyring -Patch0001: 0001-usbredirparser-Fix-unserialize-on-pristine-check.patch -Patch0002: 0002-usbredirparser-reset-parser-s-fields-on-unserialize.patch BuildRequires: gnupg2 BuildRequires: gcc g++ BuildRequires: glib2-devel @@ -40,14 +38,14 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. -%package server -Summary: Simple USB host TCP server +%package tools +Summary: usbredir utility tools License: GPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} -%description server -A simple USB host TCP server, using libusbredirhost. - +%description tools +Includes usbredirect that uses libusbredirhost to export an USB device for use +in another (virtual) machine %prep gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} @@ -81,16 +79,20 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %{_libdir}/libusbredir*.so %{_libdir}/pkgconfig/libusbredir*.pc -%files server +%files tools %{!?_licensedir:%global license %%doc} %license COPYING %{_bindir}/usbredirect -%{_sbindir}/usbredirserver %{_mandir}/man1/usbredirect.1* -%{_mandir}/man1/usbredirserver.1* %changelog +* Wed Aug 03 2022 Victor Toso - 0.13.0-1 +- Update to 0.13.0 + Release 0.13.0 drops usbredirserver binary so we now have renamed + usbredir-server pacakge to usbredir-tools which is more befitting what it + contains + * Wed Jul 27 2022 Victor Toso - 0.12.0-4 - Fixes unserialization (migration bug) Resolves: rhbz#2096008 From 003a6f5c1e8ec588856d1a70afa927754170b739 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 05:58:32 +0000 Subject: [PATCH 11/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index a8a935c..f5fd34d 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.13.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html @@ -87,6 +87,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 0.13.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Aug 03 2022 Victor Toso - 0.13.0-1 - Update to 0.13.0 Release 0.13.0 drops usbredirserver binary so we now have renamed From 892973721fc3b6b90488a8e0c9b30214c6b9ccc6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:16:38 +0000 Subject: [PATCH 12/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index f5fd34d..98e2622 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.13.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: USB network redirection protocol libraries License: LGPLv2+ URL: https://www.spice-space.org/usbredir.html @@ -87,6 +87,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 0.13.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jan 21 2023 Fedora Release Engineering - 0.13.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From bc5ce94f433b0b0f87584d202b94ea03a840eaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Mon, 24 Jul 2023 13:25:41 +0100 Subject: [PATCH 13/21] Convert license to SPDX format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel P. Berrangé --- usbredir.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 98e2622..388f773 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -2,7 +2,7 @@ Name: usbredir Version: 0.13.0 Release: 3%{?dist} Summary: USB network redirection protocol libraries -License: LGPLv2+ +License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html Source0: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz Source1: http://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz.sig From c133a9f3e8ad493683d645989b0474d1b7739804 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 07:17:52 +0000 Subject: [PATCH 14/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 388f773..a82d069 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.13.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -87,6 +87,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 0.13.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jul 22 2023 Fedora Release Engineering - 0.13.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From d4c410e201efd84619d5292e38b138f1caa642a1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:25:36 +0000 Subject: [PATCH 15/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index a82d069..7049a73 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.13.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -87,6 +87,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 0.13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Jan 27 2024 Fedora Release Engineering - 0.13.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From aa35953cfa800b9897aed7fc84efc75ba0872646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Fri, 26 Jul 2024 03:29:13 +0200 Subject: [PATCH 16/21] convert GPLv2+ license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- usbredir.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/usbredir.spec b/usbredir.spec index 7049a73..adae0cd 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.13.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -40,7 +40,8 @@ developing applications that use %{name}. %package tools Summary: usbredir utility tools -License: GPLv2+ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later Requires: %{name}%{?_isa} = %{version}-%{release} %description tools @@ -87,6 +88,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Fri Jul 26 2024 Miroslav Suchý - 0.13.0-6 +- convert license to SPDX + * Sat Jul 20 2024 Fedora Release Engineering - 0.13.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 4c425f6267feb452fcfa6729f7516d552d315d28 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 13:56:50 +0000 Subject: [PATCH 17/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index adae0cd..de3c310 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.13.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -88,6 +88,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 0.13.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Fri Jul 26 2024 Miroslav Suchý - 0.13.0-6 - convert license to SPDX From 8d2d0011dfc0da89218d209547b75f47a5fc78d5 Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Mon, 27 Jan 2025 11:09:40 +0100 Subject: [PATCH 18/21] update to release 0.15.0 Signed-off-by: Victor Toso --- .gitignore | 2 ++ sources | 4 ++-- usbredir.spec | 7 +++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 54f993c..b909e0c 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ /usbredir-0.12.0.tar.xz.sig /usbredir-0.13.0.tar.xz /usbredir-0.13.0.tar.xz.sig +/usbredir-0.15.0.tar.xz +/usbredir-0.15.0.tar.xz.sig diff --git a/sources b/sources index 014291a..2433dc7 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ +SHA512 (usbredir-0.15.0.tar.xz) = 21e99fa419f35fabf7eb3f066a36d5b43a81fef818ceda42dc637566ff1c53ef02f9a81ad8ab32af3039e248c82eb708ae5de80f18b662d156d53221fc1d63fc +SHA512 (usbredir-0.15.0.tar.xz.sig) = 5b85fc2c98837759f9ba57227c65ce20d457f5d346309e2127a4fc142ba8ea24441949edf2a9f230c2abfff999022dcdea17197fec2bb53288f628d554265172 SHA512 (victortoso-E37A484F.keyring) = 091755da8a358c8c8ebd3b5443b4b5eb3c260afed943454c085d48c973de6a42763547c321c64e4da5c1b2983ad0c5146aaeddeb1d54ef414f7e6a530a3bf14a -SHA512 (usbredir-0.13.0.tar.xz) = dd27b1794233d4a278c3ca0e2a1ef9518946d8c7422cf58bb83d8ed5b4358133da27bdb0f44ad7b679a9983b3c419c3ab014486735614f7ceea85bfa62904273 -SHA512 (usbredir-0.13.0.tar.xz.sig) = ce6998600a252546641bbc4d3595a9d920c5b1f7bceafcca14d45dd1c672cdb0df4a99dc626b64a1d14c5afef175bd0806db293abbe7a671869ae183842cdd0e diff --git a/usbredir.spec b/usbredir.spec index de3c310..4707e70 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir -Version: 0.13.0 -Release: 7%{?dist} +Version: 0.15.0 +Release: 1%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -88,6 +88,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Mon Jan 27 2025 Victor Toso - 0.15.0-1 +- Update to 0.15.0 + * Sun Jan 19 2025 Fedora Release Engineering - 0.13.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 64e628e9a11eb97994bda7ecdef99f00ef66d512 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:52:47 +0000 Subject: [PATCH 19/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 4707e70..36f0400 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.15.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -88,6 +88,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 0.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Jan 27 2025 Victor Toso - 0.15.0-1 - Update to 0.15.0 From 404711767bf99a229a4505ab74dd71926234e2ad Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:41:57 +0000 Subject: [PATCH 20/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 36f0400..714b83c 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.15.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -88,6 +88,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 0.15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Fri Jul 25 2025 Fedora Release Engineering - 0.15.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 77168fda4dc20773b556fbf4bfd76f37ab4fb1af Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:16:33 +0000 Subject: [PATCH 21/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- usbredir.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usbredir.spec b/usbredir.spec index 714b83c..0ef0bb2 100644 --- a/usbredir.spec +++ b/usbredir.spec @@ -1,6 +1,6 @@ Name: usbredir Version: 0.15.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: USB network redirection protocol libraries License: LGPL-2.1-or-later URL: https://www.spice-space.org/usbredir.html @@ -88,6 +88,9 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.15.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Sat Jan 17 2026 Fedora Release Engineering - 0.15.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild