Hello community, here is the log from the commit of package libsoup for openSUSE:Factory checked in at 2020-03-03 10:14:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libsoup (Old) and /work/SRC/openSUSE:Factory/.libsoup.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsoup" Tue Mar 3 10:14:25 2020 rev:122 rq:780396 version:2.68.4 Changes: -------- --- /work/SRC/openSUSE:Factory/libsoup/libsoup.changes 2020-01-28 10:52:10.120819996 +0100 +++ /work/SRC/openSUSE:Factory/.libsoup.new.26092/libsoup.changes 2020-03-03 10:14:29.978434276 +0100 @@ -1,0 +2,9 @@ +Wed Feb 26 08:57:50 UTC 2020 - Bjørn Lie <[email protected]> + +- Update to version 2.68.4: + + WebSockets: + - Ensure a new connection is created for WebSocket requests. + - Do not start the input source when IO is closing. + + build: Update glib requirement to 2.58. + +------------------------------------------------------------------- Old: ---- libsoup-2.68.3.tar.xz New: ---- libsoup-2.68.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libsoup.spec ++++++ --- /var/tmp/diff_new_pack.EzgCTs/_old 2020-03-03 10:14:30.734435840 +0100 +++ /var/tmp/diff_new_pack.EzgCTs/_new 2020-03-03 10:14:30.734435840 +0100 @@ -1,7 +1,7 @@ # # spec file for package libsoup # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: libsoup -Version: 2.68.3 +Version: 2.68.4 Release: 0 Summary: HTTP client/server library for GNOME License: LGPL-2.1-or-later @@ -32,9 +32,9 @@ BuildRequires: meson >= 0.50 BuildRequires: pkgconfig BuildRequires: translation-update-upstream -BuildRequires: pkgconfig(gio-2.0) >= 2.38.0 +BuildRequires: pkgconfig(gio-2.0) >= 2.58.0 BuildRequires: pkgconfig(glib-2.0) >= 2.58.0 -BuildRequires: pkgconfig(gobject-2.0) >= 2.38.0 +BuildRequires: pkgconfig(gobject-2.0) >= 2.58.0 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5 BuildRequires: pkgconfig(gtk-doc) >= 1.20 BuildRequires: pkgconfig(krb5) ++++++ libsoup-2.68.3.tar.xz -> libsoup-2.68.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/NEWS new/libsoup-2.68.4/NEWS --- old/libsoup-2.68.3/NEWS 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/NEWS 2020-02-26 00:57:19.838775400 +0100 @@ -1,3 +1,13 @@ +Changes in libsoup from 2.68.3 to 2.68.4: + + * WebSockets: Ensure a new connection is created for WebSocket requests [Carlos + Garcia Campos] + + * WebSockets: Do not start the input source when IO is closing [Carlos Garcia + Campos] + + * build: Update glib requirement to 2.58 [Xavier Claessens] + Changes in libsoup from 2.68.2 to 2.68.3: * Fixes to testing infrastructure [Simon McVittie] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-address.c new/libsoup-2.68.4/libsoup/soup-address.c --- old/libsoup-2.68.3/libsoup/soup-address.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-address.c 2020-02-26 00:57:19.842108700 +0100 @@ -268,7 +268,8 @@ "Name", "Hostname for this address", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_ADDRESS_FAMILY: * @@ -282,7 +283,8 @@ "Address family for this address", SOUP_TYPE_ADDRESS_FAMILY, SOUP_ADDRESS_FAMILY_INVALID, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_ADDRESS_PORT: * @@ -295,7 +297,8 @@ "Port", "Port for this address", -1, 65535, -1, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_ADDRESS_PROTOCOL: * @@ -308,7 +311,8 @@ "Protocol", "URI scheme for this address", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_ADDRESS_PHYSICAL: * @@ -321,7 +325,8 @@ "Physical address", "IP address for this address", NULL, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_ADDRESS_SOCKADDR: * @@ -333,7 +338,8 @@ g_param_spec_pointer (SOUP_ADDRESS_SOCKADDR, "sockaddr", "struct sockaddr for this address", - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-auth-domain-basic.c new/libsoup-2.68.4/libsoup/soup-auth-domain-basic.c --- old/libsoup-2.68.3/libsoup/soup-auth-domain-basic.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-auth-domain-basic.c 2020-02-26 00:57:19.842108700 +0100 @@ -321,7 +321,8 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, "Authentication callback", "Password-checking callback", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA: * @@ -338,5 +339,6 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA, "Authentication callback data", "Data to pass to authentication callback", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-auth-domain-digest.c new/libsoup-2.68.4/libsoup/soup-auth-domain-digest.c --- old/libsoup-2.68.3/libsoup/soup-auth-domain-digest.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-auth-domain-digest.c 2020-02-26 00:57:19.842108700 +0100 @@ -427,7 +427,8 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK, "Authentication callback", "Password-finding callback", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA: * @@ -444,5 +445,6 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA, "Authentication callback data", "Data to pass to authentication callback", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-auth-domain.c new/libsoup-2.68.4/libsoup/soup-auth-domain.c --- old/libsoup-2.68.3/libsoup/soup-auth-domain.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-auth-domain.c 2020-02-26 00:57:19.842108700 +0100 @@ -196,7 +196,8 @@ "Realm", "The realm of this auth domain", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_PROXY: * @@ -209,7 +210,8 @@ "Proxy", "Whether or not this is a proxy auth domain", FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_ADD_PATH: * @@ -222,7 +224,8 @@ "Add a path", "Add a path covered by this auth domain", NULL, - G_PARAM_WRITABLE)); + G_PARAM_WRITABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_REMOVE_PATH: * @@ -235,7 +238,8 @@ "Remove a path", "Remove a path covered by this auth domain", NULL, - G_PARAM_WRITABLE)); + G_PARAM_WRITABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_FILTER: * @@ -252,7 +256,8 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_FILTER, "Filter", "A filter for deciding whether or not to require authentication", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_FILTER_DATA: * @@ -269,7 +274,8 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_FILTER_DATA, "Filter data", "Data to pass to filter", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK: * @@ -281,7 +287,8 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK, "Generic authentication callback", "An authentication callback that can be used with any SoupAuthDomain subclass", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA: * @@ -293,7 +300,8 @@ g_param_spec_pointer (SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA, "Authentication callback data", "Data to pass to auth callback", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-auth.c new/libsoup-2.68.4/libsoup/soup-auth.c --- old/libsoup-2.68.3/libsoup/soup-auth.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-auth.c 2020-02-26 00:57:19.842108700 +0100 @@ -154,7 +154,8 @@ "Scheme name", "Authentication scheme name", NULL, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_REALM: * @@ -167,7 +168,8 @@ "Realm", "Authentication realm", NULL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_HOST: * @@ -180,7 +182,8 @@ "Host", "Authentication host", NULL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_IS_FOR_PROXY: * @@ -193,7 +196,8 @@ "For Proxy", "Whether or not the auth is for a proxy server", FALSE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_AUTH_IS_AUTHENTICATED: * @@ -206,7 +210,8 @@ "Authenticated", "Whether or not the auth is authenticated", FALSE, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-body-input-stream.c new/libsoup-2.68.4/libsoup/soup-body-input-stream.c --- old/libsoup-2.68.3/libsoup/soup-body-input-stream.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-body-input-stream.c 2020-02-26 00:57:19.845442000 +0100 @@ -391,14 +391,14 @@ "Message body encoding", SOUP_TYPE_ENCODING, SOUP_ENCODING_NONE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_CONTENT_LENGTH, g_param_spec_int64 ("content-length", "Content-Length", "Message body Content-Length", -1, G_MAXINT64, -1, - G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-body-output-stream.c new/libsoup-2.68.4/libsoup/soup-body-output-stream.c --- old/libsoup-2.68.3/libsoup/soup-body-output-stream.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-body-output-stream.c 2020-02-26 00:57:19.845442000 +0100 @@ -307,14 +307,16 @@ "Message body encoding", SOUP_TYPE_ENCODING, SOUP_ENCODING_NONE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_CONTENT_LENGTH, g_param_spec_uint64 ("content-length", "Content-Length", "Message body Content-Length", 0, G_MAXUINT64, 0, - G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-cache.c new/libsoup-2.68.4/libsoup/soup-cache.c --- old/libsoup-2.68.3/libsoup/soup-cache.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-cache.c 2020-02-26 00:57:19.845442000 +0100 @@ -1008,7 +1008,8 @@ "Cache directory", "The directory to store the cache files", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_CACHE_TYPE, g_param_spec_enum ("cache-type", @@ -1016,7 +1017,8 @@ "Whether the cache is private or shared", SOUP_TYPE_CACHE_TYPE, SOUP_CACHE_SINGLE_USER, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-client-input-stream.c new/libsoup-2.68.4/libsoup/soup-client-input-stream.c --- old/libsoup-2.68.3/libsoup/soup-client-input-stream.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-client-input-stream.c 2020-02-26 00:57:19.845442000 +0100 @@ -238,7 +238,8 @@ "Message", "Message", SOUP_TYPE_MESSAGE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-connection.c new/libsoup-2.68.4/libsoup/soup-connection.c --- old/libsoup-2.68.3/libsoup/soup-connection.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-connection.c 2020-02-26 00:57:19.845442000 +0100 @@ -179,27 +179,31 @@ "Remote URI", "The URI of the HTTP server", SOUP_TYPE_URI, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_SOCKET_PROPERTIES, g_param_spec_boxed (SOUP_CONNECTION_SOCKET_PROPERTIES, "Socket properties", "Socket properties", SOUP_TYPE_SOCKET_PROPERTIES, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_STATE, g_param_spec_enum (SOUP_CONNECTION_STATE, "Connection state", "Current state of connection", SOUP_TYPE_CONNECTION_STATE, SOUP_CONNECTION_NEW, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_SSL, g_param_spec_boolean (SOUP_CONNECTION_SSL, "Connection uses TLS", "Whether the connection should use TLS", - FALSE, G_PARAM_READWRITE)); + FALSE,G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-content-sniffer-stream.c new/libsoup-2.68.4/libsoup/soup-content-sniffer-stream.c --- old/libsoup-2.68.3/libsoup/soup-content-sniffer-stream.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-content-sniffer-stream.c 2020-02-26 00:57:19.845442000 +0100 @@ -314,14 +314,14 @@ "Sniffer", "The stream's SoupContentSniffer", SOUP_TYPE_CONTENT_SNIFFER, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_MESSAGE, g_param_spec_object ("message", "Message", "The stream's SoupMessage", SOUP_TYPE_MESSAGE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-cookie-jar-db.c new/libsoup-2.68.4/libsoup/soup-cookie-jar-db.c --- old/libsoup-2.68.3/libsoup/soup-cookie-jar-db.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-cookie-jar-db.c 2020-02-26 00:57:19.845442000 +0100 @@ -329,5 +329,6 @@ "Filename", "Cookie-storage filename", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-cookie-jar-text.c new/libsoup-2.68.4/libsoup/soup-cookie-jar-text.c --- old/libsoup-2.68.3/libsoup/soup-cookie-jar-text.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-cookie-jar-text.c 2020-02-26 00:57:19.848775400 +0100 @@ -356,5 +356,6 @@ "Filename", "Cookie-storage filename", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-cookie-jar.c new/libsoup-2.68.4/libsoup/soup-cookie-jar.c --- old/libsoup-2.68.3/libsoup/soup-cookie-jar.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-cookie-jar.c 2020-02-26 00:57:19.848775400 +0100 @@ -192,7 +192,8 @@ "Read-only", "Whether or not the cookie jar is read-only", FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_COOKIE_JAR_ACCEPT_POLICY: @@ -215,7 +216,8 @@ "The policy the jar should follow to accept or reject cookies", SOUP_TYPE_COOKIE_JAR_ACCEPT_POLICY, SOUP_COOKIE_JAR_ACCEPT_ALWAYS, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-date.c new/libsoup-2.68.4/libsoup/soup-date.c --- old/libsoup-2.68.3/libsoup/soup-date.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-date.c 2020-02-26 00:57:19.848775400 +0100 @@ -760,7 +760,7 @@ g_return_val_if_fail (date != NULL, TRUE); /* optimization */ - if (date->year < 2010) + if (date->year < 2020) return TRUE; return soup_date_to_time_t (date) < time (NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-hsts-enforcer-db.c new/libsoup-2.68.4/libsoup/soup-hsts-enforcer-db.c --- old/libsoup-2.68.3/libsoup/soup-hsts-enforcer-db.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-hsts-enforcer-db.c 2020-02-26 00:57:19.848775400 +0100 @@ -333,5 +333,6 @@ "Filename", "HSTS policy storage filename", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-io-stream.c new/libsoup-2.68.4/libsoup/soup-io-stream.c --- old/libsoup-2.68.3/libsoup/soup-io-stream.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-io-stream.c 2020-02-26 00:57:19.848775400 +0100 @@ -197,7 +197,8 @@ "Base GIOStream", G_TYPE_IO_STREAM, G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_CLOSE_ON_DISPOSE, g_param_spec_boolean ("close-on-dispose", @@ -205,7 +206,8 @@ "Close base GIOStream when closing", TRUE, G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } GIOStream * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-logger.c new/libsoup-2.68.4/libsoup/soup-logger.c --- old/libsoup-2.68.3/libsoup/soup-logger.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-logger.c 2020-02-26 00:57:19.848775400 +0100 @@ -232,7 +232,8 @@ "The level of logging output", SOUP_TYPE_LOGGER_LOG_LEVEL, SOUP_LOGGER_LOG_MINIMAL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupLogger:max-body-size: @@ -258,7 +259,8 @@ -1, G_MAXINT, -1, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-message.c new/libsoup-2.68.4/libsoup/soup-message.c --- old/libsoup-2.68.3/libsoup/soup-message.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-message.c 2020-02-26 00:57:19.852108500 +0100 @@ -698,7 +698,8 @@ "Method", "The message's HTTP method", SOUP_METHOD_GET, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_URI: * @@ -711,7 +712,8 @@ "URI", "The message's Request-URI", SOUP_TYPE_URI, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_HTTP_VERSION: * @@ -725,7 +727,8 @@ "The HTTP protocol version to use", SOUP_TYPE_HTTP_VERSION, SOUP_HTTP_1_1, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_FLAGS: * @@ -739,7 +742,8 @@ "Various message options", SOUP_TYPE_MESSAGE_FLAGS, 0, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_SERVER_SIDE: * @@ -752,7 +756,8 @@ "Server-side", "Whether or not the message is server-side rather than client-side", FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_STATUS_CODE: * @@ -765,7 +770,8 @@ "Status code", "The HTTP response status code", 0, 999, 0, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_REASON_PHRASE: * @@ -778,7 +784,8 @@ "Reason phrase", "The HTTP response reason phrase", NULL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_FIRST_PARTY: * @@ -802,7 +809,8 @@ "First party", "The URI loaded in the application when the message was requested.", SOUP_TYPE_URI, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_REQUEST_BODY: * @@ -815,7 +823,8 @@ "Request Body", "The HTTP request content", SOUP_TYPE_MESSAGE_BODY, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_REQUEST_BODY_DATA: * @@ -837,7 +846,8 @@ "Request Body Data", "The HTTP request body", G_TYPE_BYTES, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_REQUEST_HEADERS: * @@ -850,7 +860,8 @@ "Request Headers", "The HTTP request headers", SOUP_TYPE_MESSAGE_HEADERS, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_RESPONSE_BODY: * @@ -863,7 +874,8 @@ "Response Body", "The HTTP response content", SOUP_TYPE_MESSAGE_BODY, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_RESPONSE_BODY_DATA: * @@ -885,7 +897,8 @@ "Response Body Data", "The HTTP response body", G_TYPE_BYTES, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_RESPONSE_HEADERS: * @@ -898,7 +911,8 @@ "Response Headers", "The HTTP response headers", SOUP_TYPE_MESSAGE_HEADERS, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_TLS_CERTIFICATE: * @@ -920,7 +934,8 @@ "TLS Certificate", "The TLS certificate associated with the message", G_TYPE_TLS_CERTIFICATE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_TLS_ERRORS: * @@ -942,7 +957,8 @@ "TLS Errors", "The verification errors on the message's TLS certificate", G_TYPE_TLS_CERTIFICATE_FLAGS, 0, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_MESSAGE_PRIORITY: * @@ -958,7 +974,8 @@ "The priority of the message", SOUP_TYPE_MESSAGE_PRIORITY, SOUP_MESSAGE_PRIORITY_NORMAL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-multipart-input-stream.c new/libsoup-2.68.4/libsoup/soup-multipart-input-stream.c --- old/libsoup-2.68.3/libsoup/soup-multipart-input-stream.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-multipart-input-stream.c 2020-02-26 00:57:19.852108500 +0100 @@ -303,7 +303,8 @@ "Message", "The SoupMessage", SOUP_TYPE_MESSAGE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-proxy-resolver-default.c new/libsoup-2.68.4/libsoup/soup-proxy-resolver-default.c --- old/libsoup-2.68.3/libsoup/soup-proxy-resolver-default.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-proxy-resolver-default.c 2020-02-26 00:57:19.852108500 +0100 @@ -114,7 +114,8 @@ "GProxyResolver", "The underlying GProxyResolver", G_TYPE_PROXY_RESOLVER, - G_PARAM_WRITABLE)); + G_PARAM_WRITABLE | + G_PARAM_STATIC_STRINGS)); } typedef struct { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-request.c new/libsoup-2.68.4/libsoup/soup-request.c --- old/libsoup-2.68.3/libsoup/soup-request.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-request.c 2020-02-26 00:57:19.855441800 +0100 @@ -300,7 +300,8 @@ "URI", "The request URI", SOUP_TYPE_URI, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_REQUEST_SESSION: * @@ -321,7 +322,8 @@ "Session", "The request's session", SOUP_TYPE_SESSION, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-server.c new/libsoup-2.68.4/libsoup/soup-server.c --- old/libsoup-2.68.3/libsoup/soup-server.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-server.c 2020-02-26 00:57:19.855441800 +0100 @@ -686,6 +686,7 @@ 0, 65536, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS | G_PARAM_DEPRECATED)); /** * SoupServer:interface: @@ -718,6 +719,7 @@ SOUP_TYPE_ADDRESS, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS | G_PARAM_DEPRECATED)); /** * SOUP_SERVER_SSL_CERT_FILE: @@ -749,7 +751,8 @@ "File containing server TLS (aka SSL) certificate", NULL, G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SERVER_SSL_KEY_FILE: * @@ -775,7 +778,8 @@ "File containing server TLS (aka SSL) key", NULL, G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SERVER_TLS_CERTIFICATE: * @@ -801,7 +805,7 @@ "TLS certificate", "GTlsCertificate to use for https", G_TYPE_TLS_CERTIFICATE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); /** * SoupServer:async-context: * @@ -829,6 +833,7 @@ "The GMainContext to dispatch async I/O in", G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS | G_PARAM_DEPRECATED)); /** * SOUP_SERVER_RAW_PATHS: @@ -843,7 +848,7 @@ "Raw paths", "If %TRUE, percent-encoding in the Request-URI path will not be automatically decoded.", FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); /** * SoupServer:server-header: @@ -884,7 +889,7 @@ "Server header", "Server header", NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); /** * SoupServer:http-aliases: @@ -920,7 +925,7 @@ "http aliases", "URI schemes that are considered aliases for 'http'", G_TYPE_STRV, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * SoupServer:https-aliases: * @@ -946,7 +951,7 @@ "https aliases", "URI schemes that are considered aliases for 'https'", G_TYPE_STRV, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * SoupServer:add-websocket-extension: (skip) @@ -969,7 +974,7 @@ "Add support for a WebSocket extension", "Add support for a WebSocket extension of the given type", SOUP_TYPE_WEBSOCKET_EXTENSION, - G_PARAM_WRITABLE)); + G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); /** * SoupServer:remove-websocket-extension: (skip) * @@ -991,7 +996,7 @@ "Remove support for a WebSocket extension", "Remove support for a WebSocket extension of the given type", SOUP_TYPE_WEBSOCKET_EXTENSION, - G_PARAM_WRITABLE)); + G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-session.c new/libsoup-2.68.4/libsoup/soup-session.c --- old/libsoup-2.68.3/libsoup/soup-session.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-session.c 2020-02-26 00:57:19.855441800 +0100 @@ -3229,7 +3229,8 @@ "Proxy URI", "The HTTP Proxy to use for this session", SOUP_TYPE_URI, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:proxy-resolver: * @@ -3257,7 +3258,8 @@ "Proxy Resolver", "The GProxyResolver to use for this session", G_TYPE_PROXY_RESOLVER, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_MAX_CONNS: * @@ -3271,7 +3273,8 @@ 1, G_MAXINT, SOUP_SESSION_MAX_CONNS_DEFAULT, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_MAX_CONNS_PER_HOST: * @@ -3285,7 +3288,8 @@ 1, G_MAXINT, SOUP_SESSION_MAX_CONNS_PER_HOST_DEFAULT, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:idle-timeout: * @@ -3318,7 +3322,8 @@ "Idle Timeout", "Connection lifetime when idle", 0, G_MAXUINT, 60, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:use-ntlm: * @@ -3338,7 +3343,8 @@ "Use NTLM", "Whether or not to use NTLM authentication", FALSE, - G_PARAM_READWRITE | G_PARAM_DEPRECATED)); + G_PARAM_READWRITE | G_PARAM_DEPRECATED | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:ssl-ca-file: * @@ -3364,7 +3370,8 @@ "SSL CA file", "File containing SSL CA certificates", NULL, - G_PARAM_READWRITE | G_PARAM_DEPRECATED)); + G_PARAM_READWRITE | G_PARAM_DEPRECATED | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE: * @@ -3401,7 +3408,8 @@ "Use system CA file", "Use the system certificate database", TRUE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_TLS_DATABASE: * @@ -3437,7 +3445,8 @@ "TLS Database", "TLS database to use", G_TYPE_TLS_DATABASE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_SSL_STRICT: * @@ -3479,7 +3488,8 @@ "Strictly validate SSL certificates", "Whether certificate errors should be considered a connection error", TRUE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:async-context: * @@ -3507,7 +3517,8 @@ g_param_spec_pointer (SOUP_SESSION_ASYNC_CONTEXT, "Async GMainContext", "The GMainContext to dispatch async I/O in", - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_USE_THREAD_CONTEXT: * @@ -3532,7 +3543,8 @@ "Use thread-default GMainContext", "Whether to use thread-default main contexts", FALSE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:timeout: * @@ -3566,7 +3578,8 @@ "Timeout value", "Value in seconds to timeout a blocking I/O", 0, G_MAXUINT, 0, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:user-agent: @@ -3606,7 +3619,8 @@ "User-Agent string", "User-Agent string", NULL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:accept-language: @@ -3632,7 +3646,8 @@ "Accept-Language string", "Accept-Language string", NULL, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:accept-language-auto: @@ -3659,7 +3674,8 @@ "Accept-Language automatic mode", "Accept-Language automatic mode", FALSE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:add-feature: (skip) @@ -3682,7 +3698,8 @@ "Add Feature", "Add a feature object to the session", SOUP_TYPE_SESSION_FEATURE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:add-feature-by-type: (skip) * @@ -3704,7 +3721,8 @@ "Add Feature By Type", "Add a feature object of the given type to the session", G_TYPE_OBJECT, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:remove-feature-by-type: (skip) * @@ -3727,7 +3745,8 @@ "Remove Feature By Type", "Remove features of the given type from the session", G_TYPE_OBJECT, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:http-aliases: * @@ -3762,7 +3781,8 @@ "http aliases", "URI schemes that are considered aliases for 'http'", G_TYPE_STRV, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SoupSession:https-aliases: * @@ -3788,7 +3808,8 @@ "https aliases", "URI schemes that are considered aliases for 'https'", G_TYPE_STRV, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_LOCAL_ADDRESS: @@ -3814,7 +3835,8 @@ "Local address", "Address of local end of socket", SOUP_TYPE_ADDRESS, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SESSION_TLS_INTERACTION: @@ -3838,7 +3860,8 @@ "TLS Interaction", "TLS interaction to use", G_TYPE_TLS_INTERACTION, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } @@ -4898,6 +4921,7 @@ SoupMessageQueueItem *item; GTask *task; GPtrArray *supported_extensions; + SoupMessageFlags flags; g_return_if_fail (SOUP_IS_SESSION (session)); g_return_if_fail (priv->use_thread_context); @@ -4906,6 +4930,15 @@ supported_extensions = soup_session_get_supported_websocket_extensions_for_message (session, msg); soup_websocket_client_prepare_handshake_with_extensions (msg, origin, protocols, supported_extensions); + /* When the client is to _Establish a WebSocket Connection_ given a set + * of (/host/, /port/, /resource name/, and /secure/ flag), along with a + * list of /protocols/ and /extensions/ to be used, and an /origin/ in + * the case of web browsers, it MUST open a connection, send an opening + * handshake, and read the server's handshake in response. + */ + flags = soup_message_get_flags (msg); + soup_message_set_flags (msg, flags | SOUP_MESSAGE_NEW_CONNECTION); + task = g_task_new (session, cancellable, callback, user_data); item = soup_session_append_queue_item (session, msg, TRUE, FALSE, websocket_connect_async_complete, task); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-socket.c new/libsoup-2.68.4/libsoup/soup-socket.c --- old/libsoup-2.68.3/libsoup/soup-socket.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-socket.c 2020-02-26 00:57:19.855441800 +0100 @@ -543,21 +543,24 @@ "FD", "The socket's file descriptor", -1, G_MAXINT, -1, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_GSOCKET, g_param_spec_object (SOUP_SOCKET_GSOCKET, "GSocket", "The socket's underlying GSocket", G_TYPE_SOCKET, - G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_IOSTREAM, g_param_spec_object (SOUP_SOCKET_IOSTREAM, "GIOStream", "The socket's underlying GIOStream", G_TYPE_IO_STREAM, - G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_LOCAL_ADDRESS: @@ -571,7 +574,8 @@ "Local address", "Address of local end of socket", SOUP_TYPE_ADDRESS, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_REMOTE_ADDRESS: * @@ -584,7 +588,8 @@ "Remote address", "Address of remote end of socket", SOUP_TYPE_ADDRESS, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SoupSocket:non-blocking: * @@ -621,14 +626,16 @@ "Non-blocking", "Whether or not the socket uses non-blocking I/O", TRUE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_IPV6_ONLY, g_param_spec_boolean (SOUP_SOCKET_IPV6_ONLY, "IPv6 only", "IPv6 only", FALSE, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_IS_SERVER: * @@ -651,7 +658,8 @@ "Server", "Whether or not the socket is a server socket", FALSE, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_SSL_CREDENTIALS: * @@ -667,7 +675,8 @@ g_param_spec_pointer (SOUP_SOCKET_SSL_CREDENTIALS, "SSL credentials", "SSL credential information, passed from the session to the SSL implementation", - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_SSL_STRICT: * @@ -679,7 +688,8 @@ "Strictly validate SSL certificates", "Whether certificate errors should be considered a connection error", TRUE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_SSL_FALLBACK: * @@ -691,7 +701,8 @@ "SSLv3 fallback", "Use SSLv3 instead of TLS (client-side only)", FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_TRUSTED_CERTIFICATE: * @@ -704,7 +715,8 @@ "Trusted Certificate", "Whether the server certificate is trusted, if this is an SSL socket", FALSE, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_ASYNC_CONTEXT: * @@ -716,7 +728,8 @@ g_param_spec_pointer (SOUP_SOCKET_ASYNC_CONTEXT, "Async GMainContext", "The GMainContext to dispatch this socket's async I/O in", - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_USE_THREAD_CONTEXT: @@ -739,7 +752,8 @@ "Use thread context", "Use g_main_context_get_thread_default", FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_TIMEOUT: @@ -753,7 +767,8 @@ "Timeout value", "Value in seconds to timeout a blocking I/O", 0, G_MAXUINT, 0, - G_PARAM_READWRITE)); + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_TLS_CERTIFICATE: @@ -771,7 +786,8 @@ "TLS certificate", "The peer's TLS certificate", G_TYPE_TLS_CERTIFICATE, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * SOUP_SOCKET_TLS_ERRORS: * @@ -788,7 +804,8 @@ "TLS errors", "Errors with the peer's TLS certificate", G_TYPE_TLS_CERTIFICATE_FLAGS, 0, - G_PARAM_READABLE)); + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); g_object_class_install_property ( object_class, PROP_SOCKET_PROPERTIES, @@ -796,7 +813,8 @@ "Socket properties", "Socket properties", SOUP_TYPE_SOCKET_PROPERTIES, - G_PARAM_WRITABLE)); + G_PARAM_WRITABLE | + G_PARAM_STATIC_STRINGS)); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/libsoup/soup-websocket-connection.c new/libsoup-2.68.4/libsoup/soup-websocket-connection.c --- old/libsoup-2.68.3/libsoup/soup-websocket-connection.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/libsoup/soup-websocket-connection.c 2020-02-26 00:57:19.858775100 +0100 @@ -1156,7 +1156,8 @@ return; } - soup_websocket_connection_start_input_source (self); + if (!pv->io_closing) + soup_websocket_connection_start_input_source (self); } static gboolean diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/meson.build new/libsoup-2.68.4/meson.build --- old/libsoup-2.68.3/meson.build 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/meson.build 2020-02-26 00:57:19.858775100 +0100 @@ -1,5 +1,5 @@ project('libsoup', 'c', - version: '2.68.3', + version: '2.68.4', meson_version : '>=0.50', license : 'LGPL2', default_options : 'c_std=c89') @@ -72,7 +72,7 @@ add_project_arguments(common_flags, language : 'c') -glib_required_version = '>= 2.38' +glib_required_version = '>= 2.58' glib_dep = dependency('glib-2.0', version : glib_required_version, fallback: ['glib', 'libglib_dep']) gobject_dep = dependency('gobject-2.0', version : glib_required_version, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/po/LINGUAS new/libsoup-2.68.4/po/LINGUAS --- old/libsoup-2.68.3/po/LINGUAS 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/po/LINGUAS 2020-02-26 00:57:19.858775100 +0100 @@ -35,6 +35,7 @@ lv ml mr +ms nb ne nl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/po/ms.po new/libsoup-2.68.4/po/ms.po --- old/libsoup-2.68.3/po/ms.po 1970-01-01 01:00:00.000000000 +0100 +++ new/libsoup-2.68.4/po/ms.po 2020-02-26 00:57:19.862108500 +0100 @@ -0,0 +1,191 @@ +# Malay translation for libsoup. +# Copyright (C) 2019 libsoup's COPYRIGHT HOLDER +# This file is distributed under the same license as the libsoup package. +# abuyop <[email protected]>, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: libsoup master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n" +"POT-Creation-Date: 2019-12-04 12:57+0000\n" +"PO-Revision-Date: 2019-12-26 01:38+0800\n" +"Language-Team: Malay <[email protected]>\n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: abuyop <[email protected]>\n" +"X-Generator: Poedit 2.0.6\n" + +#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170 +#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236 +msgid "Connection terminated unexpectedly" +msgstr "Sambungan ditamatkan tanpa jangka" + +#: libsoup/soup-body-input-stream.c:459 +msgid "Invalid seek request" +msgstr "Permintaan jangkau tidak sah" + +#: libsoup/soup-body-input-stream.c:487 +msgid "Cannot truncate SoupBodyInputStream" +msgstr "Tidak dapat memangkas SoupBodyInputStream" + +#: libsoup/soup-cache-input-stream.c:76 +msgid "Network stream unexpectedly closed" +msgstr "Strim rangkaian ditutup tanpa jangka" + +#: libsoup/soup-cache-input-stream.c:291 +msgid "Failed to completely cache the resource" +msgstr "Gagal melengkapkan cache sumber" + +#: libsoup/soup-converter-wrapper.c:189 +#, c-format +msgid "Output buffer is too small" +msgstr "Penimbal ouput terlalu kecil" + +#: libsoup/soup-message-client-io.c:39 +msgid "Could not parse HTTP response" +msgstr "Tidak dapat menghurai respons HTTP" + +#: libsoup/soup-message-client-io.c:62 +msgid "Unrecognized HTTP response encoding" +msgstr "Pengekodan respons HTTP tidak dikenali" + +#: libsoup/soup-message-io.c:261 +msgid "Header too big" +msgstr "Pengepala terlalu besar" + +#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016 +msgid "Operation would block" +msgstr "Operasi mungkin disekat" + +#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001 +msgid "Operation was cancelled" +msgstr "Operasi dibatalkan" + +#: libsoup/soup-message-server-io.c:63 +msgid "Could not parse HTTP request" +msgstr "Tidak dapat menghurai permintaan HTTP" + +#: libsoup/soup-request.c:141 +#, c-format +msgid "No URI provided" +msgstr "Tiada URI disediakan" + +#: libsoup/soup-request.c:151 +#, c-format +msgid "Invalid “%s” URI: %s" +msgstr "URI “%s” tidak sah: %s" + +#: libsoup/soup-server.c:1805 +msgid "Can’t create a TLS server without a TLS certificate" +msgstr "Tidak dapat cipta satu pelayan TLS tanpa satu sijil TLS" + +#: libsoup/soup-server.c:1822 +#, c-format +msgid "Could not listen on address %s, port %d: " +msgstr "Tidak dapat mendengar pada alamat %s, port %d: " + +#: libsoup/soup-session.c:4543 +#, c-format +msgid "Could not parse URI “%s”" +msgstr "Tidak dapat hurai URI \"%s\"" + +#: libsoup/soup-session.c:4580 +#, c-format +msgid "Unsupported URI scheme “%s”" +msgstr "Skema URI \"%s\" tidak disokong" + +#: libsoup/soup-session.c:4602 +#, c-format +msgid "Not an HTTP URI" +msgstr "Bukan satu URI HTTP" + +#: libsoup/soup-session.c:4813 +msgid "The server did not accept the WebSocket handshake." +msgstr "Pelayan tidak menerima jabat tangan WebSocket." + +#: libsoup/soup-socket.c:148 +msgid "Can’t import non-socket as SoupSocket" +msgstr "Tidak dapat mengimport bukan-soket sebagai SoupSocket" + +#: libsoup/soup-socket.c:166 +msgid "Could not import existing socket: " +msgstr "Tidak dapat mengimport soket sedia ada: " + +#: libsoup/soup-socket.c:175 +msgid "Can’t import unconnected socket" +msgstr "Tidak dapat mengimport soket tidak bersambung" + +#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523 +#: libsoup/soup-websocket.c:539 +msgid "Server requested unsupported extension" +msgstr "Pelayan meminta sambungan tidak disokong" + +#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694 +#, c-format +msgid "Incorrect WebSocket “%s” header" +msgstr "Pengepala WebSocket “%s” adalah salah" + +#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024 +#, c-format +msgid "Server returned incorrect “%s” key" +msgstr "Pelayan mengembalikan kunci “%s” yang salah" + +#: libsoup/soup-websocket.c:566 +#, c-format +msgid "Duplicated parameter in “%s” WebSocket extension header" +msgstr "Parameter pendua dalam pengepala sambungan WebSocket “%s”" + +#: libsoup/soup-websocket.c:567 +#, c-format +msgid "Server returned a duplicated parameter in “%s” WebSocket extension header" +msgstr "Pelayan mengembalikan satu parameter pendua dalam pengepala sambungan WebSocket “%s”" + +#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667 +msgid "WebSocket handshake expected" +msgstr "Jabat tangan WebSocket dijangka" + +#: libsoup/soup-websocket.c:675 +msgid "Unsupported WebSocket version" +msgstr "Versi WebSocket tidak disokong" + +#: libsoup/soup-websocket.c:684 +msgid "Invalid WebSocket key" +msgstr "Kunci WebSocket tidak sah" + +#: libsoup/soup-websocket.c:703 +msgid "Unsupported WebSocket subprotocol" +msgstr "Subprotokol WebSocket tidak disokong" + +#: libsoup/soup-websocket.c:975 +msgid "Server rejected WebSocket handshake" +msgstr "Pelayan menolak jabat tangan WebSocket" + +#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992 +msgid "Server ignored WebSocket handshake" +msgstr "Pelayan mengabaikan jabat tangan WebSocket" + +#: libsoup/soup-websocket.c:1004 +msgid "Server requested unsupported protocol" +msgstr "Pelayan meminta protokol tidak disokong" + +#: libsoup/soup-tld.c:150 +msgid "No public-suffix list available." +msgstr "Tiada senarai akhiran-awam tersedia." + +#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176 +msgid "Invalid hostname" +msgstr "Nama hos tidak sah" + +#: libsoup/soup-tld.c:167 +msgid "Hostname is an IP address" +msgstr "Nama hos ialah alamat IP" + +#: libsoup/soup-tld.c:188 +msgid "Hostname has no base domain" +msgstr "Nama hos tidak mempunyai domain tapak" + +#: libsoup/soup-tld.c:196 +msgid "Not enough domains" +msgstr "Domain tidak mencukupi" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.68.3/tests/websocket-test.c new/libsoup-2.68.4/tests/websocket-test.c --- old/libsoup-2.68.3/tests/websocket-test.c 2019-12-04 11:50:12.000000000 +0100 +++ new/libsoup-2.68.4/tests/websocket-test.c 2020-02-26 00:57:19.872108500 +0100 @@ -1067,6 +1067,34 @@ g_io_stream_close (test->raw_server, NULL, NULL); } +static gboolean +on_close_unref_connection (SoupWebsocketConnection *ws, + gpointer user_data) +{ + Test *test = user_data; + + g_assert_true (test->server == ws); + g_clear_object (&test->server); + return TRUE; +} + +static void +test_server_unref_connection_on_close (Test *test, + gconstpointer data) +{ + gboolean close_event_client = FALSE; + + g_signal_connect (test->client, "closed", G_CALLBACK (on_close_set_flag), &close_event_client); + g_signal_connect (test->server, "closed", G_CALLBACK (on_close_unref_connection), test); + soup_websocket_connection_close (test->client, SOUP_WEBSOCKET_CLOSE_GOING_AWAY, "client closed"); + g_assert_cmpint (soup_websocket_connection_get_state (test->client), ==, SOUP_WEBSOCKET_STATE_CLOSING); + + WAIT_UNTIL (test->server == NULL); + WAIT_UNTIL (soup_websocket_connection_get_state (test->client) == SOUP_WEBSOCKET_STATE_CLOSED); + + g_assert_true (close_event_client); +} + static gpointer timeout_server_thread (gpointer user_data) { @@ -1923,6 +1951,11 @@ test_close_after_close, teardown_direct_connection); + g_test_add ("/websocket/soup/server-unref-connection-on-close", Test, NULL, + setup_soup_connection, + test_server_unref_connection_on_close, + teardown_soup_connection); + g_test_add ("/websocket/direct/protocol-negotiate", Test, NULL, NULL, test_protocol_negotiate_direct,
