From 29acccc4aa6e2640c971a9ed6eaf0e58d5093a18 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sun, 22 Mar 2020 19:48:28 -0500 Subject: [PATCH] pull in some upstream fixes --- ...ervice-Drop-Also-avahi-daemon.socket.patch | 25 +++++++++ 0007-man-add-missing-bshell.1-symlink.patch | 35 +++++++++++++ ...ver-1-bssh-1-and-bvnc-1-also-for-GTK.patch | 52 +++++++++++++++++++ 0009-fix-requires-in-pc-file.patch | 24 +++++++++ ...testring-decoding-for-proper-display.patch | 32 ++++++++++++ ..._consume_uint32-fix-potential-undefi.patch | 33 ++++++++++++ avahi.spec | 11 +++- 7 files changed, 211 insertions(+), 1 deletion(-) create mode 100644 0006-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch create mode 100644 0007-man-add-missing-bshell.1-symlink.patch create mode 100644 0008-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch create mode 100644 0009-fix-requires-in-pc-file.patch create mode 100644 0010-fix-bytestring-decoding-for-proper-display.patch create mode 100644 0011-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch diff --git a/0006-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch b/0006-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch new file mode 100644 index 0000000..d736890 --- /dev/null +++ b/0006-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch @@ -0,0 +1,25 @@ +From 9c3a314856affb288f701d2d3ee23278fc98eaee Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Tue, 18 Feb 2020 15:43:19 +0800 +Subject: [PATCH 06/11] avahi-dnsconfd.service: Drop "Also=avahi-daemon.socket" + +Also=avahi-daemon.socket' means that 'systemctl disable avahi-dnsconfd' +ill also disable avahi-daemon.socket, which is definitely not what we +ant, and it also causes debhelper to throw an error. Just drop this +entry from the configuration. +--- + avahi-dnsconfd/avahi-dnsconfd.service.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/avahi-dnsconfd/avahi-dnsconfd.service.in b/avahi-dnsconfd/avahi-dnsconfd.service.in +index 95db79f..7c293da 100644 +--- a/avahi-dnsconfd/avahi-dnsconfd.service.in ++++ b/avahi-dnsconfd/avahi-dnsconfd.service.in +@@ -26,4 +26,3 @@ ExecStart=@sbindir@/avahi-dnsconfd -s + + [Install] + WantedBy=multi-user.target +-Also=avahi-daemon.socket +-- +2.25.2 + diff --git a/0007-man-add-missing-bshell.1-symlink.patch b/0007-man-add-missing-bshell.1-symlink.patch new file mode 100644 index 0000000..9a79ec3 --- /dev/null +++ b/0007-man-add-missing-bshell.1-symlink.patch @@ -0,0 +1,35 @@ +From f983df44870b602179b493f9c3d113753b378e27 Mon Sep 17 00:00:00 2001 +From: Michael Biebl +Date: Sun, 17 Sep 2017 12:52:39 +0200 +Subject: [PATCH 07/11] man: add missing bshell.1 symlink + +The bshell binary is missing a symlink to its manual page. It should be +symlinked to the man page for bssh, just like how the bvnc man page is. + +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=655190 +--- + man/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/man/Makefile.am b/man/Makefile.am +index d38267c..77a27bd 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -137,12 +137,13 @@ BSSH_LN = + if HAVE_GTK + if HAVE_GLIB + BSSH_LN += $(LN_S) bssh.1 bvnc.1 && ++BSSH_LN += $(LN_S) bssh.1 bshell.1 && + endif + endif + install-exec-local: + mkdir -p $(DESTDIR)/$(mandir)/man1 && \ + cd $(DESTDIR)/$(mandir)/man1 && \ +- rm -f avahi-resolve-host-name.1 avahi-resolve-address.1 avahi-browse-domains.1 avahi-publish-address.1 avahi-publish-service.1 bvnc.1 && \ ++ rm -f avahi-resolve-host-name.1 avahi-resolve-address.1 avahi-browse-domains.1 avahi-publish-address.1 avahi-publish-service.1 bvnc.1 bshell.1 && \ + $(BSSH_LN) \ + $(LN_S) avahi-resolve.1 avahi-resolve-host-name.1 && \ + $(LN_S) avahi-resolve.1 avahi-resolve-address.1 && \ +-- +2.25.2 + diff --git a/0008-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch b/0008-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch new file mode 100644 index 0000000..fbcebbb --- /dev/null +++ b/0008-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch @@ -0,0 +1,52 @@ +From 751be804e891aec5701a059144e2f5cbfc981b36 Mon Sep 17 00:00:00 2001 +From: Andreas Henriksson +Date: Thu, 24 Aug 2017 17:52:19 +0200 +Subject: [PATCH 08/11] Ship avahi-discover(1), bssh(1) and bvnc(1) also for + GTK3 + +These manpages went missing when you disabled gtk2 builds.... +--- + man/Makefile.am | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/man/Makefile.am b/man/Makefile.am +index 77a27bd..289b942 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -56,7 +56,7 @@ man_MANS += \ + avahi-publish.1 \ + avahi-set-host-name.1 + +-if HAVE_GTK ++if HAVE_GTK2OR3 + man_MANS += \ + bssh.1 + endif +@@ -64,12 +64,13 @@ endif + if HAVE_PYTHON + man_MANS += \ + avahi-bookmarks.1 +-if HAVE_GTK ++endif ++ ++if HAVE_PYGOBJECT + man_MANS += \ + avahi-discover.1 + endif + endif +-endif + + if ENABLE_AUTOIPD + if HAVE_LIBDAEMON +@@ -134,7 +135,7 @@ EXTRA_DIST = \ + if HAVE_DBUS + + BSSH_LN = +-if HAVE_GTK ++if HAVE_GTK2OR3 + if HAVE_GLIB + BSSH_LN += $(LN_S) bssh.1 bvnc.1 && + BSSH_LN += $(LN_S) bssh.1 bshell.1 && +-- +2.25.2 + diff --git a/0009-fix-requires-in-pc-file.patch b/0009-fix-requires-in-pc-file.patch new file mode 100644 index 0000000..a93e5c3 --- /dev/null +++ b/0009-fix-requires-in-pc-file.patch @@ -0,0 +1,24 @@ +From 366e3798bdbd6b7bf24e59379f4a9a51af575ce9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tomasz=20Pawe=C5=82=20Gajc?= +Date: Thu, 20 Feb 2020 16:09:40 +0100 +Subject: [PATCH 09/11] fix requires in pc file + +--- + avahi-libevent.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/avahi-libevent.pc.in b/avahi-libevent.pc.in +index a1dca01..3356b0b 100644 +--- a/avahi-libevent.pc.in ++++ b/avahi-libevent.pc.in +@@ -6,6 +6,6 @@ includedir=${prefix}/include + Name: avahi-libevent + Description: Avahi Multicast DNS Responder (libevent Support) + Version: @PACKAGE_VERSION@ +-Requires: libevent-2.1.5 ++Requires: libevent >= 2.1.5 + Libs: -L${libdir} -lavahi-libevent + Cflags: -D_REENTRANT -I${includedir} +-- +2.25.2 + diff --git a/0010-fix-bytestring-decoding-for-proper-display.patch b/0010-fix-bytestring-decoding-for-proper-display.patch new file mode 100644 index 0000000..ce95875 --- /dev/null +++ b/0010-fix-bytestring-decoding-for-proper-display.patch @@ -0,0 +1,32 @@ +From a94f72081dd1d546a1d95d860311a1242315bb28 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=89ric=20Araujo?= +Date: Sat, 29 Feb 2020 19:14:04 -0500 +Subject: [PATCH 10/11] fix bytestring decoding for proper display + +--- + avahi-python/avahi-discover/avahi-discover.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/avahi-python/avahi-discover/avahi-discover.py b/avahi-python/avahi-discover/avahi-discover.py +index 0db705d..4a2b575 100755 +--- a/avahi-python/avahi-discover/avahi-discover.py ++++ b/avahi-python/avahi-discover/avahi-discover.py +@@ -238,12 +238,15 @@ class Main_window: + txts+="" + _("TXT") + " %s = %s\n" % (k,v) + else: + txts = "" + _("TXT Data:") + " " + _("empty") + "" ++ ++ txts = txts.decode("utf-8") + + infos = "" + _("Service Type:") + " %s\n" + infos += "" + _("Service Name:") + " %s\n" + infos += "" + _("Domain Name:") + " %s\n" + infos += "" + _("Interface:") + " %s %s\n" + infos += "" + _("Address:") + " %s/%s:%i\n%s" ++ infos = infos.decode("utf-8") + infos = infos % (stype, name, domain, self.siocgifname(interface), self.protoname(protocol), host, address, port, txts.strip()) + self.info_label.set_markup(infos) + +-- +2.25.2 + diff --git a/0011-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch b/0011-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch new file mode 100644 index 0000000..d5bbf20 --- /dev/null +++ b/0011-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch @@ -0,0 +1,33 @@ +From b897ca43ac100d326d118e5877da710eb7f836f9 Mon Sep 17 00:00:00 2001 +From: traffic-millions <60914101+traffic-millions@users.noreply.github.com> +Date: Tue, 3 Mar 2020 11:15:48 +0800 +Subject: [PATCH 11/11] avahi_dns_packet_consume_uint32: fix potential + undefined behavior + +avahi_dns_packet_consume_uint32 left shifts uint8_t values by 8, 16 and 24 bits to combine them into a 32-bit value. This produces an undefined behavior warning with gcc -fsanitize when fed input values of 128 or 255 however in testing no actual unexpected behavior occurs in practice and the 32-bit uint32_t is always correctly produced as the final value is immediately stored into a uint32_t and the compiler appears to handle this "correctly". + +Cast the intermediate values to uint32_t to prevent this warning and ensure the intended result is explicit. + +Closes: #267 +Closes: #268 +Reference: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19304 +--- + avahi-core/dns.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/avahi-core/dns.c b/avahi-core/dns.c +index 7c38f42..d793b76 100644 +--- a/avahi-core/dns.c ++++ b/avahi-core/dns.c +@@ -455,7 +455,7 @@ int avahi_dns_packet_consume_uint32(AvahiDnsPacket *p, uint32_t *ret_v) { + return -1; + + d = (uint8_t*) (AVAHI_DNS_PACKET_DATA(p) + p->rindex); +- *ret_v = (d[0] << 24) | (d[1] << 16) | (d[2] << 8) | d[3]; ++ *ret_v = ((uint32_t)d[0] << 24) | ((uint32_t)d[1] << 16) | ((uint32_t)d[2] << 8) | (uint32_t)d[3]; + p->rindex += sizeof(uint32_t); + + return 0; +-- +2.25.2 + diff --git a/avahi.spec b/avahi.spec index f0ded55..214a557 100644 --- a/avahi.spec +++ b/avahi.spec @@ -34,7 +34,7 @@ Name: avahi Version: 0.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Local network service discovery License: LGPLv2+ URL: http://avahi.org @@ -109,6 +109,12 @@ Source0: https://github.com/lathiat/avahi/releases/download/v%{version} %endif ## upstream patches +Patch6: 0006-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch +Patch7: 0007-man-add-missing-bshell.1-symlink.patch +Patch8: 0008-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch +Patch9: 0009-fix-requires-in-pc-file.patch +Patch10: 0010-fix-bytestring-decoding-for-proper-display.patch +Patch11: 0011-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch ## downstream patches Patch100: avahi-0.6.30-mono-libdir.patch @@ -774,6 +780,9 @@ exit 0 %changelog +* Sun Mar 22 2020 Rex Dieter - 0.8-2 +- pull in some upstream fixes + * Sun Mar 22 2020 Lubomir Rintel - 0.8-1 - Update to version 0.8