|
Bugzilla – Full Text Bug Listing |
| Summary: | avahi-browse -a fails with "Invalid service type" | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Distribution | Reporter: | Martin Wilck <martin.wilck> |
| Component: | GNOME | Assignee: | Michael Gorse <mgorse> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | mgorse |
| Version: | Leap 15.6 | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
log of "avahi-daemon --debug"
DBus monitor log wireshark packet log for MDNS (port 5353) |
||
|
Description
Martin Wilck
2024-06-20 10:53:56 UTC
Created attachment 875595 [details]
log of "avahi-daemon --debug"
Created attachment 875596 [details]
DBus monitor log
Created attachment 875598 [details]
wireshark packet log for MDNS (port 5353)
This logs and the previous two are from the same test run.
I found two suspicious entries in the packet log.
Frame 41: 534 bytes on wire (4272 bits), 534 bytes captured (4272 bits) on interface eth0, id 0
Ethernet II, Src: AmazonTe_3c:91:23 (84:28:59:3c:91:23), Dst: IPv4mcast_fb (01:00:5e:00:00:fb)
Internet Protocol Version 4, Src: 192.168.1.200, Dst: 224.0.0.251
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
Multicast Domain Name System (response)
Transaction ID: 0x0000
Flags: 0x8400 Standard query response, No error
Questions: 0
Answer RRs: 20
Authority RRs: 0
Additional RRs: 0
Answers
_services._dns-sd._udp.local: type PTR, class IN, <Root>
Name: _services._dns-sd._udp.local
Type: PTR (domain name PoinTeR) (12)
.000 0000 0000 0001 = Class: IN (0x0001)
0... .... .... .... = Cache flush: False
Time to live: 3600 (1 hour)
Data length: 1
Domain Name: <Root>
_services._dns-sd._udp.local: type PTR, class IN, local
Name: _services._dns-sd._udp.local
Type: PTR (domain name PoinTeR) (12)
.000 0000 0000 0001 = Class: IN (0x0001)
0... .... .... .... = Cache flush: False
Time to live: 3600 (1 hour)
Data length: 2
Domain Name: local
Possibly related: https://github.com/avahi/avahi/issues/212 "avahi-browse -a breaks with "Invalid service type" if a device sends a malformed service" https://github.com/avahi/avahi/pull/523 "core: no longer supply bogus services to callbacks" I can confirm that the patch from avahi#523 fixes the issue. The daemon log now shows the following messages: Failed to split service name '' Failed to split service name 'local' The upstream discussion about this has been ongoing for a _very_ long time. Some distros, for example arch, have used downstream patches. See avahi#212 and https://avahi.freedesktop.narkive.com/2Vi2UDCe/daemon-dies-on-certain-hostnames (discussion from 2006!). Upstream seems to have settled on the commit from avahi#523 in 0.9-rc1. Background in my home network: I added new printer (HP smarttank 7305) yesterday. This morning I saw the issue mentioned in this bug for the first time. Because the printer is the only new device in my network, and it uses mDNS to advertize its services, it's not unlikely that something this printer is doing caused the issue. However, the apparently broken mDNS records are not sent by the printer, but from my Amazon fire TV stick (192.168.1.200) in packet 41. It appears that this host violates the mDNS spec by responding with PTR records it doesn't provide itself, such as _uscan._tcp.local (https://datatracker.ietf.org/doc/html/rfc6762#section-6: "When a Multicast DNS responder constructs and sends a Multicast DNS response message, the Resource Record Sections of that message must contain only records for which that responder is explicitly authoritative" - but I'm no expert on the mDNS protocol). Some of these would naturally be provided by my printer only. Anyway, no such breakage should cause the operation of avahi to be disrupted. Here's another bogus response from the Fire TV which I just captured:
0000 01 00 5e 00 00 fb 84 28 59 3c 91 23 08 00 45 00 ..^....(Y<.#..E.
0010 00 51 ef 3e 40 00 01 11 e6 f1 c0 a8 01 c8 e0 00 .Q.>@...........
0020 00 fb 14 e9 14 e9 00 3d 6a 0c 00 00 84 00 00 00 .......=j.......
0030 00 01 00 00 00 00 09 5f 73 65 72 76 69 63 65 73 ......._services
0040 07 5f 64 6e 73 2d 73 64 04 5f 75 64 70 05 6c 6f ._dns-sd._udp.lo
0050 63 61 6c 00 00 0c 00 01 00 00 0e 0f 00 01 00 cal............
It contains only the broken 0-byte response that is displayed as "<ROOT>" in the wireshark dissection:
Frame 74: 95 bytes on wire (760 bits), 95 bytes captured (760 bits) on interface eth0, id 0
Ethernet II, Src: AmazonTe_3c:91:23 (84:28:59:3c:91:23), Dst: IPv4mcast_fb (01:00:5e:00:00:fb)
Internet Protocol Version 4, Src: 192.168.1.200, Dst: 224.0.0.251
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
Multicast Domain Name System (response)
Transaction ID: 0x0000
Flags: 0x8400 Standard query response, No error
Questions: 0
Answer RRs: 1
Authority RRs: 0
Additional RRs: 0
Answers
_services._dns-sd._udp.local: type PTR, class IN, <Root>
Name: _services._dns-sd._udp.local
Type: PTR (domain name PoinTeR) (12)
.000 0000 0000 0001 = Class: IN (0x0001)
0... .... .... .... = Cache flush: False
Time to live: 3599 (59 minutes, 59 seconds)
Data length: 1
Domain Name: <Root>
Perhaps not unexpectedly, the error is gone (for now) after restarting the Amazon FireTV stick. I'll observe this further. Regardless, I'd recommend applying the patch mentioned in comment 5. created sr#1181978 for GNOME:Factory/avahi This is an autogenerated message for OBS integration: This bug (1226586) was mentioned in https://build.opensuse.org/request/show/1181998 Factory / avahi SUSE-SU-2024:2200-1: An update that solves two vulnerabilities and has one security fix can now be installed. Category: security (moderate) Bug References: 1216594, 1216598, 1226586 CVE References: CVE-2023-38469, CVE-2023-38471 Maintenance Incident: [SUSE:Maintenance:34466](https://smelt.suse.de/incident/34466/) Sources used: openSUSE Leap 15.6 (src): avahi-qt5-0.8-150600.15.3.1, avahi-0.8-150600.15.3.1, avahi-glib2-0.8-150600.15.3.1 Basesystem Module 15-SP6 (src): avahi-0.8-150600.15.3.1, avahi-glib2-0.8-150600.15.3.1 Desktop Applications Module 15-SP6 (src): avahi-0.8-150600.15.3.1, avahi-glib2-0.8-150600.15.3.1 SUSE Package Hub 15 15-SP6 (src): avahi-0.8-150600.15.3.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination. Closing per comment 14, thanks! |