Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libsoup for openSUSE:Factory checked in at 2026-07-20 09:57:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libsoup (Old) and /work/SRC/openSUSE:Factory/.libsoup.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsoup" Mon Jul 20 09:57:16 2026 rev:171 rq:1366370 version:3.6.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libsoup/libsoup.changes 2026-06-17 16:17:43.801584064 +0200 +++ /work/SRC/openSUSE:Factory/.libsoup.new.24530/libsoup.changes 2026-07-20 09:59:50.141130861 +0200 @@ -1,0 +2,15 @@ +Thu Jul 16 13:47:29 UTC 2026 - Michael Gorse <[email protected]> + +- Rename libsoup-CVE-2026-0716.patch to + libsoup-CVE-2026-12478.patch to reflect the new CVE assignment + (bsc#1271401 CVE-2026-12478). + +------------------------------------------------------------------- +Wed Jul 15 12:52:55 UTC 2026 - Bjørn Lie <[email protected]> + +- Add fix-samsung-tv-playback.patch: Update the content length + decimal value when encoding is set to + SOUP_ENCODING_CONTENT_LENGTH +- Refresh patches with quilt. + +------------------------------------------------------------------- Old: ---- libsoup-CVE-2026-0716.patch New: ---- fix-samsung-tv-playback.patch libsoup-CVE-2026-12478.patch ----------(Old B)---------- Old: - Rename libsoup-CVE-2026-0716.patch to libsoup-CVE-2026-12478.patch to reflect the new CVE assignment ----------(Old E)---------- ----------(New B)---------- New: - Add fix-samsung-tv-playback.patch: Update the content length decimal value when encoding is set to New:- Rename libsoup-CVE-2026-0716.patch to libsoup-CVE-2026-12478.patch to reflect the new CVE assignment (bsc#1271401 CVE-2026-12478). ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libsoup.spec ++++++ --- /var/tmp/diff_new_pack.XSQZWP/_old 2026-07-20 09:59:50.773152130 +0200 +++ /var/tmp/diff_new_pack.XSQZWP/_new 2026-07-20 09:59:50.777152265 +0200 @@ -34,10 +34,14 @@ Patch3: libsoup-CVE-2026-2708.patch # PATCH-FIX-UPSTREAM libsoup-CVE-2026-1539.patch bsc#1257441, CVE-2026-1539, glgo#GNOME/libsoup#489 -- Also remove Proxy-Authorization header on cross origin redirect Patch4: libsoup-CVE-2026-1539.patch -# PATCH-FIX-UPSTREAM libsoup-CVE-2026-0716.patch bsc#1256418 [email protected] -- websocket: Fix out-of-bounds read when reading unmasked frame -Patch5: libsoup-CVE-2026-0716.patch +# PATCH-FIX-UPSTREAM libsoup-CVE-2026-12478.patch bsc#1271401 [email protected] -- websocket: Fix out-of-bounds read when reading unmasked frame +Patch5: libsoup-CVE-2026-12478.patch # PATCH-FIX-UPSTREAM libsoup-CVE-2026-4271.patch bsc#1259767 [email protected] -- protect message io while reading and writing Patch6: libsoup-CVE-2026-4271.patch +# PATCH-FIX-UPSTREAM fix-samsung-tv-playback.patch -- Update the content length decimal value when encoding is set to SOUP_ENCODING_CONTENT_LENGTH +Patch7: fix-samsung-tv-playback.patch + + # PATCH-FIX-SLE libsoup-revert-dep-meson-0.62-shim01-e315cf2d.patch [email protected] -- Revert upstream e315cf2d to make libsoup build with meson 0.54 for SLE-15-SP4/SP5. Patch1000: libsoup-revert-dep-meson-0.62-shim01-e315cf2d.patch # PATCH-FIX-SLE libsoup-revert-dep-meson-0.62-shim02-6b34bc58.patch [email protected] -- Revert upstream 6b34bc58 to make libsoup build with meson 0.54 for SLE-15-SP4/SP5. @@ -46,6 +50,7 @@ Patch1002: libsoup-revert-dep-meson-0.62-part01-4209dbec.patch # PATCH-FIX-SLE libsoup-revert-dep-meson-0.62-part02-fd7ce01a.patch [email protected] -- Revert upstream fd7ce01a to make libsoup build with meson 0.54 for SLE-15-SP4/SP5. Patch1003: libsoup-revert-dep-meson-0.62-part02-fd7ce01a.patch + BuildRequires: glib-networking BuildRequires: meson >= 0.53 BuildRequires: pkgconfig ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.XSQZWP/_old 2026-07-20 09:59:50.809153341 +0200 +++ /var/tmp/diff_new_pack.XSQZWP/_new 2026-07-20 09:59:50.813153476 +0200 @@ -1,6 +1,6 @@ -mtime: 1781526322 -commit: 0e87880586cfa1e734d015a2262cf5c180261cadab5bb160d6158647acd4dae7 +mtime: 1784209660 +commit: 0b94164ede6b8ccc6d762fd653eb57f5dc8fa09d683fffa2647090ff189d313a url: https://src.opensuse.org/GNOME/libsoup -revision: 0e87880586cfa1e734d015a2262cf5c180261cadab5bb160d6158647acd4dae7 +revision: 0b94164ede6b8ccc6d762fd653eb57f5dc8fa09d683fffa2647090ff189d313a projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-07-16 15:47:40.000000000 +0200 @@ -0,0 +1,5 @@ +*.obscpio +*.osc +_build.* +.pbuild +osc-collab.* ++++++ fix-samsung-tv-playback.patch ++++++ >From 26c647ae5e3d8fcf137b9524bfbfca73cc7dedc8 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos <[email protected]> Date: Tue, 24 Feb 2026 11:20:18 +0100 Subject: [PATCH] Update the content length decimal value when encoding is set to SOUP_ENCODING_CONTENT_LENGTH Closes #504 --- libsoup/soup-message-headers.c | 40 +++++++++---- tests/header-parsing-test.c | 105 +++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 11 deletions(-) Index: libsoup-3.6.6/libsoup/soup-message-headers.c =================================================================== --- libsoup-3.6.6.orig/libsoup/soup-message-headers.c +++ libsoup-3.6.6/libsoup/soup-message-headers.c @@ -220,6 +220,11 @@ soup_message_headers_clear (SoupMessageH if (hdrs->uncommon_concat) g_hash_table_remove_all (hdrs->uncommon_concat); + + hdrs->encoding = -1; + hdrs->content_length = 0; + hdrs->expectations = 0; + g_clear_pointer (&hdrs->content_type, g_free); } /** @@ -939,6 +944,27 @@ soup_message_headers_foreach (SoupMessag /* Specific headers */ +static gboolean +soup_message_headers_update_content_length_encoding (SoupMessageHeaders *hdrs) +{ + const char *content_length; + + content_length = soup_message_headers_get_one_common (hdrs, SOUP_HEADER_CONTENT_LENGTH); + if (content_length) { + char *end; + + hdrs->content_length = g_ascii_strtoull (content_length, &end, 10); + if (*end) + hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; + else + hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; + + return TRUE; + } + + return FALSE; +} + /** * SoupEncoding: * @SOUP_ENCODING_UNRECOGNIZED: unknown / error @@ -969,7 +995,6 @@ soup_message_headers_foreach (SoupMessag SoupEncoding soup_message_headers_get_encoding (SoupMessageHeaders *hdrs) { - const char *content_length; const char *transfer_encoding; g_return_val_if_fail (hdrs, SOUP_ENCODING_UNRECOGNIZED); @@ -991,16 +1016,7 @@ soup_message_headers_get_encoding (SoupM else if (g_ascii_strcasecmp (transfer_encoding, "identity") != 0) hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; } else { - content_length = soup_message_headers_get_one_common (hdrs, SOUP_HEADER_CONTENT_LENGTH); - if (content_length) { - char *end; - - hdrs->content_length = g_ascii_strtoull (content_length, &end, 10); - if (*end) - hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; - else - hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; - } + soup_message_headers_update_content_length_encoding (hdrs); } if (hdrs->encoding == -1) { @@ -1046,6 +1062,8 @@ soup_message_headers_set_encoding (SoupM case SOUP_ENCODING_CONTENT_LENGTH: soup_message_headers_remove_common (hdrs, SOUP_HEADER_TRANSFER_ENCODING); + if (soup_message_headers_update_content_length_encoding (hdrs)) + return; break; case SOUP_ENCODING_CHUNKED: Index: libsoup-3.6.6/tests/header-parsing-test.c =================================================================== --- libsoup-3.6.6.orig/tests/header-parsing-test.c +++ libsoup-3.6.6/tests/header-parsing-test.c @@ -1522,6 +1522,110 @@ do_append_duplicate_content_length_test soup_message_headers_unref (hdrs); } +static void +do_content_length_test (void) +{ + SoupMessageHeaders *hdrs; + + hdrs = soup_message_headers_new (SOUP_MESSAGE_HEADERS_REQUEST); + + /* Add Content-Length using soup_message_headers_append() */ + soup_message_headers_append (hdrs, "Content-Length", "42"); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "42"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 42); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_clear (hdrs); + + /* Add Content-Length using soup_message_headers_set_content_length() */ + soup_message_headers_set_content_length (hdrs, 24); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "24"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 24); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_clear (hdrs); + + /* Set the encoding before the content length */ + soup_message_headers_set_encoding (hdrs, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_set_content_length (hdrs, 52); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "52"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 52); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_clear (hdrs); + + /* Set the encoding after the content length */ + soup_message_headers_set_content_length (hdrs, 25); + soup_message_headers_set_encoding (hdrs, SOUP_ENCODING_CONTENT_LENGTH); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "25"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 25); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_clear (hdrs); + + /* Set different encoding before content length using soup_message_headers_append() */ + soup_message_headers_append (hdrs, "Transfer-Encoding", "chunked"); + soup_message_headers_append (hdrs, "Content-Length", "84"); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "84"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 0); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CHUNKED); + soup_message_headers_clear (hdrs); + + /* Set different encoding before content length using soup_message_headers_append() and soup_message_headers_set_content_length() */ + soup_message_headers_append (hdrs, "Transfer-Encoding", "chunked"); + soup_message_headers_set_content_length (hdrs, 48); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "48"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 48); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_clear (hdrs); + + /* Set different encoding before content length using soup_message_headers_set_encoding() and soup_message_headers_append() */ + soup_message_headers_set_encoding (hdrs, SOUP_ENCODING_CHUNKED); + soup_message_headers_append (hdrs, "Content-Length", "92"); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "92"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 0); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CHUNKED); + soup_message_headers_clear (hdrs); + + /* Set different encoding before content length using soup_message_headers_set_encoding() and soup_message_headers_set_content_length() */ + soup_message_headers_set_encoding (hdrs, SOUP_ENCODING_CHUNKED); + soup_message_headers_set_content_length (hdrs, 29); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "29"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 29); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CONTENT_LENGTH); + soup_message_headers_clear (hdrs); + + /* Set different encoding after content length using soup_message_headers_append() */ + soup_message_headers_append (hdrs, "Content-Length", "21"); + soup_message_headers_append (hdrs, "Transfer-Encoding", "chunked"); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "21"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 0); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CHUNKED); + soup_message_headers_clear (hdrs); + + /* Set different encoding after content length using soup_message_headers_set_content_length() and soup_message_headers_append() */ + soup_message_headers_set_content_length (hdrs, 12); + soup_message_headers_append (hdrs, "Transfer-Encoding", "chunked"); + g_assert_cmpstr (soup_message_headers_get_one (hdrs, "Content-Length"), ==, "12"); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 0); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CHUNKED); + soup_message_headers_clear (hdrs); + + /* Set different encoding after content length using soup_message_headers_append() and soup_message_headers_set_encoding() */ + soup_message_headers_append (hdrs, "Content-Length", "21"); + soup_message_headers_set_encoding (hdrs, SOUP_ENCODING_CHUNKED); + g_assert_null (soup_message_headers_get_one (hdrs, "Content-Length")); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 0); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CHUNKED); + soup_message_headers_clear (hdrs); + + /* Set different encoding after content length using soup_message_headers_set_content_length() and soup_message_headers_set_encoding() */ + soup_message_headers_set_content_length (hdrs, 35); + soup_message_headers_set_encoding (hdrs, SOUP_ENCODING_CHUNKED); + g_assert_null (soup_message_headers_get_one (hdrs, "Content-Length")); + g_assert_cmpint (soup_message_headers_get_content_length (hdrs), ==, 0); + g_assert_cmpuint (soup_message_headers_get_encoding (hdrs), ==, SOUP_ENCODING_CHUNKED); + soup_message_headers_clear (hdrs); + + soup_message_headers_unref (hdrs); +} + int main (int argc, char **argv) { @@ -1539,6 +1643,7 @@ main (int argc, char **argv) g_test_add_func ("/header-parsing/bad", do_bad_header_tests); g_test_add_func ("/header-parsing/append-duplicate-host", do_append_duplicate_host_test); g_test_add_func ("/header-parsing/append-duplicate-content-length", do_append_duplicate_content_length_test); + g_test_add_func ("/header-parsing/content-length", do_content_length_test); ret = g_test_run (); ++++++ libsoup-CVE-2025-32049.patch ++++++ --- /var/tmp/diff_new_pack.XSQZWP/_old 2026-07-20 09:59:51.001159803 +0200 +++ /var/tmp/diff_new_pack.XSQZWP/_new 2026-07-20 09:59:51.005159938 +0200 @@ -1,8 +1,8 @@ -diff --git a/libsoup/websocket/soup-websocket-connection.c b/libsoup/websocket/soup-websocket-connection.c -index a1448134..48b08b60 100644 ---- a/libsoup/websocket/soup-websocket-connection.c -+++ b/libsoup/websocket/soup-websocket-connection.c -@@ -971,6 +971,11 @@ process_contents (SoupWebsocketConnection *self, +Index: libsoup-3.6.6/libsoup/websocket/soup-websocket-connection.c +=================================================================== +--- libsoup-3.6.6.orig/libsoup/websocket/soup-websocket-connection.c ++++ libsoup-3.6.6/libsoup/websocket/soup-websocket-connection.c +@@ -973,6 +973,11 @@ process_contents (SoupWebsocketConnectio switch (priv->message_opcode) { case 0x01: case 0x02: ++++++ libsoup-CVE-2026-0716.patch -> libsoup-CVE-2026-12478.patch ++++++ --- /work/SRC/openSUSE:Factory/libsoup/libsoup-CVE-2026-0716.patch 2026-03-08 17:26:27.933772738 +0100 +++ /work/SRC/openSUSE:Factory/.libsoup.new.24530/libsoup-CVE-2026-12478.patch 2026-07-20 09:59:50.117130054 +0200 @@ -12,11 +12,11 @@ tests/websocket-test.c | 61 +++++++++++++++++-- 2 files changed, 62 insertions(+), 11 deletions(-) -diff --git a/libsoup/websocket/soup-websocket-connection.c b/libsoup/websocket/soup-websocket-connection.c -index 04837646..2f031f1d 100644 ---- a/libsoup/websocket/soup-websocket-connection.c -+++ b/libsoup/websocket/soup-websocket-connection.c -@@ -1146,17 +1146,17 @@ process_frame (SoupWebsocketConnection *self) +Index: libsoup-3.6.6/libsoup/websocket/soup-websocket-connection.c +=================================================================== +--- libsoup-3.6.6.orig/libsoup/websocket/soup-websocket-connection.c ++++ libsoup-3.6.6/libsoup/websocket/soup-websocket-connection.c +@@ -1125,17 +1125,17 @@ process_frame (SoupWebsocketConnection * payload = header + at; @@ -40,11 +40,11 @@ if (len < at + payload_len) return FALSE; /* need more data */ -diff --git a/tests/websocket-test.c b/tests/websocket-test.c -index 67b9e49d..d48a9694 100644 ---- a/tests/websocket-test.c -+++ b/tests/websocket-test.c -@@ -2392,7 +2392,7 @@ test_fragment_assembly_corruption (Test *test, gconstpointer data) +Index: libsoup-3.6.6/tests/websocket-test.c +=================================================================== +--- libsoup-3.6.6.orig/tests/websocket-test.c ++++ libsoup-3.6.6/tests/websocket-test.c +@@ -2181,7 +2181,7 @@ test_fragment_assembly_corruption (Test } static void @@ -53,7 +53,7 @@ gconstpointer unused) { GError *error = NULL; -@@ -2426,6 +2426,53 @@ test_cve_2026_0716 (Test *test, +@@ -2215,6 +2215,53 @@ test_cve_2026_0716 (Test *test, g_assert_cmpuint (soup_websocket_connection_get_close_code (test->client), ==, SOUP_WEBSOCKET_CLOSE_BAD_DATA); } @@ -107,7 +107,7 @@ int main (int argc, char *argv[]) -@@ -2717,14 +2764,18 @@ main (int argc, +@@ -2466,14 +2513,18 @@ main (int argc, test_fragment_assembly_corruption, teardown_direct_connection); @@ -130,6 +130,3 @@ ret = g_test_run (); --- -GitLab - ++++++ libsoup-CVE-2026-4271.patch ++++++ --- /var/tmp/diff_new_pack.XSQZWP/_old 2026-07-20 09:59:51.045161284 +0200 +++ /var/tmp/diff_new_pack.XSQZWP/_new 2026-07-20 09:59:51.049161419 +0200 @@ -11,10 +11,10 @@ tests/http2-test.c | 54 ++++++++ 2 files changed, 141 insertions(+), 30 deletions(-) -diff --git a/libsoup/server/http2/soup-server-message-io-http2.c b/libsoup/server/http2/soup-server-message-io-http2.c -index 913afb46..6f8d1bb6 100644 ---- a/libsoup/server/http2/soup-server-message-io-http2.c -+++ b/libsoup/server/http2/soup-server-message-io-http2.c +Index: libsoup-3.6.6/libsoup/server/http2/soup-server-message-io-http2.c +=================================================================== +--- libsoup-3.6.6.orig/libsoup/server/http2/soup-server-message-io-http2.c ++++ libsoup-3.6.6/libsoup/server/http2/soup-server-message-io-http2.c @@ -69,6 +69,8 @@ typedef struct { GHashTable *messages; @@ -24,7 +24,7 @@ } SoupServerMessageIOHTTP2; static void soup_server_message_io_http2_send_response (SoupServerMessageIOHTTP2 *io, -@@ -146,6 +148,8 @@ soup_server_message_io_http2_destroy (SoupServerMessageIO *iface) +@@ -146,6 +148,8 @@ soup_server_message_io_http2_destroy (So { SoupServerMessageIOHTTP2 *io = (SoupServerMessageIOHTTP2 *)iface; @@ -33,7 +33,7 @@ if (io->read_source) { g_source_destroy (io->read_source); g_source_unref (io->read_source); -@@ -160,10 +164,14 @@ soup_server_message_io_http2_destroy (SoupServerMessageIO *iface) +@@ -160,10 +164,14 @@ soup_server_message_io_http2_destroy (So } g_clear_object (&io->iostream); @@ -51,7 +51,7 @@ } static void -@@ -321,7 +329,33 @@ static const SoupServerMessageIOFuncs io_funcs = { +@@ -321,7 +329,33 @@ static const SoupServerMessageIOFuncs io soup_server_message_io_http2_is_paused }; @@ -156,7 +156,7 @@ return G_SOURCE_REMOVE; } -@@ -390,13 +430,12 @@ static gboolean io_write_idle_cb (SoupServerMessageIOHTTP2* io); +@@ -390,13 +430,12 @@ static gboolean io_write_idle_cb (SoupSe static void io_try_write (SoupServerMessageIOHTTP2 *io) { @@ -171,7 +171,7 @@ if (!nghttp2_session_want_write (io->session)) return; -@@ -416,12 +455,19 @@ io_try_write (SoupServerMessageIOHTTP2 *io) +@@ -416,12 +455,19 @@ io_try_write (SoupServerMessageIOHTTP2 * g_clear_pointer (&io->write_idle_source, g_source_unref); } @@ -194,7 +194,7 @@ if (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); -@@ -434,11 +480,11 @@ io_try_write (SoupServerMessageIOHTTP2 *io) +@@ -434,11 +480,11 @@ io_try_write (SoupServerMessageIOHTTP2 * h2_debug (io, NULL, "[SESSION] IO error: %s", error->message); if (error || (!nghttp2_session_want_read (io->session) && !nghttp2_session_want_write (io->session))) @@ -253,7 +253,7 @@ return G_SOURCE_REMOVE; } -@@ -931,5 +983,10 @@ soup_server_message_io_http2_new (SoupServerConnection *conn, +@@ -931,5 +983,10 @@ soup_server_message_io_http2_new (SoupSe nghttp2_submit_settings (io->session, NGHTTP2_FLAG_NONE, settings, G_N_ELEMENTS (settings)); io_try_write (io); @@ -264,11 +264,11 @@ +#endif return (SoupServerMessageIO *)io; } -diff --git a/tests/http2-test.c b/tests/http2-test.c -index 0846a0a6..d12b4bf7 100644 ---- a/tests/http2-test.c -+++ b/tests/http2-test.c -@@ -1413,6 +1413,40 @@ do_broken_pseudo_header_test (Test *test, gconstpointer data) +Index: libsoup-3.6.6/tests/http2-test.c +=================================================================== +--- libsoup-3.6.6.orig/tests/http2-test.c ++++ libsoup-3.6.6/tests/http2-test.c +@@ -1268,6 +1268,40 @@ do_broken_pseudo_header_test (Test *test g_uri_unref (uri); } @@ -309,17 +309,14 @@ static gboolean unpause_message (SoupServerMessage *msg) { -@@ -1550,12 +1584,26 @@ server_handler (SoupServer *server, - shutdown (fd, SHUT_WR); - #endif - -+ soup_server_message_set_response (msg, "text/plain", -+ SOUP_MEMORY_STATIC, -+ "Success!", 8); -+ } else if (strcmp (path, "/close-on-got-headers") == 0) { +@@ -1399,9 +1433,23 @@ server_handler (SoupServer *serve soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_STATIC, "Success!", 8); ++ } else if (strcmp (path, "/close-on-got-headers") == 0) { ++ soup_server_message_set_response (msg, "text/plain", ++ SOUP_MEMORY_STATIC, ++ "Success!", 8); } } @@ -336,7 +333,7 @@ static gboolean server_basic_auth_callback (SoupAuthDomain *auth_domain, SoupServerMessage *msg, -@@ -1582,6 +1630,8 @@ main (int argc, char **argv) +@@ -1428,6 +1476,8 @@ main (int argc, char **argv) return 0; server = soup_test_server_new (SOUP_TEST_SERVER_IN_THREAD | SOUP_TEST_SERVER_HTTP2); @@ -345,7 +342,7 @@ auth = soup_auth_domain_basic_new ("realm", "http2-test", "auth-callback", server_basic_auth_callback, NULL); -@@ -1750,6 +1800,10 @@ main (int argc, char **argv) +@@ -1584,6 +1634,10 @@ main (int argc, char **argv) setup_session, do_broken_pseudo_header_test, teardown_session); @@ -356,7 +353,4 @@ ret = g_test_run (); --- -2.53.0 -
