Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libsoup for openSUSE:Factory checked 
in at 2021-10-29 22:33:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsoup (Old)
 and      /work/SRC/openSUSE:Factory/.libsoup.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libsoup"

Fri Oct 29 22:33:44 2021 rev:129 rq:927470 version:3.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libsoup/libsoup.changes  2021-10-04 
18:39:32.998017075 +0200
+++ /work/SRC/openSUSE:Factory/.libsoup.new.1890/libsoup.changes        
2021-10-29 22:34:35.911690399 +0200
@@ -1,0 +2,13 @@
+Sun Oct 24 17:46:33 UTC 2021 - Bj??rn Lie <bjorn....@gmail.com>
+
+- Update to version 3.0.2:
+  + Add support for multiple auth challenges in one response.
+  + Fix SoupCache test failures on 32bit
+  + Don't treat `-Wincompatible-pointer-types` as error. The
+    `glib-mkenums` tool sometimes triggered this.
+  + Improve `gssapi` dependency handling.
+  + Fix undefined `ssize_t` on Windows.
+  + Updated translations.
+- No longer ignore test failure on 32-bit arches, fixed upstream.
+
+-------------------------------------------------------------------

Old:
----
  libsoup-3.0.1.tar.xz

New:
----
  libsoup-3.0.2.tar.xz

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

Other differences:
------------------
++++++ libsoup.spec ++++++
--- /var/tmp/diff_new_pack.oVfbOl/_old  2021-10-29 22:34:36.343690562 +0200
+++ /var/tmp/diff_new_pack.oVfbOl/_new  2021-10-29 22:34:36.347690564 +0200
@@ -18,7 +18,7 @@
 
 %define api_version 3.0
 Name:           libsoup
-Version:        3.0.1
+Version:        3.0.2
 Release:        0
 Summary:        HTTP client/server library for GNOME
 License:        LGPL-2.1-or-later
@@ -136,12 +136,7 @@
 %check
 # Run the regression tests using GnuTLS NORMAL priority
 export G_TLS_GNUTLS_PRIORITY=NORMAL
-# Ignore test failure on 32-bit - 
https://gitlab.gnome.org/GNOME/libsoup/-/issues/236
-%meson_test \
-%ifarch %ix86 %{arm}
- || :
-%endif
-%nil
+%meson_test
 
 %post 3_0-0 -p /sbin/ldconfig
 %postun 3_0-0 -p /sbin/ldconfig

++++++ libsoup-3.0.1.tar.xz -> libsoup-3.0.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/NEWS new/libsoup-3.0.2/NEWS
--- old/libsoup-3.0.1/NEWS      2021-09-26 18:25:13.753087300 +0200
+++ new/libsoup-3.0.2/NEWS      2021-10-24 18:27:01.521673400 +0200
@@ -1,3 +1,18 @@
+Changes in libsoup from 3.0.1 to 3.0.2:
+
+* Add support for multiple auth challenges in one response [Patrick Griffis]
+
+* Fix SoupCache test failures on 32bit [Patrick Griffis]
+
+* Don't treat `-Wincompatible-pointer-types` as error
+  The `glib-mkenums` tool sometimes triggered this [Patrick Griffis]
+
+* Improve `gssapi` dependency handling [Nirbheek Chauhan]
+
+* Fix undefined `ssize_t` on Windows [Chun-wei Fan]
+
+* Updated translations: Hebrew
+
 Changes in libsoup from 3.0.0 to 3.0.1:
 
 * Move python overrides to upstream pygobject [Patrick Griffis]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/libsoup/auth/soup-auth-manager.c 
new/libsoup-3.0.2/libsoup/auth/soup-auth-manager.c
--- old/libsoup-3.0.1/libsoup/auth/soup-auth-manager.c  2021-09-26 
18:25:13.755087100 +0200
+++ new/libsoup-3.0.2/libsoup/auth/soup-auth-manager.c  2021-10-24 
18:27:01.523673500 +0200
@@ -311,41 +311,49 @@
        return NULL;
 }
 
-static char *
-soup_auth_manager_extract_challenge (const char *challenges, const char 
*scheme)
+static GStrv
+soup_auth_manager_extract_challenges (const char *challenges, const char 
*scheme)
 {
+        GPtrArray *challenge_list = g_ptr_array_new ();
        GSList *items, *i, *next;
        int schemelen = strlen (scheme);
        char *item;
        GString *challenge;
 
-       items = soup_header_parse_list (challenges);
+       i = items = soup_header_parse_list (challenges);
 
-       /* First item will start with the scheme name, followed by
-        * either nothing, or else a space and then the first
-        * auth-param.
-        */
-       for (i = items; i; i = next_challenge_start (i->next)) {
-               item = i->data;
-               if (!g_ascii_strncasecmp (item, scheme, schemelen) &&
-                   (!item[schemelen] || g_ascii_isspace (item[schemelen])))
-                       break;
-       }
-       if (!i) {
-               soup_header_free_list (items);
-               return NULL;
-       }
-
-       next = next_challenge_start (i->next);
-       challenge = g_string_new (item);
-       for (i = i->next; i != next; i = i->next) {
-               item = i->data;
-               g_string_append (challenge, ", ");
-               g_string_append (challenge, item);
-       }
+        /* We need to split this list into individual challenges. */
+        while (i) {
+                /* First item will start with the scheme name, followed by
+                * either nothing, or else a space and then the first
+                * auth-param.
+                */
+                for (; i; i = next_challenge_start (i->next)) {
+                        item = i->data;
+                        if (!g_ascii_strncasecmp (item, scheme, schemelen) &&
+                            (!item[schemelen] || g_ascii_isspace 
(item[schemelen])))
+                                break;
+                }
+                if (!i)
+                        break;
+
+                next = next_challenge_start (i->next);
+                challenge = g_string_new (item);
+                for (i = i->next; i != next; i = i->next) {
+                        item = i->data;
+                        g_string_append (challenge, ", ");
+                        g_string_append (challenge, item);
+                }
+
+                i = next;
+                g_ptr_array_add (challenge_list, g_string_free (challenge, 
FALSE));
+        };
 
        soup_header_free_list (items);
-       return g_string_free (challenge, FALSE);
+
+        if (challenge_list->len)
+                g_ptr_array_add (challenge_list, NULL); /* Trailing NULL for 
GStrv. */
+        return (GStrv)g_ptr_array_free (challenge_list, FALSE);
 }
 
 static SoupAuth *
@@ -353,7 +361,7 @@
 {
        const char *header;
        SoupAuthClass *auth_class;
-       char *challenge = NULL;
+        GStrv challenges;
        SoupAuth *auth = NULL;
        int i;
 
@@ -363,38 +371,56 @@
 
        for (i = priv->auth_types->len - 1; i >= 0; i--) {
                auth_class = priv->auth_types->pdata[i];
-               challenge = soup_auth_manager_extract_challenge (header, 
auth_class->scheme_name);
-               if (!challenge)
-                       continue;
-               auth = soup_auth_new (G_TYPE_FROM_CLASS (auth_class), msg, 
challenge);
-               g_free (challenge);
-               if (auth)
-                       break;
+                challenges = soup_auth_manager_extract_challenges (header, 
auth_class->scheme_name);
+                if (!challenges)
+                        continue;
+
+                for (int j = 0; challenges[j]; j++) {
+                        /* TODO: We use the first successfully parsed auth, in 
the future this should
+                         * prioritise more secure ones when they are 
supported. */
+                        auth = soup_auth_new (G_TYPE_FROM_CLASS (auth_class), 
msg, challenges[j]);
+                        if (auth) {
+                                g_strfreev (challenges);
+                                return auth;
+                        }
+                }
+
+               g_strfreev (challenges);
        }
 
-       return auth;
+       return NULL;
 }
 
 static gboolean
 check_auth (SoupMessage *msg, SoupAuth *auth)
 {
        const char *header, *scheme;
-       char *challenge = NULL;
+        GStrv challenges = NULL;
        gboolean ok = TRUE;
+        gboolean a_challenge_was_ok = FALSE;
 
        scheme = soup_auth_get_scheme_name (auth);
 
        header = auth_header_for_message (msg);
        if (header)
-               challenge = soup_auth_manager_extract_challenge (header, 
scheme);
-       if (!challenge) {
-               ok = FALSE;
-               challenge = g_strdup (scheme);
+                challenges = soup_auth_manager_extract_challenges (header, 
scheme);
+       if (!challenges) {
+                challenges = g_new0 (char*, 2);
+                challenges[0] = g_strdup (scheme);
+                ok = FALSE;
        }
 
-       if (!soup_auth_update (auth, msg, challenge))
-               ok = FALSE;
-       g_free (challenge);
+        for (int i = 0; challenges[i]; i++) {
+                if (soup_auth_update (auth, msg, challenges[i])) {
+                        a_challenge_was_ok = TRUE;
+                        break;
+                }
+        }
+
+        if (!a_challenge_was_ok)
+                ok = FALSE;
+
+        g_strfreev (challenges);
        return ok;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/libsoup/cache/soup-cache.c 
new/libsoup-3.0.2/libsoup/cache/soup-cache.c
--- old/libsoup-3.0.1/libsoup/cache/soup-cache.c        2021-09-26 
18:25:13.758087200 +0200
+++ new/libsoup-3.0.2/libsoup/cache/soup-cache.c        2021-10-24 
18:27:01.523673500 +0200
@@ -412,7 +412,7 @@
        date = soup_message_headers_get_one_common (entry->headers, 
SOUP_HEADER_DATE);
        if (expires && date) {
                GDateTime *expires_d, *date_d;
-               time_t expires_t, date_t;
+               gint64 expires_t, date_t;
 
                expires_d = soup_date_time_new_from_http_string (expires);
                if (expires_d) {
@@ -456,7 +456,7 @@
        last_modified = soup_message_headers_get_one_common (entry->headers, 
SOUP_HEADER_LAST_MODIFIED);
        if (last_modified) {
                GDateTime *soup_date;
-               time_t now, last_modified_t;
+               gint64 now, last_modified_t;
 
                soup_date = soup_date_time_new_from_http_string (last_modified);
                last_modified_t = g_date_time_to_unix (soup_date);
@@ -504,7 +504,7 @@
        if (date) {
                GDateTime *soup_date;
                const char *age;
-               time_t date_value, apparent_age, corrected_received_age, 
response_delay, age_value = 0;
+               gint64 date_value, apparent_age, corrected_received_age, 
response_delay, age_value = 0;
 
                soup_date = soup_date_time_new_from_http_string (date);
                date_value = g_date_time_to_unix (soup_date);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/libsoup/meson.build 
new/libsoup-3.0.2/libsoup/meson.build
--- old/libsoup-3.0.1/libsoup/meson.build       2021-09-26 18:25:13.763087300 
+0200
+++ new/libsoup-3.0.2/libsoup/meson.build       2021-10-24 18:27:01.526673600 
+0200
@@ -184,6 +184,7 @@
   libpsl_dep,
   brotlidec_dep,
   platform_deps,
+  gssapi_dep,
   libz_dep,
   libnghttp2_dep,
 ]
@@ -240,13 +241,13 @@
 libsoup_dep = declare_dependency(link_with : libsoup,
   include_directories : libsoup_includes,
   sources : soup_enum_h,
-  dependencies : [ platform_deps, glib_deps ]
+  dependencies : [ platform_deps, gssapi_dep, glib_deps ]
 )
 
 libsoup_static_dep = declare_dependency(link_with : libsoup_static,
   include_directories : libsoup_includes,
   sources : soup_enum_h,
-  dependencies : [ platform_deps, glib_deps ]
+  dependencies : [ platform_deps, gssapi_dep, glib_deps ]
 )
 
 if enable_introspection or enable_vapi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/meson.build 
new/libsoup-3.0.2/meson.build
--- old/libsoup-3.0.1/meson.build       2021-09-26 18:25:13.773087300 +0200
+++ new/libsoup-3.0.2/meson.build       2021-10-24 18:27:01.531673400 +0200
@@ -1,5 +1,5 @@
 project('libsoup', 'c',
-        version: '3.0.1',
+        version: '3.0.2',
         meson_version : '>= 0.53',
         license : 'LGPL2',
         default_options : [
@@ -19,7 +19,7 @@
 #
 # When bumping the first component version, set the second and third components
 # to 0. When bumping the second version, set the third one to zero.
-libversion = '0.0.1'
+libversion = '0.0.2'
 apiversion = '3.0'
 soversion = libversion.split('.')[0]
 libsoup_api_name = '@0@-@1@'.format(meson.project_name(), apiversion)
@@ -48,6 +48,12 @@
 ]
 
 cc = meson.get_compiler('c')
+
+# define ssize_t as Microsoft's headers do not define it
+if cc.get_argument_syntax() == 'msvc'
+  add_project_arguments('-Dssize_t=gssize', language: 'c')
+endif
+
 # Enable extra warnings if compiler supports them.
 if cc.get_id() == 'msvc'
   common_flags += ['/FImsvc_recommended_pragmas.h']
@@ -64,7 +70,7 @@
       '-Werror=aggregate-return',
       '-Werror=format=2',
       '-Werror=return-type',
-      '-Werror=incompatible-pointer-types',
+      '-Wincompatible-pointer-types',
       '-Wstrict-prototypes',
       '-Wno-format-zero-length',
       '-Wno-missing-include-dirs',
@@ -311,12 +317,11 @@
   else
     gssapi_lib_type = '64'
   endif
-  gssapi_lib = cc.find_library('gssapi' + gssapi_lib_type,
+  gssapi_dep = cc.find_library('gssapi' + gssapi_lib_type,
     has_headers: 'gssapi/gssapi.h',
     required: gssapi_opt)
-  if gssapi_lib.found()
+  if gssapi_dep.found()
       enable_gssapi = true
-      add_project_link_arguments('gssapi@0@.lib'.format(gssapi_lib_type), 
language : 'c')
   endif
 else
   krb5_config_path = get_option('krb5_config')
@@ -329,9 +334,12 @@
     cflags_output = run_command (krb5_config, '--cflags', 'gssapi', check: 
gssapi_opt.enabled())
     if libs_output.returncode() == 0 and cflags_output.returncode() == 0
       enable_gssapi = true
-      add_project_link_arguments(libs_output.stdout().split(), language : 'c')
-      add_project_arguments(cflags_output.stdout().split(), language : 'c')
+      gssapi_dep = declare_dependency(
+        link_args: libs_output.stdout().split(),
+        compile_args: cflags_output.stdout().split())
     endif
+  else
+    gssapi_dep = dependency('', required: false)
   endif
 endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/po/he.po new/libsoup-3.0.2/po/he.po
--- old/libsoup-3.0.1/po/he.po  2021-09-26 18:25:13.775087400 +0200
+++ new/libsoup-3.0.2/po/he.po  2021-10-24 18:27:01.532673400 +0200
@@ -7,172 +7,210 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libsoup gnome\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-11-17 22:36+0200\n"
-"PO-Revision-Date: 2016-11-17 22:38+0200\n"
-"Last-Translator: Yosef Or Boczko <yosef...@gmail.com>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n";
+"POT-Creation-Date: 2021-06-11 18:40+0000\n"
+"PO-Revision-Date: 2021-09-28 23:32+0300\n"
+"Last-Translator: Yaron Shahrabani <sh.ya...@gmail.com>\n"
 "Language-Team: ?????????? <>\n"
 "Language: he\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Poedit-Language: Hebrew\n"
-"X-Poedit-Country: ISRAEL\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Gtranslator 2.91.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:235
-msgid "Connection terminated unexpectedly"
-msgstr "???????????? ?????????? ?????????? ???????? ????????"
-
-#: ../libsoup/soup-body-input-stream.c:459
-msgid "Invalid seek request"
-msgstr "???????? ?????????? ??????????"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? 2 : 
3);\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Generator: Poedit 3.0\n"
 
-#: ../libsoup/soup-body-input-stream.c:487
-msgid "Cannot truncate SoupBodyInputStream"
-msgstr "???? ???????? ???????? ???? SoupBodyInputStream"
-
-#: ../libsoup/soup-cache-input-stream.c:76
+#: libsoup/cache/soup-cache-input-stream.c:70
 msgid "Network stream unexpectedly closed"
 msgstr "?????????? ???????? ???????? ??????????????????"
 
-#: ../libsoup/soup-cache-input-stream.c:291
+#: libsoup/cache/soup-cache-input-stream.c:252
 msgid "Failed to completely cache the resource"
 msgstr "?????????? ?????????? ???????????? ???????????? ??????????"
 
-#: ../libsoup/soup-converter-wrapper.c:189
+#: libsoup/content-decoder/soup-converter-wrapper.c:197
 #, c-format
 msgid "Output buffer is too small"
 msgstr "???????? ???????? ?????? ??????"
 
-#: ../libsoup/soup-message-client-io.c:41
+#: libsoup/http1/soup-body-input-stream.c:155
+#: libsoup/http1/soup-body-input-stream.c:187
+#: libsoup/http1/soup-body-input-stream.c:220
+#: libsoup/http1/soup-message-io-data.c:77
+msgid "Connection terminated unexpectedly"
+msgstr "???????????? ?????????? ?????????? ???????? ????????"
+
+#: libsoup/http1/soup-body-input-stream.c:471
+msgid "Invalid seek request"
+msgstr "???????? ?????????? ??????????"
+
+#: libsoup/http1/soup-body-input-stream.c:499
+msgid "Cannot truncate SoupBodyInputStream"
+msgstr "???? ???????? ???????? ???? SoupBodyInputStream"
+
+#: libsoup/http1/soup-client-message-io-http1.c:312
+#: libsoup/http1/soup-client-message-io-http1.c:756
+#: libsoup/http2/soup-body-input-stream-http2.c:221
+#: libsoup/server/soup-server-io.c:354 libsoup/server/soup-server-io.c:819
+msgid "Operation would block"
+msgstr "???????????? ??????????"
+
+#: libsoup/http1/soup-client-message-io-http1.c:456
 msgid "Could not parse HTTP response"
 msgstr "???? ???????? ???????? ???? ?????????? ????HTTP"
 
-#: ../libsoup/soup-message-client-io.c:66
+#: libsoup/http1/soup-client-message-io-http1.c:479
 msgid "Unrecognized HTTP response encoding"
 msgstr "?????????? ?????????? ????HTTP ???????? ????????"
 
-#: ../libsoup/soup-message-io.c:392 ../libsoup/soup-message-io.c:1020
-msgid "Operation would block"
-msgstr "???????????? ??????????"
-
-#: ../libsoup/soup-message-io.c:972 ../libsoup/soup-message-io.c:1005
+#: libsoup/http1/soup-client-message-io-http1.c:715
+#: libsoup/http1/soup-client-message-io-http1.c:741
+#: libsoup/http2/soup-client-message-io-http2.c:1426
+#: libsoup/http2/soup-client-message-io-http2.c:1450
 msgid "Operation was cancelled"
 msgstr "???????????? ??????????"
 
-#: ../libsoup/soup-message-server-io.c:64
-msgid "Could not parse HTTP request"
-msgstr "???? ???????? ???????? ???? ?????????? ????HTTP"
-
-#: ../libsoup/soup-request.c:140
-#, c-format
-msgid "No URI provided"
-msgstr "???? ?????????? ??????????"
+#: libsoup/http1/soup-message-io-data.c:105
+msgid "Header too big"
+msgstr "???????????? ?????????? ??????"
 
-#: ../libsoup/soup-request.c:150
-#, c-format
-msgid "Invalid ???%s??? URI: %s"
-msgstr "?????????? ???%s??? ??????????: %s"
-
-#: ../libsoup/soup-server.c:1727
+#: libsoup/server/soup-server.c:1072
 msgid "Can???t create a TLS server without a TLS certificate"
 msgstr "???? ???????? ?????????? ???????? TLS ?????? ?????????? TLS"
 
-#: ../libsoup/soup-server.c:1744
+#: libsoup/server/soup-server.c:1088
 #, c-format
 msgid "Could not listen on address %s, port %d: "
-msgstr "???? ???????? ???????????? ???????????? %s, ???????? %d:"
+msgstr "???? ???????? ???????????? ???????????? %s, ???????? %d: "
 
-#: ../libsoup/soup-session.c:4525
-#, c-format
-msgid "Could not parse URI ???%s???"
-msgstr "???? ???????? ???????? ???? ???????????? ???%s???"
+#: libsoup/server/soup-socket.c:116
+msgid "Could not import existing socket: "
+msgstr "???? ???????? ?????????? ?????? ????????: "
 
-#: ../libsoup/soup-session.c:4562
-#, c-format
-msgid "Unsupported URI scheme ???%s???"
-msgstr "?????????? ???????????? ???????? ?????????? ???%s???"
+#: libsoup/server/soup-socket.c:125
+msgid "Can???t import unconnected socket"
+msgstr "???? ???????? ?????????? ?????? ???? ??????????"
+
+#: libsoup/soup-session.c:1166
+msgid "Location header is missing or empty in response headers"
+msgstr "?????????? ???????????? ???????? ???? ???????? ?????????????? 
????????????"
 
-#: ../libsoup/soup-session.c:4584
+#: libsoup/soup-session.c:1180
 #, c-format
-msgid "Not an HTTP URI"
-msgstr "?????????? ?????????? HTTP"
+msgid "Invalid URI ???%s??? in Location response header"
+msgstr "?????????? ?????????? ???%s??? ???????????? ?????????? ????????????"
+
+#: libsoup/soup-session.c:1200
+msgid "Too many redirects"
+msgstr "???????? ?????? ????????????"
+
+#: libsoup/soup-session.c:1205
+msgid "Message was restarted too many times"
+msgstr "???????????? ???????????? ???????? ???????? ?????? ??????????"
+
+#: libsoup/soup-session.c:3315 libsoup/soup-session.c:3464
+msgid "Message is already in session queue"
+msgstr "???????????? ?????? ???????? ????????????"
 
-#: ../libsoup/soup-session.c:4770
+#: libsoup/soup-session.c:3825
 msgid "The server did not accept the WebSocket handshake."
-msgstr "???????? ???? ???????? ???? ?????????? ?????? ???? ????WebSocket"
+msgstr "???????? ???? ???????? ???? ?????????? ?????? ???? ????WebSocket."
 
-#: ../libsoup/soup-socket.c:148
-msgid "Can???t import non-socket as SoupSocket"
-msgstr "???? ???????? ?????????? ????-?????? ????SoupSocket"
+#: libsoup/soup-tld.c:142
+msgid "No public-suffix list available."
+msgstr "?????? ?????????? ???????????? ???????????????? ??????????."
 
-#: ../libsoup/soup-socket.c:166
-msgid "Could not import existing socket: "
-msgstr "???? ???????? ?????????? ?????? ????????:"
+#: libsoup/soup-tld.c:152 libsoup/soup-tld.c:168
+msgid "Invalid hostname"
+msgstr "???? ???????? ????????"
 
-#: ../libsoup/soup-socket.c:175
-msgid "Can???t import unconnected socket"
-msgstr "???? ???????? ?????????? ?????? ???? ??????????"
+#: libsoup/soup-tld.c:159
+msgid "Hostname is an IP address"
+msgstr "???? ?????????? ?????? ?????????? IP"
+
+#: libsoup/soup-tld.c:180
+msgid "Hostname has no base domain"
+msgstr "?????? ?????????? ?????? ???? ???????? ??????????"
+
+#: libsoup/soup-tld.c:188
+msgid "Not enough domains"
+msgstr "?????? ?????????? ???????? ????????"
+
+#: libsoup/websocket/soup-websocket.c:399
+#: libsoup/websocket/soup-websocket.c:443
+#: libsoup/websocket/soup-websocket.c:459
+msgid "Server requested unsupported extension"
+msgstr "???????? ???????? ?????????? ???? ??????????"
+
+#: libsoup/websocket/soup-websocket.c:422
+#: libsoup/websocket/soup-websocket.c:614
+#, c-format
+msgid "Incorrect WebSocket ???%s??? header"
+msgstr "???????? WebSocket ??????%s??? ????????"
+
+#: libsoup/websocket/soup-websocket.c:423
+#: libsoup/websocket/soup-websocket.c:878
+#, c-format
+msgid "Server returned incorrect ???%s??? key"
+msgstr "???????? ?????????? ???????? ???%s??? ????????"
+
+#: libsoup/websocket/soup-websocket.c:486
+#, c-format
+msgid "Duplicated parameter in ???%s??? WebSocket extension header"
+msgstr "?????????? ???????? ???????????? ?????????? WebSocket??? ???%s???"
 
-#: ../libsoup/soup-websocket.c:338 ../libsoup/soup-websocket.c:347
+#: libsoup/websocket/soup-websocket.c:487
+#, c-format
+msgid "Server returned a duplicated parameter in ???%s??? WebSocket extension 
header"
+msgstr "???????? ?????????? ?????????? ???????? ???????????? ?????????? 
WebSocket??? ???%s???"
+
+#: libsoup/websocket/soup-websocket.c:577
+#: libsoup/websocket/soup-websocket.c:587
 msgid "WebSocket handshake expected"
 msgstr "?????????? ?????????? ???? ??????WebSocket"
 
-#: ../libsoup/soup-websocket.c:355
+#: libsoup/websocket/soup-websocket.c:595
 msgid "Unsupported WebSocket version"
 msgstr "???????? WebSocket ???? ??????????"
 
-#: ../libsoup/soup-websocket.c:364
+#: libsoup/websocket/soup-websocket.c:604
 msgid "Invalid WebSocket key"
 msgstr "???????? WebSocket ???? ????????"
 
-#: ../libsoup/soup-websocket.c:374
-#, c-format
-msgid "Incorrect WebSocket ???%s??? header"
-msgstr "???????? WebSocket ??????%s??? ????????"
-
-#: ../libsoup/soup-websocket.c:383
+#: libsoup/websocket/soup-websocket.c:623
 msgid "Unsupported WebSocket subprotocol"
 msgstr "???????????????? WebSocket ???? ????????"
 
-#: ../libsoup/soup-websocket.c:510
+#: libsoup/websocket/soup-websocket.c:829
 msgid "Server rejected WebSocket handshake"
 msgstr "???????? ?????? ???? ?????????? ?????? ???? ????WebSocket"
 
-#: ../libsoup/soup-websocket.c:518 ../libsoup/soup-websocket.c:527
+#: libsoup/websocket/soup-websocket.c:837
+#: libsoup/websocket/soup-websocket.c:846
 msgid "Server ignored WebSocket handshake"
 msgstr "???????? ?????????? ???????????? ?????? ???? ????WebSocket"
 
-#: ../libsoup/soup-websocket.c:539
+#: libsoup/websocket/soup-websocket.c:858
 msgid "Server requested unsupported protocol"
 msgstr "???????? ???????? ???????????????? ???? ????????"
 
-#: ../libsoup/soup-websocket.c:549
-msgid "Server requested unsupported extension"
-msgstr "???????? ???????? ?????????? ???? ??????????"
+#~ msgid "Could not parse HTTP request"
+#~ msgstr "???? ???????? ???????? ???? ?????????? ????HTTP"
 
-#: ../libsoup/soup-websocket.c:562
-#, c-format
-msgid "Server returned incorrect ???%s??? key"
-msgstr "???????? ?????????? ???????? ???%s??? ????????"
+#~ msgid "No URI provided"
+#~ msgstr "???? ?????????? ??????????"
 
-#: ../libsoup/soup-tld.c:188
-msgid "Hostname is an IP address"
-msgstr "???? ?????????? ?????? ?????????? IP"
+#~ msgid "Invalid ???%s??? URI: %s"
+#~ msgstr "?????????? ???%s??? ??????????: %s"
 
-#: ../libsoup/soup-tld.c:198 ../libsoup/soup-tld.c:220
-msgid "Invalid hostname"
-msgstr "???? ???????? ????????"
+#~ msgid "Could not parse URI ???%s???"
+#~ msgstr "???? ???????? ???????? ???? ???????????? ???%s???"
 
-#: ../libsoup/soup-tld.c:250
-msgid "Hostname has no base domain"
-msgstr "?????? ?????????? ?????? ???? ???????? ??????????"
+#~ msgid "Unsupported URI scheme ???%s???"
+#~ msgstr "?????????? ???????????? ???????? ?????????? ???%s???"
 
-#: ../libsoup/soup-tld.c:304
-msgid "Not enough domains"
-msgstr "?????? ?????????? ???????? ????????"
+#~ msgid "Not an HTTP URI"
+#~ msgstr "?????????? ?????????? HTTP"
+
+#~ msgid "Can???t import non-socket as SoupSocket"
+#~ msgstr "???? ???????? ?????????? ????-?????? ????SoupSocket"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsoup-3.0.1/tests/auth-test.c 
new/libsoup-3.0.2/tests/auth-test.c
--- old/libsoup-3.0.1/tests/auth-test.c 2021-09-26 18:25:13.780087200 +0200
+++ new/libsoup-3.0.2/tests/auth-test.c 2021-10-24 18:27:01.534673500 +0200
@@ -1760,6 +1760,76 @@
        soup_test_session_abort_unref (session);
 }
 
+static void
+on_request_read (SoupServer        *server,
+                 SoupServerMessage *msg,
+                 gpointer           user_data)
+{
+        SoupMessageHeaders *response_headers = 
soup_server_message_get_response_headers (msg);
+        char *old_header = g_strdup (soup_message_headers_get_one 
(response_headers, "WWW-Authenticate"));
+        if (old_header) {
+                /* These must be in order to ensure libsoup passes over the 
invalid one. */
+                soup_message_headers_replace (response_headers, 
"WWW-Authenticate",
+                                "Digest realm=\"auth-test\", 
nonce=\"0000000000001\", qop=\"auth\", algorithm=FAKE");
+                soup_message_headers_append (response_headers, 
"WWW-Authenticate", old_header);
+                g_free (old_header);
+        }
+}
+
+static gboolean
+on_digest_authenticate (SoupMessage *msg,
+                        SoupAuth    *auth,
+                        gboolean     retrying,
+                        gpointer     user_data)
+{
+        g_assert_false (retrying);
+        soup_auth_authenticate (auth, "user", "good");
+        return TRUE;
+}
+
+static void
+do_multiple_digest_algorithms (void)
+{
+        SoupSession *session;
+        SoupMessage *msg;
+        SoupServer *server;
+        SoupAuthDomain *digest_auth_domain;
+        gint status;
+        GUri *uri;
+
+               server = soup_test_server_new (SOUP_TEST_SERVER_IN_THREAD);
+       soup_server_add_handler (server, NULL,
+                                server_callback, NULL, NULL);
+       uri = soup_test_server_get_uri (server, "http", NULL);
+
+        /* Add one real authentication option, later we will add
+           a fake one with an unsupported algorithm. */
+       digest_auth_domain = soup_auth_domain_digest_new (
+               "realm", "auth-test",
+               "auth-callback", server_digest_auth_callback,
+               NULL);
+        soup_auth_domain_add_path (digest_auth_domain, "/");
+       soup_server_add_auth_domain (server, digest_auth_domain);
+        g_object_unref (digest_auth_domain);
+
+        /* We wait for the message to come in and will add a header. */
+        g_signal_connect (server, "request-read",
+                          G_CALLBACK (on_request_read),
+                          NULL);
+
+        session = soup_test_session_new (NULL);
+        msg = soup_message_new_from_uri ("GET", uri);
+        g_signal_connect (msg, "authenticate",
+                          G_CALLBACK (on_digest_authenticate),
+                          NULL);
+
+        status = soup_test_session_send_message (session, msg);
+
+        g_assert_cmpint (status, ==, SOUP_STATUS_OK);
+       g_uri_unref (uri);
+       soup_test_server_quit_unref (server);
+}
+
 int
 main (int argc, char **argv)
 {
@@ -1791,6 +1861,7 @@
        g_test_add_func ("/auth/cancel-on-authenticate", 
do_cancel_on_authenticate);
        g_test_add_func ("/auth/auth-uri", do_auth_uri_test);
         g_test_add_func ("/auth/cancel-request-on-authenticate", 
do_cancel_request_on_authenticate);
+        g_test_add_func ("/auth/multiple-algorithms", 
do_multiple_digest_algorithms);
 
        ret = g_test_run ();
 

Reply via email to