[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-28 Thread Steve Dodd
Thanks for the explanation. Pidgin probably needs to keep the source address matching partly for security, and also possibly to disambiguate users. Binding to the advertised address probably wouldn't work in this case, as the target wouldn't have a route back for the global address prefix. I

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Trent Lloyd
Part of the reason this behavior exists in Avahi is that many applications do not correctly retrieve the scope ID (interface index) when doing hostname resolution, and if not supplied then connection to such a link local address will fail. Applications are likely to receive such an address at

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
Just found bug #1102906 raised against avahi for this behaviour years ago.. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1841621 Title: Bonjour messages not received if one party has global ipv6

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
Just realised that the heat had addled my brain - this will get the link local address of target, not the originator. We could enumerate link local addresses on the originator and add a field to the mdns text record, but by definition those addresses are only valid on a particular interface, and

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
Proof of concept of getting link local address for a specific ifindex. ** Attachment added: "getif.c" https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/1841621/+attachment/5285029/+files/getif.c -- You received this bug notification because you are a member of Ubuntu Bugs, which is

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
Looking at the source, when browsing/resolving mdns, we get an interface ID passed to the callback. So it should be possible call if_indextoname() on that, then walk getifaddr() output to find the interface and then its link-local address, and that add that to the list of IPs ... -- You received

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
May be a long-standing avahi problem, but Pidgin may need to work around it: https://lists.freedesktop.org/archives/avahi/2010-March/001863.html -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1841621

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
https://github.com/lathiat/avahi/blob/1cc2b8e8d62e939b8bd683f795794878863931af /avahi-core/iface.c#L707][1] -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1841621 Title: Bonjour messages not

[Bug 1841621] Re: Bonjour messages not received if one party has global ipv6 address and one doesn't

2019-08-27 Thread Steve Dodd
(For those trying to work around this, just disabling IPv6 through sysctl doesn't necessarily help - some combination of Network Manager and avahi seems to manage to advertise a link-local address even in this instance. v6 support can be turned off separately in avahi-daemon.conf) -- You