forked from pool/libsoup
- Disable tls_interaction-test until resolved upstream * See https://gitlab.gnome.org/GNOME/libsoup/issues/120 - Add libsoup-skip-tls_interaction-test.patch - Fix tests: fix SSL test with glib-networking >= 2.65.90 * See https://gitlab.gnome.org/GNOME/libsoup/issues/201 - Add libsoup-fix-SSL-test.patch - Remove patches: * libsoup-disable-ssl-tests.patch * libsoup-disable-hsts-tests.patch OBS-URL: https://build.opensuse.org/request/show/870965 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/libsoup?expand=0&rev=253
87 lines
2.7 KiB
Diff
87 lines
2.7 KiB
Diff
From af574cf8bebbcb234b05a2919cad53f8d7c8c645 Mon Sep 17 00:00:00 2001
|
|
From: Carlos Garcia Campos <cgarcia@igalia.com>
|
|
Date: Wed, 9 Sep 2020 14:44:25 +0200
|
|
Subject: [PATCH] tests: fix SSL test with glib-networking >= 2.65.90
|
|
|
|
To make SSL tests fail with our testing certificate we create and empty
|
|
GTlsDatabase passing /dev/null to g_tls_file_database_new(). This no
|
|
longer works with newer glib-networking, since an empty file is
|
|
considered an error by gnutls and
|
|
g_tls_file_database_gnutls_populate_trust_list() now handles gnutls
|
|
errors properly. Instead, we can just use the system CA file that won't
|
|
contain our testing certificate for sure.
|
|
|
|
Fixes #201
|
|
---
|
|
tests/ssl-test.c | 12 +++---------
|
|
1 file changed, 3 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/tests/ssl-test.c b/tests/ssl-test.c
|
|
index 735ba416..2c93ca85 100644
|
|
--- a/tests/ssl-test.c
|
|
+++ b/tests/ssl-test.c
|
|
@@ -3,7 +3,6 @@
|
|
#include "test-utils.h"
|
|
|
|
SoupURI *uri;
|
|
-GTlsDatabase *null_tlsdb;
|
|
|
|
static void
|
|
do_properties_test_for_session (SoupSession *session)
|
|
@@ -37,7 +36,7 @@ do_async_properties_tests (void)
|
|
|
|
session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL);
|
|
g_object_set (G_OBJECT (session),
|
|
- SOUP_SESSION_TLS_DATABASE, null_tlsdb,
|
|
+ SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
|
|
SOUP_SESSION_SSL_STRICT, FALSE,
|
|
NULL);
|
|
do_properties_test_for_session (session);
|
|
@@ -53,7 +52,7 @@ do_sync_properties_tests (void)
|
|
|
|
session = soup_test_session_new (SOUP_TYPE_SESSION_SYNC, NULL);
|
|
g_object_set (G_OBJECT (session),
|
|
- SOUP_SESSION_TLS_DATABASE, null_tlsdb,
|
|
+ SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
|
|
SOUP_SESSION_SSL_STRICT, FALSE,
|
|
NULL);
|
|
do_properties_test_for_session (session);
|
|
@@ -106,7 +105,7 @@ do_strictness_test (gconstpointer data)
|
|
}
|
|
if (!test->with_ca_list) {
|
|
g_object_set (G_OBJECT (session),
|
|
- SOUP_SESSION_TLS_DATABASE, null_tlsdb,
|
|
+ SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
|
|
NULL);
|
|
}
|
|
|
|
@@ -433,7 +432,6 @@ main (int argc, char **argv)
|
|
{
|
|
SoupServer *server = NULL;
|
|
int i, ret;
|
|
- GError *error = NULL;
|
|
|
|
test_init (argc, argv, NULL);
|
|
|
|
@@ -441,9 +439,6 @@ main (int argc, char **argv)
|
|
server = soup_test_server_new (SOUP_TEST_SERVER_IN_THREAD);
|
|
soup_server_add_handler (server, NULL, server_handler, NULL, NULL);
|
|
uri = soup_test_server_get_uri (server, "https", "127.0.0.1");
|
|
-
|
|
- null_tlsdb = g_tls_file_database_new ("/dev/null", &error);
|
|
- g_assert_no_error (error);
|
|
} else
|
|
uri = NULL;
|
|
|
|
@@ -463,7 +458,6 @@ main (int argc, char **argv)
|
|
if (tls_available) {
|
|
soup_uri_free (uri);
|
|
soup_test_server_quit_unref (server);
|
|
- g_object_unref (null_tlsdb);
|
|
}
|
|
|
|
test_cleanup ();
|
|
--
|
|
GitLab
|
|
|