Hello community,

here is the log from the commit of package glib-networking for openSUSE:Factory 
checked in at 2019-12-23 22:35:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glib-networking (Old)
 and      /work/SRC/openSUSE:Factory/.glib-networking.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "glib-networking"

Mon Dec 23 22:35:30 2019 rev:67 rq:755669 version:2.62.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/glib-networking/glib-networking.changes  
2019-11-29 16:03:05.644801068 +0100
+++ 
/work/SRC/openSUSE:Factory/.glib-networking.new.6675/glib-networking.changes    
    2019-12-23 22:37:21.609818133 +0100
@@ -1,0 +2,6 @@
+Tue Dec 10 08:37:59 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Update to version 2.62.1:
+  + Fix handshake_context crashes.
+
+-------------------------------------------------------------------

Old:
----
  glib-networking-2.62.1.tar.xz

New:
----
  glib-networking-2.62.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ glib-networking.spec ++++++
--- /var/tmp/diff_new_pack.825lNA/_old  2019-12-23 22:37:22.637818578 +0100
+++ /var/tmp/diff_new_pack.825lNA/_new  2019-12-23 22:37:22.641818580 +0100
@@ -18,7 +18,7 @@
 
 %define gio_real_package %(rpm -q --qf '%%{name}' --whatprovides gio)
 Name:           glib-networking
-Version:        2.62.1
+Version:        2.62.2
 Release:        0
 Summary:        Network-related GIO modules for glib
 License:        LGPL-2.1-or-later

++++++ glib-networking-2.62.1.tar.xz -> glib-networking-2.62.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/glib-networking-2.62.1/NEWS 
new/glib-networking-2.62.2/NEWS
--- old/glib-networking-2.62.1/NEWS     2019-10-05 01:27:14.000000000 +0200
+++ new/glib-networking-2.62.2/NEWS     2019-12-09 20:38:43.000000000 +0100
@@ -1,3 +1,8 @@
+2.26.2 - December 9, 2019
+=========================
+
+- Fix handshake_context crashes (#97)
+
 2.62.1 - October 4, 2019
 ========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/glib-networking-2.62.1/meson.build 
new/glib-networking-2.62.2/meson.build
--- old/glib-networking-2.62.1/meson.build      2019-10-05 01:27:14.000000000 
+0200
+++ new/glib-networking-2.62.2/meson.build      2019-12-09 20:38:43.000000000 
+0100
@@ -1,6 +1,6 @@
 project(
   'glib-networking', 'c',
-  version: '2.62.1',
+  version: '2.62.2',
   license: 'LGPL2.1+',
   meson_version: '>= 0.50.0',
   default_options: ['c_std=c11']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/glib-networking-2.62.1/po/da.po 
new/glib-networking-2.62.2/po/da.po
--- old/glib-networking-2.62.1/po/da.po 2019-10-05 01:27:14.000000000 +0200
+++ new/glib-networking-2.62.2/po/da.po 2019-12-09 20:38:43.000000000 +0100
@@ -9,9 +9,10 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: glib-networking master\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib-networking/issues\n";
-"POT-Creation-Date: 2019-03-02 02:19+0000\n"
-"PO-Revision-Date: 2019-02-14 20:11+0100\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib-networking/";
+"issues\n"
+"POT-Creation-Date: 2019-10-05 11:22+0000\n"
+"PO-Revision-Date: 2019-10-06 14:58+0200\n"
 "Last-Translator: Alan Mortensen <[email protected]>\n"
 "Language-Team: Danish <[email protected]>\n"
 "Language: da\n"
@@ -25,170 +26,171 @@
 msgid "Proxy resolver internal error."
 msgstr "Intern fejl i proxy-opløser."
 
-#: tls/base/gtlsconnection-base.c:282 tls/base/gtlsinputstream-base.c:74
-#: tls/base/gtlsoutputstream-base.c:74 tls/gnutls/gtlsconnection-gnutls.c:740
-#: tls/gnutls/gtlsinputstream-gnutls.c:78
-#: tls/gnutls/gtlsinputstream-gnutls.c:141
-#: tls/gnutls/gtlsoutputstream-gnutls.c:78
-#: tls/gnutls/gtlsoutputstream-gnutls.c:143
+#: tls/base/gtlsconnection-base.c:490 tls/base/gtlsinputstream.c:78
+#: tls/base/gtlsinputstream.c:141 tls/base/gtlsoutputstream.c:78
+#: tls/base/gtlsoutputstream.c:143
 msgid "Connection is closed"
 msgstr "Forbindelsen er lukket"
 
-#: tls/base/gtlsconnection-base.c:355 tls/base/gtlsconnection-base.c:1015
-msgid "Operation would block"
-msgstr "Forbindelsen ville blokere"
+#. Cannot perform a blocking operation during a handshake on the
+#. * same thread that triggered the handshake. The only way this can
+#. * occur is if the application is doing something weird in its
+#. * accept-certificate callback. Allowing a blocking op would stall
+#. * the handshake (forever, if there's no timeout). Even a close
+#. * op would deadlock here.
+#.
+#: tls/base/gtlsconnection-base.c:560
+msgid "Cannot perform blocking operation during TLS handshake"
+msgstr "Kan ikke udføre en blokerende operation under TLS-forhandling: %s"
+
+#: tls/base/gtlsconnection-base.c:623 tls/base/gtlsconnection-base.c:1161
+msgid "Socket I/O timed out"
+msgstr "Tidsudløb i sokkel-I/O"
 
-#: tls/base/gtlsconnection-base.c:809
-#: tls/gnutls/gtlsclientconnection-gnutls.c:454
+#: tls/base/gtlsconnection-base.c:787
 msgid "Server required TLS certificate"
 msgstr "Server kræver et TLS-certifikat"
 
+#: tls/base/gtlsconnection-base.c:1383
+msgid "Peer does not support safe renegotiation"
+msgstr "Modpart understøtter ikke sikker genforhandling"
+
+#: tls/base/gtlsconnection-base.c:1511 tls/gnutls/gtlsconnection-gnutls.c:419
+#: tls/openssl/gtlsconnection-openssl.c:184
+#, c-format
+msgid "Unacceptable TLS certificate"
+msgstr "Uacceptabelt TLS-certifikat"
+
+#: tls/base/gtlsconnection-base.c:1932
+#, c-format
+msgid "Receive flags are not supported"
+msgstr "Modtagelsesflag understøttes ikke"
+
+#: tls/base/gtlsconnection-base.c:2076
+#, c-format
+msgid "Send flags are not supported"
+msgstr "Sendeflag understøttes ikke"
+
 #: tls/gnutls/gtlscertificate-gnutls.c:178
-#: tls/openssl/gtlscertificate-openssl.c:177
+#: tls/openssl/gtlscertificate-openssl.c:170
 #, c-format
 msgid "Could not parse DER certificate: %s"
 msgstr "Kunne ikke fortolke DER-certifikat: %s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:199
-#: tls/openssl/gtlscertificate-openssl.c:197
+#: tls/openssl/gtlscertificate-openssl.c:190
 #, c-format
 msgid "Could not parse PEM certificate: %s"
 msgstr "Kunne ikke fortolke PEM-certifikat: %s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:230
-#: tls/openssl/gtlscertificate-openssl.c:216
+#: tls/openssl/gtlscertificate-openssl.c:209
 #, c-format
 msgid "Could not parse DER private key: %s"
 msgstr "Kunne ikke fortolke privat nøgle for DER: %s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:261
-#: tls/openssl/gtlscertificate-openssl.c:235
+#: tls/openssl/gtlscertificate-openssl.c:228
 #, c-format
 msgid "Could not parse PEM private key: %s"
 msgstr "Kunne ikke fortolke privat nøgle for PEM: %s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:297
-#: tls/openssl/gtlscertificate-openssl.c:273
+#: tls/openssl/gtlscertificate-openssl.c:263
 msgid "No certificate data provided"
 msgstr "Ingen certifikatdata angivet"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:405
-#: tls/openssl/gtlsclientconnection-openssl.c:536
-#: tls/openssl/gtlsserverconnection-openssl.c:425
+#: tls/gnutls/gtlsconnection-gnutls.c:224
+#: tls/openssl/gtlsclientconnection-openssl.c:520
+#: tls/openssl/gtlsserverconnection-openssl.c:399
 #, c-format
 msgid "Could not create TLS connection: %s"
 msgstr "Kunne ikke oprette TLS-forbindelse: %s"
 
-#. Cannot perform a blocking operation during a handshake on the
-#. * same thread that triggered the handshake. The only way this can
-#. * occur is if the application is doing something weird in its
-#. * accept-certificate callback. Allowing a blocking op would stall
-#. * the handshake (forever, if there's no timeout). Even a close
-#. * op would deadlock here.
-#.
-#: tls/gnutls/gtlsconnection-gnutls.c:811
-msgid "Cannot perform blocking operation during TLS handshake"
-msgstr "Kan ikke udføre en blokerende operation under TLS-forhandling: %s"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:874
-#: tls/gnutls/gtlsconnection-gnutls.c:1484
-msgid "Socket I/O timed out"
-msgstr "Tidsudløb i sokkel-I/O"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:1019
-#: tls/gnutls/gtlsconnection-gnutls.c:1052
-#: tls/openssl/gtlsconnection-openssl.c:150
-msgid "Peer failed to perform TLS handshake"
-msgstr "Modpart mislykkedes i at udføre TLS-forhandling"
+#: tls/gnutls/gtlsconnection-gnutls.c:353
+#: tls/gnutls/gtlsconnection-gnutls.c:364
+#: tls/gnutls/gtlsconnection-gnutls.c:388
+#: tls/openssl/gtlsconnection-openssl.c:151
+#, c-format
+msgid "Peer failed to perform TLS handshake: %s"
+msgstr "Modpart mislykkedes i at udføre TLS-forhandling: %s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1037
-#: tls/openssl/gtlsconnection-openssl.c:238
+#: tls/gnutls/gtlsconnection-gnutls.c:375
+#: tls/openssl/gtlsconnection-openssl.c:260
 msgid "Peer requested illegal TLS rehandshake"
 msgstr "Modpart forspurgte illegalt TLS-genforhandling"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1058
+#: tls/gnutls/gtlsconnection-gnutls.c:396
 msgid "TLS connection closed unexpectedly"
 msgstr "TLS-forbindelse lukkede uventet ned"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1068
-#: tls/openssl/gtlsconnection-openssl.c:175
+#: tls/gnutls/gtlsconnection-gnutls.c:411
+#: tls/openssl/gtlsconnection-openssl.c:176
 msgid "TLS connection peer did not send a certificate"
 msgstr "TLS-modpart sendte ikke noget certifikat"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1074
-#: tls/gnutls/gtlsconnection-gnutls.c:2176
-#: tls/openssl/gtlsconnection-openssl.c:420
-#, c-format
-msgid "Unacceptable TLS certificate"
-msgstr "Uacceptabelt TLS-certifikat"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:1080
+#: tls/gnutls/gtlsconnection-gnutls.c:427
 #, c-format
 msgid "Peer sent fatal TLS alert: %s"
 msgstr "Peer sendte fatal TLS-alarm: %s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1092
+#: tls/gnutls/gtlsconnection-gnutls.c:437
 msgid "Protocol version downgrade attack detected"
 msgstr "Detekterede angreb baseret på nedgradering af protokolversion"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1099
+#: tls/gnutls/gtlsconnection-gnutls.c:446
 #, c-format
 msgid "Message is too large for DTLS connection; maximum is %u byte"
 msgid_plural "Message is too large for DTLS connection; maximum is %u bytes"
 msgstr[0] "Meddelelsen er for lang til DTLS-forbindelse; maksimum er %u byte"
 msgstr[1] "Meddelelsen er for lang til DTLS-forbindelse; maksimum er %u byte"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1106
+#: tls/gnutls/gtlsconnection-gnutls.c:455
 msgid "The operation timed out"
 msgstr "Tidsudløb under operation"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1997
-msgid "Peer does not support safe renegotiation"
-msgstr "Modpart understøtter ikke sikker genforhandling"
+#: tls/gnutls/gtlsconnection-gnutls.c:790
+#, c-format
+msgid "Error performing TLS handshake: %s"
+msgstr "Fejl under udførsel af TLS-forhandling: %s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2024
-#: tls/gnutls/gtlsconnection-gnutls.c:2074
+#: tls/gnutls/gtlsconnection-gnutls.c:893
+#: tls/openssl/gtlsconnection-openssl.c:269
+#: tls/openssl/gtlsconnection-openssl.c:319
 msgid "Error performing TLS handshake"
 msgstr "Fejl under udførsel af TLS-forhandling: %s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2526
-#: tls/gnutls/gtlsconnection-gnutls.c:2618
+#: tls/gnutls/gtlsconnection-gnutls.c:939
+#: tls/gnutls/gtlsconnection-gnutls.c:999
+#: tls/openssl/gtlsconnection-openssl.c:426
 msgid "Error reading data from TLS socket"
 msgstr "Fejl under læsning af data fra TLS-sokkel"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2648
-#, c-format
-msgid "Receive flags are not supported"
-msgstr "Modtagelsesflag understøttes ikke"
-
 #. flags
-#: tls/gnutls/gtlsconnection-gnutls.c:2725
-#: tls/gnutls/gtlsconnection-gnutls.c:2797
+#: tls/gnutls/gtlsconnection-gnutls.c:1021
+#: tls/gnutls/gtlsconnection-gnutls.c:1085
+#: tls/openssl/gtlsconnection-openssl.c:470
 msgid "Error writing data to TLS socket"
 msgstr "Fejl under skrivning af data til TLS-sokkel"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2767
+#: tls/gnutls/gtlsconnection-gnutls.c:1055
 #, c-format
 msgid "Message of size %lu byte is too large for DTLS connection"
 msgid_plural "Message of size %lu bytes is too large for DTLS connection"
 msgstr[0] "Meddelelse af størrelse %lu byte er for stor til DTLS-forbindelse"
 msgstr[1] "Meddelelse af størrelse %lu byte er for stor til DTLS-forbindelse"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2769
+#: tls/gnutls/gtlsconnection-gnutls.c:1057
 #, c-format
 msgid "(maximum is %u byte)"
 msgid_plural "(maximum is %u bytes)"
 msgstr[0] "(maksimum er %u byte)"
 msgstr[1] "(maksimum er %u byte)"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2828
+#: tls/gnutls/gtlsconnection-gnutls.c:1104
 #, c-format
-msgid "Send flags are not supported"
-msgstr "Sendeflag understøttes ikke"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:2931
-msgid "Error performing TLS close"
-msgstr "Fejl ved lukning af TLS"
+msgid "Error performing TLS close: %s"
+msgstr "Fejl ved lukning af TLS: %s"
 
 #: tls/gnutls/gtlsdatabase-gnutls.c:553
 msgid ""
@@ -198,65 +200,70 @@
 "Kunne ikke indlæse systemets “trust store”: GnuTLS blev ikke konfigureret "
 "med en system-“trust”"
 
-#: tls/gnutls/gtlsdatabase-gnutls.c:558
+#: tls/gnutls/gtlsdatabase-gnutls.c:558 tls/openssl/gtlsdatabase-openssl.c:187
 #, c-format
 msgid "Failed to load system trust store: %s"
 msgstr "Kunne ikke indlæse systemets “trust store”: %s"
 
 #: tls/gnutls/gtlsserverconnection-gnutls.c:137
-#: tls/openssl/gtlsserverconnection-openssl.c:91
+#: tls/openssl/gtlsserverconnection-openssl.c:90
 msgid "Certificate has no private key"
 msgstr "Certifikatet har ingen privat nøgle"
 
-#: tls/openssl/gtlsclientconnection-openssl.c:417
-#: tls/openssl/gtlsclientconnection-openssl.c:483
-#: tls/openssl/gtlsserverconnection-openssl.c:305
-#: tls/openssl/gtlsserverconnection-openssl.c:365
+#: tls/openssl/gtlsclientconnection-openssl.c:410
+#: tls/openssl/gtlsclientconnection-openssl.c:467
+#: tls/openssl/gtlsserverconnection-openssl.c:288
+#: tls/openssl/gtlsserverconnection-openssl.c:339
 #, c-format
 msgid "Could not create TLS context: %s"
 msgstr "Kunne ikke oprette TLS-kontekst: %s"
 
+#: tls/openssl/gtlsconnection-openssl.c:192
+#, c-format
+msgid "Unacceptable TLS certificate authority"
+msgstr "Uacceptabel TLS-certifikatautoritet"
+
 # Digest er oversat med digest i Network-modulerne i gnome extra
 # https://en.wikipedia.org/wiki/Cryptographic_hash_function
-#: tls/openssl/gtlsconnection-openssl.c:183
+#: tls/openssl/gtlsconnection-openssl.c:200
 msgid "Digest too big for RSA key"
 msgstr "Digest er for stor til RSA-nøglen"
 
-#: tls/openssl/gtlsconnection-openssl.c:247
-#: tls/openssl/gtlsconnection-openssl.c:380
-#, c-format
-msgid "Error performing TLS handshake: %s"
-msgstr "Fejl under udførsel af TLS-forhandling: %s"
-
-#: tls/openssl/gtlsconnection-openssl.c:390
-msgid "Server did not return a valid TLS certificate"
-msgstr "Serveren returnerede ikke et gyldigt TLS-certifikat"
-
-#: tls/openssl/gtlsconnection-openssl.c:504
-#, c-format
-msgid "Error reading data from TLS socket: %s"
-msgstr "Fejl under læsning af data fra TLS-sokkel: %s"
+#: tls/openssl/gtlsconnection-openssl.c:507
+msgid "Error performing TLS close"
+msgstr "Fejl ved lukning af TLS"
 
-#: tls/openssl/gtlsconnection-openssl.c:530
-#, c-format
-msgid "Error writing data to TLS socket: %s"
-msgstr "Fejl under skrivning af data til TLS-sokkel: %s"
+#: tls/openssl/gtlsdatabase-openssl.c:227
+msgid "Could not create CA store"
+msgstr "Kunne ikke oprette CA-lager"
 
-#: tls/openssl/gtlsconnection-openssl.c:556
+#: tls/openssl/gtlsfiledatabase-openssl.c:454
 #, c-format
-msgid "Error performing TLS close: %s"
-msgstr "Fejl ved lukning af TLS: %s"
+msgid "Failed to load file path: %s"
+msgstr "Kunne ikke indlæse filsti: %s"
 
-#: tls/openssl/gtlsserverconnection-openssl.c:102
+#: tls/openssl/gtlsserverconnection-openssl.c:101
 #, c-format
 msgid "There is a problem with the certificate: %s"
 msgstr "Der er et problem med certifikatet: %s"
 
-#: tls/openssl/gtlsserverconnection-openssl.c:110
+#: tls/openssl/gtlsserverconnection-openssl.c:109
 #, c-format
 msgid "There is a problem with the certificate private key: %s"
 msgstr "Der er et problem med certifikatets private nøgle: %s"
 
+#~ msgid "Operation would block"
+#~ msgstr "Forbindelsen ville blokere"
+
+#~ msgid "Server did not return a valid TLS certificate"
+#~ msgstr "Serveren returnerede ikke et gyldigt TLS-certifikat"
+
+#~ msgid "Error reading data from TLS socket: %s"
+#~ msgstr "Fejl under læsning af data fra TLS-sokkel: %s"
+
+#~ msgid "Error writing data to TLS socket: %s"
+#~ msgstr "Fejl under skrivning af data til TLS-sokkel: %s"
+
 #~ msgid ""
 #~ "This is the last chance to enter the PIN correctly before the token is "
 #~ "locked."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/glib-networking-2.62.1/po/zh_TW.po 
new/glib-networking-2.62.2/po/zh_TW.po
--- old/glib-networking-2.62.1/po/zh_TW.po      2019-10-05 01:27:14.000000000 
+0200
+++ new/glib-networking-2.62.2/po/zh_TW.po      2019-12-09 20:38:43.000000000 
+0100
@@ -8,171 +8,185 @@
 msgstr ""
 "Project-Id-Version: glib-networking 2.31.6\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib-networking/issues\n";
-"POT-Creation-Date: 2019-02-03 13:01+0000\n"
-"PO-Revision-Date: 2019-02-17 23:32+0800\n"
+"POT-Creation-Date: 2019-10-05 11:22+0000\n"
+"PO-Revision-Date: 2019-11-23 12:13+0800\n"
 "Last-Translator: pan93412 <[email protected]>\n"
 "Language-Team: Chinese <[email protected]>\n"
 "Language: zh_TW\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 18.12.2\n"
+"X-Generator: Lokalize 19.11.80\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
 #: proxy/libproxy/glibproxyresolver.c:159
 msgid "Proxy resolver internal error."
 msgstr "代理伺服器解析器內部錯誤。"
 
-#: tls/base/gtlsconnection-base.c:282 tls/base/gtlsinputstream-base.c:74
-#: tls/base/gtlsoutputstream-base.c:74 tls/gnutls/gtlsconnection-gnutls.c:740
-#: tls/gnutls/gtlsinputstream-gnutls.c:78
-#: tls/gnutls/gtlsinputstream-gnutls.c:141
-#: tls/gnutls/gtlsoutputstream-gnutls.c:78
-#: tls/gnutls/gtlsoutputstream-gnutls.c:143
+#: tls/base/gtlsconnection-base.c:490 tls/base/gtlsinputstream.c:78
+#: tls/base/gtlsinputstream.c:141 tls/base/gtlsoutputstream.c:78
+#: tls/base/gtlsoutputstream.c:143
 msgid "Connection is closed"
 msgstr "連線已關閉"
 
-#: tls/base/gtlsconnection-base.c:355 tls/base/gtlsconnection-base.c:1015
-msgid "Operation would block"
-msgstr "操作會阻擋"
+#. Cannot perform a blocking operation during a handshake on the
+#. * same thread that triggered the handshake. The only way this can
+#. * occur is if the application is doing something weird in its
+#. * accept-certificate callback. Allowing a blocking op would stall
+#. * the handshake (forever, if there's no timeout). Even a close
+#. * op would deadlock here.
+#.
+#: tls/base/gtlsconnection-base.c:560
+#| msgid "Error performing TLS handshake"
+msgid "Cannot perform blocking operation during TLS handshake"
+msgstr "無法在 TLS 交握期間執行封鎖動作"
 
-#: tls/base/gtlsconnection-base.c:809
-#: tls/gnutls/gtlsclientconnection-gnutls.c:454
+#: tls/base/gtlsconnection-base.c:623 tls/base/gtlsconnection-base.c:1161
+msgid "Socket I/O timed out"
+msgstr "I/O 接口逾時"
+
+#: tls/base/gtlsconnection-base.c:787
 msgid "Server required TLS certificate"
 msgstr "伺服器要求的 TLS 憑證"
 
+#: tls/base/gtlsconnection-base.c:1383
+msgid "Peer does not support safe renegotiation"
+msgstr "目標主機不支援 safe renegotiation"
+
+#: tls/base/gtlsconnection-base.c:1511 tls/gnutls/gtlsconnection-gnutls.c:419
+#: tls/openssl/gtlsconnection-openssl.c:184
+#, c-format
+msgid "Unacceptable TLS certificate"
+msgstr "不接受的 TLS 憑證"
+
+#: tls/base/gtlsconnection-base.c:1932
+#, c-format
+msgid "Receive flags are not supported"
+msgstr "接收旗標不被支援"
+
+#: tls/base/gtlsconnection-base.c:2076
+#, c-format
+msgid "Send flags are not supported"
+msgstr "傳送旗標不被支援"
+
 #: tls/gnutls/gtlscertificate-gnutls.c:178
-#: tls/openssl/gtlscertificate-openssl.c:177
+#: tls/openssl/gtlscertificate-openssl.c:170
 #, c-format
 msgid "Could not parse DER certificate: %s"
 msgstr "無法解析 DER 編碼的憑證:%s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:199
-#: tls/openssl/gtlscertificate-openssl.c:197
+#: tls/openssl/gtlscertificate-openssl.c:190
 #, c-format
 msgid "Could not parse PEM certificate: %s"
 msgstr "無法解析 PEM 編碼的憑證:%s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:230
-#: tls/openssl/gtlscertificate-openssl.c:216
+#: tls/openssl/gtlscertificate-openssl.c:209
 #, c-format
 msgid "Could not parse DER private key: %s"
 msgstr "無法解析 DER 編碼的私鑰:%s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:261
-#: tls/openssl/gtlscertificate-openssl.c:235
+#: tls/openssl/gtlscertificate-openssl.c:228
 #, c-format
 msgid "Could not parse PEM private key: %s"
 msgstr "無法解析 PEM 編碼的私鑰:%s"
 
 #: tls/gnutls/gtlscertificate-gnutls.c:297
-#: tls/openssl/gtlscertificate-openssl.c:273
+#: tls/openssl/gtlscertificate-openssl.c:263
 msgid "No certificate data provided"
 msgstr "沒有提供憑證資料"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:405
-#: tls/openssl/gtlsclientconnection-openssl.c:537
-#: tls/openssl/gtlsserverconnection-openssl.c:401
+#: tls/gnutls/gtlsconnection-gnutls.c:224
+#: tls/openssl/gtlsclientconnection-openssl.c:520
+#: tls/openssl/gtlsserverconnection-openssl.c:399
 #, c-format
 msgid "Could not create TLS connection: %s"
 msgstr "無法建立 TLS 連線:%s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:858
-#: tls/gnutls/gtlsconnection-gnutls.c:1468
-msgid "Socket I/O timed out"
-msgstr "I/O 接口逾時"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:1003
-#: tls/gnutls/gtlsconnection-gnutls.c:1036
-#: tls/openssl/gtlsconnection-openssl.c:150
-msgid "Peer failed to perform TLS handshake"
-msgstr "目標主機執行 TLS 交握時失敗"
+#: tls/gnutls/gtlsconnection-gnutls.c:353
+#: tls/gnutls/gtlsconnection-gnutls.c:364
+#: tls/gnutls/gtlsconnection-gnutls.c:388
+#: tls/openssl/gtlsconnection-openssl.c:151
+#, c-format
+#| msgid "Peer failed to perform TLS handshake"
+msgid "Peer failed to perform TLS handshake: %s"
+msgstr "目標主機執行 TLS 交握時失敗:%s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1021
-#: tls/openssl/gtlsconnection-openssl.c:234
+#: tls/gnutls/gtlsconnection-gnutls.c:375
+#: tls/openssl/gtlsconnection-openssl.c:260
 msgid "Peer requested illegal TLS rehandshake"
 msgstr "目標主機要求了不合法的 TLS 重新交握"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1042
+#: tls/gnutls/gtlsconnection-gnutls.c:396
 msgid "TLS connection closed unexpectedly"
 msgstr "TLS 連線無預警的關閉了"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1052
-#: tls/openssl/gtlsconnection-openssl.c:171
+#: tls/gnutls/gtlsconnection-gnutls.c:411
+#: tls/openssl/gtlsconnection-openssl.c:176
 msgid "TLS connection peer did not send a certificate"
 msgstr "TLS 連線目標主機沒有傳回憑證"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1058
-#: tls/gnutls/gtlsconnection-gnutls.c:2160
-#: tls/openssl/gtlsconnection-openssl.c:416
-#, c-format
-msgid "Unacceptable TLS certificate"
-msgstr "不接受的 TLS 憑證"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:1064
+#: tls/gnutls/gtlsconnection-gnutls.c:427
 #, c-format
 msgid "Peer sent fatal TLS alert: %s"
 msgstr "目標主機送出了重大 TLS 警告:%s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1076
+#: tls/gnutls/gtlsconnection-gnutls.c:437
 msgid "Protocol version downgrade attack detected"
 msgstr "偵測到協定版本降級攻擊"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1083
+#: tls/gnutls/gtlsconnection-gnutls.c:446
 #, c-format
 msgid "Message is too large for DTLS connection; maximum is %u byte"
 msgid_plural "Message is too large for DTLS connection; maximum is %u bytes"
 msgstr[0] "對於 DTLS 來說,訊息太大;最大值為 %u 位元組"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1090
+#: tls/gnutls/gtlsconnection-gnutls.c:455
 msgid "The operation timed out"
 msgstr "動作逾時"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:1981
-msgid "Peer does not support safe renegotiation"
-msgstr "目標主機不支援 safe renegotiation"
+#: tls/gnutls/gtlsconnection-gnutls.c:790
+#, c-format
+msgid "Error performing TLS handshake: %s"
+msgstr "執行 TLS 交握時發生錯誤:%s"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2008
-#: tls/gnutls/gtlsconnection-gnutls.c:2058
+#: tls/gnutls/gtlsconnection-gnutls.c:893
+#: tls/openssl/gtlsconnection-openssl.c:269
+#: tls/openssl/gtlsconnection-openssl.c:319
 msgid "Error performing TLS handshake"
 msgstr "執行 TLS 交握時發生錯誤"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2510
-#: tls/gnutls/gtlsconnection-gnutls.c:2602
+#: tls/gnutls/gtlsconnection-gnutls.c:939
+#: tls/gnutls/gtlsconnection-gnutls.c:999
+#: tls/openssl/gtlsconnection-openssl.c:426
 msgid "Error reading data from TLS socket"
 msgstr "從 TLS socket 讀取資料時發生錯誤"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2632
-#, c-format
-msgid "Receive flags are not supported"
-msgstr "接收旗標不被支援"
-
 #. flags
-#: tls/gnutls/gtlsconnection-gnutls.c:2709
-#: tls/gnutls/gtlsconnection-gnutls.c:2781
+#: tls/gnutls/gtlsconnection-gnutls.c:1021
+#: tls/gnutls/gtlsconnection-gnutls.c:1085
+#: tls/openssl/gtlsconnection-openssl.c:470
 msgid "Error writing data to TLS socket"
 msgstr "寫入資料到 TLS socket 時發生錯誤"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2751
+#: tls/gnutls/gtlsconnection-gnutls.c:1055
 #, c-format
 msgid "Message of size %lu byte is too large for DTLS connection"
 msgid_plural "Message of size %lu bytes is too large for DTLS connection"
 msgstr[0] "訊息大小 %lu 位元組對於 DTLS 連線來說太大"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2753
+#: tls/gnutls/gtlsconnection-gnutls.c:1057
 #, c-format
 msgid "(maximum is %u byte)"
 msgid_plural "(maximum is %u bytes)"
 msgstr[0] "(最大值為 %u 位元組)"
 
-#: tls/gnutls/gtlsconnection-gnutls.c:2812
+#: tls/gnutls/gtlsconnection-gnutls.c:1104
 #, c-format
-msgid "Send flags are not supported"
-msgstr "傳送旗標不被支援"
-
-#: tls/gnutls/gtlsconnection-gnutls.c:2915
-msgid "Error performing TLS close"
-msgstr "執行 TLS 關閉時發生錯誤"
+msgid "Error performing TLS close: %s"
+msgstr "執行 TLS 關閉時發生錯誤:%s"
 
 #: tls/gnutls/gtlsdatabase-gnutls.c:553
 msgid ""
@@ -180,65 +194,72 @@
 "trust"
 msgstr "載入系統信任儲存區失敗:GnuTLS 沒透過系統信任設定"
 
-#: tls/gnutls/gtlsdatabase-gnutls.c:558
+#: tls/gnutls/gtlsdatabase-gnutls.c:558 tls/openssl/gtlsdatabase-openssl.c:187
 #, c-format
 msgid "Failed to load system trust store: %s"
 msgstr "載入系統信任儲存區失敗:%s"
 
 #: tls/gnutls/gtlsserverconnection-gnutls.c:137
-#: tls/openssl/gtlsserverconnection-openssl.c:328
+#: tls/openssl/gtlsserverconnection-openssl.c:90
 msgid "Certificate has no private key"
 msgstr "憑證沒有私鑰"
 
-#: tls/openssl/gtlsclientconnection-openssl.c:486
-#: tls/openssl/gtlsserverconnection-openssl.c:292
+#: tls/openssl/gtlsclientconnection-openssl.c:410
+#: tls/openssl/gtlsclientconnection-openssl.c:467
+#: tls/openssl/gtlsserverconnection-openssl.c:288
+#: tls/openssl/gtlsserverconnection-openssl.c:339
 #, c-format
-#| msgid "Could not create TLS connection: %s"
 msgid "Could not create TLS context: %s"
 msgstr "無法建立 TLS 上下文:%s"
 
-#: tls/openssl/gtlsconnection-openssl.c:179
-msgid "Digest too big for RSA key"
-msgstr "RSA 金鑰的摘要過長"
-
-#: tls/openssl/gtlsconnection-openssl.c:243
-#: tls/openssl/gtlsconnection-openssl.c:376
+#: tls/openssl/gtlsconnection-openssl.c:192
 #, c-format
-#| msgid "Error performing TLS handshake"
-msgid "Error performing TLS handshake: %s"
-msgstr "執行 TLS 交握時發生錯誤:%s"
+#| msgid "Unacceptable TLS certificate"
+msgid "Unacceptable TLS certificate authority"
+msgstr "無法接受的 TLS 憑證授權"
 
-#: tls/openssl/gtlsconnection-openssl.c:386
-msgid "Server did not return a valid TLS certificate"
-msgstr "伺服器沒有回傳有效的 TLS 憑證"
+#: tls/openssl/gtlsconnection-openssl.c:200
+msgid "Digest too big for RSA key"
+msgstr "RSA 金鑰的摘要過長"
 
-#: tls/openssl/gtlsconnection-openssl.c:500
-#, c-format
-#| msgid "Error reading data from TLS socket"
-msgid "Error reading data from TLS socket: %s"
-msgstr "從 TLS socket 讀取資料時發生錯誤:%s"
+#: tls/openssl/gtlsconnection-openssl.c:507
+msgid "Error performing TLS close"
+msgstr "執行 TLS 關閉時發生錯誤"
 
-#: tls/openssl/gtlsconnection-openssl.c:526
-#, c-format
-#| msgid "Error writing data to TLS socket"
-msgid "Error writing data to TLS socket: %s"
-msgstr "寫入資料到 TLS socket 時發生錯誤:%s"
+#: tls/openssl/gtlsdatabase-openssl.c:227
+#| msgid "Could not create TLS context: %s"
+msgid "Could not create CA store"
+msgstr "無法建立 CA 儲存區"
+
+#: tls/openssl/gtlsfiledatabase-openssl.c:454
+#, c-format
+#| msgid "Failed to load system trust store: %s"
+msgid "Failed to load file path: %s"
+msgstr "無法載入檔案路徑:%s"
 
-#: tls/openssl/gtlsconnection-openssl.c:552
+#: tls/openssl/gtlsserverconnection-openssl.c:101
 #, c-format
-#| msgid "Error performing TLS close"
-msgid "Error performing TLS close: %s"
-msgstr "執行 TLS 關閉時發生錯誤:%s"
+msgid "There is a problem with the certificate: %s"
+msgstr "憑證發現問題:%s"
 
-#: tls/openssl/gtlsserverconnection-openssl.c:335
+#: tls/openssl/gtlsserverconnection-openssl.c:109
 #, c-format
 msgid "There is a problem with the certificate private key: %s"
 msgstr "憑證私鑰發現問題:%s"
 
-#: tls/openssl/gtlsserverconnection-openssl.c:344
-#, c-format
-msgid "There is a problem with the certificate: %s"
-msgstr "憑證發現問題:%s"
+#~ msgid "Operation would block"
+#~ msgstr "操作會阻擋"
+
+#~ msgid "Server did not return a valid TLS certificate"
+#~ msgstr "伺服器沒有回傳有效的 TLS 憑證"
+
+#~| msgid "Error reading data from TLS socket"
+#~ msgid "Error reading data from TLS socket: %s"
+#~ msgstr "從 TLS socket 讀取資料時發生錯誤:%s"
+
+#~| msgid "Error writing data to TLS socket"
+#~ msgid "Error writing data to TLS socket: %s"
+#~ msgstr "寫入資料到 TLS socket 時發生錯誤:%s"
 
 #~ msgid ""
 #~ "This is the last chance to enter the PIN correctly before the token is "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/glib-networking-2.62.1/tls/base/gtlsconnection-base.c 
new/glib-networking-2.62.2/tls/base/gtlsconnection-base.c
--- old/glib-networking-2.62.1/tls/base/gtlsconnection-base.c   2019-10-05 
01:27:14.000000000 +0200
+++ new/glib-networking-2.62.2/tls/base/gtlsconnection-base.c   2019-12-09 
20:38:43.000000000 +0100
@@ -1454,10 +1454,16 @@
   /* need_finish_handshake will be set inside 
sync_handshake_thread_completed(),
    * which should only ever be invoked while iterating the handshake context
    * here. So need_finish_handshake should only change on this thread.
+   *
+   * FIXME: This function is not cancellable. We should figure out how to
+   * support cancellation. We must not return from this function before it is
+   * safe to destroy handshake_context, but it's not safe to destroy
+   * handshake_context until after the handshake has completed. And the
+   * handshake operation is not cancellable, so we have a problem.
    */
   g_mutex_lock (&priv->op_mutex);
   priv->sync_handshake_in_progress = TRUE;
-  while (priv->sync_handshake_in_progress && !g_cancellable_is_cancelled 
(cancellable))
+  while (priv->sync_handshake_in_progress)
     {
       g_mutex_unlock (&priv->op_mutex);
       g_main_context_iteration (priv->handshake_context, TRUE);
@@ -1608,20 +1614,33 @@
     need_finish_handshake = FALSE;
   g_mutex_unlock (&priv->op_mutex);
 
+  /* We have to clear handshake_context before g_task_return_* because it can
+   * return immediately to application code inside g_task_return_*,
+   * and the application code could then start a new TLS operation.
+   *
+   * But we can't clear until after finish_handshake().
+   */
   if (need_finish_handshake)
     {
       success = finish_handshake (tls, G_TASK (result), &error);
+
+      g_clear_pointer (&priv->handshake_context, g_main_context_unref);
+
       if (success)
         g_task_return_boolean (caller_task, TRUE);
       else
         g_task_return_error (caller_task, error);
     }
-  else if (priv->handshake_error)
-    g_task_return_error (caller_task, g_error_copy (priv->handshake_error));
   else
-    g_task_return_boolean (caller_task, TRUE);
+    {
+      g_clear_pointer (&priv->handshake_context, g_main_context_unref);
+
+      if (priv->handshake_error)
+        g_task_return_error (caller_task, g_error_copy 
(priv->handshake_error));
+      else
+        g_task_return_boolean (caller_task, TRUE);
+    }
 
-  g_clear_pointer (&priv->handshake_context, g_main_context_unref);
   g_object_unref (caller_task);
 }
 


Reply via email to