Mercurial > pidgin
diff libpurple/network.c @ 31558:ce968e115c95
propagate from branch 'im.pidgin.cpw.masca.p2p' (head 33ca865dacb9e5bcf763d06f6a42cbaca337cc64)
to branch 'im.pidgin.pidgin' (head 92f47f4e8b0cbb107fd97e1ab814d1cedbf109ad)
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 06 May 2011 06:25:14 +0000 |
parents | b671728e6ee9 |
children | 8b434ffd4efc |
line wrap: on
line diff
--- a/libpurple/network.c Tue Jan 04 05:05:06 2011 +0000 +++ b/libpurple/network.c Fri May 06 06:25:14 2011 +0000 @@ -71,6 +71,10 @@ #include <dbus/dbus-glib.h> #include <NetworkManager.h> +#if !defined(NM_CHECK_VERSION) +#define NM_CHECK_VERSION(x,y,z) 0 +#endif + static DBusGConnection *nm_conn = NULL; static DBusGProxy *nm_proxy = NULL; static DBusGProxy *dbus_proxy = NULL; @@ -271,7 +275,7 @@ inet_ntop(AF_INET, &sinptr->sin_addr, dst, sizeof(dst)); - purple_debug_info("network", + purple_debug_info("network", "found local i/f with address %s on IPv4\n", dst); if (!purple_strequal(dst, "127.0.0.1")) { result = g_list_append(result, g_strdup(dst)); @@ -863,7 +867,13 @@ switch(state) { +#if NM_CHECK_VERSION(0,8,992) + case NM_STATE_CONNECTED_LOCAL: + case NM_STATE_CONNECTED_SITE: + case NM_STATE_CONNECTED_GLOBAL: +#else case NM_STATE_CONNECTED: +#endif /* Call res_init in case DNS servers have changed */ res_init(); /* update STUN IP in case we it changed (theoretically we could @@ -873,13 +883,16 @@ purple_prefs_get_string("/purple/network/stun_server")); purple_network_set_turn_server( purple_prefs_get_string("/purple/network/turn_server")); - + if (ui_ops != NULL && ui_ops->network_connected != NULL) ui_ops->network_connected(); break; case NM_STATE_ASLEEP: case NM_STATE_CONNECTING: case NM_STATE_DISCONNECTED: +#if NM_CHECK_VERSION(0,8,992) + case NM_STATE_DISCONNECTING: +#endif if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN) break; if (ui_ops != NULL && ui_ops->network_disconnected != NULL) @@ -936,10 +949,10 @@ #endif static void -purple_network_ip_lookup_cb(GSList *hosts, gpointer data, +purple_network_ip_lookup_cb(GSList *hosts, gpointer data, const char *error_message) { - const gchar **ip = (const gchar **) data; + const gchar **ip = (const gchar **) data; if (error_message) { purple_debug_error("network", "lookup of IP address failed: %s\n", @@ -949,14 +962,14 @@ } if (hosts && g_slist_next(hosts)) { - struct sockaddr *addr = g_slist_next(hosts)->data; + struct sockaddr *addr = g_slist_next(hosts)->data; char dst[INET6_ADDRSTRLEN]; - + if (addr->sa_family == AF_INET6) { - inet_ntop(addr->sa_family, &((struct sockaddr_in6 *) addr)->sin6_addr, + inet_ntop(addr->sa_family, &((struct sockaddr_in6 *) addr)->sin6_addr, dst, sizeof(dst)); } else { - inet_ntop(addr->sa_family, &((struct sockaddr_in *) addr)->sin_addr, + inet_ntop(addr->sa_family, &((struct sockaddr_in *) addr)->sin_addr, dst, sizeof(dst)); } @@ -978,10 +991,10 @@ if (stun_server && stun_server[0] != '\0') { if (purple_network_is_available()) { purple_debug_info("network", "running DNS query for STUN server\n"); - purple_dnsquery_a(stun_server, 3478, purple_network_ip_lookup_cb, + purple_dnsquery_a_account(NULL, stun_server, 3478, purple_network_ip_lookup_cb, &stun_ip); } else { - purple_debug_info("network", + purple_debug_info("network", "network is unavailable, don't try to update STUN IP"); } } else if (stun_ip) { @@ -996,11 +1009,11 @@ if (turn_server && turn_server[0] != '\0') { if (purple_network_is_available()) { purple_debug_info("network", "running DNS query for TURN server\n"); - purple_dnsquery_a(turn_server, - purple_prefs_get_int("/purple/network/turn_port"), + purple_dnsquery_a_account(NULL, turn_server, + purple_prefs_get_int("/purple/network/turn_port"), purple_network_ip_lookup_cb, &turn_ip); } else { - purple_debug_info("network", + purple_debug_info("network", "network is unavailable, don't try to update TURN IP"); } } else if (turn_ip) {