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

avoid joining multiple times on the same interface for ipv4 #58

Merged
merged 2 commits into from
Aug 24, 2024

Conversation

eladyn
Copy link
Contributor

@eladyn eladyn commented Aug 19, 2024

The mechanism for IPv6 is extended to avoid multiple joins on the same IPv4 interface which leads to Address already in use. Also, I simplified the IPv6 code a bit. It is working now with multiple IPv4 addresses on the same interface.

See for example #46 or Spotifyd/spotifyd#1285.

Fixes #46.

The mechanism for IPv6 is extended to avoid multiple
joins on the same IPv4 interface which leads to Address already in use.
@willstott101 willstott101 merged commit 712ec0b into librespot-org:main Aug 24, 2024
2 checks passed
@willstott101
Copy link
Contributor

Oh awesome, thanks. This is a way nicer solution. I think it also removes the need for the direct winapi and nix, have added that commit on top, I'll do a release in a mo.

willstott101 added a commit that referenced this pull request Aug 24, 2024
#51 Progress(?) adding Solaris support
#54 Windows link-local ipv6 broadcasting
#55 Add with_default_handle_and_ip_list_and_hostname
#58 Support ipv4 broadcasting on interfaces with multiple ipv4 addresses
@willstott101
Copy link
Contributor

Released 0.9.1 fixing a bug here. collected_interfaces avoided returning multiple IPs from the same interface - even though we often want 2... one for ipv6 and one for ipv4.

I decided to resolve like this: 33f9226

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

Successfully merging this pull request may close these issues.

"Address already in use" error when running the register example with libmdns 0.7.3 - 0.7.5
2 participants