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

The mDNS implementation may not be conformant #734

Closed
tomaka opened this issue Dec 5, 2018 · 6 comments
Closed

The mDNS implementation may not be conformant #734

tomaka opened this issue Dec 5, 2018 · 6 comments
Labels
difficulty:moderate getting-started Issues that can be tackled if you don't know the internals of libp2p very well

Comments

@tomaka
Copy link
Member

tomaka commented Dec 5, 2018

The DNS and mDNS standards are quite complicated, and we overlooked a lot of details.
The current implementation, while functional, should eventually be revisited to be conformant.

@tomaka
Copy link
Member Author

tomaka commented Feb 14, 2019

To be clear, in this issue I mean "conformant to the IETF mDNS standard".

@tomaka tomaka added the getting-started Issues that can be tackled if you don't know the internals of libp2p very well label Feb 21, 2019
@andrewtj
Copy link

Would using platform native mDNS APIs as a part of doing this be acceptable?

@eskimor
Copy link
Contributor

eskimor commented Oct 8, 2020

@andrewtj I think offering an mdns feature based on the platform's avahi or bonjour daemon makes a lot of sense. This could be done based on the zeroconf crate and the feature could be offered in addition to the current mdns implementation, so we have it as a fallback for when avahi/bonjour are not available.

I am in fact currently looking into that, as this would be the easiest way to have a fully standard conformant and battle tested implementation and also offering improved system performance as only one process on the system needs to send/and receive mdns packets.

@tomaka
Copy link
Member Author

tomaka commented Oct 8, 2020

Note that libp2p embeds the implementation of mDNS because we only implement the subset necessary for libp2p-mdns to work.
Any actual mDNS implementation should probably be in an external crate.

@eskimor
Copy link
Contributor

eskimor commented Oct 8, 2020

@tomaka That makes a lot of sense. My next go will be to see whether we can use the zeroconf crate to offer an alternative mdns implementation, which is more standard conformant but will only work when avahi or bonjour are present and running and should obviously be used in that case, as it is beneficial to only have a single mdns implementation running on a given system.

@mxinden
Copy link
Member

mxinden commented Mar 6, 2023

Closing here. As far as I know the implementation is conformant with mDNS and the libp2p specification. Please open a new issue if that is not the case.

@mxinden mxinden closed this as completed Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty:moderate getting-started Issues that can be tackled if you don't know the internals of libp2p very well
Projects
None yet
Development

No branches or pull requests

5 participants