/pidgin/main: 34790b0b2040: Merge with release-2.x.y
Andrew Victor
andrew.victor at mxit.com
Wed Nov 7 04:16:04 EST 2012
Changeset: 34790b0b20401fba173ee366ce26a0366cf2fb8e
Author: Andrew Victor <andrew.victor at mxit.com>
Date: 2012-11-07 11:01 +0200
Branch: mxit-2.x.y
URL: http://hg.pidgin.im/pidgin/main/rev/34790b0b2040
Description:
Merge with release-2.x.y
diffstat:
.hgignore | 1 +
COPYRIGHT | 2 +
ChangeLog | 39 ++-
Makefile.mingw | 41 ++-
configure.ac | 4 +-
libpurple/Makefile.mingw | 17 +
libpurple/plugins/perl/common/Makefile.mingw | 2 +-
libpurple/protocols/gg/gg.c | 1 +
libpurple/protocols/gg/search.c | 6 +-
libpurple/protocols/irc/Makefile.mingw | 7 +
libpurple/protocols/irc/irc.c | 32 ++-
libpurple/protocols/irc/irc.h | 18 +
libpurple/protocols/irc/msgs.c | 381 +++++++++++++++++++++++++++
libpurple/protocols/irc/parse.c | 13 +
libpurple/protocols/jabber/Makefile.mingw | 17 -
libpurple/protocols/myspace/message.c | 14 +-
libpurple/protocols/oscar/oscar.c | 7 +-
libpurple/win32/global.mak | 19 +-
pidgin/Makefile.mingw | 4 +-
pidgin/gtkconv.c | 4 -
pidgin/gtkdialogs.c | 7 +
pidgin/gtkmain.c | 4 +-
pidgin/gtkutils.c | 4 +-
pidgin/plugins/cap/cap.c | 6 +-
pidgin/plugins/notify.c | 12 +-
pidgin/plugins/perl/common/Makefile.mingw | 2 +-
pidgin/plugins/relnot.c | 2 +-
pidgin/win32/gtkwin32dep.c | 9 +-
pidgin/win32/nsis/generate_gtk_zip.sh | 89 +++++-
pidgin/win32/nsis/pidgin-installer.nsi | 96 ++++--
pidgin/win32/winpidgin.c | 48 ++-
31 files changed, 771 insertions(+), 137 deletions(-)
diffs (truncated from 1678 to 300 lines):
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -9,6 +9,7 @@ syntax: regexp
.*/perl/common/pm_to_blib$
.*~$
.*\.a$
+.*\.asc$
.*\.bak$
.*\.bs$
.*\.def$
diff --git a/COPYRIGHT b/COPYRIGHT
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -17,6 +17,7 @@ control system to see from where it came
Copyright (C) 1998-2012 by the following:
+Mark
Saleem Abdulrasool
Jakub Adam
Dave Ahlswede
@@ -72,6 +73,7 @@ Craig Boston
Ãric Boumaour
Chris Boyle
Stanislav Brabec
+Bartosz Brachaczek
Quentin Brandon
Derrick J Brashear
Mauro Sérgio Ferreira Brasil
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,10 +4,22 @@ version 2.10.7:
Alien hatchery:
* No changes
+ libpurple:
+ * Don't link directly to libgcrypt when building with GnuTLS support.
+ (Bartosz Brachaczek) (#15329)
+
+ Pidgin:
+ * Make Pidgin more friendly to non-X11 GTK+, such as MacPorts' +no_x11
+ variant.
+
Gadu-Gadu:
* Fix a crash at startup with large contact list. Avatar support for
buddies will be disabled till 3.0.0. (#15226, #14305)
+ IRC:
+ * Support for SASL authentication. (Thijs Alkemade, Andy Spencer)
+ (#13270)
+
MSN:
* Fix a crash when removing a user before its icon is loaded. (Mark
Barfield) (#15217)
@@ -18,7 +30,32 @@ version 2.10.7:
Plugins:
* The Voice/Video Settings plugin supports using the sndio GStreamer
- backends. (Brad Smith) (#14414)
+ backends. (Brad Smith) (#14414)
+ * Fix a crash in the Contact Availability Detection plugin. (Mark)
+ (#15327)
+ * Make the Message Notification plugin more friendly to non-X11 GTK+,
+ such as MacPorts' +no_x11 variant.
+
+ Windows-Specific Changes:
+ * Compile with secure flags (#15290)
+ * Installer downloads GTK+ Runtime and Debug Symbols more securely.
+ (#15277)
+ * Updates to a number of dependencies, some of which have security
+ related fixes. (#14571, #15285, #15286)
+ * ATK 1.32.0-2
+ * Cyrus SASL 2.1.25
+ * expat 2.1.0-1
+ * freetype 2.4.10-1
+ * gettext 0.18.1.1-2
+ * Glib 2.28.8-1
+ * libpng 1.4.12-1
+ * libxml2 2.9.0-1
+ * NSS 3.13.6 and NSPR 4.9.2
+ * Pango 1.29.4-1
+ * SILC 1.1.10
+ * zlib 1.2.5-2
+ * Patch libmeanwhile (sametime library) to fix crash. (Jonathan Rice)
+ (#12637)
version 2.10.6 (07/06/2012):
Pidgin:
diff --git a/Makefile.mingw b/Makefile.mingw
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -31,7 +31,16 @@ awk 'BEGIN {FS="."} { \
exit; \
}' VERSION)
-GTK_INSTALL_VERSION = 2.16.6.0
+GTK_INSTALL_VERSION = 2.16.6.1
+
+authenticode_sign = $(MONO_SIGNCODE) \
+ -spc "$(SIGNCODE_SPC)" -v "$(SIGNCODE_PVK)" \
+ -a sha1 -$$ commercial \
+ -n "$(2)" -i "https://pidgin.im" \
+ -t "http://timestamp.verisign.com/scripts/timstamp.dll" -tr 10 \
+ $(1)
+
+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
@@ -55,6 +64,7 @@ EXTERNAL_DLLS = \
libplc4.dll \
libplds4.dll \
libsasl.dll \
+ libssp-0.dll \
libxml2-2.dll \
nss3.dll \
nssckbi.dll \
@@ -77,7 +87,7 @@ EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o
include $(PIDGIN_COMMON_RULES)
-.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir generate_installer_includes $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT)
+.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir generate_installer_includes $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) gtk_runtime_zip
all: $(PIDGIN_CONFIG_H) $(PIDGIN_REVISION_H)
$(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE)
@@ -99,11 +109,12 @@ 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 $(WIN32_DEV_TOP)/pidgin-inst-deps-20100315/exchndl.dll $(PIDGIN_INSTALL_DIR)
+ cp $(GCC_SSP_TOP)/bin/libssp-0.dll $(PIDGIN_INSTALL_DIR)
-pidgin/win32/nsis/gtk-runtime-$(GTK_BUNDLE_VERSION).zip:
- pidgin/win32/nsis/generate_gtk_zip.sh `pwd`
+gtk_runtime_zip:
+ pidgin/win32/nsis/generate_gtk_zip.sh "`pwd`" "$(GPG_SIGN)"
-generate_installer_includes: create_release_install_dir pidgin/win32/nsis/gtk-runtime-$(GTK_BUNDLE_VERSION).zip debug_symbols_zip $(PIDGIN_TREE_TOP)/pidgin/win32/nsis/nsis_translations.desktop
+generate_installer_includes: create_release_install_dir gtk_runtime_zip debug_symbols_zip $(PIDGIN_TREE_TOP)/pidgin/win32/nsis/nsis_translations.desktop
rm -f pidgin/win32/nsis/pidgin-translations.nsh pidgin/win32/nsis/pidgin-spellcheck.nsh pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh
find $(STRIPPED_RELEASE_DIR)/locale -maxdepth 1 -mindepth 1 \
-exec basename {} ';' \
@@ -137,18 +148,32 @@ create_release_install_dir: install
find $(STRIPPED_RELEASE_DIR) \( -name '*.dll' -o -name '*.exe' \) \
-not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) \
-exec $(STRIP) --strip-unneeded {} ';'
+ $(call authenticode_sign, $(STRIPPED_RELEASE_DIR)/pidgin.exe, "Pidgin $(PIDGIN_VERSION)")
installer: generate_installer_includes
- $(MAKENSIS) -V3 -DPIDGIN_VERSION="$(PIDGIN_VERSION)" -DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" -DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" -DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
+ $(eval $@_DEBUG_SYMBOLS_SHA1SUM := $(shell sha1sum $(DEBUG_SYMBOLS_DIR).zip | sed -e "s/\ .*$$//"))
+ $(eval $@_GTK_SHA1SUM := $(shell sha1sum pidgin/win32/nsis/gtk-runtime-$(GTK_INSTALL_VERSION).zip | sed -e "s/\ .*$$//"))
+ $(MAKENSIS) -V3 -DPIDGIN_VERSION="$(PIDGIN_VERSION)" -DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" \
+ -DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" -DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" \
+ -DDEBUG_SYMBOLS_SHA1SUM="$($@_DEBUG_SYMBOLS_SHA1SUM)" -DGTK_SHA1SUM="$($@_GTK_SHA1SUM)"\
+ pidgin/win32/nsis/pidgin-installer.nsi
+ $(call authenticode_sign, pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION).exe, "Pidgin Installer")
mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION).exe ./
+ $(call gpg_sign, pidgin-$(PIDGIN_VERSION).exe)
installer_offline: generate_installer_includes
- $(MAKENSIS) -V3 -DPIDGIN_VERSION="$(PIDGIN_VERSION)" -DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" -DOFFLINE_INSTALLER -DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" -DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
+ $(MAKENSIS) -V3 -DPIDGIN_VERSION="$(PIDGIN_VERSION)" -DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" \
+ -DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" -DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" \
+ -DOFFLINE_INSTALLER \
+ pidgin/win32/nsis/pidgin-installer.nsi
+ $(call authenticode_sign, pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-offline.exe, "Pidgin Installer")
mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-offline.exe ./
+ $(call gpg_sign, pidgin-$(PIDGIN_VERSION)-offline.exe)
installer_zip: create_release_install_dir
rm -f pidgin-$(PIDGIN_VERSION)-win32-bin.zip
zip -9 -r pidgin-$(PIDGIN_VERSION)-win32-bin.zip $(STRIPPED_RELEASE_DIR)
+ $(call gpg_sign, pidgin-$(PIDGIN_VERSION)-win32-bin.zip)
debug_symbols_zip: install
rm -rf $(DEBUG_SYMBOLS_DIR) $(DEBUG_SYMBOLS_DIR).zip
@@ -156,7 +181,9 @@ debug_symbols_zip: install
tar -cf - `find $(PIDGIN_INSTALL_DIR) \( -name '*.dll' -o -name '*.exe' \) \
-not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -print` \
| tar --strip 2 --xform s/$$/.dbgsym/ -xC $(DEBUG_SYMBOLS_DIR) -f -
+ cp $(MEANWHILE_TOP)/bin/libmeanwhile-1.dll.unstripped $(DEBUG_SYMBOLS_DIR)/libmeanwhile-1.dll.dbgsym
zip -9 -r $(DEBUG_SYMBOLS_DIR).zip $(DEBUG_SYMBOLS_DIR)
+ $(call gpg_sign, $(DEBUG_SYMBOLS_DIR).zip)
installers: installer installer_offline debug_symbols_zip installer_zip
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1771,7 +1771,7 @@ if test "x$enable_gnutls" != "xno"; then
AC_CACHE_CHECK([for GnuTLS libraries], ac_cv_gnutls_libs,
[
- LIBS="$LIBS $with_gnutls_libs -lgnutls -lgcrypt"
+ LIBS="$LIBS $with_gnutls_libs -lgnutls"
AC_TRY_LINK_FUNC(gnutls_init, ac_cv_gnutls_libs="yes", ac_cv_gnutls_libs="no")
LIBS="$LIBS_save"
])
@@ -1780,7 +1780,7 @@ if test "x$enable_gnutls" != "xno"; then
AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
AC_DEFINE(HAVE_SSL)
msg_gnutls="GnuTLS"
- GNUTLS_LIBS="$with_gnutls_libs -lgnutls -lgcrypt"
+ GNUTLS_LIBS="$with_gnutls_libs -lgnutls"
enable_gnutls="yes"
else
diff --git a/libpurple/Makefile.mingw b/libpurple/Makefile.mingw
--- a/libpurple/Makefile.mingw
+++ b/libpurple/Makefile.mingw
@@ -10,6 +10,19 @@ include $(PIDGIN_TREE_TOP)/libpurple/win
TARGET = libpurple
NEEDED_DLLS = $(LIBXML2_TOP)/bin/libxml2-2.dll
+ifeq ($(CYRUS_SASL), 1)
+NEEDED_DLLS += $(CYRUS_SASL_TOP)/bin/libsasl.dll
+
+CYRUS_SASL_PLUGINS = \
+ $(CYRUS_SASL_TOP)/bin/sasl2/saslANONYMOUS.dll \
+ $(CYRUS_SASL_TOP)/bin/sasl2/saslCRAMMD5.dll \
+ $(CYRUS_SASL_TOP)/bin/sasl2/saslDIGESTMD5.dll \
+ $(CYRUS_SASL_TOP)/bin/sasl2/saslGSSAPI.dll \
+ $(CYRUS_SASL_TOP)/bin/sasl2/saslLOGIN.dll \
+ $(CYRUS_SASL_TOP)/bin/sasl2/saslPLAIN.dll
+
+endif
+
##
## INCLUDE PATHS
##
@@ -126,6 +139,10 @@ all: $(TARGET).dll
install_shallow: $(PURPLE_INSTALL_DIR) $(TARGET).dll
cp $(TARGET).dll $(PURPLE_INSTALL_DIR)
cp $(NEEDED_DLLS) $(PURPLE_INSTALL_DIR)
+ifeq ($(CYRUS_SASL), 1)
+ mkdir -p $(PURPLE_INSTALL_DIR)/sasl2
+ cp $(CYRUS_SASL_PLUGINS) $(PURPLE_INSTALL_DIR)/sasl2
+endif
install: install_shallow all
$(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) install
diff --git a/libpurple/plugins/perl/common/Makefile.mingw b/libpurple/plugins/perl/common/Makefile.mingw
--- a/libpurple/plugins/perl/common/Makefile.mingw
+++ b/libpurple/plugins/perl/common/Makefile.mingw
@@ -112,7 +112,7 @@ install: all
$(PERL) -MAutoSplit -e 'autosplit("lib/Purple.pm")'
$(TARGET).dll: $(PURPLE_DLL).a $(PURPLE_PERL_DLL).a $(FALLBACKS) $(OBJECTS)
- $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) -o $(TARGET).dll
+ $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll
##
## CLEAN
diff --git a/libpurple/protocols/gg/gg.c b/libpurple/protocols/gg/gg.c
--- a/libpurple/protocols/gg/gg.c
+++ b/libpurple/protocols/gg/gg.c
@@ -2177,6 +2177,7 @@ static void ggp_login(PurpleAccount *acc
glp->server_addr = inet_addr(inet_ntoa(*addr));
glp->server_port = 8074;
+ free(addr);
} else
purple_debug_info("gg", "Trying to retrieve address from gg appmsg service\n");
diff --git a/libpurple/protocols/gg/search.c b/libpurple/protocols/gg/search.c
--- a/libpurple/protocols/gg/search.c
+++ b/libpurple/protocols/gg/search.c
@@ -138,6 +138,7 @@ guint32 ggp_search_start(PurpleConnectio
GGPInfo *info = gc->proto_data;
gg_pubdir50_t req;
guint seq, offset;
+ gchar *tmp;
purple_debug_info("gg", "It's time to perform a search...\n");
@@ -190,10 +191,13 @@ guint32 ggp_search_start(PurpleConnectio
offset = form->page_size * form->page_number;
purple_debug_info("gg", "page number: %u, page size: %u, offset: %u\n",
form->page_number, form->page_size, offset);
- gg_pubdir50_add(req, GG_PUBDIR50_START, g_strdup_printf("%u", offset));
+ tmp = g_strdup_printf("%u", offset);
+ gg_pubdir50_add(req, GG_PUBDIR50_START, tmp);
+ g_free(tmp);
if ((seq = gg_pubdir50(info->session, req)) == 0) {
purple_debug_warning("gg", "ggp_bmenu_show_details: Search failed.\n");
+ gg_pubdir50_free(req);
return 0;
}
diff --git a/libpurple/protocols/irc/Makefile.mingw b/libpurple/protocols/irc/Makefile.mingw
--- a/libpurple/protocols/irc/Makefile.mingw
+++ b/libpurple/protocols/irc/Makefile.mingw
@@ -54,6 +54,13 @@ LIBS = \
-lintl \
-lpurple
More information about the Commits
mailing list