Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

systemd-resolved causes/triggers issue with reverse DNS lookup in bzfs #310

Open
blast007 opened this issue May 8, 2022 · 1 comment
Open
Milestone

Comments

@blast007
Copy link
Member

blast007 commented May 8, 2022

In Fedora 35, and possibly other distributions using systemd-resolved for DNS resolution, there are times when reverse DNS resolution seems to hang and never complete in bzfs. The specific instance I found was a case where there either wasn't a reverse DNS hostname, or the server responsible for providing the reverse DNS wasn't responding. After installing the bind-utils package to acquire the host command, I attempted to resolve the reverse DNS of the player's IP. I received a "connection timed out; no servers could be reached" message after several seconds. When I ran the same command but also passed a DNS server to use, I instead received a SERVFAIL almost immediately.

It's possible we're not handling some result from c-ares where a timeout occurs.

@tomfitzhenry
Copy link

tomfitzhenry commented Dec 5, 2022

This occurred for me with bzfs 2.4.24 and systemd-resolved 251.7 on NixOS. The symptom I observed was that when I connected to bzfs from my LAN, the client hung on the "Press Right Mouse or i to join".

Two independent workarounds:

  • Set nameserver in /etc/resolv.conf to a public resolver.
  • Set up a port redirection of 5154/{udp,tcp} on your server using socat (for example) so that bzflag sees the connections as coming from localhost. This avoids triggering the same issue.

@blast007 blast007 added this to the 2.4.28 milestone Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants