-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
MinMdnsResolver and DiscoveryImplPlatform resolve by instance name differently, could lead to behavior differences #17285
Comments
@vivien-apple @andreilitvin What's the best way to converge here? |
Could you give a description of the issue with an example? I.e. what browse/discovery is being done (what qname and type if relevant) and what the differences are? The issue contains a lot of description and yet I still do not understand what we are looking for and what the differences are. From a MinMDNS perspective there is no "browse" - DNSSD will issue a mdns query packet and it will receive mdns response packets. There is no difference between "resolve" and "browse" (or maybe this is reffering to packet type?) |
I am also unclear what "Short circuit" means - minmdns always sens out a packet and parses received packet - no path is shorter or longer. Not sure if that is the problem or the requested change. |
In minmdns there's a What sort of data do those get back? As far as I can tell for platform mdns the process is that you start with something like "_L3840._sub._matterc._udp", you use this to get an instance name (or list of them), then for each instance name maybe you have an IP already as part of the data that came back, and maybe not and then you have to look up the IP(s) for the instance name (which involves looking up the hostname and so on). What does that process look like with minmdns? |
Not familiar with MinMDNS as its core only has the logic of 'send query, report back responses' and I believe our code often relies that all responses contain IP addresses as extra data. As far as I have seen before, this used to always be the case however it is not guaranteed by the spec. It would make sense for a request of 'minmdns resolver should follow up with resolving IP addresses if they are not part of the original reply'. I would expect this to not be as simple as 'resolve all IPs' since when we browse we likely only need the IP of one of the replies not all of them. Is this what the bug is about? |
The bug so far is about the apparent difference in overall structure between "platform" mdns, which has a two-step bit where it mas the provided PTR QNAME to an instance name and then maps the instance name to actual IP/port data, and hence has to figure out whether the thing it's being asked to look up is likely to be a PTR key or a SRV/TXT key and "minimal" mdns which ... well, I am still not quite clear what it's doing in this case. If it does a query for a string that matches PTR entries, does it get back the SRV/TXT records in the responses? Anyway, there is one definite behavior difference: minmdns does not really support the There rest was just a question about whether there is a potential behavior difference.... |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This is a followup to #17214
Problem
Exact comments on 17214 from @bzbarsky-apple:
Proposed Solution
The text was updated successfully, but these errors were encountered: