diff --git a/.gitignore b/.gitignore index de8019f..58ba81a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /xdg-dbus-proxy-0.1.1.tar.xz /xdg-dbus-proxy-0.1.2.tar.xz /xdg-dbus-proxy-0.1.3.tar.xz +/xdg-dbus-proxy-0.1.4.tar.xz diff --git a/0001-flatpak-proxy-Fix-D-Bus-disconnection-with-overly-lo.patch b/0001-flatpak-proxy-Fix-D-Bus-disconnection-with-overly-lo.patch new file mode 100644 index 0000000..b37c045 --- /dev/null +++ b/0001-flatpak-proxy-Fix-D-Bus-disconnection-with-overly-lo.patch @@ -0,0 +1,37 @@ +From dea3530414f8d118e64f8ae408eb19f479abc082 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Thu, 20 Jul 2023 14:48:41 +0200 +Subject: [PATCH] flatpak-proxy: Fix D-Bus disconnection with overly long + object paths + +According to the D-Bus specifications: +https://dbus.freedesktop.org/doc/dbus-specification.html#id-1.4.4 +For the STRING and OBJECT_PATH types, [the data length] is encoded in 4 +bytes (a UINT32). + +But the code was trying to parse the 32-bit integer as an 8-bit one, +meaning that, as was the case with object paths created by the dLeyna +project, a 259-byte long string would be parsed like a 3-byte long +one. + +Fixes: 004b7b2ca0e9 ("Parse dbus headers") in flatpak +--- + flatpak-proxy.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/flatpak-proxy.c b/flatpak-proxy.c +index 48781560c8bc..47e51df3df40 100644 +--- a/flatpak-proxy.c ++++ b/flatpak-proxy.c +@@ -1116,7 +1116,7 @@ get_signature (Buffer *buffer, guint32 *offset, guint32 end_offset) + static const char * + get_string (Buffer *buffer, Header *header, guint32 *offset, guint32 end_offset) + { +- guint8 len; ++ guint32 len; + char *str; + + *offset = align_by_4 (*offset); +-- +2.41.0 + diff --git a/sources b/sources index c68ffab..e2b7d38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xdg-dbus-proxy-0.1.3.tar.xz) = bb730366efca9d0d199983063dd5cd7b8a8aac8d9efd8e3d6b6090166e5e09a74ef241a07388cfbb2f108e66b3a29114671a6d955324626aebefa1d6c2423632 +SHA512 (xdg-dbus-proxy-0.1.4.tar.xz) = d50fa916d07f23e080ab53cf290b5d6db73cfd8262253a48b9f012ce6c182e201d0a67efaeb7f28a844d3ef146aa48936dfbe4279a59b909a6dc4419d5f15b04 diff --git a/xdg-dbus-proxy.spec b/xdg-dbus-proxy.spec index 90a4d9c..8d49eb4 100644 --- a/xdg-dbus-proxy.spec +++ b/xdg-dbus-proxy.spec @@ -1,5 +1,5 @@ Name: xdg-dbus-proxy -Version: 0.1.3 +Version: 0.1.4 Release: 2%{?dist} Summary: Filtering proxy for D-Bus connections @@ -7,7 +7,7 @@ License: LGPLv2+ URL: https://github.com/flatpak/xdg-dbus-proxy/ Source0: https://github.com/flatpak/xdg-dbus-proxy/releases/download/%{version}/%{name}-%{version}.tar.xz -BuildRequires: make +BuildRequires: meson BuildRequires: docbook-style-xsl BuildRequires: gcc BuildRequires: pkgconfig(gio-2.0) @@ -17,6 +17,9 @@ BuildRequires: /usr/bin/xsltproc Requires: dbus +# https://github.com/flatpak/xdg-dbus-proxy/pull/50 +Patch0: 0001-flatpak-proxy-Fix-D-Bus-disconnection-with-overly-lo.patch + %description xdg-dbus-proxy is a filtering proxy for D-Bus connections. It was originally part of the flatpak project, but it has been broken out as a standalone module @@ -26,11 +29,11 @@ to facilitate using it in other contexts. %autosetup -p1 %build -%configure -%make_build +%meson +%meson_build %install -%make_install +%meson_install %files %license COPYING @@ -38,6 +41,12 @@ to facilitate using it in other contexts. %{_mandir}/man1/xdg-dbus-proxy.1* %changelog +* Wed Jul 19 2023 Bastien Nocera - 0.1.4-2 +- Fix D-Bus disconnection when an object path was overly long + +* Wed Jul 19 2023 Bastien Nocera - 0.1.4-1 +- Update to 0.1.4 + * Sat Jul 23 2022 Fedora Release Engineering - 0.1.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild