changeset 30424:2213849c45a2

propagate from branch 'im.pidgin.pidgin' (head 7072aab86b390122c32faa675284a753c9e97034) to branch 'im.pidgin.pidgin.mxit' (head f36af3ce21a72ca6c4616108e7e156666d092009)
author andrew.victor@mxit.com
date Thu, 20 May 2010 11:25:03 +0000
parents 623660917282 (diff) 08cae68b25dc (current diff)
children cbae3d450db8
files
diffstat 17 files changed, 101 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu May 20 11:21:30 2010 +0000
+++ b/ChangeLog	Thu May 20 11:25:03 2010 +0000
@@ -1,6 +1,11 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
-version 2.7.0 (??/??/????):
+version 2.7.1 (??/??/????):
+	MSN:
+	* Fix unnecessary bandwidth consumption for buddy icon requests when
+	  buddies have capital letters in their passport addresses.
+
+version 2.7.0 (05/12/2010):
 	General:
 	* Changed GTK+ minimum version requirement to 2.10.0.
 	* Changed GLib minimum version requirement to 2.12.0.
@@ -81,6 +86,7 @@
 	* Support for version 9 of the MSN protocol has been removed.  This
 	  version is no longer supported on the servers.
 	* Support file transfer thumbnails (previews) for images.
+	* Fix CVE-2010-1624 (custom emoticon remote crash).
 
 	XMPP:
 	* Direct messages to a specific resource only upon receipt of a message
--- a/ChangeLog.API	Thu May 20 11:21:30 2010 +0000
+++ b/ChangeLog.API	Thu May 20 11:25:03 2010 +0000
@@ -1,6 +1,8 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
-version 2.7.0 (??/??/????):
+version 2.7.1 (??/??/????):
+
+version 2.7.0 (05/12/2010):
 	libpurple:
 		Added:
 		* Account signals (see account-signals.dox); useful for D-Bus
--- a/ChangeLog.win32	Thu May 20 11:21:30 2010 +0000
+++ b/ChangeLog.win32	Thu May 20 11:25:03 2010 +0000
@@ -1,4 +1,6 @@
-version 2.7.0 (??/??/????):
+version 2.7.1 (??/??/????):
+
+version 2.7.0 (05/12/2010):
 	* Updated GTK+ to 2.16.6
 	* Private GTK+ Runtime now used (GTK+ Installer no longer supported)
 	* Minimum required GTK+ version increased to 2.14.7
--- a/NEWS	Thu May 20 11:21:30 2010 +0000
+++ b/NEWS	Thu May 20 11:25:03 2010 +0000
@@ -2,6 +2,31 @@
 
 Our development blog is available at: http://planet.pidgin.im
 
+2.7.0 (05/12/2010):
+	John: We FINALLY got the ICQ X-Status stuff merged in!  And a few other
+	patches that have been sitting on Trac forever.  Couple that with some
+	new features and we have an excellent release for all of you!
+
+	Marcus: Finally time for a new release, seems like it took
+	quite a while this time.  But then again, there are some new features
+	in there, like file transfer preview (thumbnails) support (only on MSN
+	so far), plus a lot of bug fixes.  Enjoy!
+
+	Paul: Yay, a new release!  I don't think I added very much useful to
+	this release, other than fixing a paste bug from Chrome (no weird
+	characters appended to the end of your URI).  Enjoy!
+
+	Jorge: This is my first NEWS!  I'm not sure I added something nice
+	to this release.  I know it took a lot of time to bring this one
+	out, however I'm really excited by this release.  I hope everyone
+	likes the new features this release brings.
+
+	Elliott: This release took so long, I had to go check the ChangeLog
+	just to see what happened.  I doubt many people will notice, but we
+	dropped support for many old things, like GTK+<2.10 and MSNP9.  In more
+	exciting news, we have file transfer previews on MSN, and support for
+	setting moods on ICQ and XMPP (which has been waiting forever.)
+
 2.6.6 (02/18/2010):
 	Mark: This release includes some great little changes and fixes a few
 	security-related bugs.  See the ChangeLog for details.
--- a/configure.ac	Thu May 20 11:21:30 2010 +0000
+++ b/configure.ac	Thu May 20 11:25:03 2010 +0000
@@ -46,7 +46,7 @@
 m4_define([purple_lt_current], [7])
 m4_define([purple_major_version], [2])
 m4_define([purple_minor_version], [7])
-m4_define([purple_micro_version], [0])
+m4_define([purple_micro_version], [1])
 m4_define([purple_version_suffix], [devel])
 m4_define([purple_version],
           [purple_major_version.purple_minor_version.purple_micro_version])
@@ -55,7 +55,7 @@
 m4_define([gnt_lt_current], [7])
 m4_define([gnt_major_version], [2])
 m4_define([gnt_minor_version], [7])
-m4_define([gnt_micro_version], [0])
+m4_define([gnt_micro_version], [1])
 m4_define([gnt_version_suffix], [devel])
 m4_define([gnt_version],
           [gnt_major_version.gnt_minor_version.gnt_micro_version])
--- a/libpurple/protocols/gg/Makefile.am	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/gg/Makefile.am	Thu May 20 11:25:03 2010 +0000
@@ -9,6 +9,7 @@
 	lib/http.c \
 	lib/libgadu.c \
 	lib/libgadu-config.h \
+	lib/libgadu-internal.h \
 	lib/libgadu.h \
 	lib/obsolete.c \
 	lib/protocol.h \
@@ -30,6 +31,7 @@
 	lib/http.c \
 	lib/libgadu.c \
 	lib/libgadu-config.h \
+	lib/libgadu-internal.h \
 	lib/libgadu.h \
 	lib/obsolete.c \
 	lib/protocol.h \
--- a/libpurple/protocols/gg/lib/common.c	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/gg/lib/common.c	Thu May 20 11:25:03 2010 +0000
@@ -101,7 +101,7 @@
  * \param format Format wiadomości (zgodny z \c printf)
  * \param ap Lista argumentów (zgodna z \c printf)
  */
-static void gg_debug_common(struct gg_session *sess, int level, const char *format, va_list ap)
+void gg_debug_common(struct gg_session *sess, int level, const char *format, va_list ap)
 {
 	if (gg_debug_handler_session)
 		(*gg_debug_handler_session)(sess, level, format, ap);
--- a/libpurple/protocols/gg/lib/libgadu-internal.h	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/gg/lib/libgadu-internal.h	Thu May 20 11:25:03 2010 +0000
@@ -26,5 +26,6 @@
 char *gg_cp_to_utf8(const char *b);
 char *gg_utf8_to_cp(const char *b);
 int gg_pubdir50_handle_reply_sess(struct gg_session *sess, struct gg_event *e, const char *packet, int length);
+void gg_debug_common(struct gg_session *sess, int level, const char *format, va_list ap);
 
 #endif /* LIBGADU_INTERNAL_H */
--- a/libpurple/protocols/gg/lib/libgadu.h	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/gg/lib/libgadu.h	Thu May 20 11:25:03 2010 +0000
@@ -1245,8 +1245,8 @@
 struct gg_http *gg_change_passwd3(uin_t uin, const char *passwd, const char *newpasswd, const char *qa, int async) GG_DEPRECATED;
 
 int gg_resolve(int *fd, int *pid, const char *hostname) GG_DEPRECATED;
+int gg_resolve_pthread(int *fd, void **resolver, const char *hostname) GG_DEPRECATED;
 void gg_resolve_pthread_cleanup(void *arg, int kill) GG_DEPRECATED;
-int gg_resolve_pthread(int *fd, void **resolver, const char *hostname) GG_DEPRECATED;
 
 struct gg_change_info_request {
 	char *first_name;
--- a/libpurple/protocols/jabber/message.c	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/jabber/message.c	Thu May 20 11:25:03 2010 +0000
@@ -75,12 +75,8 @@
 	jbr = jabber_buddy_find_resource(jb, jid->resource);
 
 	if(!jm->xhtml && !jm->body) {
-		if (jbr) {
-			if (jm->chat_state != JM_STATE_NONE)
-				jbr->chat_states = JABBER_CHAT_STATES_SUPPORTED;
-			else
-				jbr->chat_states = JABBER_CHAT_STATES_UNSUPPORTED;
-		}
+		if (jbr && jm->chat_state != JM_STATE_NONE)
+			jbr->chat_states = JABBER_CHAT_STATES_SUPPORTED;
 
 		if(JM_STATE_COMPOSING == jm->chat_state) {
 			serv_got_typing(gc, jm->from, 0, PURPLE_TYPING);
@@ -142,10 +138,13 @@
 		}
 
 		if(jbr) {
-			if (jm->chat_state != JM_STATE_NONE)
-				jbr->chat_states = JABBER_CHAT_STATES_SUPPORTED;
-			else
-				jbr->chat_states = JABBER_CHAT_STATES_UNSUPPORTED;
+			/* Treat SUPPORTED as a terminal with no escape :) */
+			if (jbr->chat_states != JABBER_CHAT_STATES_SUPPORTED) {
+				if (jm->chat_state != JM_STATE_NONE)
+					jbr->chat_states = JABBER_CHAT_STATES_SUPPORTED;
+				else
+					jbr->chat_states = JABBER_CHAT_STATES_UNSUPPORTED;
+			}
 
 			if(jbr->thread_id)
 				g_free(jbr->thread_id);
@@ -1250,7 +1249,14 @@
 
 	g_free(resource);
 
-	if (!jbr || (jbr->chat_states == JABBER_CHAT_STATES_UNSUPPORTED))
+	/* We know this entity doesn't support chat states */
+	if (jbr && jbr->chat_states == JABBER_CHAT_STATES_UNSUPPORTED)
+		return 0;
+
+	/* *If* we don't have presence /and/ the buddy can't see our
+	 * presence, don't send typing notifications.
+	 */
+	if (!jbr && !(jb->subscription & JABBER_SUB_FROM))
 		return 0;
 
 	/* TODO: figure out threading */
--- a/libpurple/protocols/msn/slp.c	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/msn/slp.c	Thu May 20 11:25:03 2010 +0000
@@ -938,6 +938,8 @@
 	conv = swboard->conv;
 
 	body = msn_message_get_bin_data(msg, &body_len);
+	if (!body || !body_len)
+		return;
 	body_str = g_strndup(body, body_len);
 
 	/* MSN Messenger 7 may send more than one MSNObject in a single message...
--- a/libpurple/protocols/msn/slplink.c	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/protocols/msn/slplink.c	Thu May 20 11:25:03 2010 +0000
@@ -383,6 +383,7 @@
 msn_slplink_release_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg)
 {
 	MsnMessage *msg;
+	const char *passport;
 
 	slpmsg->msg = msg = msn_message_new_msnslp();
 
@@ -421,7 +422,8 @@
 
 	msg->msnslp_header.total_size = slpmsg->size;
 
-	msn_message_set_attr(msg, "P2P-Dest", slplink->remote_user);
+	passport = purple_normalize(slplink->session->account, slplink->remote_user);
+	msn_message_set_attr(msg, "P2P-Dest", passport);
 
 	msg->ack_cb = msg_ack;
 	msg->nak_cb = msg_nak;
--- a/libpurple/tests/check_libpurple.c	Thu May 20 11:21:30 2010 +0000
+++ b/libpurple/tests/check_libpurple.c	Thu May 20 11:25:03 2010 +0000
@@ -37,16 +37,22 @@
 
 static void
 purple_check_init(void) {
-	gchar *home_dir;
-
 	g_type_init();
 
 	purple_eventloop_set_ui_ops(&eventloop_ui_ops);
 
+#if 0
 	/* build our fake home directory */
-	home_dir = g_build_path(G_DIR_SEPARATOR_S, BUILDDIR, "libpurple", "tests", "home", NULL);
-	purple_util_set_user_dir(home_dir);
-	g_free(home_dir);
+	{
+		gchar *home_dir;
+
+		home_dir = g_build_path(G_DIR_SEPARATOR_S, BUILDDIR, "libpurple", "tests", "home", NULL);
+		purple_util_set_user_dir(home_dir);
+		g_free(home_dir);
+	}
+#else
+	purple_util_set_user_dir("/dev/null");
+#endif
 
 	purple_core_init("check");
 }
--- a/pidgin/Makefile.am	Thu May 20 11:21:30 2010 +0000
+++ b/pidgin/Makefile.am	Thu May 20 11:25:03 2010 +0000
@@ -25,6 +25,7 @@
 		win32/nsis/pixmaps/pidgin-header.bmp \
 		win32/nsis/pixmaps/pidgin-intro.bmp \
 		win32/nsis/pixmaps/pidgin-install.ico \
+		win32/nsis/available.lst \
 		win32/nsis/pidgin-installer.nsi \
 		win32/nsis/pidgin-plugin.nsh \
 		win32/nsis/langmacros.nsh \
--- a/po/ChangeLog	Thu May 20 11:21:30 2010 +0000
+++ b/po/ChangeLog	Thu May 20 11:25:03 2010 +0000
@@ -1,5 +1,7 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
+version 2.7.1
+
 version 2.7.0
 	* Afrikaans translation updated (Friedel Wolff)
 	* Albanian translation updated (Besnik Bleta)
--- a/po/ca.po	Thu May 20 11:21:30 2010 +0000
+++ b/po/ca.po	Thu May 20 11:25:03 2010 +0000
@@ -33,8 +33,8 @@
 msgstr ""
 "Project-Id-Version: Pidgin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-06 07:36+0200\n"
-"PO-Revision-Date: 2010-05-08 16:11+0200\n"
+"POT-Creation-Date: 2010-05-11 22:08+0200\n"
+"PO-Revision-Date: 2010-05-11 22:10+0200\n"
 "Last-Translator: Josep Puigdemont i Casamajó <josep.puigdemont@gmail.com>\n"
 "Language-Team: Catalan <tradgnome@softcatala.net>\n"
 "MIME-Version: 1.0\n"
@@ -12215,6 +12215,9 @@
 msgid "Arabic"
 msgstr "Àrab"
 
+msgid "Assamese"
+msgstr "Assamès"
+
 msgid "Belarusian Latin"
 msgstr "Bielorús (llatí)"
 
@@ -12342,6 +12345,9 @@
 msgid "Macedonian"
 msgstr "Macedoni"
 
+msgid "Malayalam"
+msgstr "Malaiàlam"
+
 msgid "Mongolian"
 msgstr "Mongol"
 
--- a/po/de.po	Thu May 20 11:21:30 2010 +0000
+++ b/po/de.po	Thu May 20 11:25:03 2010 +0000
@@ -11,8 +11,8 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-09 16:11+0200\n"
-"PO-Revision-Date: 2010-05-09 16:05+0200\n"
+"POT-Creation-Date: 2010-05-11 17:11+0200\n"
+"PO-Revision-Date: 2010-05-11 17:11+0200\n"
 "Last-Translator: Björn Voigt <bjoern@cs.tu-berlin.de>\n"
 "Language-Team: Deutsch <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -12260,6 +12260,9 @@
 msgid "Arabic"
 msgstr "Arabisch"
 
+msgid "Assamese"
+msgstr "Assamesisch"
+
 msgid "Belarusian Latin"
 msgstr "Weißrussisch (Latin)"
 
@@ -12267,10 +12270,10 @@
 msgstr "Bulgarisch"
 
 msgid "Bengali"
-msgstr "Bengalisch"
+msgstr "Bengali"
 
 msgid "Bengali-India"
-msgstr "Bengalisch"
+msgstr "Bengali-Indien"
 
 msgid "Bosnian"
 msgstr "Bosnisch"
@@ -12386,6 +12389,9 @@
 msgid "Macedonian"
 msgstr "Makedonisch"
 
+msgid "Malayalam"
+msgstr "Malayalam"
+
 msgid "Mongolian"
 msgstr "Mongolisch"
 
@@ -12426,7 +12432,7 @@
 msgstr "Portugiesisch (Brasilien)"
 
 msgid "Pashto"
-msgstr "Paschtunisch"
+msgstr "Paschtu"
 
 msgid "Romanian"
 msgstr "Rumänisch"
@@ -12456,7 +12462,7 @@
 msgstr "Swahili"
 
 msgid "Tamil"
-msgstr "Tamilisch"
+msgstr "Tamil"
 
 msgid "Telugu"
 msgstr "Telugu"