Replies: 2 comments 5 replies
-
For starters, there seems to be a copy-paste error in the |
Beta Was this translation helpful? Give feedback.
-
I mentioned the problems started when adding IPv6. The way it is implemented, each interface gets an IPv4 and a separate IPv6 socket. Over both probing and announcing is run. This actually works fine for the normal case, which is why this is a point for discussion and not immediately an issue. So when does this run into problems? I develop and test on a Linux VM with more than one interface. As alluded to in PR #69, this can result in interesting behaviour in certain cases. One such case is where there are multiple interfaces and This means that the same record will now be received on interface B`s socket but coming from the IPv6 address of interface A. Which is detected as a conflict. This was not a problem for IPv4 because there the behaviour is different. The question is, is mdnsd only to be run as root, in which case the problem does not arise? In that case it should probably be mentioned in the documentation somehow. Or should this be fixed? Fixing it would mean that the detection if the packet came from us needs to be changed, taking all active interfaces into account. Which might get difficult on a library level, because there the |
Beta Was this translation helpful? Give feedback.
-
While working on IPv6 support I stumbled over conflicts being detected for records where none were detected before. Which made me look a bit further into the code for conflicts and probing and announcing, and I think mdnsd has multiple issues there.
Well, I haven't really looked into it very thoroughly, yet. My gut feeling is that it is utterly broken and could need a rewrite. But who has time for that, right? =) But maybe it can be fixed piece by piece.
I am opening this discussion to gather the issues I encounter and hopefully discuss them with whoever is more knowledgeable to see if and how to fix them. I'll add multiple sub-posts for what I find so they can be discussed separately but are gathered here.
@troglobit, let me know should you have a preference on whether GH issues should be created for the findings or rather not. I have started with a first one, which should be an easy fix.
Beta Was this translation helpful? Give feedback.
All reactions