/soc/2013/ashmew2/filetransferY: 644cb2b1dad8: Merged with relea...

Ashish Gupta ashmew2 at gmail.com
Sun Sep 15 17:18:26 EDT 2013


Changeset: 644cb2b1dad862114c4b596e72d08473bfc52d87
Author:	 Ashish Gupta <ashmew2 at gmail.com>
Date:	 2013-09-15 19:23 +0530
Branch:	 filetransferX
URL: https://hg.pidgin.im/soc/2013/ashmew2/filetransferY/rev/644cb2b1dad8

Description:

Merged with release-2.x.y

diffstat:

 .hgignore                                          |    1 +
 .hgtags                                            |    1 +
 COPYRIGHT                                          |    1 +
 ChangeLog                                          |   26 ++-
 ChangeLog.API                                      |    3 +
 Makefile.mingw                                     |    6 +-
 configure.ac                                       |   22 +-
 finch/gntlog.c                                     |    2 +-
 finch/gntpounce.c                                  |    6 +-
 finch/libgnt/gntwm.c                               |    6 +-
 libpurple/Makefile.mingw                           |    1 +
 libpurple/account.c                                |    6 +-
 libpurple/buddyicon.c                              |    4 +-
 libpurple/certificate.c                            |    4 +-
 libpurple/dbus-analyze-functions.py                |   83 ++++----
 libpurple/dbus-analyze-signals.py                  |   14 +-
 libpurple/dbus-analyze-types.py                    |   28 +-
 libpurple/dnssrv.c                                 |   53 +----
 libpurple/example/nullclient.c                     |   10 +-
 libpurple/log.c                                    |    2 +-
 libpurple/plugin.c                                 |    9 +-
 libpurple/plugins/dbus-buddyicons-example.py       |    3 +-
 libpurple/plugins/perl/common/Network.xs           |    5 +
 libpurple/plugins/ssl/ssl-nss.c                    |   56 +++++-
 libpurple/plugins/startup.py                       |   13 +-
 libpurple/plugins/tcl/tcl.c                        |    4 +-
 libpurple/pounce.c                                 |    2 +-
 libpurple/protocols/bonjour/jabber.c               |   27 +-
 libpurple/protocols/gg/gg.c                        |   80 --------
 libpurple/protocols/gg/lib/handlers.c              |    2 +-
 libpurple/protocols/irc/Makefile.am                |    2 +-
 libpurple/protocols/irc/msgs.c                     |    2 +-
 libpurple/protocols/irc/parse.c                    |   12 +-
 libpurple/protocols/jabber/auth_cyrus.c            |   41 ++-
 libpurple/protocols/jabber/auth_digest_md5.c       |    4 +-
 libpurple/protocols/jabber/bosh.c                  |    6 +-
 libpurple/protocols/jabber/google/google_session.c |   13 +-
 libpurple/protocols/jabber/ibb.c                   |    4 -
 libpurple/protocols/jabber/jabber.c                |   63 +++---
 libpurple/protocols/jabber/jingle/rtp.c            |    3 +-
 libpurple/protocols/jabber/oob.c                   |    9 +-
 libpurple/protocols/jabber/useravatar.c            |    8 +-
 libpurple/protocols/jabber/usermood.c              |    4 +-
 libpurple/protocols/msn/directconn.c               |   14 +-
 libpurple/protocols/msn/msn.c                      |    2 +-
 libpurple/protocols/msn/soap.c                     |    3 +-
 libpurple/protocols/mxit/actions.c                 |   37 ++-
 libpurple/protocols/mxit/chunk.c                   |    5 +-
 libpurple/protocols/mxit/cipher.c                  |   36 +-
 libpurple/protocols/mxit/filexfer.c                |   53 +++--
 libpurple/protocols/mxit/formcmds.c                |   14 +-
 libpurple/protocols/mxit/formcmds.h                |    4 +-
 libpurple/protocols/mxit/http.c                    |    7 +-
 libpurple/protocols/mxit/login.c                   |   69 +++++--
 libpurple/protocols/mxit/markup.c                  |   92 ++++-----
 libpurple/protocols/mxit/multimx.c                 |    8 +-
 libpurple/protocols/mxit/mxit.c                    |   53 ++---
 libpurple/protocols/mxit/mxit.h                    |    4 +-
 libpurple/protocols/mxit/profile.c                 |   15 +-
 libpurple/protocols/mxit/profile.h                 |    4 +-
 libpurple/protocols/mxit/protocol.c                |  191 ++++++++++++--------
 libpurple/protocols/mxit/roster.c                  |   74 ++++---
 libpurple/protocols/mxit/roster.h                  |    2 +-
 libpurple/protocols/mxit/splashscreen.c            |   12 +-
 libpurple/protocols/mxit/voicevideo.c              |    9 +-
 libpurple/protocols/mxit/voicevideo.h              |    5 -
 libpurple/protocols/novell/nmrtf.c                 |    1 -
 libpurple/protocols/novell/novell.c                |    8 -
 libpurple/protocols/oscar/family_icbm.c            |    2 +-
 libpurple/protocols/oscar/family_locate.c          |    2 +-
 libpurple/protocols/oscar/oscar.c                  |   20 +--
 libpurple/protocols/oscar/peer.c                   |    4 -
 libpurple/protocols/oscar/userinfo.c               |   11 +-
 libpurple/protocols/sametime/sametime.c            |    3 +-
 libpurple/protocols/silc/buddy.c                   |    9 +-
 libpurple/protocols/silc/chat.c                    |    4 +-
 libpurple/protocols/silc/ft.c                      |    2 -
 libpurple/protocols/silc/ops.c                     |   14 +-
 libpurple/protocols/silc/silc.c                    |    7 +-
 libpurple/protocols/silc/silcpurple.h              |    2 +-
 libpurple/protocols/silc/util.c                    |    2 +-
 libpurple/protocols/silc/wb.c                      |    2 +-
 libpurple/protocols/silc10/wb.c                    |    2 +-
 libpurple/protocols/simple/simple.c                |    6 +-
 libpurple/protocols/yahoo/libymsg.c                |    5 +-
 libpurple/protocols/yahoo/yahoo_doodle.c           |    6 +-
 libpurple/protocols/yahoo/yahoo_profile.c          |    2 +-
 libpurple/protocols/zephyr/zephyr.c                |   14 +-
 libpurple/prpl.h                                   |    5 +-
 libpurple/smiley.c                                 |   32 +-
 libpurple/theme-loader.c                           |    1 +
 libpurple/upnp.c                                   |    2 -
 libpurple/util.c                                   |   36 ++-
 libpurple/win32/global.mak                         |    4 +-
 pidgin/gtkconv.c                                   |    4 +-
 pidgin/gtkdialogs.c                                |    6 +-
 pidgin/gtkdocklet.c                                |    2 -
 pidgin/gtkimhtml.c                                 |   11 +-
 pidgin/gtkmain.c                                   |    5 +-
 pidgin/gtknotify.c                                 |    2 +-
 pidgin/gtkpounce.c                                 |   15 +-
 pidgin/gtksourceundomanager.c                      |   17 +-
 pidgin/gtkutils.c                                  |    6 +-
 pidgin/plugins/cap/cap.c                           |    2 +-
 pidgin/plugins/gevolution/add_buddy_dialog.c       |    4 +-
 pidgin/plugins/gevolution/gevolution.c             |    2 +-
 pidgin/plugins/timestamp_format.c                  |    2 +-
 pidgin/win32/nsis/generate_gtk_zip.sh              |    2 +-
 pidgin/win32/nsis/pidgin-installer.nsi             |   11 +-
 po/ChangeLog                                       |    3 +
 po/de.po                                           |  137 ++++++++++++--
 111 files changed, 920 insertions(+), 883 deletions(-)

diffs (truncated from 5217 to 300 lines):

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -7,6 +7,7 @@ syntax: regexp
 .*/perl/common/[^/]+\.c$
 .*/perl/common/blib.*
 .*/perl/common/pm_to_blib$
+.*/perl/common/MYMETA\.(json|yml)
 .*~$
 .*\.a$
 .*\.asc$
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -1,2 +1,3 @@
 a3d157700972b48cf0a23b300261a5ab0c6e165b v2.10.5
 4992bd90d8ad78ebdd324dd90d3e9d443f7dd002 v2.10.6
+ad7e7fb98db3bbd7bf9ab49072fd34cd4fa25dd9 v2.10.7
diff --git a/COPYRIGHT b/COPYRIGHT
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -214,6 +214,7 @@ Christian Grothoff
 Vladislav Guberinić
 Gideon N. Guillen
 Aman Gupta
+Ashish Gupta
 Christian Hammond
 Erick Hamness
 Fred Hampton
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
+version 2.10.8:
+	Stock market:
+	* Didn't really increase, but didn't plummet, either.
+
+	General:
+	* Add support for Python3 in build scripts. (Ashish Gupta) (#15624)
+
+	Gadu-Gadu:
+	* Disabled buddy list import/export from/to server (it didn't worked
+	  anymore). Buddy list synchronization will be implemented in 3.0.0.
+
+	Windows-Specific Changes:
+	* Updates to dependencies:
+		* NSS 3.14.3 and NSPR 4.9.5
+
 version 2.10.7 (02/13/2013):
 	Alien hatchery:
 	* No changes
@@ -39,7 +54,7 @@ version 2.10.7 (02/13/2013):
 	  Barfield) (#15217)
 
 	MXit:
-	* Fix a bug where a remote MXit user could possibly specify a local
+	* Fix two bugs where a remote MXit user could possibly specify a local
 	  file path to be written to. (CVE-2013-0271)
 	* Fix a bug where the MXit server or a man-in-the-middle could
 	  potentially send specially crafted data that could overflow a buffer
@@ -75,11 +90,14 @@ version 2.10.7 (02/13/2013):
 	  such as MacPorts' +no_x11 variant.
 
 	Windows-Specific Changes:
-	* Compile with secure flags (#15290)
+	* Compile with secure flags (Jurre van Bergen) (#15290)
 	* Installer downloads GTK+ Runtime and Debug Symbols more securely.
-	  (#15277)
+	  Thanks goes to Jacob Appelbaum of the Tor Project for identifying
+	  this issue and suggesting solutions. (#15277)
 	* Updates to a number of dependencies, some of which have security
-	  related fixes. (#14571, #15285, #15286)
+	  related fixes. Thanks again to Jacob Appelbaum and Jurre van Bergen
+	  for identifying the vulnerable libraries and to Dieter Verfaillie 
+	  for helping getting the libraries updated. (#14571, #15285, #15286)
 		* ATK 1.32.0-2
 		* Cyrus SASL 2.1.25
 		* expat 2.1.0-1
diff --git a/ChangeLog.API b/ChangeLog.API
--- a/ChangeLog.API
+++ b/ChangeLog.API
@@ -1,5 +1,8 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
+version 2.10.8:
+	* No changes
+
 version 2.10.7:
 	* No changes
 
diff --git a/Makefile.mingw b/Makefile.mingw
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -38,14 +38,14 @@ authenticode_sign = $(MONO_SIGNCODE) \
 		    -a sha1 -$$ commercial \
 		    -n "$(2)" -i "https://pidgin.im" \
 		    -t "http://timestamp.verisign.com/scripts/timstamp.dll" -tr 10 \
-		    $(1)
+		    $(1) && rm -f $(1).bak
 
 gpg_sign = $(GPG_SIGN) -ab $(1) && $(GPG_SIGN) --verify $(1).asc
 
 STRIPPED_RELEASE_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-win32bin
 DEBUG_SYMBOLS_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-dbgsym
 
-PIDGIN_INST_DEP_DIR="$(WIN32_DEV_TOP)/pidgin-inst-deps-20120910"
+PIDGIN_INST_DEP_DIR="$(WIN32_DEV_TOP)/pidgin-inst-deps-20130214"
 
 # Any *.dll or *.exe files included in win32-install-dir that we don't compile
 # should be included in this list so they don't get stripped
@@ -109,7 +109,7 @@ endif
 	cp $(ENCHANT_TOP)/bin/libenchant.dll $(PIDGIN_INSTALL_DIR)/spellcheck
 	cp -R $(ENCHANT_TOP)/lib/enchant/*.dll $(PIDGIN_INSTALL_DIR)/spellcheck/lib/enchant
 	cp $(PIDGIN_INST_DEP_DIR)/exchndl.dll $(PIDGIN_INSTALL_DIR)
-	cp $(GCC_SSP_TOP)/bin/libssp-0.dll $(PIDGIN_INSTALL_DIR)
+	cp $(GCC_SSP_TOP)/libssp-0.dll $(PIDGIN_INSTALL_DIR)
 
 gtk_runtime_zip:
 	pidgin/win32/nsis/generate_gtk_zip.sh "`pwd`" "$(GPG_SIGN)"
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -46,8 +46,8 @@ AC_PREREQ([2.50])
 m4_define([purple_lt_current], [10])
 m4_define([purple_major_version], [2])
 m4_define([purple_minor_version], [10])
-m4_define([purple_micro_version], [7])
-m4_define([purple_version_suffix], [])
+m4_define([purple_micro_version], [8])
+m4_define([purple_version_suffix], [devel])
 m4_define([purple_version],
           [purple_major_version.purple_minor_version.purple_micro_version])
 m4_define([purple_display_version], purple_version[]m4_ifdef([purple_version_suffix],[purple_version_suffix]))
@@ -55,8 +55,8 @@ m4_define([purple_display_version], purp
 m4_define([gnt_lt_current], [8])
 m4_define([gnt_major_version], [2])
 m4_define([gnt_minor_version], [8])
-m4_define([gnt_micro_version], [9])
-m4_define([gnt_version_suffix], [])
+m4_define([gnt_micro_version], [10])
+m4_define([gnt_version_suffix], [devel])
 m4_define([gnt_version],
           [gnt_major_version.gnt_minor_version.gnt_micro_version])
 m4_define([gnt_display_version], gnt_version[]m4_ifdef([gnt_version_suffix],[gnt_version_suffix]))
@@ -1512,13 +1512,13 @@ dnl Check for Python headers (currently 
 dnl (Thanks to XChat)
 if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
 	AC_MSG_CHECKING(for Python compile flags)
-	PY_PREFIX=`$PYTHON -c 'import sys ; print sys.prefix'`
-	PY_EXEC_PREFIX=`$PYTHON -c 'import sys ; print sys.exec_prefix'`
+	PY_PREFIX=`$PYTHON -c 'import sys ; sys.stdout.write(sys.prefix)'`
+	PY_EXEC_PREFIX=`$PYTHON -c 'import sys ; sys.stdout.write(sys.exec_prefix)'`
 	changequote(<<, >>)dnl
-	PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`
-	PY_MAJOR=`$PYTHON -c 'import sys ; print sys.version[0:2]'`
+	PY_VERSION=`$PYTHON -c 'import sys ; sys.stdout.write(sys.version[0:3])'`
+	PY_MAJOR=`$PYTHON -c 'import sys ; sys.stdout.write(sys.version[0:2])'`
 	changequote([, ])dnl
-	if test -f $PY_PREFIX/include/python$PY_VERSION/Python.h -a "$PY_MAJOR" = "2."; then
+	if test -f $PY_PREFIX/include/python$PY_VERSION/Python.h; then
 		AC_MSG_RESULT()
 		AC_CHECK_LIB(pthread, pthread_create, )
 		AC_CHECK_LIB(util, openpty, )
@@ -2320,12 +2320,12 @@ fi
 AC_SUBST(PLUGINS_DEFINE)
 
 dnl #######################################################################
-dnl # Check for Cyrus-SASL (for Jabber)
+dnl # Check for Cyrus-SASL (for xmpp/irc)
 dnl #######################################################################
 dnl AC_CHECK_SIZEOF(short)
 AC_CHECK_FUNCS(snprintf connect)
 AC_SUBST(SASL_LIBS)
-AC_ARG_ENABLE(cyrus-sasl, AC_HELP_STRING([--enable-cyrus-sasl], [enable Cyrus SASL support for jabberd]), enable_cyrus_sasl=$enableval, enable_cyrus_sasl=no)
+AC_ARG_ENABLE(cyrus-sasl, AC_HELP_STRING([--enable-cyrus-sasl], [enable Cyrus SASL support for xmpp/irc]), enable_cyrus_sasl=$enableval, enable_cyrus_sasl=no)
 if test "x$enable_cyrus_sasl" = "xyes" ; then
 	AC_CHECK_LIB(sasl2, sasl_client_init, [
 			AM_CONDITIONAL(USE_CYRUS_SASL, true)
diff --git a/finch/gntlog.c b/finch/gntlog.c
--- a/finch/gntlog.c
+++ b/finch/gntlog.c
@@ -248,7 +248,7 @@ static void populate_log_tree(FinchLogVi
 									NULL);
 			gnt_tree_set_expanded(GNT_TREE(lv->tree), month, FALSE);
 
-			strncpy(prev_top_month, month, sizeof(prev_top_month));
+			g_strlcpy(prev_top_month, month, sizeof(prev_top_month));
 		}
 
 		/* sub */
diff --git a/finch/gntpounce.c b/finch/gntpounce.c
--- a/finch/gntpounce.c
+++ b/finch/gntpounce.c
@@ -801,10 +801,8 @@ pounce_cb(PurplePounce *pounce, PurplePo
 
 	if (purple_pounce_action_is_enabled(pounce, "open-window"))
 	{
-		conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, pouncee, account);
-
-		if (conv == NULL)
-			conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, pouncee);
+		if (!purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, pouncee, account))
+			purple_conversation_new(PURPLE_CONV_TYPE_IM, account, pouncee);
 	}
 
 	if (purple_pounce_action_is_enabled(pounce, "popup-notify"))
diff --git a/finch/libgnt/gntwm.c b/finch/libgnt/gntwm.c
--- a/finch/libgnt/gntwm.c
+++ b/finch/libgnt/gntwm.c
@@ -1252,7 +1252,11 @@ ignore_keys_start(GntBindable *bindable,
 static gboolean
 ignore_keys_end(GntBindable *bindable, GList *n)
 {
-	return ignore_keys ? !(ignore_keys = FALSE) : FALSE;
+	if (ignore_keys) {
+		ignore_keys = FALSE;
+		return TRUE;
+	}
+	return FALSE;
 }
 
 static gboolean
diff --git a/libpurple/Makefile.mingw b/libpurple/Makefile.mingw
--- a/libpurple/Makefile.mingw
+++ b/libpurple/Makefile.mingw
@@ -117,6 +117,7 @@ OBJECTS = $(C_SRC:%.c=%.o) $(RC_SRC:%.rc
 ## LIBRARIES
 ##
 LIBS =	\
+		-ldnsapi \
 		-lglib-2.0 \
 		-lgthread-2.0 \
 		-lgobject-2.0 \
diff --git a/libpurple/account.c b/libpurple/account.c
--- a/libpurple/account.c
+++ b/libpurple/account.c
@@ -1550,7 +1550,7 @@ purple_account_request_change_password(P
 	field = purple_request_field_string_new("password", _("Original password"),
 										  NULL, FALSE);
 	purple_request_field_string_set_masked(field, TRUE);
-	if (!(prpl_info && (prpl_info->options | OPT_PROTO_PASSWORD_OPTIONAL)))
+	if (!prpl_info || !(prpl_info->options & OPT_PROTO_PASSWORD_OPTIONAL))
 		purple_request_field_set_required(field, TRUE);
 	purple_request_field_group_add_field(group, field);
 
@@ -1558,7 +1558,7 @@ purple_account_request_change_password(P
 										  _("New password"),
 										  NULL, FALSE);
 	purple_request_field_string_set_masked(field, TRUE);
-	if (!(prpl_info && (prpl_info->options | OPT_PROTO_PASSWORD_OPTIONAL)))
+	if (!prpl_info || !(prpl_info->options & OPT_PROTO_PASSWORD_OPTIONAL))
 		purple_request_field_set_required(field, TRUE);
 	purple_request_field_group_add_field(group, field);
 
@@ -1566,7 +1566,7 @@ purple_account_request_change_password(P
 										  _("New password (again)"),
 										  NULL, FALSE);
 	purple_request_field_string_set_masked(field, TRUE);
-	if (!(prpl_info && (prpl_info->options | OPT_PROTO_PASSWORD_OPTIONAL)))
+	if (!prpl_info || !(prpl_info->options & OPT_PROTO_PASSWORD_OPTIONAL))
 		purple_request_field_set_required(field, TRUE);
 	purple_request_field_group_add_field(group, field);
 
diff --git a/libpurple/buddyicon.c b/libpurple/buddyicon.c
--- a/libpurple/buddyicon.c
+++ b/libpurple/buddyicon.c
@@ -407,7 +407,7 @@ purple_buddy_icon_update(PurpleBuddyIcon
 	icon_to_set = icon->img ? icon : NULL;
 
 	/* Ensure that icon remains valid throughout */
-	if (icon) purple_buddy_icon_ref(icon);
+	purple_buddy_icon_ref(icon);
 
 	buddies = purple_find_buddies(account, username);
 	while (buddies != NULL)
@@ -455,7 +455,7 @@ purple_buddy_icon_update(PurpleBuddyIcon
 		purple_conv_im_set_icon(PURPLE_CONV_IM(conv), icon_to_set);
 
 	/* icon's refcount was incremented above */
-	if (icon) purple_buddy_icon_unref(icon);
+	purple_buddy_icon_unref(icon);
 }
 
 void
diff --git a/libpurple/certificate.c b/libpurple/certificate.c
--- a/libpurple/certificate.c
+++ b/libpurple/certificate.c
@@ -516,8 +516,8 @@ purple_certificate_pool_mkpath(PurpleCer
 	g_return_val_if_fail(pool->name, NULL);
 
 	/* Escape all the elements for filesystem-friendliness */
-	esc_scheme_name = pool ? g_strdup(purple_escape_filename(pool->scheme_name)) : NULL;
-	esc_name = pool ? g_strdup(purple_escape_filename(pool->name)) : NULL;
+	esc_scheme_name = g_strdup(purple_escape_filename(pool->scheme_name));
+	esc_name = g_strdup(purple_escape_filename(pool->name));
 	esc_id = id ? g_strdup(purple_escape_filename(id)) : NULL;
 
 	path = g_build_filename(purple_user_dir(),



More information about the Commits mailing list