[glib-networking/glib-2-62] Revert "Don't notify accepted-cas property on handshake thread"
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib-networking/glib-2-62] Revert "Don't notify accepted-cas property on handshake thread"
- Date: Tue, 24 Sep 2019 16:25:52 +0000 (UTC)
commit 2646d1fe8df002cf135f39494a5fafc9b8e44273
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Tue Sep 24 16:25:43 2019 +0000
Revert "Don't notify accepted-cas property on handshake thread"
This reverts commit 68803c033502f683c551fcc3a21df7d7a165e22f
tls/gnutls/gtlsclientconnection-gnutls.c | 16 +++-------------
tls/openssl/gtlsclientconnection-openssl.c | 22 +---------------------
2 files changed, 4 insertions(+), 34 deletions(-)
---
diff --git a/tls/gnutls/gtlsclientconnection-gnutls.c b/tls/gnutls/gtlsclientconnection-gnutls.c
index 4e2f5b7..384df22 100644
--- a/tls/gnutls/gtlsclientconnection-gnutls.c
+++ b/tls/gnutls/gtlsclientconnection-gnutls.c
@@ -58,7 +58,6 @@ struct _GTlsClientConnectionGnutls
GBytes *session_data;
GPtrArray *accepted_cas;
- gboolean accepted_cas_changed;
gnutls_pcert_st *pcert;
unsigned int pcert_length;
@@ -327,7 +326,6 @@ g_tls_client_connection_gnutls_retrieve_function (gnutls_session_t
GTlsClientConnectionGnutls *gnutls = gnutls_transport_get_ptr (session);
GTlsConnectionGnutls *conn = G_TLS_CONNECTION_GNUTLS (gnutls);
GPtrArray *accepted_cas;
- gboolean had_accepted_cas;
GByteArray *dn;
int i;
@@ -335,8 +333,6 @@ g_tls_client_connection_gnutls_retrieve_function (gnutls_session_t
* the algorithms given in pk_algos.
*/
- had_accepted_cas = gnutls->accepted_cas != NULL;
-
accepted_cas = g_ptr_array_new_with_free_func ((GDestroyNotify)g_byte_array_unref);
for (i = 0; i < nreqs; i++)
{
@@ -348,8 +344,7 @@ g_tls_client_connection_gnutls_retrieve_function (gnutls_session_t
if (gnutls->accepted_cas)
g_ptr_array_unref (gnutls->accepted_cas);
gnutls->accepted_cas = accepted_cas;
-
- gnutls->accepted_cas_changed = gnutls->accepted_cas || had_accepted_cas;
+ g_object_notify (G_OBJECT (gnutls), "accepted-cas");
clear_gnutls_certificate_copy (gnutls);
g_tls_connection_gnutls_get_certificate (conn, pcert, pcert_length, pkey);
@@ -450,13 +445,8 @@ g_tls_client_connection_gnutls_complete_handshake (GTlsConnectionBase *tls,
GTlsClientConnectionGnutls *gnutls = G_TLS_CLIENT_CONNECTION_GNUTLS (tls);
int resumed;
- G_TLS_CONNECTION_BASE_CLASS (g_tls_client_connection_gnutls_parent_class)->complete_handshake (tls,
negotiated_protocol, error);
-
- /* It may have changed during the handshake, but we have to wait until here
- * because we can't emit notifies on the handshake thread.
- */
- if (gnutls->accepted_cas_changed)
- g_object_notify (G_OBJECT (gnutls), "accepted-cas");
+ G_TLS_CONNECTION_BASE_CLASS (g_tls_client_connection_gnutls_parent_class)->
+ complete_handshake (tls, negotiated_protocol, error);
resumed = gnutls_session_is_resumed (g_tls_connection_gnutls_get_session (G_TLS_CONNECTION_GNUTLS (tls)));
if (!resumed)
diff --git a/tls/openssl/gtlsclientconnection-openssl.c b/tls/openssl/gtlsclientconnection-openssl.c
index 06fbd5d..3926029 100644
--- a/tls/openssl/gtlsclientconnection-openssl.c
+++ b/tls/openssl/gtlsclientconnection-openssl.c
@@ -52,7 +52,6 @@ struct _GTlsClientConnectionOpenssl
GBytes *session_data;
STACK_OF (X509_NAME) *ca_list;
- gboolean ca_list_changed;
SSL_SESSION *session;
SSL *ssl;
@@ -236,22 +235,6 @@ g_tls_client_connection_openssl_constructed (GObject *object)
G_OBJECT_CLASS (g_tls_client_connection_openssl_parent_class)->constructed (object);
}
-static void
-g_tls_client_connection_openssl_complete_handshake (GTlsConnectionBase *tls,
- gchar **negotiated_protocol,
- GError **error)
-{
- GTlsClientConnectionOpenssl *client = G_TLS_CLIENT_CONNECTION_OPENSSL (tls);
-
- G_TLS_CONNECTION_BASE_CLASS (g_tls_client_connection_openssl_parent_class)->complete_handshake (tls,
negotiated_protocol, error);
-
- /* It may have changed during the handshake, but we have to wait until here
- * because we can't emit notifies on the handshake thread.
- */
- if (client->ca_list_changed)
- g_object_notify (G_OBJECT (client), "accepted-cas");
-}
-
static GTlsCertificateFlags
verify_ocsp_response (GTlsClientConnectionOpenssl *openssl,
GTlsCertificate *peer_certificate)
@@ -320,7 +303,6 @@ g_tls_client_connection_openssl_class_init (GTlsClientConnectionOpensslClass *kl
gobject_class->set_property = g_tls_client_connection_openssl_set_property;
gobject_class->constructed = g_tls_client_connection_openssl_constructed;
- base_class->complete_handshake = g_tls_client_connection_openssl_complete_handshake;
base_class->verify_peer_certificate = g_tls_client_connection_openssl_verify_peer_certificate;
openssl_class->get_ssl = g_tls_client_connection_openssl_get_ssl;
@@ -359,14 +341,12 @@ retrieve_certificate (SSL *ssl,
GTlsClientConnectionOpenssl *client;
GTlsConnectionBase *tls;
GTlsCertificate *cert;
- gboolean had_ca_list;
client = SSL_get_ex_data (ssl, data_index);
tls = G_TLS_CONNECTION_BASE (client);
- had_ca_list = client->ca_list != NULL;
client->ca_list = SSL_get_client_CA_list (client->ssl);
- client->ca_list_changed = client->ca_list || had_ca_list;
+ g_object_notify (G_OBJECT (client), "accepted-cas");
cert = g_tls_connection_get_certificate (G_TLS_CONNECTION (client));
if (!cert)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]