Hello community, here is the log from the commit of package glib-networking for openSUSE:Factory checked in at 2014-12-21 12:00:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glib-networking (Old) and /work/SRC/openSUSE:Factory/.glib-networking.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glib-networking" Changes: -------- --- /work/SRC/openSUSE:Factory/glib-networking/glib-networking.changes 2014-09-30 19:40:40.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.glib-networking.new/glib-networking.changes 2014-12-21 12:00:49.000000000 +0100 @@ -1,0 +2,16 @@ +Wed Dec 17 17:31:56 UTC 2014 - [email protected] + +- Update to version 2.42.1: + + The GTlsClientConnection "use-ssl3" property now falls back to + TLS 1.0 if SSL 3.0 has been disabled, rather than just failing. + Also, we now use the gnutls %LATEST_RECORD_VERSION option by + default (to allow connecting to certain servers that were + incorrectly patched for the POODLE attack), but also make sure + to remove that option in the fallback ("use-ssl3") mode (to + allow connecting to other servers that are differently broken). + (bgo#738633, bgo#740087). + + tls/gnutls: Miscellaneous warning, debugging, and leak fixes + (bgo#736757, bgo#736809, bgo#737106). + + Updated translations. + +------------------------------------------------------------------- Old: ---- glib-networking-2.42.0.tar.xz New: ---- glib-networking-2.42.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glib-networking.spec ++++++ --- /var/tmp/diff_new_pack.S7Q82L/_old 2014-12-21 12:00:50.000000000 +0100 +++ /var/tmp/diff_new_pack.S7Q82L/_new 2014-12-21 12:00:50.000000000 +0100 @@ -17,7 +17,7 @@ Name: glib-networking -Version: 2.42.0 +Version: 2.42.1 Release: 0 Summary: Network-related GIO modules for glib License: LGPL-2.1+ ++++++ glib-networking-2.42.0.tar.xz -> glib-networking-2.42.1.tar.xz ++++++ ++++ 5661 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/NEWS new/glib-networking-2.42.1/NEWS --- old/glib-networking-2.42.0/NEWS 2014-09-23 00:02:15.000000000 +0200 +++ new/glib-networking-2.42.1/NEWS 2014-12-07 10:55:19.000000000 +0100 @@ -1,3 +1,21 @@ +2.42.1 +====== + + * The GTlsClientConnection "use-ssl3" property now falls back to TLS + 1.0 if SSL 3.0 has been disabled, rather than just failing. Also, + we now use the gnutls %LATEST_RECORD_VERSION option by default (to + allow connecting to certain servers that were incorrectly patched + for the POODLE attack), but also make sure to remove that option + in the fallback ("use-ssl3") mode (to allow connecting to other + servers that are differently broken). (#738633, #740087, Dan + Winship) + + * tls/gnutls: Miscellaneous warning, debugging, and leak fixes + (#736757, #736809, #737106, Philip Withnall) + + * New/updated translations: + Kazakh + 2.42.0 ====== * New stable release. (No changes since 2.41.92) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/configure.ac new/glib-networking-2.42.1/configure.ac --- old/glib-networking-2.42.0/configure.ac 2014-09-23 00:02:02.000000000 +0200 +++ new/glib-networking-2.42.1/configure.ac 2014-12-07 10:55:26.000000000 +0100 @@ -1,7 +1,7 @@ AC_PREREQ(2.65) AC_CONFIG_MACRO_DIR([m4]) -AC_INIT([glib-networking],[2.42.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=network]) +AC_INIT([glib-networking],[2.42.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=network]) AC_CONFIG_SRCDIR([proxy/libproxy/glibproxyresolver.h]) AC_CONFIG_HEADERS([config.h]) @@ -33,8 +33,8 @@ dnl ***************************** dnl *** Check GLib GIO *** dnl ***************************** -AM_PATH_GLIB_2_0(2.39.1,,AC_MSG_ERROR(GLIB not found),gio) -GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40" +AM_PATH_GLIB_2_0(2.42.0,,AC_MSG_ERROR(GLIB not found),gio) +GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_42" GIO_MODULE_DIR=$($PKG_CONFIG --variable giomoduledir gio-2.0) AS_IF([test "$GIO_MODULE_DIR" = ""], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/m4/intltool.m4 new/glib-networking-2.42.1/m4/intltool.m4 --- old/glib-networking-2.42.0/m4/intltool.m4 2014-09-23 00:02:48.000000000 +0200 +++ new/glib-networking-2.42.1/m4/intltool.m4 2014-12-07 10:55:48.000000000 +0100 @@ -155,6 +155,31 @@ # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[]], + [[extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr]])], + [DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share + dnl in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [DATADIRNAME=share], [DATADIRNAME=lib]) + ;; + *) + [DATADIRNAME=lib] + ;; + esac]) +fi +AC_SUBST(DATADIRNAME) + IT_PO_SUBDIR([po]) ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/po/LINGUAS new/glib-networking-2.42.1/po/LINGUAS --- old/glib-networking-2.42.0/po/LINGUAS 2014-02-01 15:46:53.000000000 +0100 +++ new/glib-networking-2.42.1/po/LINGUAS 2014-11-21 21:26:00.000000000 +0100 @@ -28,6 +28,7 @@ id it ja +kk km kn ko diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/po/Makefile.in.in new/glib-networking-2.42.1/po/Makefile.in.in --- old/glib-networking-2.42.0/po/Makefile.in.in 2014-09-23 00:02:48.000000000 +0200 +++ new/glib-networking-2.42.1/po/Makefile.in.in 2014-12-07 10:55:48.000000000 +0100 @@ -33,7 +33,8 @@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ -localedir = @localedir@ +DATADIRNAME = @DATADIRNAME@ +itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. @@ -79,7 +80,7 @@ .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot - $(MSGMERGE) $* $(GETTEXT_PACKAGE).pot -o $*.pox + $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< @@ -107,7 +108,7 @@ install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ - dir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \ + dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ @@ -141,8 +142,8 @@ uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/po/kk.po new/glib-networking-2.42.1/po/kk.po --- old/glib-networking-2.42.0/po/kk.po 1970-01-01 01:00:00.000000000 +0100 +++ new/glib-networking-2.42.1/po/kk.po 2014-11-21 21:26:00.000000000 +0100 @@ -0,0 +1,149 @@ +# Kazakh translation for glib-networking. +# Copyright (C) 2014 glib-networking's COPYRIGHT HOLDER +# This file is distributed under the same license as the glib-networking package. +# Baurzhan Muftakhidinov <[email protected]>, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: glib-networking master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=glib&keywords=I18N+L10N&component=network\n" +"POT-Creation-Date: 2014-11-06 18:42+0000\n" +"PO-Revision-Date: 2014-11-07 09:12+0600\n" +"Last-Translator: Baurzhan Muftakhidinov <[email protected]>\n" +"Language-Team: Kazakh <[email protected]>\n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.6.9\n" + +#: ../proxy/libproxy/glibproxyresolver.c:157 +msgid "Proxy resolver internal error." +msgstr "Прокси шешушісінің ішкі қатесі." + +#: ../tls/gnutls/gtlscertificate-gnutls.c:173 +#, c-format +msgid "Could not parse DER certificate: %s" +msgstr "DER сертификатын талдау қатесі: %s" + +#: ../tls/gnutls/gtlscertificate-gnutls.c:194 +#, c-format +msgid "Could not parse PEM certificate: %s" +msgstr "PEM сертификатын талдау қатесі: %s" + +#: ../tls/gnutls/gtlscertificate-gnutls.c:225 +#, c-format +msgid "Could not parse DER private key: %s" +msgstr "DER жеке кілтін талдау қатесі: %s" + +#: ../tls/gnutls/gtlscertificate-gnutls.c:256 +#, c-format +msgid "Could not parse PEM private key: %s" +msgstr "PEM жеке кілтін талдау қатесі: %s" + +#: ../tls/gnutls/gtlscertificate-gnutls.c:296 +msgid "No certificate data provided" +msgstr "Сертификат ұсынылмады" + +#: ../tls/gnutls/gtlsclientconnection-gnutls.c:324 +msgid "Server required TLS certificate" +msgstr "Сервер TLS сертификатын талап етеді" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:267 +#, c-format +msgid "Could not create TLS connection: %s" +msgstr "Жаңа TLS байланысын жасау мүмкін емес: %s" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:539 +msgid "Connection is closed" +msgstr "Байланыс жабылды" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:602 +#: ../tls/gnutls/gtlsconnection-gnutls.c:1471 +msgid "Operation would block" +msgstr "Әрекет блоктайды" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:741 +#: ../tls/gnutls/gtlsconnection-gnutls.c:780 +msgid "Peer failed to perform TLS handshake" +msgstr "Торап TLS байланысты орнату сәлемдемесін орындай алмады" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:759 +msgid "Peer requested illegal TLS rehandshake" +msgstr "Торап жарамсы TLS қайта байланысты орнату сәлемдемесін сұрады" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:786 +msgid "TLS connection closed unexpectedly" +msgstr "TLS байланысты күтпегенде жабылды" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:796 +msgid "TLS connection peer did not send a certificate" +msgstr "TLS байланысының торабы сертификатты жібермеген" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:1179 +#: ../tls/gnutls/gtlsconnection-gnutls.c:1212 +#, c-format +msgid "Error performing TLS handshake: %s" +msgstr "TLS байланысты орнату сәлемдемесін орындау қатесі: %s" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:1222 +msgid "Server did not return a valid TLS certificate" +msgstr "Сервер жарамды TLS сертификатын қайтармады" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:1297 +msgid "Unacceptable TLS certificate" +msgstr "Жарамсыз TLS сертификаты" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:1505 +#, c-format +msgid "Error reading data from TLS socket: %s" +msgstr "TLS сокетінен деректерді оқу қатесі: %s" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:1534 +#, c-format +msgid "Error writing data to TLS socket: %s" +msgstr "TLS сокетіне деректерді жазу қатесі: %s" + +#: ../tls/gnutls/gtlsconnection-gnutls.c:1586 +#, c-format +msgid "Error performing TLS close: %s" +msgstr "TLS жабу әрекетін орындау қатесі: %s" + +#: ../tls/gnutls/gtlsserverconnection-gnutls.c:103 +msgid "Certificate has no private key" +msgstr "Сертификатта жеке кілт жоқ" + +#: ../tls/pkcs11/gpkcs11pin.c:108 +msgid "" +"This is the last chance to enter the PIN correctly before the token is " +"locked." +msgstr "Токен блокталуға дейінгі PIN кодын енгізудің соңғы мүмкіндігі қалды." + +#: ../tls/pkcs11/gpkcs11pin.c:110 +msgid "" +"Several PIN attempts have been incorrect, and the token will be locked after " +"further failures." +msgstr "" +"Бірнеше PIN енгізу талаптары сәтсіз болды, токен келесі сәтсіз енгізілерде " +"блокталатын болады." + +#: ../tls/pkcs11/gpkcs11pin.c:112 +msgid "The PIN entered is incorrect." +msgstr "Енгізілген PIN коды дұрыс емес." + +#: ../tls/pkcs11/gpkcs11slot.c:446 +msgid "Module" +msgstr "Модуль" + +#: ../tls/pkcs11/gpkcs11slot.c:447 +msgid "PKCS#11 Module Pointer" +msgstr "PKCS#11 модулі көрсеткіші" + +#: ../tls/pkcs11/gpkcs11slot.c:454 +msgid "Slot ID" +msgstr "Слот ID-і" + +#: ../tls/pkcs11/gpkcs11slot.c:455 +msgid "PKCS#11 Slot Identifier" +msgstr "PKCS#11 слот идентификаторы" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/proxy/gnome/gproxyresolvergnome.c new/glib-networking-2.42.1/proxy/gnome/gproxyresolvergnome.c --- old/glib-networking-2.42.0/proxy/gnome/gproxyresolvergnome.c 2014-02-01 15:46:53.000000000 +0100 +++ new/glib-networking-2.42.1/proxy/gnome/gproxyresolvergnome.c 2014-11-21 15:28:41.000000000 +0100 @@ -472,6 +472,7 @@ GError *error = NULL; task = g_task_new (resolver, cancellable, callback, user_data); + g_task_set_source_tag (task, g_proxy_resolver_gnome_lookup_async); if (!g_proxy_resolver_gnome_lookup_internal (resolver, uri, &proxies, &pacrunner, &autoconfig_url, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/proxy/libproxy/glibproxyresolver.c new/glib-networking-2.42.1/proxy/libproxy/glibproxyresolver.c --- old/glib-networking-2.42.0/proxy/libproxy/glibproxyresolver.c 2014-02-01 15:46:53.000000000 +0100 +++ new/glib-networking-2.42.1/proxy/libproxy/glibproxyresolver.c 2014-11-21 15:28:41.000000000 +0100 @@ -170,6 +170,7 @@ gchar **proxies; task = g_task_new (resolver, cancellable, NULL, NULL); + g_task_set_source_tag (task, g_libproxy_resolver_lookup); g_task_set_task_data (task, g_strdup (uri), g_free); g_task_set_return_on_cancel (task, TRUE); @@ -190,6 +191,7 @@ GTask *task; task = g_task_new (resolver, cancellable, callback, user_data); + g_task_set_source_tag (task, g_libproxy_resolver_lookup_async); g_task_set_task_data (task, g_strdup (uri), g_free); g_task_set_return_on_cancel (task, TRUE); g_task_run_in_thread (task, get_libproxy_proxies); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/gnutls/gtlsconnection-gnutls.c new/glib-networking-2.42.1/tls/gnutls/gtlsconnection-gnutls.c --- old/glib-networking-2.42.0/tls/gnutls/gtlsconnection-gnutls.c 2014-09-15 14:52:59.000000000 +0200 +++ new/glib-networking-2.42.1/tls/gnutls/gtlsconnection-gnutls.c 2014-11-22 17:04:22.000000000 +0100 @@ -194,52 +194,90 @@ g_mutex_init (&gnutls->priv->op_mutex); } -/* First field is "ssl3 only", second is "allow unsafe rehandshaking" */ +/* First field is "fallback", second is "allow unsafe rehandshaking" */ static gnutls_priority_t priorities[2][2]; +#define DEFAULT_BASE_PRIORITY "NORMAL:%COMPAT:%LATEST_RECORD_VERSION" + static void g_tls_connection_gnutls_init_priorities (void) { const gchar *base_priority; - gchar *ssl3_priority, *unsafe_rehandshake_priority, *ssl3_unsafe_rehandshake_priority; - int ret; + gchar *fallback_priority, *unsafe_rehandshake_priority, *fallback_unsafe_rehandshake_priority; + const guint *protos; + int ret, i, nprotos, fallback_proto; base_priority = g_getenv ("G_TLS_GNUTLS_PRIORITY"); if (!base_priority) - base_priority = "NORMAL:%COMPAT"; + base_priority = DEFAULT_BASE_PRIORITY; ret = gnutls_priority_init (&priorities[FALSE][FALSE], base_priority, NULL); if (ret == GNUTLS_E_INVALID_REQUEST) { g_warning ("G_TLS_GNUTLS_PRIORITY is invalid; ignoring!"); - base_priority = "NORMAL:%COMPAT"; + base_priority = DEFAULT_BASE_PRIORITY; gnutls_priority_init (&priorities[FALSE][FALSE], base_priority, NULL); } - ssl3_priority = g_strdup_printf ("%s:!VERS-TLS1.2:!VERS-TLS1.1:!VERS-TLS1.0", base_priority); unsafe_rehandshake_priority = g_strdup_printf ("%s:%%UNSAFE_RENEGOTIATION", base_priority); - ssl3_unsafe_rehandshake_priority = g_strdup_printf ("%s:!VERS-TLS1.2:!VERS-TLS1.1:!VERS-TLS1.0:%%UNSAFE_RENEGOTIATION", base_priority); + ret = gnutls_priority_init (&priorities[FALSE][TRUE], unsafe_rehandshake_priority, NULL); + g_warn_if_fail (ret == 0); + g_free (unsafe_rehandshake_priority); + + /* Figure out the lowest SSl/TLS version supported by base_priority */ + nprotos = gnutls_priority_protocol_list (priorities[FALSE][FALSE], &protos); + fallback_proto = G_MAXUINT; + for (i = 0; i < nprotos; i++) + { + if (protos[i] < fallback_proto) + fallback_proto = protos[i]; + } + if (fallback_proto == G_MAXUINT) + { + g_warning ("All GNUTLS protocol versions disabled?"); + fallback_priority = g_strdup (base_priority); + } + else + { + gchar *cleaned_base, *p, *rest; - gnutls_priority_init (&priorities[TRUE][FALSE], ssl3_priority, NULL); - gnutls_priority_init (&priorities[FALSE][TRUE], unsafe_rehandshake_priority, NULL); - gnutls_priority_init (&priorities[TRUE][TRUE], ssl3_unsafe_rehandshake_priority, NULL); + /* fallback_priority should be based on base_priority, except + * that we don't want %LATEST_RECORD_VERSION in it. + */ + cleaned_base = g_strdup (base_priority); + p = strstr (cleaned_base, ":%LATEST_RECORD_VERSION"); + if (p) + { + rest = p + strlen (":%LATEST_RECORD_VERSION"); + memmove (p, rest, strlen (rest) + 1); + } - g_free (ssl3_priority); - g_free (unsafe_rehandshake_priority); - g_free (ssl3_unsafe_rehandshake_priority); + fallback_priority = g_strdup_printf ("%s:%%COMPAT:!VERS-TLS-ALL:+VERS-%s", + cleaned_base, + gnutls_protocol_get_name (fallback_proto)); + } + fallback_unsafe_rehandshake_priority = g_strdup_printf ("%s:%%UNSAFE_RENEGOTIATION", + fallback_priority); + + ret = gnutls_priority_init (&priorities[TRUE][FALSE], fallback_priority, NULL); + g_warn_if_fail (ret == 0); + ret = gnutls_priority_init (&priorities[TRUE][TRUE], fallback_unsafe_rehandshake_priority, NULL); + g_warn_if_fail (ret == 0); + g_free (fallback_priority); + g_free (fallback_unsafe_rehandshake_priority); } static void g_tls_connection_gnutls_set_handshake_priority (GTlsConnectionGnutls *gnutls) { - gboolean use_ssl3, unsafe_rehandshake; + gboolean fallback, unsafe_rehandshake; if (G_IS_TLS_CLIENT_CONNECTION (gnutls)) - use_ssl3 = g_tls_client_connection_get_use_ssl3 (G_TLS_CLIENT_CONNECTION (gnutls)); + fallback = g_tls_client_connection_get_use_ssl3 (G_TLS_CLIENT_CONNECTION (gnutls)); else - use_ssl3 = FALSE; + fallback = FALSE; unsafe_rehandshake = (gnutls->priv->rehandshake_mode == G_TLS_REHANDSHAKE_UNSAFELY); gnutls_priority_set (gnutls->priv->session, - priorities[use_ssl3][unsafe_rehandshake]); + priorities[fallback][unsafe_rehandshake]); } static gboolean @@ -319,6 +357,14 @@ g_clear_error (&gnutls->priv->read_error); g_clear_error (&gnutls->priv->write_error); + /* This must always be NULL at this, as it holds a referehce to @gnutls as + * its source object. However, we clear it anyway just in case this changes + * in future. */ + g_clear_object (&gnutls->priv->implicit_handshake); + + g_clear_object (&gnutls->priv->read_cancellable); + g_clear_object (&gnutls->priv->write_cancellable); + g_clear_object (&gnutls->priv->waiting_for_op); g_mutex_clear (&gnutls->priv->op_mutex); @@ -1312,6 +1358,7 @@ GError *my_error = NULL; task = g_task_new (conn, cancellable, NULL, NULL); + g_task_set_source_tag (task, g_tls_connection_gnutls_handshake); begin_handshake (gnutls); g_task_run_in_thread_sync (task, handshake_thread); success = finish_handshake (gnutls, task, &my_error); @@ -1397,12 +1444,14 @@ GTask *thread_task, *caller_task; caller_task = g_task_new (conn, cancellable, callback, user_data); + g_task_set_source_tag (caller_task, g_tls_connection_gnutls_handshake_async); g_task_set_priority (caller_task, io_priority); begin_handshake (G_TLS_CONNECTION_GNUTLS (conn)); thread_task = g_task_new (conn, cancellable, handshake_thread_completed, caller_task); + g_task_set_source_tag (thread_task, g_tls_connection_gnutls_handshake_async); g_task_set_priority (thread_task, io_priority); g_task_run_in_thread (thread_task, async_handshake_thread); g_object_unref (thread_task); @@ -1427,6 +1476,8 @@ /* We have op_mutex */ gnutls->priv->implicit_handshake = g_task_new (gnutls, cancellable, NULL, NULL); + g_task_set_source_tag (gnutls->priv->implicit_handshake, + do_implicit_handshake); begin_handshake (gnutls); @@ -1616,6 +1667,7 @@ GTask *task; task = g_task_new (stream, cancellable, callback, user_data); + g_task_set_source_tag (task, g_tls_connection_gnutls_close_async); g_task_set_priority (task, io_priority); g_task_run_in_thread (task, close_thread); g_object_unref (task); @@ -1670,6 +1722,7 @@ pin = NULL; break; case G_TLS_INTERACTION_UNHANDLED: + default: pin = NULL; break; case G_TLS_INTERACTION_HANDLED: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/gnutls/gtlsdatabase-gnutls-pkcs11.c new/glib-networking-2.42.1/tls/gnutls/gtlsdatabase-gnutls-pkcs11.c --- old/glib-networking-2.42.0/tls/gnutls/gtlsdatabase-gnutls-pkcs11.c 2011-12-30 15:14:01.000000000 +0100 +++ new/glib-networking-2.42.1/tls/gnutls/gtlsdatabase-gnutls-pkcs11.c 2014-11-21 15:28:41.000000000 +0100 @@ -37,11 +37,11 @@ #include "pkcs11/gpkcs11util.h" #include "pkcs11/pkcs11-trust-assertions.h" -const static CK_ATTRIBUTE_TYPE CERTIFICATE_ATTRIBUTE_TYPES[] = { +static const CK_ATTRIBUTE_TYPE CERTIFICATE_ATTRIBUTE_TYPES[] = { CKA_ID, CKA_LABEL, CKA_CLASS, CKA_VALUE }; -const static CK_ATTRIBUTE_TYPE KEY_ATTRIBUTE_TYPES[] = { +static const CK_ATTRIBUTE_TYPE KEY_ATTRIBUTE_TYPES[] = { CKA_ID, CKA_LABEL, CKA_CLASS, CKA_KEY_TYPE }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/gnutls/gtlsdatabase-gnutls.c new/glib-networking-2.42.1/tls/gnutls/gtlsdatabase-gnutls.c --- old/glib-networking-2.42.0/tls/gnutls/gtlsdatabase-gnutls.c 2014-02-01 15:46:53.000000000 +0100 +++ new/glib-networking-2.42.1/tls/gnutls/gtlsdatabase-gnutls.c 2014-11-21 15:28:41.000000000 +0100 @@ -144,6 +144,7 @@ g_tls_certificate_gnutls_set_issuer (previous, G_TLS_CERTIFICATE_GNUTLS (issuer)); certificate = G_TLS_CERTIFICATE_GNUTLS (issuer); certificate_is_from_db = TRUE; + g_object_unref (issuer); continue; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/gnutls/gtlsfiledatabase-gnutls.c new/glib-networking-2.42.1/tls/gnutls/gtlsfiledatabase-gnutls.c --- old/glib-networking-2.42.0/tls/gnutls/gtlsfiledatabase-gnutls.c 2014-06-23 23:06:13.000000000 +0200 +++ new/glib-networking-2.42.1/tls/gnutls/gtlsfiledatabase-gnutls.c 2014-11-21 15:28:41.000000000 +0100 @@ -118,7 +118,7 @@ { GPtrArray *multi; GList *list = NULL; - gint i; + guint i; multi = g_hash_table_lookup (table, key); if (multi == NULL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/gnutls/gtlsserverconnection-gnutls.c new/glib-networking-2.42.1/tls/gnutls/gtlsserverconnection-gnutls.c --- old/glib-networking-2.42.0/tls/gnutls/gtlsserverconnection-gnutls.c 2014-02-16 16:55:48.000000000 +0100 +++ new/glib-networking-2.42.1/tls/gnutls/gtlsserverconnection-gnutls.c 2014-11-21 15:28:41.000000000 +0100 @@ -178,6 +178,7 @@ case G_TLS_AUTHENTICATION_REQUIRED: req_mode = GNUTLS_CERT_REQUIRE; break; + case G_TLS_AUTHENTICATION_NONE: default: req_mode = GNUTLS_CERT_IGNORE; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/tests/Makefile.am new/glib-networking-2.42.1/tls/tests/Makefile.am --- old/glib-networking-2.42.0/tls/tests/Makefile.am 2014-06-23 23:06:13.000000000 +0200 +++ new/glib-networking-2.42.1/tls/tests/Makefile.am 2014-12-07 10:50:01.000000000 +0100 @@ -1,13 +1,15 @@ include $(top_srcdir)/glib-networking.mk AM_CPPFLAGS += \ + $(GNUTLS_CFLAGS) \ -I$(top_srcdir)/tls \ -I$(top_builddir)/tls \ -DSRCDIR=\""$(abs_srcdir)"\" \ -DTOP_BUILDDIR=\""$(top_builddir)"\" LDADD = \ - $(GLIB_LIBS) + $(GLIB_LIBS) \ + $(GNUTLS_LIBS) test_programs = \ certificate \ @@ -24,8 +26,7 @@ pkcs11-slot AM_CPPFLAGS += \ - $(PKCS11_CFLAGS) \ - $(GNUTLS_CFLAGS) + $(PKCS11_CFLAGS) LDADD += $(top_builddir)/tls/pkcs11/libgiopkcs11.la $(PKCS11_LIBS) @@ -43,6 +44,7 @@ files/ca-roots.pem \ files/ca-roots-bad.pem \ files/ca-verisign-sha1.pem \ + files/chain.pem \ files/chain-with-verisign-md2.pem \ files/client-and-key.pem \ files/client-future.pem \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/tests/certificate.c new/glib-networking-2.42.1/tls/tests/certificate.c --- old/glib-networking-2.42.0/tls/tests/certificate.c 2014-07-21 18:27:11.000000000 +0200 +++ new/glib-networking-2.42.1/tls/tests/certificate.c 2014-11-21 15:28:41.000000000 +0100 @@ -221,6 +221,59 @@ } static void +test_create_certificate_chain (void) +{ + GTlsCertificate *cert, *intermediate, *root; + GError *error = NULL; + + cert = g_tls_certificate_new_from_file (tls_test_file_path ("chain.pem"), &error); + g_assert_no_error (error); + g_assert (G_IS_TLS_CERTIFICATE (cert)); + + intermediate = g_tls_certificate_get_issuer (cert); + g_assert (G_IS_TLS_CERTIFICATE (intermediate)); + + root = g_tls_certificate_get_issuer (intermediate); + g_assert (G_IS_TLS_CERTIFICATE (root)); + + g_assert (g_tls_certificate_get_issuer (root) == NULL); + + g_object_unref (cert); +} + +static void +test_create_certificate_no_chain (void) +{ + GTlsCertificate *cert, *issuer; + GError *error = NULL; + gchar *cert_pem; + gsize cert_pem_length; + + cert = g_tls_certificate_new_from_file (tls_test_file_path ("non-ca.pem"), &error); + g_assert_no_error (error); + g_assert (G_IS_TLS_CERTIFICATE (cert)); + + issuer = g_tls_certificate_get_issuer (cert); + g_assert (issuer == NULL); + g_object_unref (cert); + + /* Truncate a valid chain certificate file. We should only get the + * first certificate. + */ + g_file_get_contents (tls_test_file_path ("chain.pem"), &cert_pem, + &cert_pem_length, &error); + g_assert_no_error (error); + + cert = g_tls_certificate_new_from_pem (cert_pem, cert_pem_length - 100, &error); + g_assert_no_error (error); + g_assert (G_IS_TLS_CERTIFICATE (cert)); + + issuer = g_tls_certificate_get_issuer (cert); + g_assert (issuer == NULL); + g_object_unref (cert); +} + +static void test_create_list (void) { GList *list; @@ -242,6 +295,7 @@ list = g_tls_certificate_list_new_from_file (tls_test_file_path ("ca-roots-bad.pem"), &error); g_assert_error (error, G_TLS_ERROR, G_TLS_ERROR_BAD_CERTIFICATE); g_assert_null (list); + g_error_free (error); } /* ----------------------------------------------------------------------------- @@ -494,6 +548,8 @@ setup_certificate, test_create_with_key_der, teardown_certificate); g_test_add ("/tls/certificate/create-with-issuer", TestCertificate, NULL, setup_certificate, test_create_certificate_with_issuer, teardown_certificate); + g_test_add_func ("/tls/certificate/create-chain", test_create_certificate_chain); + g_test_add_func ("/tls/certificate/create-no-chain", test_create_certificate_no_chain); g_test_add_func ("/tls/certificate/create-list", test_create_list); g_test_add_func ("/tls/certificate/create-list-bad", test_create_list_bad); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/tests/connection.c new/glib-networking-2.42.1/tls/tests/connection.c --- old/glib-networking-2.42.0/tls/tests/connection.c 2014-06-23 23:06:13.000000000 +0200 +++ new/glib-networking-2.42.1/tls/tests/connection.c 2014-12-07 10:50:01.000000000 +0100 @@ -24,6 +24,7 @@ #include "mock-interaction.h" #include <gio/gio.h> +#include <gnutls/gnutls.h> #include <sys/types.h> #include <string.h> @@ -163,6 +164,8 @@ NULL, &test->address, &error); g_assert_no_error (error); + g_object_unref (addr); + /* The hostname in test->identity matches the server certificate. */ iaddr = G_INET_SOCKET_ADDRESS (test->address); test->identity = g_network_address_new ("server.example.com", @@ -1046,10 +1049,28 @@ g_assert_cmpstr (test->buf, ==, TEST_DATA); } +static gboolean +check_gnutls_has_rehandshaking_bug (void) +{ + const char *version = gnutls_check_version (NULL); + + return (!strcmp (version, "3.1.27") || + !strcmp (version, "3.1.28") || + !strcmp (version, "3.2.19") || + !strcmp (version, "3.3.8") || + !strcmp (version, "3.3.9")); +} + static void test_simultaneous_async_rehandshake (TestConnection *test, gconstpointer data) { + if (check_gnutls_has_rehandshaking_bug ()) + { + g_test_skip ("test would fail due to gnutls bug 108690"); + return; + } + test->rehandshake = TRUE; test_simultaneous_async (test, data); } @@ -1144,6 +1165,12 @@ test_simultaneous_sync_rehandshake (TestConnection *test, gconstpointer data) { + if (check_gnutls_has_rehandshaking_bug ()) + { + g_test_skip ("test would fail due to gnutls bug 108690"); + return; + } + test->rehandshake = TRUE; test_simultaneous_sync (test, data); } @@ -1315,7 +1342,10 @@ keep_running = (-1 == size); if (keep_running) - g_assert_error (error, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK); + { + g_assert_error (error, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK); + g_error_free (error); + } else { g_assert_no_error (error); @@ -1372,11 +1402,90 @@ test->client_connection = NULL; } +static void +quit_on_handshake_complete (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + TestConnection *test = user_data; + GError *error = NULL; + + g_tls_connection_handshake_finish (G_TLS_CONNECTION (object), result, &error); + g_assert_no_error (error); + + g_main_loop_quit (test->loop); + return; +} + +#define PRIORITY_SSL_FALLBACK "NORMAL:+VERS-SSL3.0" +#define PRIORITY_TLS_FALLBACK "NORMAL:+VERS-TLS-ALL:-VERS-SSL3.0" + +static void +test_fallback (gconstpointer data) +{ + const char *priority_string = (const char *) data; + char *test_name; + + test_name = g_strdup_printf ("/tls/connection/fallback/subprocess/%s", priority_string); + g_test_trap_subprocess (test_name, 0, 0); + g_test_trap_assert_passed (); + g_free (test_name); +} + +static void +test_fallback_subprocess (TestConnection *test, + gconstpointer data) +{ + GIOStream *connection; + GTlsConnection *tlsconn; + GError *error = NULL; + + connection = start_echo_server_and_connect_to_it (test); + test->client_connection = g_tls_client_connection_new (connection, NULL, &error); + g_assert_no_error (error); + tlsconn = G_TLS_CONNECTION (test->client_connection); + g_object_unref (connection); + + g_tls_client_connection_set_validation_flags (G_TLS_CLIENT_CONNECTION (test->client_connection), + 0); + g_tls_client_connection_set_use_ssl3 (G_TLS_CLIENT_CONNECTION (test->client_connection), + TRUE); + g_tls_connection_handshake_async (tlsconn, G_PRIORITY_DEFAULT, NULL, + quit_on_handshake_complete, test); + g_main_loop_run (test->loop); + + /* In 2.42 we don't have the API to test that the correct version was negotiated, + * so we merely test that the connection succeeded at all. + */ + + g_io_stream_close (test->client_connection, NULL, &error); + g_assert_no_error (error); +} + int main (int argc, char *argv[]) { int ret; + int i; + + /* Check if this is a subprocess, and set G_TLS_GNUTLS_PRIORITY + * appropriately if so. + */ + for (i = 1; i < argc - 1; i++) + { + if (!strcmp (argv[i], "-p")) + { + const char *priority = argv[i + 1]; + + priority = strrchr (priority, '/'); + if (priority++ && + (g_str_has_prefix (priority, "NORMAL:") || + g_str_has_prefix (priority, "NONE:"))) + g_setenv ("G_TLS_GNUTLS_PRIORITY", priority, TRUE); + break; + } + } g_test_init (&argc, &argv, NULL); g_test_bug_base ("http://bugzilla.gnome.org/"); @@ -1426,6 +1535,15 @@ g_test_add ("/tls/connection/async-implicit-handshake", TestConnection, NULL, setup_connection, test_async_implicit_handshake, teardown_connection); + g_test_add_data_func ("/tls/connection/fallback/SSL", PRIORITY_SSL_FALLBACK, test_fallback); + g_test_add ("/tls/connection/fallback/subprocess/" PRIORITY_SSL_FALLBACK, + TestConnection, NULL, + setup_connection, test_fallback_subprocess, teardown_connection); + g_test_add_data_func ("/tls/connection/fallback/TLS", PRIORITY_TLS_FALLBACK, test_fallback); + g_test_add ("/tls/connection/fallback/subprocess/" PRIORITY_TLS_FALLBACK, + TestConnection, NULL, + setup_connection, test_fallback_subprocess, teardown_connection); + ret = g_test_run(); /* for valgrinding */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/tests/file-database.c new/glib-networking-2.42.1/tls/tests/file-database.c --- old/glib-networking-2.42.0/tls/tests/file-database.c 2014-07-21 18:09:08.000000000 +0200 +++ new/glib-networking-2.42.1/tls/tests/file-database.c 2014-11-21 15:28:41.000000000 +0100 @@ -240,7 +240,7 @@ GError **error) { GList *certificates; - GTlsCertificate *chain = NULL; + GTlsCertificate *chain = NULL, *prev_chain = NULL; GTlsBackend *backend; GByteArray *der; GList *l; @@ -253,12 +253,14 @@ certificates = g_list_reverse (certificates); for (l = certificates; l != NULL; l = g_list_next (l)) { + prev_chain = chain; g_object_get (l->data, "certificate", &der, NULL); chain = g_object_new (g_tls_backend_get_certificate_type (backend), "certificate", der, - "issuer", chain, + "issuer", prev_chain, NULL); g_byte_array_unref (der); + g_clear_object (&prev_chain); } g_list_free_full (certificates, g_object_unref); @@ -501,7 +503,6 @@ g_list_free_full (certificates, g_object_unref); g_object_unref (database); - g_byte_array_unref (issuer_dn); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/tests/files/chain.pem new/glib-networking-2.42.1/tls/tests/files/chain.pem --- old/glib-networking-2.42.0/tls/tests/files/chain.pem 1970-01-01 01:00:00.000000000 +0100 +++ new/glib-networking-2.42.1/tls/tests/files/chain.pem 2014-11-21 15:28:41.000000000 +0100 @@ -0,0 +1,59 @@ +-----BEGIN CERTIFICATE----- +MIICKjCCAdSgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBrTETMBEGCgmSJomT8ixk +ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy +bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk +aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl +LWNhQGV4YW1wbGUuY29tMB4XDTE0MDczMTE4MDQwNVoXDTM5MDcyNTE4MDQwNVow +WDETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx +KDAmBgNVBAMMH3NlcnZlci1pbnRlcm1lZGlhdGUuZXhhbXBsZS5jb20wXDANBgkq +hkiG9w0BAQEFAANLADBIAkEAtJ7gH4CHiiALnnOqu79ToTGj8I1xd8m62+WDGwib +tMfNrQ+Jjw7SU0gjv2GFk3TX3HY456Sp/OnCPTB2C3lx5wIDAQABozMwMTAJBgNV +HRMEAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEQQIMAaHBMCoARYwDQYJ +KoZIhvcNAQEFBQADQQBPcxVN1ylw3GKWeZMm6ZD+CSTSfgFjlbm/c0oGZCnz8fvs +vCf7OpmCBLaArbkZlxNP6a6dAP23mcx6+WwKP8km +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDrjCCAxegAwIBAgIBBTANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk +ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp +ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDczMTE4MDQwNVoXDTM5MDcy +NTE4MDQwNVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ +FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0 +aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo +BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTBcMA0GCSqG +SIb3DQEBAQUAA0sAMEgCQQDZy5UlNwps/3/XguGKO8EmWhzTXJl6LcRmFaDcrlXO +Dg8bak8LftX8e3coQR2/1UBHGrc/vx3iuaPo4zqb6klvAgMBAAGjggFFMIIBQTAd +BgNVHQ4EFgQUY8cTwoNkLNWWDASVAmwmL8Upfk0wgbsGA1UdIwSBszCBsIAUuR3p +wFSjo4H3Mb3UQDjQ4rxKDTehgYykgYkwgYYxEzARBgoJkiaJk/IsZAEZFgNDT00x +FzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcNAQkB +Fg5jYUBleGFtcGxlLmNvbYIJAIKoNLAclgPoMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMCYGA1UdEQQfMB2BG2ludGVybWVkaWF0ZS1jYUBleGFtcGxl +LmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQUFAAOB +gQBVb72AEGUWEbE9ZUZIy/zNJrsywSl3SDWcUIbHwCFihH0V7RfgmR+v22aPWSfq +3r8Y3FIZ82RuFhAc1q0W1ZlbOvdVgVvCC/R97m2t/AzZ5Xo797aJYZ9TY+b6wVJH +H/P3JPD/RrBXIW/OaK+L70n6O/ikhXwWDkpenPIoY4BBsg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDxjCCAy+gAwIBAgIJAIKoNLAclgPoMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK +CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE +CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv +bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMDAwNzE3MTYwMDUz +WhcNMzAwNzEwMTYwMDUzWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS +JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0 +eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4 +YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGfSd/mHqbKBQe +5aIe3T/ZgVAxP0IczXrpP1CYeohiDfvcSff9000/6dk46XlVhSM4JPIMbrd23YPf +u8bnlzHqrPD1+HdqwhnmwMhLl3GphB/0PuWoOeEDoFhYSE2XWccCLLc1GtX9nKiS +GOH3Uam4WrQCibQ4IVL3WKs++U77jwIDAQABo4IBODCCATQwHQYDVR0OBBYEFLkd +6cBUo6OB9zG91EA40OK8Sg03MIG7BgNVHSMEgbMwgbCAFLkd6cBUo6OB9zG91EA4 +0OK8Sg03oYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy +LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw +FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs +ZS5jb22CCQCCqDSwHJYD6DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt +cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQAnIzWB2+yQIsyKfD6CpsPy9f/njn2A +KZGI0CSJxOMPr4vxL7JvZHtGc3LLRdMtxlk1QlNQlGTr/SsEzZDQfYIF+gzVPZ+h +bUy8HHWYerWh6Vz1yOe07I7XyGAyvu9xRaIN2DjDUEvXTd4wgZ+6TjzmwX34bvon +JEOrMtYPA+tV4Q== +-----END CERTIFICATE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/glib-networking-2.42.0/tls/tests/mock-interaction.c new/glib-networking-2.42.1/tls/tests/mock-interaction.c --- old/glib-networking-2.42.0/tls/tests/mock-interaction.c 2014-06-23 23:06:13.000000000 +0200 +++ new/glib-networking-2.42.1/tls/tests/mock-interaction.c 2014-11-21 15:28:41.000000000 +0100 @@ -161,6 +161,8 @@ MockInteraction *self = MOCK_INTERACTION (object); g_free (self->static_password); + g_clear_object (&self->static_certificate); + g_clear_error (&self->static_error); G_OBJECT_CLASS (mock_interaction_parent_class)->finalize (object); } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
