# # old_revision [bc8f0796d18474e08b8d5236fdee1ad132f21301] # # patch "libpurple/protocols/bonjour/mdns_avahi.c" # from [54adfbf2bf7c05d8d9be7e5d3373e42ac1f0f996] # to [395aa47fd33f71fa0bfafed4411407834ba3a270] # ============================================================ --- libpurple/protocols/bonjour/mdns_avahi.c 54adfbf2bf7c05d8d9be7e5d3373e42ac1f0f996 +++ libpurple/protocols/bonjour/mdns_avahi.c 395aa47fd33f71fa0bfafed4411407834ba3a270 @@ -188,12 +188,14 @@ _resolver_callback(AvahiServiceResolver bb->ips = g_slist_remove(bb->ips, rd->ip); g_free((gchar *) rd->ip); } - rd->ip = g_strdup(ip); /* IPv6 goes at the front of the list and IPv4 at the end so that we "prefer" IPv6, if present */ - if (protocol == AVAHI_PROTO_INET6) + if (protocol == AVAHI_PROTO_INET6) { + rd->ip = g_strdup_printf("%s%%%d", ip, interface); bb->ips = g_slist_prepend(bb->ips, (gchar *) rd->ip); - else + } else { + rd->ip = g_strdup(ip); bb->ips = g_slist_append(bb->ips, (gchar *) rd->ip); + } } bb->port_p2pj = port;