Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libsoup for openSUSE:Factory checked 
in at 2023-04-22 21:57:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsoup (Old)
 and      /work/SRC/openSUSE:Factory/.libsoup.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libsoup"

Sat Apr 22 21:57:12 2023 rev:141 rq:1081151 version:3.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libsoup/libsoup.changes  2023-03-24 
15:17:10.865869082 +0100
+++ /work/SRC/openSUSE:Factory/.libsoup.new.1533/libsoup.changes        
2023-04-22 21:57:44.524241323 +0200
@@ -1,0 +2,10 @@
+Fri Apr 21 07:42:15 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 3.4.1:
+  + Fix HTTP/2 on platforms with unsigned char.
+  + Change request cancellation to be handled earlier.
+  + Add names to GSources and source tags to GTasks to aid
+    debugging.
+- Run meson_test macro for all arches.
+
+-------------------------------------------------------------------

Old:
----
  libsoup-3.4.0.tar.xz

New:
----
  libsoup-3.4.1.tar.xz

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

Other differences:
------------------
++++++ libsoup.spec ++++++
--- /var/tmp/diff_new_pack.o3M4CK/_old  2023-04-22 21:57:45.688248282 +0200
+++ /var/tmp/diff_new_pack.o3M4CK/_new  2023-04-22 21:57:45.692248306 +0200
@@ -18,8 +18,7 @@
 
 %define api_version 3.0
 Name:           libsoup
-### FIXME ### Run meson tests for all arches when stable branch!
-Version:        3.4.0
+Version:        3.4.1
 Release:        0
 Summary:        HTTP client/server library for GNOME
 License:        LGPL-2.1-or-later
@@ -139,12 +138,9 @@
 mv %{buildroot}%{_datadir}/doc/%{name}-%{api_version} %{buildroot}%{_docdir}
 
 %check
-# Temp fix for failing tests during unstable
-%ifarch ix86 x86_64
 # Run the regression tests using GnuTLS NORMAL priority
 export G_TLS_GNUTLS_PRIORITY=NORMAL
 %meson_test
-%endif
 
 %ldconfig_scriptlets 3_0-0
 

++++++ libsoup-3.4.0.tar.xz -> libsoup-3.4.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/NEWS new/libsoup-3.4.1/NEWS
--- old/libsoup-3.4.0/NEWS      2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/NEWS      2023-04-21 03:37:39.000000000 +0200
@@ -1,3 +1,9 @@
+Changes in libsoup from 3.4.0 to 3.4.1:
+
+* Fix HTTP/2 on platforms with unsigned char [Patrick Griffis]
+* Change request cancellation to be handled earlier [Carlos Garcia Campos]
+* Add names to GSources and source tags to GTasks to aid debugging [Philip 
Withnall]
+
 Changes in libsoup from 3.3.1 to 3.4.0:
 
 * Fix possible crash in SoupContentSniffer [Patrick Griffis ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/examples/simple-httpd.c 
new/libsoup-3.4.1/examples/simple-httpd.c
--- old/libsoup-3.4.0/examples/simple-httpd.c   2023-03-17 17:32:27.000000000 
+0100
+++ new/libsoup-3.4.1/examples/simple-httpd.c   2023-04-21 03:37:39.000000000 
+0200
@@ -88,6 +88,8 @@
        if (g_file_test (path, G_FILE_TEST_IS_DIR)) {
                GString *listing;
                char *index_path;
+               char *listing_str;
+               gsize listing_len;
 
                slash = strrchr (path, '/');
                if (!slash || slash[1]) {
@@ -109,11 +111,12 @@
                g_free (index_path);
 
                listing = get_directory_listing (path);
+               listing_len = listing->len;
+               listing_str = g_string_free (g_steal_pointer (&listing), FALSE);
                soup_server_message_set_response (msg, "text/html",
                                           SOUP_MEMORY_TAKE,
-                                          listing->str, listing->len);
+                                          g_steal_pointer (&listing_str), 
listing_len);
                soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
-               g_string_free (listing, FALSE);
                return;
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/auth/soup-tls-interaction.c 
new/libsoup-3.4.1/libsoup/auth/soup-tls-interaction.c
--- old/libsoup-3.4.0/libsoup/auth/soup-tls-interaction.c       2023-03-17 
17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/auth/soup-tls-interaction.c       2023-04-21 
03:37:39.000000000 +0200
@@ -34,6 +34,7 @@
         SoupConnection *conn = g_weak_ref_get (&priv->conn);
 
         task = g_task_new (tls_interaction, cancellable, callback, user_data);
+        g_task_set_source_tag (task, 
soup_tls_interaction_request_certificate_async);
         if (conn) {
                 soup_connection_request_tls_certificate (conn, connection, 
task);
                 g_object_unref (conn);
@@ -66,6 +67,7 @@
         SoupConnection *conn = g_weak_ref_get (&priv->conn);
 
         task = g_task_new (tls_interaction, cancellable, callback, user_data);
+        g_task_set_source_tag (task, soup_tls_interaction_ask_password_async);
         if (conn) {
                 soup_connection_request_tls_certificate_password (conn, 
password, task);
                 g_object_unref (conn);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsoup-3.4.0/libsoup/http1/soup-client-message-io-http1.c 
new/libsoup-3.4.1/libsoup/http1/soup-client-message-io-http1.c
--- old/libsoup-3.4.0/libsoup/http1/soup-client-message-io-http1.c      
2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/http1/soup-client-message-io-http1.c      
2023-04-21 03:37:39.000000000 +0200
@@ -973,6 +973,7 @@
         GTask *task;
 
         task = g_task_new (msg, cancellable, callback, user_data);
+        g_task_set_source_tag (task, 
soup_client_message_io_http1_run_until_read_async);
         g_task_set_priority (task, io_priority);
         io_run_until_read_async (io, task);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/http1/soup-message-io-data.c 
new/libsoup-3.4.1/libsoup/http1/soup-message-io-data.c
--- old/libsoup-3.4.0/libsoup/http1/soup-message-io-data.c      2023-03-17 
17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/http1/soup-message-io-data.c      2023-04-21 
03:37:39.000000000 +0200
@@ -177,6 +177,11 @@
                base_source = g_timeout_source_new (0);
 
         source = soup_message_io_source_new (base_source, msg, io && 
io->paused, message_io_source_check);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+       g_source_set_static_name (source, "SoupMessageIOData");
+#else
+       g_source_set_name (source, "SoupMessageIOData");
+#endif
        g_source_set_callback (source, (GSourceFunc) callback, user_data, NULL);
        return source;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsoup-3.4.0/libsoup/http2/soup-body-input-stream-http2.c 
new/libsoup-3.4.1/libsoup/http2/soup-body-input-stream-http2.c
--- old/libsoup-3.4.0/libsoup/http2/soup-body-input-stream-http2.c      
2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/http2/soup-body-input-stream-http2.c      
2023-04-21 03:37:39.000000000 +0200
@@ -72,7 +72,7 @@
  * Returns: a new #GInputStream
  */
 GInputStream *
-soup_body_input_stream_http2_new ()
+soup_body_input_stream_http2_new (void)
 {
         return G_INPUT_STREAM (g_object_new 
(SOUP_TYPE_BODY_INPUT_STREAM_HTTP2, NULL));
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsoup-3.4.0/libsoup/http2/soup-client-message-io-http2.c 
new/libsoup-3.4.1/libsoup/http2/soup-client-message-io-http2.c
--- old/libsoup-3.4.0/libsoup/http2/soup-client-message-io-http2.c      
2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/http2/soup-client-message-io-http2.c      
2023-04-21 03:37:39.000000000 +0200
@@ -374,7 +374,11 @@
         if (!blocking && (io->in_callback || g_error_matches (error, 
G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK))) {
                 g_clear_error (&error);
                 io->write_source = g_pollable_output_stream_create_source 
(G_POLLABLE_OUTPUT_STREAM (io->ostream), NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+                g_source_set_static_name (io->write_source, "Soup HTTP/2 write 
source");
+#else
                 g_source_set_name (io->write_source, "Soup HTTP/2 write 
source");
+#endif
                 /* Give write more priority than read */
                 g_source_set_priority (io->write_source, G_PRIORITY_DEFAULT - 
1);
                 g_source_set_callback (io->write_source, 
(GSourceFunc)io_write_ready, io, NULL);
@@ -917,7 +921,11 @@
 
                         /* Close in idle to ensure all pending io is finished 
first */
                         source = g_idle_source_new ();
+#if GLIB_CHECK_VERSION(2, 70, 0)
+                        g_source_set_static_name (source, "Soup HTTP/2 close 
source");
+#else
                         g_source_set_name (source, "Soup HTTP/2 close source");
+#endif
                         g_source_set_callback (source, 
(GSourceFunc)close_in_idle_cb, io, NULL);
                         g_source_attach (source, g_task_get_context 
(io->close_task));
                         g_source_unref (source);
@@ -1134,6 +1142,11 @@
 
                                 h2_debug (data->io, data, "[SEND_BODY] 
Polling");
                                 data->data_source_poll = 
g_pollable_input_stream_create_source (in_stream, data->item->cancellable);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+                                g_source_set_static_name 
(data->data_source_poll, "Soup HTTP/2 data polling");
+#else
+                                g_source_set_name (data->data_source_poll, 
"Soup HTTP/2 data polling");
+#endif
                                 g_source_set_callback (data->data_source_poll, 
(GSourceFunc)on_data_readable, data, NULL);
                                 g_source_set_priority (data->data_source_poll, 
get_data_io_priority (data));
                                 g_source_attach (data->data_source_poll, 
g_main_context_get_thread_default ());
@@ -1744,6 +1757,7 @@
         SoupHTTP2MessageData *data = get_data_for_message (io, msg);
 
         data->task = g_task_new (msg, cancellable, callback, user_data);
+        g_task_set_source_tag (data->task, 
soup_client_message_io_http2_run_until_read_async);
         g_task_set_priority (data->task, io_priority);
         io->pending_io_messages = g_list_prepend (io->pending_io_messages, 
data);
         if (data->error)
@@ -1770,7 +1784,11 @@
                 return;
 
         io->read_source = g_pollable_input_stream_create_source 
(G_POLLABLE_INPUT_STREAM (io->istream), NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+        g_source_set_static_name (io->read_source, "Soup HTTP/2 read source");
+#else
         g_source_set_name (io->read_source, "Soup HTTP/2 read source");
+#endif
         g_source_set_priority (io->read_source, G_PRIORITY_DEFAULT);
         g_source_set_callback (io->read_source, (GSourceFunc)io_read_ready, 
io, NULL);
         g_source_attach (io->read_source, g_main_context_get_thread_default 
());
@@ -1790,6 +1808,7 @@
         if (io->async) {
                 g_assert (!io->close_task);
                 io->close_task = g_task_new (conn, NULL, callback, NULL);
+                g_task_set_source_tag (io->close_task, 
soup_client_message_io_http2_close_async);
         }
 
         soup_client_message_io_http2_terminate_session (io);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsoup-3.4.0/libsoup/server/http2/soup-server-message-io-http2.c 
new/libsoup-3.4.1/libsoup/server/http2/soup-server-message-io-http2.c
--- old/libsoup-3.4.0/libsoup/server/http2/soup-server-message-io-http2.c       
2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/server/http2/soup-server-message-io-http2.c       
2023-04-21 03:37:39.000000000 +0200
@@ -398,7 +398,11 @@
                 if (io->in_callback || g_error_matches (error, G_IO_ERROR, 
G_IO_ERROR_WOULD_BLOCK)) {
                         g_clear_error (&error);
                         io->write_source = 
g_pollable_output_stream_create_source (G_POLLABLE_OUTPUT_STREAM (io->ostream), 
NULL);
-                        g_source_set_name (io->write_source, "S oup server 
HTTP/2 write source");
+#if GLIB_CHECK_VERSION(2, 70, 0)
+                        g_source_set_static_name (io->write_source, "Soup 
server HTTP/2 write source");
+#else
+                        g_source_set_name (io->write_source, "Soup server 
HTTP/2 write source");
+#endif
                         g_source_set_callback (io->write_source, 
(GSourceFunc)io_write_ready, io, NULL);
                         g_source_attach (io->write_source, 
g_main_context_get_thread_default ());
                 }
@@ -860,7 +864,11 @@
         soup_server_message_io_http2_init (io);
 
         io->read_source = g_pollable_input_stream_create_source 
(G_POLLABLE_INPUT_STREAM (io->istream), NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+        g_source_set_static_name (io->read_source, "Soup server HTTP/2 read 
source");
+#else
         g_source_set_name (io->read_source, "Soup server HTTP/2 read source");
+#endif
         g_source_set_callback (io->read_source, (GSourceFunc)io_read_ready, 
io, NULL);
         g_source_attach (io->read_source, g_main_context_get_thread_default 
());
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/server/soup-listener.c 
new/libsoup-3.4.1/libsoup/server/soup-listener.c
--- old/libsoup-3.4.0/libsoup/server/soup-listener.c    2023-03-17 
17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/server/soup-listener.c    2023-04-21 
03:37:39.000000000 +0200
@@ -96,6 +96,11 @@
         priv->conn = (GIOStream 
*)g_socket_connection_factory_create_connection (priv->socket);
         priv->iostream = soup_io_stream_new (priv->conn, FALSE);
         priv->source = g_pollable_input_stream_create_source 
(G_POLLABLE_INPUT_STREAM (g_io_stream_get_input_stream (priv->iostream)), NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+        g_source_set_static_name (priv->source, "SoupListener");
+#else
+        g_source_set_name (priv->source, "SoupListener");
+#endif
         g_source_set_callback (priv->source, (GSourceFunc)listen_watch, 
listener, NULL);
         g_source_attach (priv->source, g_main_context_get_thread_default ());
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-client-input-stream.c 
new/libsoup-3.4.1/libsoup/soup-client-input-stream.c
--- old/libsoup-3.4.0/libsoup/soup-client-input-stream.c        2023-03-17 
17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/soup-client-input-stream.c        2023-04-21 
03:37:39.000000000 +0200
@@ -225,6 +225,7 @@
        GSource *source;
 
        task = g_task_new (stream, cancellable, callback, user_data);
+       g_task_set_source_tag (task, soup_client_input_stream_close_async);
        g_task_set_priority (task, priority);
 
        if (close_async_ready (priv->msg, task) == G_SOURCE_CONTINUE) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-connection-manager.c 
new/libsoup-3.4.1/libsoup/soup-connection-manager.c
--- old/libsoup-3.4.0/libsoup/soup-connection-manager.c 2023-03-17 
17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/soup-connection-manager.c 2023-04-21 
03:37:39.000000000 +0200
@@ -378,7 +378,7 @@
 soup_connection_manager_get_connection_locked (SoupConnectionManager *manager,
                                                SoupMessageQueueItem  *item)
 {
-        static gchar env_force_http1 = -1;
+        static int env_force_http1 = -1;
         SoupMessage *msg = item->msg;
         gboolean need_new_connection;
         SoupConnection *conn;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-connection.c 
new/libsoup-3.4.1/libsoup/soup-connection.c
--- old/libsoup-3.4.0/libsoup/soup-connection.c 2023-03-17 17:32:27.000000000 
+0100
+++ new/libsoup-3.4.1/libsoup/soup-connection.c 2023-04-21 03:37:39.000000000 
+0200
@@ -170,7 +170,11 @@
         case PROP_CONTEXT:
                 priv->idle_timeout_src = g_timeout_source_new (0);
                 g_source_set_ready_time (priv->idle_timeout_src, -1);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+                g_source_set_static_name (priv->idle_timeout_src, "Soup 
connection idle timeout");
+#else
                 g_source_set_name (priv->idle_timeout_src, "Soup connection 
idle timeout");
+#endif
                 g_source_set_callback (priv->idle_timeout_src, idle_timeout, 
object, NULL);
                 g_source_attach (priv->idle_timeout_src, g_value_get_pointer 
(value));
                 break;
@@ -794,6 +798,7 @@
 
         priv->cancellable = cancellable ? g_object_ref (cancellable) : 
g_cancellable_new ();
         task = g_task_new (conn, priv->cancellable, callback, user_data);
+        g_task_set_source_tag (task, soup_connection_connect_async);
         g_task_set_priority (task, io_priority);
 
         client = new_socket_client (conn);
@@ -919,6 +924,7 @@
 
         priv->cancellable = cancellable ? g_object_ref (cancellable) : 
g_cancellable_new ();
         task = g_task_new (conn, priv->cancellable, callback, user_data);
+        g_task_set_source_tag (task, soup_connection_tunnel_handshake_async);
         g_task_set_priority (task, io_priority);
 
         tls_connection = new_tls_connection (conn, G_SOCKET_CONNECTION 
(priv->connection), &error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-io-stream.c 
new/libsoup-3.4.1/libsoup/soup-io-stream.c
--- old/libsoup-3.4.0/libsoup/soup-io-stream.c  2023-03-17 17:32:27.000000000 
+0100
+++ new/libsoup-3.4.1/libsoup/soup-io-stream.c  2023-04-21 03:37:39.000000000 
+0200
@@ -178,6 +178,7 @@
         SoupIOStreamPrivate *priv = soup_io_stream_get_instance_private 
(siostream);
 
        task = g_task_new (stream, cancellable, callback, user_data);
+       g_task_set_source_tag (task, soup_io_stream_close_async);
        g_io_stream_close_async (priv->base_iostream,
                                 io_priority, cancellable,
                                 close_async_complete, task);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-misc.c 
new/libsoup-3.4.1/libsoup/soup-misc.c
--- old/libsoup-3.4.0/libsoup/soup-misc.c       2023-03-17 17:32:27.000000000 
+0100
+++ new/libsoup-3.4.1/libsoup/soup-misc.c       2023-04-21 03:37:39.000000000 
+0200
@@ -61,6 +61,11 @@
 {
        GSource *source = g_idle_source_new ();
 
+#if GLIB_CHECK_VERSION(2, 70, 0)
+       g_source_set_static_name (source, "SoupCompletion");
+#else
+       g_source_set_name (source, "SoupCompletion");
+#endif
        g_source_set_priority (source, G_PRIORITY_DEFAULT);
        g_source_set_callback (source, function, data, dnotify);
        g_source_attach (source, async_context);
@@ -109,6 +114,11 @@
                  GSourceFunc function, gpointer data)
 {
        GSource *source = g_timeout_source_new (interval);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+       g_source_set_static_name (source, "SoupTimeout");
+#else
+       g_source_set_name (source, "SoupTimeout");
+#endif
        g_source_set_callback (source, function, data, NULL);
        g_source_attach (source, async_context);
        return source;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-multipart-input-stream.c 
new/libsoup-3.4.1/libsoup/soup-multipart-input-stream.c
--- old/libsoup-3.4.0/libsoup/soup-multipart-input-stream.c     2023-03-17 
17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/soup-multipart-input-stream.c     2023-04-21 
03:37:39.000000000 +0200
@@ -539,6 +539,7 @@
        g_return_if_fail (SOUP_IS_MULTIPART_INPUT_STREAM (multipart));
 
        task = g_task_new (multipart, cancellable, callback, data);
+       g_task_set_source_tag (task, 
soup_multipart_input_stream_next_part_async);
        g_task_set_priority (task, io_priority);
 
        if (!g_input_stream_set_pending (stream, &error)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/libsoup/soup-session.c 
new/libsoup-3.4.1/libsoup/soup-session.c
--- old/libsoup-3.4.0/libsoup/soup-session.c    2023-03-17 17:32:27.000000000 
+0100
+++ new/libsoup-3.4.1/libsoup/soup-session.c    2023-04-21 03:37:39.000000000 
+0200
@@ -1469,7 +1469,7 @@
         if (item->state == SOUP_MESSAGE_REQUEUED)
                 item->state = SOUP_MESSAGE_RESTARTING;
 
-       if (item->state != SOUP_MESSAGE_RESTARTING) {
+       if (item->state != SOUP_MESSAGE_RESTARTING && item->state != 
SOUP_MESSAGE_FINISHED) {
                item->state = SOUP_MESSAGE_FINISHING;
                 soup_session_process_queue_item (item->session, item, 
!item->async);
        }
@@ -1740,6 +1740,9 @@
                if (item->paused)
                        return;
 
+                if (item->state != SOUP_MESSAGE_FINISHING && 
g_cancellable_is_cancelled (item->cancellable))
+                        item->state = SOUP_MESSAGE_FINISHING;
+
                switch (item->state) {
                case SOUP_MESSAGE_STARTING:
                        if (!soup_session_ensure_item_connection (session, 
item))
@@ -2907,7 +2910,8 @@
        stream = soup_session_send_finish (session, result, &error);
        if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
                soup_cache_cancel_conditional_request (data->cache, 
data->conditional_msg);
-               cancel_cache_response (data->item);
+                if (data->item->state != SOUP_MESSAGE_FINISHED)
+                        cancel_cache_response (data->item);
                async_cache_conditional_data_free (data);
                return;
        }
@@ -3035,6 +3039,7 @@
                                            
SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE,
                                            _("Message is already in session 
queue"));
         task = g_task_new (session, cancellable, callback, user_data);
+        g_task_set_source_tag (task, 
soup_session_return_error_if_message_already_in_queue);
         g_task_set_task_data (task, item, 
(GDestroyNotify)soup_message_queue_item_unref);
         g_task_return_error (task, g_error_copy (item->error));
         g_object_unref (task);
@@ -3083,6 +3088,7 @@
                          G_CALLBACK (async_send_request_finished), item);
 
        item->task = g_task_new (session, item->cancellable, callback, 
user_data);
+       g_task_set_source_tag (item->task, soup_session_send_async);
        g_task_set_priority (item->task, io_priority);
        g_task_set_task_data (item->task, item, (GDestroyNotify) 
soup_message_queue_item_unref);
        if (async_respond_from_cache (session, item))
@@ -3329,6 +3335,7 @@
 
         ostream = g_memory_output_stream_new_resizable ();
        task = g_task_new (session, cancellable, callback, user_data);
+        g_task_set_source_tag (task, soup_session_send_and_read_async);
        g_task_set_priority (task, io_priority);
         g_task_set_task_data (task, ostream, g_object_unref);
 
@@ -3502,6 +3509,7 @@
         data->out_stream = g_object_ref (out_stream);
         data->flags = flags;
         data->task = g_task_new (session, cancellable, callback, user_data);
+        g_task_set_source_tag (data->task, soup_session_send_and_splice_async);
         g_task_set_priority (data->task, io_priority);
 
         soup_session_send_async (session, msg,
@@ -3766,6 +3774,7 @@
        item->io_priority = io_priority;
 
         task = g_task_new (session, item->cancellable, callback, user_data);
+        g_task_set_source_tag (task, soup_session_websocket_connect_async);
        g_task_set_task_data (task, item, (GDestroyNotify) 
soup_message_queue_item_unref);
 
        soup_message_add_status_code_handler (msg, "got-informational",
@@ -3876,6 +3885,7 @@
         soup_message_set_is_preconnect (msg, TRUE);
 
         task = g_task_new (session, item->cancellable, callback, user_data);
+        g_task_set_source_tag (task, soup_session_preconnect_async);
         g_task_set_priority (task, io_priority);
         g_task_set_task_data (task, item, 
(GDestroyNotify)soup_message_queue_item_unref);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libsoup-3.4.0/libsoup/websocket/soup-websocket-connection.c 
new/libsoup-3.4.1/libsoup/websocket/soup-websocket-connection.c
--- old/libsoup-3.4.0/libsoup/websocket/soup-websocket-connection.c     
2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/libsoup/websocket/soup-websocket-connection.c     
2023-04-21 03:37:39.000000000 +0200
@@ -299,6 +299,11 @@
                return;
 
        priv->input_source = g_pollable_input_stream_create_source 
(priv->input, NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+       g_source_set_static_name (priv->input_source, "SoupWebsocketConnection 
input");
+#else
+       g_source_set_name (priv->input_source, "SoupWebsocketConnection input");
+#endif
        g_source_set_callback (priv->input_source, 
(GSourceFunc)on_web_socket_input, self, NULL);
        g_source_attach (priv->input_source, g_main_context_get_thread_default 
());
 }
@@ -325,6 +330,11 @@
                return;
 
        priv->output_source = g_pollable_output_stream_create_source 
(priv->output, NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+       g_source_set_static_name (priv->output_source, "SoupWebsocketConnection 
output");
+#else
+       g_source_set_name (priv->output_source, "SoupWebsocketConnection 
output");
+#endif
        g_source_set_callback (priv->output_source, 
(GSourceFunc)on_web_socket_output, self, NULL);
        g_source_attach (priv->output_source, g_main_context_get_thread_default 
());
 }
@@ -437,6 +447,11 @@
 
        g_debug ("waiting %d seconds for peer to close io", timeout);
        priv->close_timeout = g_timeout_source_new_seconds (timeout);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+       g_source_set_static_name (priv->close_timeout, "SoupWebsocketConnection 
close timeout");
+#else
+       g_source_set_name (priv->close_timeout, "SoupWebsocketConnection close 
timeout");
+#endif
        g_source_set_callback (priv->close_timeout, on_timeout_close_io, self, 
NULL);
        g_source_attach (priv->close_timeout, g_main_context_get_thread_default 
());
 }
@@ -2153,6 +2168,11 @@
 
                if (interval > 0) {
                        priv->keepalive_timeout = g_timeout_source_new_seconds 
(interval);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+                       g_source_set_static_name (priv->keepalive_timeout, 
"SoupWebsocketConnection keepalive timeout");
+#else
+                       g_source_set_name (priv->keepalive_timeout, 
"SoupWebsocketConnection keepalive timeout");
+#endif
                        g_source_set_callback (priv->keepalive_timeout, 
on_queue_ping, self, NULL);
                        g_source_attach (priv->keepalive_timeout, 
g_main_context_get_thread_default ());
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/meson.build 
new/libsoup-3.4.1/meson.build
--- old/libsoup-3.4.0/meson.build       2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/meson.build       2023-04-21 03:37:39.000000000 +0200
@@ -1,5 +1,5 @@
 project('libsoup', 'c',
-        version: '3.4.0',
+        version: '3.4.1',
         meson_version : '>= 0.54',
         license : 'LGPL-2.0-or-later',
         default_options : [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/po/bg.po new/libsoup-3.4.1/po/bg.po
--- old/libsoup-3.4.0/po/bg.po  2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/po/bg.po  2023-04-21 03:37:39.000000000 +0200
@@ -51,7 +51,7 @@
 #: libsoup/http2/soup-body-input-stream-http2.c:221
 #: libsoup/server/soup-server-io.c:363 libsoup/server/soup-server-io.c:828
 msgid "Operation would block"
-msgstr "Операцията ще блокира"
+msgstr "Действието ще блокира"
 
 #: libsoup/http1/soup-client-message-io-http1.c:456
 msgid "Could not parse HTTP response"
@@ -66,7 +66,7 @@
 #: libsoup/http2/soup-client-message-io-http2.c:1521
 #: libsoup/http2/soup-client-message-io-http2.c:1545
 msgid "Operation was cancelled"
-msgstr "Операцията е отменена"
+msgstr "Действието е отменено"
 
 #: libsoup/http1/soup-message-io-data.c:105
 msgid "Header too big"
@@ -120,15 +120,15 @@
 
 #: libsoup/soup-tld.c:152 libsoup/soup-tld.c:168
 msgid "Invalid hostname"
-msgstr "Неправилно име на машина"
+msgstr "Неправилно име на хост"
 
 #: libsoup/soup-tld.c:159
 msgid "Hostname is an IP address"
-msgstr "Името на машината е адрес по IP"
+msgstr "Името на хоста е адрес по IP"
 
 #: libsoup/soup-tld.c:180
 msgid "Hostname has no base domain"
-msgstr "Името на машината не съдържа домейн"
+msgstr "Името на хоста не съдържа домейн"
 
 #: libsoup/soup-tld.c:188
 msgid "Not enough domains"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/tests/forms-test.c 
new/libsoup-3.4.1/tests/forms-test.c
--- old/libsoup-3.4.0/tests/forms-test.c        2023-03-17 17:32:27.000000000 
+0100
+++ new/libsoup-3.4.1/tests/forms-test.c        2023-04-21 03:37:39.000000000 
+0200
@@ -311,6 +311,8 @@
        const char *content_type;
        GString *buf;
        const char *method;
+       char *buf_str;
+       gsize buf_len;
 
        method = soup_server_message_get_method (msg);
        if (method != SOUP_METHOD_GET && method != SOUP_METHOD_HEAD) {
@@ -351,10 +353,11 @@
                }
        }
 
+       buf_len = buf->len;
+       buf_str = g_string_free (g_steal_pointer (&buf), FALSE);
        soup_server_message_set_response (msg, content_type,
                                          SOUP_MEMORY_TAKE,
-                                         buf->str, buf->len);
-       g_string_free (buf, FALSE);
+                                         g_steal_pointer (&buf_str), buf_len);
        soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
 }
 
@@ -368,6 +371,8 @@
        const char *file = NULL, *md5sum = NULL, *fmt;
        const char *content_type;
        GString *buf;
+       char *buf_str;
+       gsize buf_len;
 
        if (query) {
                file = g_hash_table_lookup (query, "file");
@@ -397,10 +402,11 @@
                        g_string_append_printf (buf, "%s", md5sum);
        }
 
+       buf_len = buf->len;
+       buf_str = g_string_free (g_steal_pointer (&buf), FALSE);
        soup_server_message_set_response (msg, content_type,
                                          SOUP_MEMORY_TAKE,
-                                         buf->str, buf->len);
-       g_string_free (buf, FALSE);
+                                         g_steal_pointer (&buf_str), buf_len);
        soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.4.0/tests/misc-test.c 
new/libsoup-3.4.1/tests/misc-test.c
--- old/libsoup-3.4.0/tests/misc-test.c 2023-03-17 17:32:27.000000000 +0100
+++ new/libsoup-3.4.1/tests/misc-test.c 2023-04-21 03:37:39.000000000 +0200
@@ -430,6 +430,14 @@
 }
 
 static void
+ea_message_queued (SoupSession  *session,
+                   SoupMessage  *msg,
+                   GCancellable *cancellable)
+{
+        g_cancellable_cancel (cancellable);
+}
+
+static void
 do_early_abort_test (void)
 {
        SoupSession *session;
@@ -488,6 +496,22 @@
        g_object_unref (cancellable);
        g_object_unref (msg);
        soup_test_session_abort_unref (session);
+
+        session = soup_test_session_new (NULL);
+        msg = soup_message_new_from_uri ("GET", base_uri);
+        cancellable = g_cancellable_new ();
+
+        g_signal_connect (session, "request-queued",
+                          G_CALLBACK (ea_message_queued), cancellable);
+        g_assert_null (soup_test_session_async_send (session, msg, 
cancellable, &error));
+        debug_printf (2, "  Message 4 completed\n");
+
+        g_assert_cmpuint (soup_message_get_connection_id (msg), ==, 0);
+        g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED);
+        g_clear_error (&error);
+        g_object_unref (cancellable);
+        g_object_unref (msg);
+        soup_test_session_abort_unref (session);
 }
 
 static void

Reply via email to