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