fix the complie failure due to glib-networking upgrade
This commit is contained in:
parent
de215693c5
commit
7d8ddd4285
85
backport-fix-SSL-test.patch
Normal file
85
backport-fix-SSL-test.patch
Normal file
@ -0,0 +1,85 @@
|
||||
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
|
||||
15
backport-skip-tls_interaction-test.patch
Normal file
15
backport-skip-tls_interaction-test.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Index: libsoup-2.72.0/tests/ssl-test.c
|
||||
===================================================================
|
||||
--- libsoup-2.72.0.orig/tests/ssl-test.c
|
||||
+++ libsoup-2.72.0/tests/ssl-test.c
|
||||
@@ -370,6 +370,9 @@ do_tls_interaction_test (void)
|
||||
|
||||
SOUP_TEST_SKIP_IF_NO_TLS;
|
||||
|
||||
+ g_test_skip ("Not reliable? See https://gitlab.gnome.org/GNOME/libsoup/issues/120");
|
||||
+ return;
|
||||
+
|
||||
service = g_threaded_socket_service_new (1);
|
||||
address = g_inet_socket_address_new_from_string ("127.0.0.1", 0);
|
||||
g_socket_listener_add_address (G_SOCKET_LISTENER (service), address,
|
||||
|
||||
10
libsoup.spec
10
libsoup.spec
@ -1,6 +1,6 @@
|
||||
Name: libsoup
|
||||
Version: 2.72.0
|
||||
Release: 2
|
||||
Release: 3
|
||||
Summary: An HTTP library implementation
|
||||
License: LGPLv2
|
||||
URL: https://wiki.gnome.org/Projects/libsoup
|
||||
@ -12,6 +12,11 @@ BuildRequires: pkgconfig(sysprof-capture-4)
|
||||
|
||||
Requires: glib2 glib-networking
|
||||
|
||||
# PATCH-FIX-UPSTREAM tests: fix SSL test with glib-networking >= 2.65.90
|
||||
Patch6000: backport-fix-SSL-test.patch
|
||||
# PATCH-FIX-OPENSUSE disable tls_interaction-test https://gitlab.gnome.org/GNOME/libsoup/issues/120
|
||||
Patch6001: backport-skip-tls_interaction-test.patch
|
||||
|
||||
%description
|
||||
libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop,
|
||||
to integrate well with GNOME applications, and also has a synchronous API,
|
||||
@ -62,6 +67,9 @@ sed -i 's/idm[0-9]\{5,32\}/idm12345678912345/g' %{buildroot}%{_datadir}/gtk-doc/
|
||||
%{_datadir}/gtk-doc/html/libsoup-2.4/*
|
||||
|
||||
%changelog
|
||||
* Mon Apr 19 2021 zhanzhimin<zhanzhimin@huawei.com> - 2.72.0-3
|
||||
- DESC:fix the complie failure due to glib-networking upgrade
|
||||
|
||||
* Mon Apr 19 2021 zhanzhimin<zhanzhimin@huawei.com> - 2.72.0-2
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user