changeset 31676:cb04febce5e4

propagate from branch 'im.pidgin.cipher_breakout' (head ba76b36ed3711f14953e16ce66b3b6ae28d03161) to branch 'im.pidgin.pidgin' (head d11be8f4847a7fa0b26ef5525b92f7f2339a7f19)
author Gary Kramlich <grim@reaperworld.com>
date Fri, 18 Feb 2011 02:54:38 +0000
parents fcffb1b97e3f (current diff) 5dccfd26108b (diff)
children 43f661bc82ed
files
diffstat 8 files changed, 104 insertions(+), 60 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/account.h	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/account.h	Fri Feb 18 02:54:38 2011 +0000
@@ -143,6 +143,7 @@
 	 * buddies are added to your permit list.  Currently we have to
 	 * iterate through the entire list if we want to check if someone
 	 * is permitted or denied.  We should do this for 3.0.0.
+	 * Or maybe use a GTree.
 	 */
 	GSList *permit;             /**< Permit list.                           */
 	GSList *deny;               /**< Deny list.                             */
--- a/libpurple/protocols/jabber/bosh.c	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/protocols/jabber/bosh.c	Fri Feb 18 02:54:38 2011 +0000
@@ -484,7 +484,13 @@
 		/* Shouldn't happen; this should be the only place pipelining
 		 * is turned off.
 		 */
+#if GLIB_CHECK_VERSION(2,16,0)
 		g_warn_if_reached();
+#else
+		g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
+				"(%s:%d):%s%s code should not be reached",
+				__FILE__, __LINE__, G_STRFUNC, G_STRFUNC[0] ? ":" : "");
+#endif
 	}
 }
 
--- a/libpurple/protocols/msn/msn.c	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/protocols/msn/msn.c	Fri Feb 18 02:54:38 2011 +0000
@@ -931,8 +931,8 @@
 		if (session) {
 			MsnUser *user = msn_userlist_find_user(session->userlist, who);
 			if (user) {
-				/* Include these too: MSN_CLIENT_CAP_MSNMOBILE|MSN_CLIENT_CAP_MSNDIRECT ? */
-				if ((user->clientid & MSN_CLIENT_CAP_WEBMSGR) ||
+				/* Include these too: MSN_CAP_MOBILE_ON|MSN_CAP_WEB_WATCH ? */
+				if ((user->clientid & MSN_CAP_VIA_WEBIM) ||
 						user->networkid == MSN_NETWORK_YAHOO)
 					ret = FALSE;
 				else
@@ -961,16 +961,16 @@
 	MsnUser *user = purple_buddy_get_protocol_data(b);
 
 	if (user != NULL) {
-		if (user->clientid & MSN_CLIENT_CAP_BOT)
+		if (user->clientid & MSN_CAP_BOT)
 			return "bot";
-		if (user->clientid & MSN_CLIENT_CAP_WIN_MOBILE)
+		if (user->clientid & MSN_CAP_VIA_MOBILE)
 			return "mobile";
 #if 0
 		/* XXX: Since we don't support this, there's no point in showing it just yet */
-		if (user->clientid & MSN_CLIENT_CAP_SCHANNEL)
+		if (user->clientid & MSN_CAP_SCHANNEL)
 			return "secure";
 #endif
-		if (user->clientid & MSN_CLIENT_CAP_WEBMSGR)
+		if (user->clientid & MSN_CAP_VIA_WEBIM)
 			return "external";
 		if (user->networkid == MSN_NETWORK_YAHOO)
 			return "yahoo";
--- a/libpurple/protocols/msn/msn.h	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/protocols/msn/msn.h	Fri Feb 18 02:54:38 2011 +0000
@@ -26,34 +26,65 @@
 
 typedef enum
 {
-	MSN_CLIENT_CAP_WIN_MOBILE = 0x0000001,
-	MSN_CLIENT_CAP_INK_GIF    = 0x0000004,
-	MSN_CLIENT_CAP_INK_ISF    = 0x0000008,
-	MSN_CLIENT_CAP_VIDEO_CHAT = 0x0000010,
-	MSN_CLIENT_CAP_PACKET     = 0x0000020,
-	MSN_CLIENT_CAP_MSNMOBILE  = 0x0000040,
-	MSN_CLIENT_CAP_MSNDIRECT  = 0x0000080,
-	MSN_CLIENT_CAP_WEBMSGR    = 0x0000200,
-	MSN_CLIENT_CAP_TGW        = 0x0000800,
-	MSN_CLIENT_CAP_SPACE      = 0x0001000,
-	MSN_CLIENT_CAP_MCE        = 0x0002000,
-	MSN_CLIENT_CAP_DIRECTIM   = 0x0004000,
-	MSN_CLIENT_CAP_WINKS      = 0x0008000,
-	MSN_CLIENT_CAP_SEARCH     = 0x0010000,
-	MSN_CLIENT_CAP_BOT        = 0x0020000,
-	MSN_CLIENT_CAP_VOICEIM    = 0x0040000,
-	MSN_CLIENT_CAP_SCHANNEL   = 0x0080000,
-	MSN_CLIENT_CAP_SIP_INVITE = 0x0100000,
-	MSN_CLIENT_CAP_SDRIVE     = 0x0400000,
-	MSN_CLIENT_CAP_ONECARE    = 0x1000000,
-	MSN_CLIENT_CAP_P2P_TURN   = 0x2000000,
-	MSN_CLIENT_CAP_P2P_BOOTSTRAP_VIA_UUN = 0x4000000,
+	MSN_CAP_VIA_MOBILE    = 0x0000001,
+	MSN_CAP_VIA_TEXAS     = 0x0000002,
+	MSN_CAP_INK_GIF       = 0x0000004,
+	MSN_CAP_INK_ISF       = 0x0000008,
+	MSN_CAP_VIDEO_CHAT    = 0x0000010,
+	MSN_CAP_PACKET        = 0x0000020,
+	MSN_CAP_MOBILE_ON     = 0x0000040,
+	MSN_CAP_WEB_WATCH     = 0x0000080,
+	MSN_CAP_ACTIVITIES    = 0x0000100,
+	MSN_CAP_VIA_WEBIM     = 0x0000200,
+	MSN_CAP_MOBILE_DEV    = 0x0000400,
+	MSN_CAP_VIA_FEDERATED = 0x0000800,
+	MSN_CAP_SPACE         = 0x0001000,
+	MSN_CAP_MCE           = 0x0002000,
+	MSN_CAP_DIRECTIM      = 0x0004000,
+	MSN_CAP_WINKS         = 0x0008000,
+	MSN_CAP_SEARCH        = 0x0010000,
+	MSN_CAP_BOT           = 0x0020000,
+	MSN_CAP_VOICEIM       = 0x0040000,
+	MSN_CAP_SCHANNEL      = 0x0080000,
+	MSN_CAP_SIP_INVITE    = 0x0100000,
+	MSN_CAP_MULTI_VV      = 0x0200000,
+	MSN_CAP_SDRIVE        = 0x0400000,
+	MSN_CAP_PAGEMODE_MSG  = 0x080000,
+	MSN_CAP_ONECARE       = 0x1000000,
+	MSN_CAP_P2P_TURN      = 0x2000000,
+	MSN_CAP_P2P_BOOTSTRAP_VIA_UUN = 0x4000000,
+	MSN_CAP_ALIASED       = 0x8000000
 } MsnClientCaps;
 
 typedef enum
 {
-	MSN_CLIENT_EXT_CAP_RTC_VIDEO = 0x10,
-	MSN_CLIENT_EXT_CAP_P2PV2     = 0x20
+	MSN_EXT_CAP_SMS_ONLY            = 0x1,
+	MSN_EXT_CAP_VOICE_OVER_MSNP     = 0x2,
+	MSN_EXT_CAP_UUCP_SIP            = 0x4,
+	MSN_EXT_CAP_APP_MSGS            = 0x8,
+	MSN_EXT_CAP_RTC_VIDEO           = 0x10,
+	MSN_EXT_CAP_P2PV2               = 0x20,
+	MSN_EXT_CAP_AUTH_WEBIM          = 0x40,
+	MSN_EXT_CAP_1ON1_VIA_GROUP      = 0x80,
+	MSN_EXT_CAP_OFFLINEIM           = 0x100,
+	MSN_EXT_CAP_SHARING_VIDEO       = 0x200,
+	MSN_EXT_CAP_NUDGE               = 0x400,
+	MSN_EXT_CAP_CIRCLE_VOICEIM      = 0x800,
+	MSN_EXT_CAP_SHARING             = 0x1000,
+	MSN_EXT_CAP_P2P_MIXER_RELAY     = 0x8000,
+	MSN_EXT_CAP_CONV_WINDOW_FT      = 0x20000,
+	MSN_EXT_CAP_VIDEO_16x9          = 0x40000,
+	MSN_EXT_CAP_P2P_ENVELOPE        = 0x80000,
+	MSN_EXT_CAP_YAHOOIM_DISABLE     = 0x400000,
+	MSN_EXT_CAP_SIP_TUNNELv2        = 0x800000,
+	MSN_EXT_CAP_VOICE_CLIP_WMA      = 0x1000000,
+	MSN_EXT_CAP_VOICE_CLIP_CIRCLEIM = 0x2000000,
+	MSN_EXT_CAP_SOCIAL_NEWS         = 0x4000000,
+	MSN_EXT_CAP_CUSTOM_SMILEY       = 0x8000000,
+	MSN_EXT_CAP_UTF8_MOODS          = 0x10000000,
+	MSN_EXT_CAP_FTURN               = 0x20000000,
+	MSN_EXT_CAP_P4_ACTIVITY         = 0x40000000,
+	MSN_EXT_CAP_MUC                 = 0x80000000
 } MsnClientExtCaps;
 
 typedef enum
@@ -68,7 +99,8 @@
 	MSN_CLIENT_VER_8_1  = 0x70,	/* MSNC7 */
 	MSN_CLIENT_VER_8_5  = 0x80,	/* MSNC8 */
 	MSN_CLIENT_VER_9_0  = 0x90,	/* MSNC9 */
-	MSN_CLIENT_VER_14_0 = 0xA0	/* MSNC10 */
+	MSN_CLIENT_VER_14_0 = 0xA0,	/* MSNC10 */
+	MSN_CLIENT_VER_15_0 = 0xB0	/* MSNC11 */
 } MsnClientVerId;
 
 #include "internal.h"
@@ -109,7 +141,7 @@
 #define MSN_NUDGE 0
 
 #define MSN_CLIENT_ID_VERSION      MSN_CLIENT_VER_9_0
-#define MSN_CLIENT_ID_CAPABILITIES (MSN_CLIENT_CAP_PACKET|MSN_CLIENT_CAP_INK_GIF|MSN_CLIENT_CAP_VOICEIM)
+#define MSN_CLIENT_ID_CAPABILITIES (MSN_CAP_PACKET|MSN_CAP_INK_GIF|MSN_CAP_VOICEIM)
 #define MSN_CLIENT_ID_EXT_CAPS     (0)
 
 #define MSN_CLIENT_ID \
--- a/libpurple/protocols/msn/notification.c	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/protocols/msn/notification.c	Fri Feb 18 02:54:38 2011 +0000
@@ -1099,7 +1099,7 @@
 
 	msn_user_set_object(user, msnobj);
 
-	user->mobile = (clientid & MSN_CLIENT_CAP_MSNMOBILE) || (user->extinfo && user->extinfo->phone_mobile && user->extinfo->phone_mobile[0] == '+');
+	user->mobile = (clientid & MSN_CAP_MOBILE_ON) || (user->extinfo && user->extinfo->phone_mobile && user->extinfo->phone_mobile[0] == '+');
 	msn_user_set_clientid(user, clientid);
 	msn_user_set_extcaps(user, extcaps);
 	msn_user_set_network(user, networkid);
@@ -1274,7 +1274,7 @@
 	else
 		extcaps = 0;
 
-	user->mobile = (clientid & MSN_CLIENT_CAP_MSNMOBILE) || (user->extinfo && user->extinfo->phone_mobile && user->extinfo->phone_mobile[0] == '+');
+	user->mobile = (clientid & MSN_CAP_MOBILE_ON) || (user->extinfo && user->extinfo->phone_mobile && user->extinfo->phone_mobile[0] == '+');
 
 	msn_user_set_clientid(user, clientid);
 	msn_user_set_extcaps(user, extcaps);
--- a/libpurple/protocols/msn/state.c	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/protocols/msn/state.c	Fri Feb 18 02:54:38 2011 +0000
@@ -217,11 +217,11 @@
 		if (client_type) {
 			if (strcmp(client_type, "phone") == 0 ||
 				strcmp(client_type, "handheld") == 0) {
-				caps |= MSN_CLIENT_CAP_WIN_MOBILE;
+				caps |= MSN_CAP_VIA_MOBILE;
 			} else if (strcmp(client_type, "web") == 0) {
-				caps |= MSN_CLIENT_CAP_WEBMSGR;
+				caps |= MSN_CAP_VIA_WEBIM;
 			} else if (strcmp(client_type, "bot") == 0) {
-				caps |= MSN_CLIENT_CAP_BOT;
+				caps |= MSN_CAP_BOT;
 			}
 			/* MSN doesn't a "console" type...
 			 What, they have no ncurses UI? :-) */
--- a/libpurple/protocols/msn/user.h	Thu Feb 17 05:54:46 2011 +0000
+++ b/libpurple/protocols/msn/user.h	Fri Feb 18 02:54:38 2011 +0000
@@ -28,13 +28,18 @@
 
 typedef enum
 {
-	MSN_NETWORK_UNKNOWN      = 0x00,
-	MSN_NETWORK_PASSPORT     = 0x01,
-	MSN_NETWORK_COMMUNICATOR = 0x02,
-	MSN_NETWORK_MOBILE       = 0x04,
-	MSN_NETWORK_MNI          = 0x08,
-	MSN_NETWORK_SMTP         = 0x10,
-	MSN_NETWORK_YAHOO        = 0x20
+	MSN_NETWORK_UNKNOWN      = 0,
+	MSN_NETWORK_PASSPORT     = 1,
+	MSN_NETWORK_COMMUNICATOR = 2,
+	MSN_NETWORK_MOBILE       = 4,
+	MSN_NETWORK_MNI          = 8,
+	MSN_NETWORK_CIRCLE       = 9,
+	MSN_NETWORK_TEMP_GROUP   = 10,
+	MSN_NETWORK_CID          = 11,
+	MSN_NETWORK_CONNECT      = 13,
+	MSN_NETWORK_REMOTE       = 14,
+	MSN_NETWORK_SMTP         = 16,
+	MSN_NETWORK_YAHOO        = 32
 } MsnNetwork;
 
 /**
--- a/pidgin/gtkconv.c	Thu Feb 17 05:54:46 2011 +0000
+++ b/pidgin/gtkconv.c	Fri Feb 18 02:54:38 2011 +0000
@@ -78,9 +78,9 @@
 
 #define AUTO_RESPONSE "&lt;AUTO-REPLY&gt; : "
 
-typedef  enum
-{
-	PIDGIN_CONV_SET_TITLE 			= 1 << 0,
+typedef enum
+{
+	PIDGIN_CONV_SET_TITLE			= 1 << 0,
 	PIDGIN_CONV_BUDDY_ICON			= 1 << 1,
 	PIDGIN_CONV_MENU			= 1 << 2,
 	PIDGIN_CONV_TAB_ICON			= 1 << 3,
@@ -2192,9 +2192,9 @@
 		(event->keyval == GDK_Left) ||
 		(event->keyval == GDK_Right) ||
 		(event->keyval == GDK_Page_Up) ||
- 		(event->keyval == GDK_KP_Page_Up) ||
+		(event->keyval == GDK_KP_Page_Up) ||
 		(event->keyval == GDK_Page_Down) ||
- 		(event->keyval == GDK_KP_Page_Down) ||
+		(event->keyval == GDK_KP_Page_Down) ||
 		(event->keyval == GDK_Home) ||
 		(event->keyval == GDK_End) ||
 		(event->keyval == GDK_Tab) ||
@@ -2430,8 +2430,8 @@
 	if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) {
 		PurpleBuddy *b = purple_find_buddy(account, name);
 		if (b != NULL) {
-                	PurplePresence *p;
-	                p = purple_buddy_get_presence(b);
+			PurplePresence *p;
+			p = purple_buddy_get_presence(b);
 			if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_AWAY))
 				return away_list;
 			if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_UNAVAILABLE))
@@ -6127,7 +6127,7 @@
 
 	/* Currently GTK+ maintains our sorted list after it's in the tree.
 	 * This may change if it turns out we can manage it faster ourselves.
- 	 */
+	 */
 	gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(ls),  CHAT_USERS_ALIAS_KEY_COLUMN,
 										 GTK_SORT_ASCENDING);
 }
@@ -6479,13 +6479,13 @@
 		gtk_widget_show(win->menu.get_info);
 		gtk_widget_hide(win->menu.invite);
 		gtk_widget_show(win->menu.alias);
- 		if (purple_privacy_check(account, purple_conversation_get_name(conv))) {
- 			gtk_widget_hide(win->menu.unblock);
- 			gtk_widget_show(win->menu.block);
- 		} else {
- 			gtk_widget_hide(win->menu.block);
- 			gtk_widget_show(win->menu.unblock);
- 		}
+		if (purple_privacy_check(account, purple_conversation_get_name(conv))) {
+			gtk_widget_hide(win->menu.unblock);
+			gtk_widget_show(win->menu.block);
+		} else {
+			gtk_widget_hide(win->menu.block);
+			gtk_widget_show(win->menu.unblock);
+		}
 
 		if ((account == NULL) || purple_find_buddy(account, purple_conversation_get_name(conv)) == NULL) {
 			gtk_widget_show(win->menu.add);
@@ -6706,7 +6706,7 @@
 		char *title;
 		PurpleConvIm *im = NULL;
 		PurpleAccount *account = purple_conversation_get_account(conv);
-	 	PurpleBuddy *buddy = NULL;
+		PurpleBuddy *buddy = NULL;
 		char *markup = NULL;
 		AtkObject *accessibility_obj;
 		/* I think this is a little longer than it needs to be but I'm lazy. */