Bug 1959209 - avahi-daemon ignores ListenStream= setting in systemd avahi-daemon.socket (value hard-coded in binaries)
Summary: avahi-daemon ignores ListenStream= setting in systemd avahi-daemon.socket (...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: avahi
Version: 32
Hardware: All
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Michal Sekletar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-11 00:46 UTC by insaner
Modified: 2021-05-25 17:52 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-05-25 17:52:47 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description insaner 2021-05-11 00:46:02 UTC
Description of problem:

As mentioned in Bug 1471318, avahi-daemon ignores the  ListenStream=  setting in /usr/lib/systemd/system/avahi-daemon.socket .

 Running:
   strings /lib64/libnss_* /lib/libnss_mdns*|grep avahi 
confirms that the path to the socket, /run/avahi-daemon/socket  is hard-coded into the binaries.

 In most systems this won't give any issues, because most users won't change the default. But narrowing the problem down for some cases is extremely difficult because of this. In my case I ran into this because at some upgrade, when we went from /var/run to /run, it seems I did not end up with a symlink there, and avahi managed to survive with "most" things avahi-related working (avahi-browse -a worked perfectly, for example), but not this one edge case of getent resolution (so it required jumping through iptables hoops to get my printer to print).


Version-Release number of selected component (if applicable):

avahi-0.7-24


How reproducible:

Change ListenStream=  setting in /usr/lib/systemd/system/avahi-daemon.socket to anything other than  /run/avahi-daemon/socket and move the socket to the corresponding new path.


No need to restart avahi, it should immediately fail to resolve "getent" calls.. moving the socket back to the "default" location will also immediately fix the problem, no need to restart avahi.


Steps to Reproduce:
1. 
2.
3.



Actual results:

getent --service=mdns4 hosts MYNODE.local
getent --service=mdns4_minimal hosts MYNODE.local

(and all dependent services) will fail.

But 

avahi-resolve -n MYNODE.local

works and resolves correctly:
MYNODE.local   192.168.0.125





Expected results:

Resolution of MYNODE.local should succeed.

Comment 1 Ben Cotton 2021-05-25 17:52:47 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.