/pidgin/main: fd55a0f119db: Merge release-2.x.y branch into master.
Mark Doliner <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: fd55a0f119db5127e94fe46d16561735823dd4bd Author: Mark Doliner <[email protected]> Date: 2014-11-04 22:15 -0800 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/fd55a0f119db Description: Merge release-2.x.y branch into master. Minor manual merging in pidgin/gtkdialogs.c. diffstat: COPYRIGHT | 1 + ChangeLog | 4 + configure.ac | 2 +- libpurple/plugins/ssl/ssl-nss.c | 82 +- libpurple/protocols/gg/lib/config.h | 2 +- pidgin/gtkdialogs.c | 11 +- po/ku_IQ.po | 19834 ++++++++++++++++++++++++++++++++++ 7 files changed, 19912 insertions(+), 24 deletions(-) diffs (truncated from 20064 to 300 lines): diff --git a/COPYRIGHT b/COPYRIGHT --- a/COPYRIGHT +++ b/COPYRIGHT @@ -21,6 +21,7 @@ Mark Saleem Abdulrasool Jakub Adam Dave Ahlswede +Haval A. Ahmed Thijs Alkemade Manuel Amador Matt Amato diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -76,6 +76,10 @@ version 3.0.0 (??/??/????): was an offline message. (Flavius Anton) (#2497) version 2.10.11 (?/?/?): + Gadu-Gadu: + * Fix a bug that prevented plugin to load when compiled without GnuTLS. + (mancha) (#16431) + General: * Fix handling of Self-Signed SSL/TLS Certificates when using the NSS plugin (#16412) diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -449,7 +449,7 @@ if test x$enable_i18n = xyes; then GETTEXT_PACKAGE=pidgin AC_SUBST(GETTEXT_PACKAGE) - ALL_LINGUAS="af am ar ast az be@latin bg bn bn_IN bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ku lt lv mai mhr mk mn mr my_MM nb ne nl nn oc or pa pl pt_BR pt ps ro ru si sk sl sq sr sr@latin sv sw ta te th tr tt uk ur vi xh zh_CN zh_HK zh_TW" + ALL_LINGUAS="af am ar ast az be@latin bg bn bn_IN bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ku ku_IQ lt lv mai mhr mk mn mr my_MM nb ne nl nn oc or pa pl pt_BR pt ps ro ru si sk sl sq sr sr@latin sv sw ta te th tr tt uk ur vi xh zh_CN zh_HK zh_TW" AM_GLIB_GNU_GETTEXT dnl If we don't have msgfmt, then po/ is going to fail -- ensure that diff --git a/libpurple/plugins/ssl/ssl-nss.c b/libpurple/plugins/ssl/ssl-nss.c --- a/libpurple/plugins/ssl/ssl-nss.c +++ b/libpurple/plugins/ssl/ssl-nss.c @@ -139,9 +139,61 @@ static gchar *get_error_text(void) return ret; } -static void ssl_nss_log_ciphers(void) { +static const PRUint16 default_ciphers[] = { +#if NSS_VMAJOR > 3 || ( NSS_VMAJOR == 3 && NSS_VMINOR > 15 ) \ + || ( NSS_VMAJOR == 3 && NSS_VMINOR == 15 && NSS_VPATCH >= 1 ) + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, +# if NSS_VMAJOR > 3 || ( NSS_VMAJOR == 3 && NSS_VMINOR > 15 ) \ + || ( NSS_VMAJOR == 3 && NSS_VMINOR == 15 && NSS_VPATCH >= 2 ) + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, +# endif +#endif + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + + TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + + TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + + TLS_DHE_DSS_WITH_AES_128_CBC_SHA, /* deprecated (DSS) */ + /* TLS_DHE_DSS_WITH_AES_256_CBC_SHA, false }, // deprecated (DSS) */ + + TLS_ECDHE_RSA_WITH_RC4_128_SHA, /* deprecated (RC4) */ + TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, /* deprecated (RC4) */ + + /* RFC 6120 Mandatory */ + TLS_RSA_WITH_AES_128_CBC_SHA, /* deprecated (RSA key exchange) */ + TLS_RSA_WITH_AES_256_CBC_SHA, /* deprecated (RSA key exchange) */ + /* TLS_RSA_WITH_3DES_EDE_CBC_SHA, deprecated (RSA key exchange, 3DES) */ + + 0 /* end marker */ +}; + +/* It's unfortunate we need to manage these manually, + * ideally NSS would choose good defaults. + * This is mostly based on FireFox's list: + * https://hg.mozilla.org/mozilla-central/log/default/security/manager/ssl/src/nsNSSComponent.cpp */ +static void ssl_nss_init_ciphers(void) { + /* Disable any ciphers that NSS might have enabled by default */ const PRUint16 *cipher; for (cipher = SSL_GetImplementedCiphers(); *cipher != 0; ++cipher) { + SSL_CipherPrefSetDefault(*cipher, PR_FALSE); + } + + /* Now only set SSL/TLS ciphers we knew about at compile time */ + for (cipher = default_ciphers; *cipher != 0; ++cipher) { + SSL_CipherPrefSetDefault(*cipher, PR_TRUE); + } + + /* Now log the available and enabled Ciphers */ + for (cipher = SSL_GetImplementedCiphers(); *cipher != 0; ++cipher) { const PRUint16 suite = *cipher; SECStatus rv; PRBool enabled; @@ -150,18 +202,20 @@ static void ssl_nss_log_ciphers(void) { rv = SSL_CipherPrefGetDefault(suite, &enabled); if (rv != SECSuccess) { - err = PR_GetError(); + gchar *error_txt = get_error_text(); purple_debug_warning("nss", "SSL_CipherPrefGetDefault didn't like value 0x%04x: %s\n", - suite, PORT_ErrorToString(err)); + suite, error_txt); + g_free(error_txt); continue; } rv = SSL_GetCipherSuiteInfo(suite, &info, (int)(sizeof info)); if (rv != SECSuccess) { - err = PR_GetError(); + gchar *error_txt = get_error_text(); purple_debug_warning("nss", "SSL_GetCipherSuiteInfo didn't like value 0x%04x: %s\n", - suite, PORT_ErrorToString(err)); + suite, error_txt); + g_free(error_txt); continue; } purple_debug_info("nss", "Cipher - %s: %s\n", @@ -179,22 +233,11 @@ ssl_nss_init_nss(void) PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1); NSS_NoDB_Init("."); -#if (NSS_VMAJOR == 3 && (NSS_VMINOR < 15 || (NSS_VMINOR == 15 && NSS_VMICRO < 2))) +#if (NSS_VMAJOR == 3 && (NSS_VMINOR < 15 || (NSS_VMINOR == 15 && NSS_VPATCH < 2))) NSS_SetDomesticPolicy(); #endif /* NSS < 3.15.2 */ - SSL_CipherPrefSetDefault(TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 1); - SSL_CipherPrefSetDefault(TLS_DHE_DSS_WITH_AES_256_CBC_SHA, 1); - SSL_CipherPrefSetDefault(TLS_RSA_WITH_AES_256_CBC_SHA, 1); - SSL_CipherPrefSetDefault(TLS_DHE_DSS_WITH_RC4_128_SHA, 1); - SSL_CipherPrefSetDefault(TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 1); - SSL_CipherPrefSetDefault(TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 1); - SSL_CipherPrefSetDefault(SSL_RSA_WITH_RC4_128_SHA, 1); - SSL_CipherPrefSetDefault(TLS_RSA_WITH_AES_128_CBC_SHA, 1); - SSL_CipherPrefSetDefault(SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 1); - SSL_CipherPrefSetDefault(SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 1); - SSL_CipherPrefSetDefault(SSL_DHE_RSA_WITH_DES_CBC_SHA, 1); - SSL_CipherPrefSetDefault(SSL_DHE_DSS_WITH_DES_CBC_SHA, 1); + ssl_nss_init_ciphers(); #if NSS_VMAJOR > 3 || ( NSS_VMAJOR == 3 && NSS_VMINOR >= 14 ) /* Get the ranges of supported and enabled SSL versions */ @@ -229,7 +272,6 @@ ssl_nss_init_nss(void) _identity = PR_GetUniqueIdentity("Purple"); _nss_methods = PR_GetDefaultIOMethods(); - ssl_nss_log_ciphers(); } static SECStatus @@ -1118,7 +1160,9 @@ static void x509_verify_cert(PurpleCerti case SEC_ERROR_CA_CERT_INVALID: case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE: case SEC_ERROR_UNTRUSTED_CERT: +#ifdef SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED case SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED: +#endif if (!self_signed) { *flags |= PURPLE_CERTIFICATE_INVALID_CHAIN; } diff --git a/libpurple/protocols/gg/lib/config.h b/libpurple/protocols/gg/lib/config.h --- a/libpurple/protocols/gg/lib/config.h +++ b/libpurple/protocols/gg/lib/config.h @@ -49,7 +49,7 @@ /* Defined if libgadu was compiled and linked with GnuTLS support. */ #undef GG_CONFIG_HAVE_GNUTLS -#ifdef HAVE_GNUTLS_2_10 +#if defined(HAVE_GNUTLS) && defined(HAVE_GNUTLS_2_10) # define GG_CONFIG_HAVE_GNUTLS #endif diff --git a/pidgin/gtkdialogs.c b/pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c +++ b/pidgin/gtkdialogs.c @@ -210,6 +210,7 @@ static const struct translator translato {N_("Kurdish"), "ku", "Amed Ã. Jiyan", "[email protected]"}, {NULL, NULL, "Erdal Ronahi", "[email protected]"}, {NULL, NULL, "Rizoyê Xerzî", "[email protected]"}, + {N_("Kurdish (Sorani)"), "ku_IQ", "Haval A. Ahmed", "[email protected]"}, {N_("Lithuanian"), "lt", "Algimantas MargeviÄius", "[email protected]"}, {N_("Latvian"), "lv", "Rudolfs Mazurs", "[email protected]"}, {N_("Maithili"), "mai", "Sangeeta Kumari", "[email protected]"}, @@ -245,7 +246,7 @@ static const struct translator translato {N_("Serbian Latin"), "sr@latin", "MiloÅ¡ PopoviÄ", "[email protected]"}, {N_("Sinhala"), "si", "Yajith Ajantha Dayarathna", "[email protected]"}, {NULL, NULL, "Danishka Navin", "[email protected]"}, - {N_("Swedish"), "sv", "Peter Hjalmarsson", "[email protected]"}, + {N_("Swedish"), "sv", "Josef Andersson", "[email protected]"}, {N_("Swahili"), "sw", "Paul Msegeya", "[email protected]"}, {N_("Tamil"), "ta", "I. Felix", "[email protected]"}, {NULL, NULL, "Viveka Nathan K", "[email protected]"}, @@ -254,7 +255,10 @@ static const struct translator translato {N_("Tatar"), "tt", "ILDAR Valeev", "[email protected]"}, {N_("Ukranian"), "uk", "Oleksandr Kovalenko", "[email protected]"}, {N_("Urdu"), "ur", "RKVS Raman", "[email protected]"}, - {N_("Uzbek"), "uz", "Akmal Khushvakov", "[email protected]"}, + {N_("Uzbek"), "uz", + /* Translators: This is a person's name. For most languages we recommend + not translating it. */ + N_("Akmal Khushvakov"), "[email protected]"}, {N_("Vietnamese"), "vi", "Nguyá» n VÅ© Hưng", "[email protected]"}, {N_("Simplified Chinese"), "zh_CN", "Aron Xu", "[email protected]"}, {N_("Hong Kong Chinese"), "zh_HK", "Abel Cheung", "[email protected]"}, @@ -338,7 +342,8 @@ static const struct translator past_tran {N_("Slovenian"), "sl", "Matjaz Horvat", NULL}, {N_("Serbian"), "sr", "Danilo Å egan", NULL}, {NULL, NULL, "Aleksandar Urosevic", NULL}, - {N_("Swedish"), "sv", "Tore Lundqvist", NULL}, + {N_("Swedish"), "sv", "Peter Hjalmarsson", "[email protected]"}, + {N_("Swedish"), NULL, "Tore Lundqvist", NULL}, {NULL, NULL, "Christian Rose", NULL}, {N_("Telugu"), "te", "Mr. Subbaramaih", NULL}, {N_("Turkish"), "tr", "Serdar Soytetir", NULL}, diff --git a/po/ku_IQ.po b/po/ku_IQ.po new file mode 100644 --- /dev/null +++ b/po/ku_IQ.po @@ -0,0 +1,19834 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Pidgin\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-11-02 09:57-0600\n" +"PO-Revision-Date: 2012-02-20 18:15+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/pidgin/language/ku_IQ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ku_IQ\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Translators may want to transliterate the name. +#. It is not to be translated. +#: ../finch/finch.c:66 ../finch/finch.c:335 ../finch/finch.c:364 +#: ../finch/finch.c:459 +msgid "Finch" +msgstr "" + +#: ../finch/finch.c:247 +#, c-format +msgid "%s. Try `%s -h' for more information.\n" +msgstr "" + +#: ../finch/finch.c:249 +#, c-format +msgid "" +"%s\n" +"Usage: %s [OPTION]...\n" +"\n" +" -c, --config=DIR use DIR for config files\n" +" -d, --debug print debugging messages to stderr\n" +" -h, --help display this help and exit\n" +" -n, --nologin don't automatically login\n" +" -v, --version display the current version and exit\n" +msgstr "" + +#: ../finch/finch.c:362 ../pidgin/gtkmain.c:776 +#, c-format +msgid "" +"%s encountered errors migrating your settings from %s to %s. Please " +"investigate and complete the migration by hand. Please report this error at " +"http://developer.pidgin.im" +msgstr "" + +#. the user did not fill in the captcha +#: ../finch/gntaccount.c:128 ../finch/gntaccount.c:171 +#: ../finch/gntaccount.c:178 ../finch/gntaccount.c:558 ../finch/gntblist.c:647 +#: ../finch/gntblist.c:817 ../finch/gntplugin.c:198 ../finch/gntplugin.c:246 +#: ../finch/gntrequest.c:398 ../finch/gntstatus.c:303 ../finch/gntstatus.c:312 +#: ../finch/plugins/gntclipboard.c:115 ../finch/plugins/gntclipboard.c:121 +#: ../finch/plugins/gntclipboard.c:128 +#: ../libpurple/protocols/jabber/chat.c:812 +#: ../libpurple/protocols/jabber/chat.c:823 +#: ../libpurple/protocols/jabber/jabber.c:2360 +#: ../libpurple/protocols/jabber/jutil.c:710 +#: ../libpurple/protocols/mxit/login.c:526 +#: ../libpurple/protocols/mxit/protocol.c:2543 +#: ../libpurple/protocols/silc/ops.c:77 ../libpurple/protocols/silc/ops.c:1471 +#: ../libpurple/protocols/silc10/ops.c:1451 +#: ../pidgin/plugins/disco/xmppdisco.c:514 +#: ../pidgin/plugins/disco/xmppdisco.c:519 +msgid "Error"