/pidgin/main: c4ebf4d738f9: Pull changes from ssh://[email protected]...
Mark Doliner <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: c4ebf4d738f9cde5f5e20191f2dcc87697c7fd17 Author: Mark Doliner <[email protected]> Date: 2014-06-17 23:14 -0700 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/c4ebf4d738f9 Description: Pull changes from ssh://[email protected]/pidgin/main Easy manual merge: Only conflicts were in ChangeLog. diffstat: COPYRIGHT | 4 + ChangeLog | 5 +- Makefile.am | 24 +- configure.ac | 124 +- finch/finch.c | 11 +- finch/gntmedia.c | 4 +- finch/gntnotify.c | 49 +- finch/gntprefs.c | 6 +- finch/gntrequest.c | 7 +- finch/libgnt/gntbox.c | 4 +- finch/libgnt/gntcheckbox.c | 2 +- finch/libgnt/gntcombobox.c | 2 +- finch/libgnt/gntentry.c | 2 +- finch/libgnt/gntmain.c | 3 + finch/libgnt/gnttextview.c | 12 +- finch/libgnt/gntwidget.c | 2 + finch/libgnt/gntwm.c | 20 +- finch/libgnt/gntws.c | 2 + finch/libgnt/wms/irssi.c | 2 +- finch/plugins/gnttinyurl.c | 2 +- finch/plugins/lastlog.c | 2 +- libpurple/account.c | 6 +- libpurple/blist.c | 3 +- libpurple/core.c | 3 + libpurple/dnsquery.c | 4 +- libpurple/dnssrv.c | 14 + libpurple/ft.c | 9 +- libpurple/internal.h | 38 + libpurple/log.c | 64 +- libpurple/media/backend-fs2.c | 82 +- libpurple/mediamanager.c | 6 +- libpurple/network.c | 36 +- libpurple/plugins/log_reader.c | 47 +- libpurple/plugins/perl/common/Certificate.xs | 1 - libpurple/plugins/perl/common/Cipher.xs | 5 + libpurple/plugins/perl/common/module.h | 15 + libpurple/plugins/perl/perl-common.c | 3 +- libpurple/plugins/perl/perl-common.h | 4 + libpurple/plugins/perl/perl.c | 3 + libpurple/plugins/ssl/ssl-gnutls.c | 46 +- libpurple/plugins/tcl/tcl_glib.c | 12 +- libpurple/plugins/tcl/tcl_signals.c | 1 + libpurple/protocols/bonjour/bonjour_ft.c | 11 +- libpurple/protocols/bonjour/jabber.c | 36 +- libpurple/protocols/gg/Makefile.am | 27 +- libpurple/protocols/gg/gg.c | 110 +- libpurple/protocols/gg/gg.h | 2 + libpurple/protocols/gg/lib/config.h | 6 +- libpurple/protocols/gg/lib/dcc7.c | 2 +- libpurple/protocols/gg/lib/fileio.h | 6 + libpurple/protocols/gg/lib/handlers.c | 26 +- libpurple/protocols/gg/lib/internal.h | 28 +- libpurple/protocols/gg/lib/libgadu.c | 160 +- libpurple/protocols/gg/lib/libgadu.h | 2 +- libpurple/protocols/gg/lib/resolver.c | 6 +- libpurple/protocols/gg/lib/resolver.h | 1 + libpurple/protocols/irc/dcc_send.c | 8 +- libpurple/protocols/jabber/Makefile.am | 2 + libpurple/protocols/jabber/Makefile.mingw | 1 + libpurple/protocols/jabber/chat.c | 3 +- libpurple/protocols/jabber/facebook_roster.c | 135 + libpurple/protocols/jabber/facebook_roster.h | 35 + libpurple/protocols/jabber/google/google_roster.c | 7 +- libpurple/protocols/jabber/jabber.c | 10 +- libpurple/protocols/jabber/jabber.h | 5 + libpurple/protocols/jabber/jingle/jingle.c | 8 +- libpurple/protocols/jabber/roster.c | 68 +- libpurple/protocols/jabber/roster.h | 6 + libpurple/protocols/jabber/si.c | 20 +- libpurple/protocols/msn/contact.c | 1 + libpurple/protocols/msn/msnutils.c | 7 +- libpurple/protocols/mxit/chunk.c | 2 +- libpurple/protocols/mxit/filexfer.c | 5 +- libpurple/protocols/mxit/http.c | 8 +- libpurple/protocols/myspace/myspace.c | 4 +- libpurple/protocols/myspace/user.c | 4 +- libpurple/protocols/myspace/zap.c | 5 +- libpurple/protocols/oscar/family_auth.c | 3 +- libpurple/protocols/oscar/family_bart.c | 12 +- libpurple/protocols/oscar/family_chatnav.c | 7 +- libpurple/protocols/oscar/family_feedbag.c | 4 +- libpurple/protocols/oscar/family_icbm.c | 11 +- libpurple/protocols/oscar/family_locate.c | 3 +- libpurple/protocols/oscar/family_oservice.c | 12 +- libpurple/protocols/oscar/oscar.c | 33 +- libpurple/protocols/oscar/peer.c | 7 +- libpurple/protocols/oscar/tlv.c | 10 +- libpurple/protocols/oscar/userinfo.c | 23 +- libpurple/protocols/sametime/sametime.c | 43 +- libpurple/protocols/silc/buddy.c | 12 +- libpurple/protocols/silc/ops.c | 5 +- libpurple/protocols/silc/silc.c | 2 +- libpurple/protocols/silc/util.c | 109 +- libpurple/protocols/silc/wb.c | 2 - libpurple/protocols/simple/simple.c | 16 +- libpurple/protocols/yahoo/libymsg.c | 33 +- libpurple/protocols/yahoo/util.c | 17 +- libpurple/protocols/yahoo/yahoo_filexfer.c | 41 +- libpurple/protocols/yahoo/yahoo_picture.c | 10 +- libpurple/protocols/yahoo/yahoo_profile.c | 2 +- libpurple/protocols/yahoo/yahoochat.c | 33 +- libpurple/protocols/zephyr/ZOpenPort.c | 14 +- libpurple/protocols/zephyr/ZParseNot.c | 3 + libpurple/protocols/zephyr/ZReadAscii.c | 7 +- libpurple/protocols/zephyr/ZRetSubs.c | 1 + libpurple/protocols/zephyr/Zinternal.c | 24 +- libpurple/protocols/zephyr/zephyr.c | 53 +- libpurple/proxy.c | 51 +- libpurple/prpl.h | 5 + libpurple/purple-client.c | 5 +- libpurple/stun.c | 9 +- libpurple/tests/check_libpurple.c | 3 + libpurple/util.c | 69 +- libpurple/xmlnode.c | 3 +- pidgin/Makefile.am | 4 - pidgin/gtkblist.c | 5 +- pidgin/gtkconv.c | 5 +- pidgin/gtkdialogs.c | 18 +- pidgin/gtkimhtml.c | 2 +- pidgin/gtkmain.c | 12 +- pidgin/gtknotify.c | 4 +- pidgin/gtkprefs.c | 13 +- pidgin/gtkrequest.c | 4 +- pidgin/gtksession.c | 5 +- pidgin/gtksourceiter.c | 17 +- pidgin/gtksourceundomanager.c | 10 +- pidgin/gtkstatusbox.c | 10 +- pidgin/gtkthemes.c | 8 +- pidgin/gtkutils.c | 2 +- pidgin/plugins/perl/common/GtkIMHtml.xs | 7 +- pidgin/plugins/perl/common/gtkmodule.h | 4 + pidgin/plugins/pidginrc.c | 4 +- pidgin/plugins/spellchk.c | 7 +- pidgin/plugins/vvconfig.c | 3 + po/POTFILES.in | 1 + po/brx.po | 19799 ++++++++++++++++++++ po/es_AR.po | 19799 ++++++++++++++++++++ po/ks.po | 19799 ++++++++++++++++++++ po/sd.po | 19799 ++++++++++++++++++++ po/uz.po | 19770 +++++++++++++++++++ 140 files changed, 100418 insertions(+), 848 deletions(-) diffs (truncated from 104693 to 300 lines): diff --git a/COPYRIGHT b/COPYRIGHT --- a/COPYRIGHT +++ b/COPYRIGHT @@ -145,6 +145,7 @@ Marc Dequènes Philip Derrin Taso N. Devetzis Balwinder Singh Dheeman +Chandrakant Dhutadmal Andrew Dieffenbach Finlay Dobbie Mark Doliner @@ -271,9 +272,11 @@ Tomáš Kebert John Kelm Jochen Kemnade Yann Kerherve +Akmal Khushvakov Gordian Klein Marten Klencke Krzysztof Klinikowski +KNTRO Akuke Kok Kir Kolyshkin Ivan Komarov @@ -374,6 +377,7 @@ Richard Nelson Dennis Nezic Matthew A. Nicholson Andreas Nilsson +Allan Nordhøy Henning Norén Szilard Novaki Novell diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -16,7 +16,7 @@ version 2.10.10 (?/?/?): * Fix build against Python 3. (Ed Catmur) (#15969) Gadu-Gadu: - * Updated internal libgadu to version 1.12.0-rc2. + * Updated internal libgadu to version 1.12.0. Groupwise: * Fix potential remote crash parsing server message that indicates that @@ -32,6 +32,9 @@ version 2.10.10 (?/?/?): (Discovered by Yves Younan and Richard Johnson of Sourcefire VRT) (CVE-2014-NNNN) + XMPP: + * Fix Facebook XMPP roster quirks. (#15041, #15957) + version 2.10.9 (2/2/2014): XMPP: * Fix problems logging into some servers including jabber.org and diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -84,23 +84,29 @@ if ENABLE_GNT GNT_DIR=finch endif -# This is phony, so that we always try to rebuild it. If it succeeds -# in calculating changes, it produces its target; otherwise, its -# target does not exist. -.PHONY: package_revision_raw.txt +# We always try to rebuild all objects that depends on this dummy target. +.FORCE: + # if both attempts fail, then we need to remove the empty file that > # creates, and also make sure that the shell command exits # successfully; the rm -f ensures both -package_revision_raw.txt: +package_revision_raw.txt: .FORCE $(AM_V_GEN)REAL_BLDDIR=$$PWD/$(top_builddir); \ - (hg --cwd $(srcdir) id -i --debug) 2>/dev/null >$@ \ - || rm -f $@ + (hg --cwd $(srcdir) id -i --debug) 2>/dev/null >[email protected] \ + || rm -f [email protected] + $(AM_V_at)if test -f [email protected]; then \ + if ! diff $@ [email protected] > /dev/null; then \ + mv [email protected] $@; \ + else \ + rm [email protected]; \ + fi \ + fi package_revision.h: package_revision_raw.txt $(AM_V_GEN)if test -f $<; then \ - echo "#define REVISION \"`cat $<`\"" > $@; \ + echo "#define REVISION \"`cat $<`\"" > $@; \ fi $(AM_V_at)if test ! -f $@ -a -f $(srcdir)/$@; then \ - cp $(srcdir)/$@ $@; \ + cp $(srcdir)/$@ $@; \ fi $(AM_V_at)test -f $@ || echo "#define REVISION \"unknown\"" > $@ diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -1023,92 +1023,32 @@ elif test "x$silc10client" = "xyes"; the fi dnl ####################################################################### -dnl # Check for Gadu-Gadu client includes and libraries +dnl # Check for Gadu-Gadu protocol library (libgadu) dnl ####################################################################### -AC_ARG_WITH(gadu-includes, [AC_HELP_STRING([--with-gadu-includes=DIR], [compile the Gadu-Gadu plugin against includes in DIR])], [ac_gadu_includes="$withval"], [ac_gadu_includes="no"]) -AC_ARG_WITH(gadu-libs, [AC_HELP_STRING([--with-gadu-libs=DIR], [compile the Gadu-Gadu plugin against the libs in DIR])], [ac_gadu_libs="$withval"], [ac_gadu_libs="no"]) -GADU_CFLAGS="" -GADU_LIBS="" -if test -n "$with_gadu_includes" || test -n "$with_gadu_libs"; then - gadu_manual_check="yes" -else - gadu_manual_check="no" -fi -if test "x$gadu_manual_check" = "xno"; then - PKG_CHECK_MODULES(GADU, [libgadu >= 1.11.0], [ - gadu_includes="yes" - gadu_libs="yes" - ], [ - gadu_includes="no" + +PKG_CHECK_MODULES(LIBGADU, [libgadu >= 1.12.0], [have_libgadu=yes], [have_libgadu=no]) + +if test "x$have_libgadu" = "xyes"; then + AC_CHECK_LIB(gadu, gg_is_gpl_compliant, , [ + LIBGADU_LIBS="" + LIBGADU_CFLAGS="" + have_libgadu=no + AC_MSG_WARN([ +libgadu is not compatible with the GPL when compiled with OpenSSL support. + +To compile against system libgadu, please recompile libgadu using: +./configure --with-openssl=no +Then rerun this ./configure + +Falling back to using our own copy of libgadu. + ]) ]) -else - if test "$ac_gadu_includes" != "no"; then - GADU_CFLAGS="-I$ac_gadu_includes" - fi - CPPFLAGS_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $GADU_CFLAGS" - AC_CHECK_HEADER(libgadu.h, [gadu_includes=yes]) - CPPFLAGS="$CPPFLAGS_save" - - if test "$ac_gadu_libs" != "no"; then - GADU_LIBS="-L$ac_gadu_libs" - fi - GADU_LIBS="$GADU_LIBS -lgadu" - AC_CHECK_LIB(gadu, gg_libgadu_version, [gadu_libs=yes], , $GADU_LIBS) -fi -GADU_CFLAGS=`echo $GADU_CFLAGS |$sedpath 's/-Wall//'` - -if test "x$gadu_libs" = "xyes"; then - AC_MSG_CHECKING(for libgadu GPL compatibility) - CPPFLAGS_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $GADU_CFLAGS" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <libgadu.h>]], [[ -#if defined(__GG_LIBGADU_HAVE_OPENSSL) || defined(GG_CONFIG_HAVE_OPENSSL) -#error "libgadu is not compatible with the GPL when compiled with OpenSSL support." -#endif - ]])], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <libgadu.h>]], [[ -#if GG_DEFAULT_PROTOCOL_VERSION < 0x2e -#error "Your libgadu version is too old. libpurple requires 1.11.0 or higher." -#endif - ]])], [ - AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_LIBGADU], [1], - [Define to 1 if you have libgadu.]) - ], [ - AC_MSG_RESULT(no) - echo - echo - echo "Your supplied copy of libgadu is too old." - echo "Install version 1.11.0 or newer." - echo "Then rerun this ./configure" - echo - echo "Falling back to using our own copy of libgadu" - echo - GADU_LIBS="" - GADU_CFLAGS="" - gadu_libs=no - ]) - ], [ - AC_MSG_RESULT(no) - echo - echo - echo "libgadu is not compatible with the GPL when compiled with OpenSSL support." - echo "To compile against system libgadu, please recompile libgadu using:" - echo "./autogen.sh --disable-libgadu-openssl --disable-static --enable-shared" - echo "Then rerun this ./configure" - echo - echo "Falling back to using our own copy of libgadu" - echo - GADU_LIBS="" - GADU_CFLAGS="" - gadu_libs=no - ]) - CPPFLAGS="$CPPFLAGS_save" fi -AM_CONDITIONAL(USE_INTERNAL_LIBGADU, test "x$gadu_libs" != "xyes") -if test "x$gadu_libs" != "xyes"; then +AM_CONDITIONAL(HAVE_LIBGADU, test "x$have_libgadu" = "xyes") +if test "x$have_libgadu" = "xyes"; then + AC_DEFINE(HAVE_LIBGADU, 1, [Linked with external libgadu]) +else AC_CHECK_LIB(gnutls, gnutls_certificate_set_x509_system_trust, [gg_have_gnutls_csxst=yes], [gg_have_gnutls_csxst=no]) gg_gnutls_sts="" @@ -1138,12 +1078,9 @@ if test "x$gadu_libs" != "xyes"; then ],:) fi -if test "x$gadu_libs" = "x"; then - gadu_libs=no -fi +AC_SUBST(LIBGADU_LIBS) +AC_SUBST(LIBGADU_CFLAGS) -AC_SUBST(GADU_LIBS) -AC_SUBST(GADU_CFLAGS) AC_ARG_ENABLE(distrib,,,enable_distrib=no) AM_CONDITIONAL(DISTRIB, test "x$enable_distrib" = "xyes") @@ -1371,6 +1308,17 @@ AC_SUBST(CFLAGS) AC_PATH_PROG(pidginpath, pidgin) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [ + #if !defined(__clang__) + #error + #endif +])], have_clang=yes, have_clang=no) + +if test "x$have_clang" = "xyes"; then + dnl we don't care about it for 2.x.y + DEBUG_CFLAGS=`echo $DEBUG_CFLAGS |$sedpath 's/-Wcast-align//'` +fi + dnl ####################################################################### dnl # Check for D-Bus libraries dnl ####################################################################### @@ -2671,7 +2619,7 @@ fi echo Build with Cyrus SASL support. : $enable_cyrus_sasl echo Use kerberos 4 with zephyr.... : $kerberos echo Use external libzephyr........ : $zephyr -echo Use external libgadu.......... : $gadu_libs +echo Use external libgadu.......... : $have_libgadu echo Install pixmaps............... : $enable_pixmaps echo Old tray icon compatibility... : $enable_traycompat echo Install translations.......... : $enable_i18n diff --git a/finch/finch.c b/finch/finch.c --- a/finch/finch.c +++ b/finch/finch.c @@ -269,7 +269,6 @@ init_libpurple(int argc, char **argv) gboolean opt_version = FALSE; char *opt_config_dir_arg = NULL; gboolean debug_enabled = FALSE; - struct stat st; struct option long_options[] = { {"config", required_argument, NULL, 'c'}, @@ -379,8 +378,8 @@ init_libpurple(int argc, char **argv) purple_idle_set_ui_ops(finch_idle_get_ui_ops()); path = g_build_filename(purple_user_dir(), "plugins", NULL); - if (!g_stat(path, &st)) - g_mkdir(path, S_IRUSR | S_IWUSR | S_IXUSR); + if (g_mkdir(path, S_IRUSR | S_IWUSR | S_IXUSR) != 0 && errno != EEXIST) + fprintf(stderr, "Couldn't create plugins dir\n"); purple_plugins_add_search_path(path); g_free(path); @@ -448,7 +447,13 @@ int main(int argc, char *argv[]) { signal(SIGPIPE, SIG_IGN); +#if !GLIB_CHECK_VERSION(2, 32, 0) + /* GLib threading system is automaticaly initialized since 2.32. + * For earlier versions, it have to be initialized before calling any + * Glib or GTK+ functions. + */ g_thread_init(NULL); +#endif g_set_prgname("Finch"); g_set_application_name(_("Finch")); diff --git a/finch/gntmedia.c b/finch/gntmedia.c --- a/finch/gntmedia.c +++ b/finch/gntmedia.c @@ -408,9 +408,9 @@ call_cmd_cb(PurpleConversation *conv, co if (!purple_prpl_initiate_media(account, purple_conversation_get_name(conv), PURPLE_MEDIA_AUDIO)) - return PURPLE_CMD_STATUS_FAILED; + return PURPLE_CMD_RET_FAILED;