pidgin: 8921eac2: Specify an IPv6 scope on the IP address ...

datallah at pidgin.im datallah at pidgin.im
Fri Sep 17 10:37:32 EDT 2010


----------------------------------------------------------------------
Revision: 8921eac26ae21b7e97796bbe7e616d4c4ed0f9c8
Parent:   97237121e9e423257db09510e45363931b9fb0eb
Author:   datallah at pidgin.im
Date:     09/17/10 10:32:31
Branch:   im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/8921eac26ae21b7e97796bbe7e616d4c4ed0f9c8

Changelog: 

Specify an IPv6 scope on the IP address being used to reference a Bonjour Buddy.
Thanks goes to Antonio Ospite for figuring out that this needs to be done.

Fixes #12629

Changes against parent 97237121e9e423257db09510e45363931b9fb0eb

  patched  libpurple/protocols/bonjour/mdns_avahi.c

-------------- next part --------------
============================================================
--- 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;


More information about the Commits mailing list