Hello community,
here is the log from the commit of package libsoup for openSUSE:Factory checked in at 2015-10-25 19:10:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsoup (Old)
and /work/SRC/openSUSE:Factory/.libsoup.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsoup"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libsoup/libsoup.changes 2015-10-06 16:26:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libsoup.new/libsoup.changes 2015-10-25 19:10:53.000000000 +0100
@@ -1,0 +2,12 @@
+Mon Oct 12 21:38:30 UTC 2015 - zaitor@opensuse.org
+
+- Update to version 2.52.1:
+ + Fixed build under MinGW.
+ + Fixed build with --disable-introspection (bgo#755389).
+ + Fixed HTTP authentication protection space handling for files
+ directly under the root directory (bgo#755617).
+ + Fixed a warning when loading data from SoupCache while using
+ an authenticated proxy (bgo#756076).
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
libsoup-2.52.0.tar.xz
New:
----
libsoup-2.52.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libsoup.spec ++++++
--- /var/tmp/diff_new_pack.Dh6lOe/_old 2015-10-25 19:10:54.000000000 +0100
+++ /var/tmp/diff_new_pack.Dh6lOe/_new 2015-10-25 19:10:54.000000000 +0100
@@ -20,7 +20,7 @@
Summary: HTTP client/server library for GNOME
License: LGPL-2.1+
Group: Development/Libraries/GNOME
-Version: 2.52.0
+Version: 2.52.1
Release: 0
Url: http://www.gnome.org
Source: http://download.gnome.org/sources/libsoup/2.52/%{name}-%{version}.tar.xz
++++++ libsoup-2.52.0.tar.xz -> libsoup-2.52.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/NEWS new/libsoup-2.52.1/NEWS
--- old/libsoup-2.52.0/NEWS 2015-09-21 17:36:01.000000000 +0200
+++ new/libsoup-2.52.1/NEWS 2015-10-12 23:25:50.000000000 +0200
@@ -1,3 +1,20 @@
+Changes in libsoup from 2.52.0 to 2.52.1:
+
+ * Fixed build under MinGW [Chun-wei Fan]
+
+ * Fixed build with --disable-introspection [#755389, Quentin
+ Glidic]
+
+ * Fixed HTTP authentication protection space handling for
+ files directly under the root directory. [#755617, Carlos
+ Garcia Campos]
+
+ * Fixed a warning when loading data from SoupCache while using
+ an authenticated proxy. [#756076, Carlos Garcia Campos]
+
+ * Updated translations:
+ German, Vietnamese
+
Changes in libsoup from 2.51.92 to 2.52.0:
* Removed duplicate test paths from tests/date so it will pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/configure new/libsoup-2.52.1/configure
--- old/libsoup-2.52.0/configure 2015-09-21 17:36:16.000000000 +0200
+++ new/libsoup-2.52.1/configure 2015-10-12 23:26:15.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libsoup 2.52.0.
+# Generated by GNU Autoconf 2.69 for libsoup 2.52.1.
#
# Report bugs to http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup.
#
@@ -651,8 +651,8 @@
# Identity of this package.
PACKAGE_NAME='libsoup'
PACKAGE_TARNAME='libsoup'
-PACKAGE_VERSION='2.52.0'
-PACKAGE_STRING='libsoup 2.52.0'
+PACKAGE_VERSION='2.52.1'
+PACKAGE_STRING='libsoup 2.52.1'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup'
PACKAGE_URL=''
@@ -1530,7 +1530,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libsoup 2.52.0 to adapt to many kinds of systems.
+\`configure' configures libsoup 2.52.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1600,7 +1600,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libsoup 2.52.0:";;
+ short | recursive ) echo "Configuration of libsoup 2.52.1:";;
esac
cat <<\_ACEOF
@@ -1744,7 +1744,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libsoup configure 2.52.0
+libsoup configure 2.52.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2022,7 +2022,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libsoup $as_me 2.52.0, which was
+It was created by libsoup $as_me 2.52.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2888,7 +2888,7 @@
# Define the identity of the package.
PACKAGE='libsoup'
- VERSION='2.52.0'
+ VERSION='2.52.1'
cat >>confdefs.h <<_ACEOF
@@ -3054,7 +3054,7 @@
SOUP_MAJOR_VERSION=2
SOUP_MINOR_VERSION=52
-SOUP_MICRO_VERSION=0
+SOUP_MICRO_VERSION=1
@@ -13752,8 +13752,7 @@
-if test "x$found_introspection" = "xyes"; then
- # Extract the first word of "valac", so it can be a program name with args.
+# Extract the first word of "valac", so it can be a program name with args.
set dummy valac; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -14067,7 +14066,6 @@
-fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib-networking (glib TLS implementation)" >&5
$as_echo_n "checking for glib-networking (glib TLS implementation)... " >&6; }
@@ -15288,7 +15286,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libsoup $as_me 2.52.0, which was
+This file was extended by libsoup $as_me 2.52.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15354,7 +15352,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libsoup config.status 2.52.0
+libsoup config.status 2.52.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/configure.ac new/libsoup-2.52.1/configure.ac
--- old/libsoup-2.52.0/configure.ac 2015-09-21 17:35:26.000000000 +0200
+++ new/libsoup-2.52.1/configure.ac 2015-10-12 23:25:40.000000000 +0200
@@ -4,7 +4,7 @@
m4_define([soup_major_version], [2])
m4_define([soup_minor_version], [52])
-m4_define([soup_micro_version], [0])
+m4_define([soup_micro_version], [1])
AC_PREREQ(2.63)
AC_INIT([libsoup],[soup_major_version.soup_minor_version.soup_micro_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup])
@@ -162,9 +162,7 @@
dnl *****************************
GOBJECT_INTROSPECTION_CHECK([0.9.5])
-if test "x$found_introspection" = "xyes"; then
- VAPIGEN_CHECK()
-fi
+VAPIGEN_CHECK()
AC_MSG_CHECKING([for glib-networking (glib TLS implementation)])
save_CFLAGS="$CFLAGS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/docs/reference/html/libsoup-2.4-Version-Information.html new/libsoup-2.52.1/docs/reference/html/libsoup-2.4-Version-Information.html
--- old/libsoup-2.52.0/docs/reference/html/libsoup-2.4-Version-Information.html 2015-09-21 17:36:53.000000000 +0200
+++ new/libsoup-2.52.1/docs/reference/html/libsoup-2.4-Version-Information.html 2015-10-12 23:26:52.000000000 +0200
@@ -292,7 +292,7 @@
<hr>
<div class="refsect2">
<a name="SOUP-MICRO-VERSION:CAPS"></a><h3>SOUP_MICRO_VERSION</h3>
-<pre class="programlisting">#define SOUP_MICRO_VERSION (0)
+<pre class="programlisting">#define SOUP_MICRO_VERSION (1)
</pre>
<p>Like <a class="link" href="libsoup-2.4-Version-Information.html#soup-get-micro-version" title="soup_get_micro_version ()"><code class="function">soup_get_micro_version()</code></a>, but from the headers used at
application compile time, rather than from the library linked
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/Makefile.am new/libsoup-2.52.1/libsoup/Makefile.am
--- old/libsoup-2.52.0/libsoup/Makefile.am 2015-09-15 16:08:46.000000000 +0200
+++ new/libsoup-2.52.1/libsoup/Makefile.am 2015-10-12 23:20:07.000000000 +0200
@@ -101,6 +101,7 @@
$(SQLITE_LIBS)
libsoup_2_4_la_SOURCES = \
+ gconstructor.h \
soup-address.c \
soup-auth.c \
soup-auth-basic.h \
@@ -150,6 +151,7 @@
soup-filter-input-stream.h \
soup-form.c \
soup-headers.c \
+ soup-init.c \
soup-io-stream.h \
soup-io-stream.c \
soup-logger.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/Makefile.in new/libsoup-2.52.1/libsoup/Makefile.in
--- old/libsoup-2.52.0/libsoup/Makefile.in 2015-09-21 17:36:16.000000000 +0200
+++ new/libsoup-2.52.1/libsoup/Makefile.in 2015-10-12 23:26:16.000000000 +0200
@@ -157,7 +157,7 @@
soup-cookie-jar-db.lo soup-cookie-jar-text.lo soup-date.lo \
soup-directory-input-stream.lo soup-enum-types.lo \
soup-filter-input-stream.lo soup-form.lo soup-headers.lo \
- soup-io-stream.lo soup-logger.lo soup-message.lo \
+ soup-init.lo soup-io-stream.lo soup-logger.lo soup-message.lo \
soup-message-body.lo soup-message-client-io.lo \
soup-message-headers.lo soup-message-io.lo \
soup-message-queue.lo soup-message-server-io.lo soup-method.lo \
@@ -551,6 +551,7 @@
$(SQLITE_LIBS)
libsoup_2_4_la_SOURCES = \
+ gconstructor.h \
soup-address.c \
soup-auth.c \
soup-auth-basic.h \
@@ -600,6 +601,7 @@
soup-filter-input-stream.h \
soup-form.c \
soup-headers.c \
+ soup-init.c \
soup-io-stream.h \
soup-io-stream.c \
soup-logger.c \
@@ -844,6 +846,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-form.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-gnome-features.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-headers.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-init.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-io-stream.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-logger.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-message-body.Plo@am__quote@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/gconstructor.h new/libsoup-2.52.1/libsoup/gconstructor.h
--- old/libsoup-2.52.0/libsoup/gconstructor.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libsoup-2.52.1/libsoup/gconstructor.h 2015-10-12 23:20:07.000000000 +0200
@@ -0,0 +1,94 @@
+/*
+ If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and
+ destructors, in a sane way, including e.g. on library unload. If not you're on
+ your own.
+
+ Some compilers need #pragma to handle this, which does not work with macros,
+ so the way you need to use this is (for constructors):
+
+ #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA
+ #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)
+ #endif
+ G_DEFINE_CONSTRUCTOR(my_constructor)
+ static void my_constructor(void) {
+ ...
+ }
+
+*/
+
+#ifndef __GTK_DOC_IGNORE__
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+
+#define G_HAS_CONSTRUCTORS 1
+
+#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);
+#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);
+
+#elif defined (_MSC_VER) && (_MSC_VER >= 1500)
+/* Visual studio 2008 and later has _Pragma */
+
+#define G_HAS_CONSTRUCTORS 1
+
+#define G_DEFINE_CONSTRUCTOR(_func) \
+ static void _func(void); \
+ static int _func ## _wrapper(void) { _func(); return 0; } \
+ __pragma(section(".CRT$XCU",read)) \
+ __declspec(allocate(".CRT$XCU")) static int (* _array ## _func)(void) = _func ## _wrapper;
+
+#define G_DEFINE_DESTRUCTOR(_func) \
+ static void _func(void); \
+ static int _func ## _constructor(void) { atexit (_func); return 0; } \
+ __pragma(section(".CRT$XCU",read)) \
+ __declspec(allocate(".CRT$XCU")) static int (* _array ## _func)(void) = _func ## _constructor;
+
+#elif defined (_MSC_VER)
+
+#define G_HAS_CONSTRUCTORS 1
+
+/* Pre Visual studio 2008 must use #pragma section */
+#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1
+#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1
+
+#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \
+ section(".CRT$XCU",read)
+#define G_DEFINE_CONSTRUCTOR(_func) \
+ static void _func(void); \
+ static int _func ## _wrapper(void) { _func(); return 0; } \
+ __declspec(allocate(".CRT$XCU")) static int (*p)(void) = _func ## _wrapper;
+
+#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \
+ section(".CRT$XCU",read)
+#define G_DEFINE_DESTRUCTOR(_func) \
+ static void _func(void); \
+ static int _func ## _constructor(void) { atexit (_func); return 0; } \
+ __declspec(allocate(".CRT$XCU")) static int (* _array ## _func)(void) = _func ## _constructor;
+
+#elif defined(__SUNPRO_C)
+
+/* This is not tested, but i believe it should work, based on:
+ * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_pr...
+ */
+
+#define G_HAS_CONSTRUCTORS 1
+
+#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1
+#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1
+
+#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \
+ init(_func)
+#define G_DEFINE_CONSTRUCTOR(_func) \
+ static void _func(void);
+
+#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \
+ fini(_func)
+#define G_DEFINE_DESTRUCTOR(_func) \
+ static void _func(void);
+
+#else
+
+/* constructors not supported for this compiler */
+
+#endif
+
+#endif /* __GTK_DOC_IGNORE__ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/soup-auth-basic.c new/libsoup-2.52.1/libsoup/soup-auth-basic.c
--- old/libsoup-2.52.0/libsoup/soup-auth-basic.c 2015-09-18 16:04:53.000000000 +0200
+++ new/libsoup-2.52.1/libsoup/soup-auth-basic.c 2015-10-12 23:20:07.000000000 +0200
@@ -75,7 +75,9 @@
/* Strip filename component */
p = strrchr (space, '/');
- if (p && p != space && p[1])
+ if (p == space && p[1])
+ p[1] = '\0';
+ else if (p && p[1])
*p = '\0';
return g_slist_prepend (NULL, space);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/soup-auth-manager.c new/libsoup-2.52.1/libsoup/soup-auth-manager.c
--- old/libsoup-2.52.0/libsoup/soup-auth-manager.c 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/libsoup/soup-auth-manager.c 2015-10-12 23:20:07.000000000 +0200
@@ -474,12 +474,12 @@
queue = soup_session_get_queue (priv->session);
item = soup_message_queue_lookup (queue, msg);
- if (item) {
- uri = soup_connection_get_proxy_uri (item->conn);
- soup_message_queue_item_unref (item);
- } else
- uri = NULL;
+ if (!item)
+ return;
+ /* When loaded from the disk cache, the connection is NULL. */
+ uri = item->conn ? soup_connection_get_proxy_uri (item->conn) : NULL;
+ soup_message_queue_item_unref (item);
if (!uri)
return;
} else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/soup-init.c new/libsoup-2.52.1/libsoup/soup-init.c
--- old/libsoup-2.52.0/libsoup/soup-init.c 1970-01-01 01:00:00.000000000 +0100
+++ new/libsoup-2.52.1/libsoup/soup-init.c 2015-10-12 23:20:07.000000000 +0200
@@ -0,0 +1,78 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * soup-session.c
+ *
+ * Copyright (C) 2000-2003, Ximian, Inc.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include
+#endif
+
+#include
+#include "gconstructor.h"
+
+#ifdef G_OS_WIN32
+#define WIN32_LEAN_AND_MEAN
+#include
+
+HMODULE soup_dll;
+#endif
+
+static void
+soup_init (void)
+{
+#ifdef G_OS_WIN32
+ char *basedir = g_win32_get_package_installation_directory_of_module (soup_dll);
+ char *localedir = g_build_filename (basedir, "share", "locale", NULL);
+ bindtextdomain (GETTEXT_PACKAGE, localedir);
+ g_free (localedir);
+ g_free (basedir);
+#else
+ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+#endif
+#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+#endif
+}
+
+#if defined (G_OS_WIN32)
+
+BOOL WINAPI
+DllMain (HINSTANCE hinstDLL,
+ DWORD fdwReason,
+ LPVOID lpvReserved)
+{
+ switch (fdwReason) {
+ case DLL_PROCESS_ATTACH:
+ soup_dll = hinstDLL;
+
+ soup_init ();
+ break;
+
+ case DLL_THREAD_DETACH:
+
+ default:
+ /* do nothing */
+ ;
+ }
+
+ return TRUE;
+}
+
+#elif defined (G_HAS_CONSTRUCTORS)
+
+#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA
+#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(soup_init_ctor)
+#endif
+G_DEFINE_CONSTRUCTOR(soup_init_ctor)
+
+static void
+soup_init_ctor (void)
+{
+ soup_init ();
+}
+
+#else
+# error Your platform/compiler is missing constructor support
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/libsoup/soup-session.c new/libsoup-2.52.1/libsoup/soup-session.c
--- old/libsoup-2.52.0/libsoup/soup-session.c 2015-08-10 15:49:46.000000000 +0200
+++ new/libsoup-2.52.1/libsoup/soup-session.c 2015-10-12 23:20:07.000000000 +0200
@@ -77,48 +77,6 @@
* subtypes) have a #SoupContentDecoder by default.
**/
-#if defined (G_OS_WIN32)
-#define WIN32_LEAN_AND_MEAN
-#include
-
-HMODULE soup_dll;
-
-BOOL WINAPI
-DllMain (HINSTANCE hinstDLL,
- DWORD fdwReason,
- LPVOID lpvReserved)
-{
- switch (fdwReason) {
- case DLL_PROCESS_ATTACH:
- soup_dll = hinstDLL;
- break;
-
- case DLL_THREAD_DETACH:
-
- default:
- /* do nothing */
- ;
- }
-}
-#endif
-
-static void
-soup_init (void)
-{
-#ifdef G_OS_WIN32
- char *basedir = g_win32_get_package_installation_directory_of_module (soup_dll);
- char *localedir = g_build_filename (basedir, "share", "locale", NULL);
- bindtextdomain (GETTEXT_PACKAGE, localedir);
- g_free (localedir);
- g_free (basedir);
-#else
- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
-#endif
-#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-#endif
-}
-
typedef struct {
SoupURI *uri;
SoupAddress *addr;
@@ -214,9 +172,7 @@
#define SOUP_SESSION_USER_AGENT_BASE "libsoup/" PACKAGE_VERSION
-G_DEFINE_TYPE_WITH_CODE (SoupSession, soup_session, G_TYPE_OBJECT,
- soup_init ();
- )
+G_DEFINE_TYPE (SoupSession, soup_session, G_TYPE_OBJECT)
enum {
REQUEST_QUEUED,
@@ -4823,7 +4779,9 @@
{
GTask *task = user_data;
- g_signal_handlers_disconnect_by_func (msg, G_CALLBACK (websocket_connect_async_stop), task);
+ /* Disconnect websocket_connect_async_stop() handler. */
+ g_signal_handlers_disconnect_matched (msg, G_SIGNAL_MATCH_DATA,
+ 0, 0, NULL, NULL, task);
g_task_return_new_error (task,
SOUP_WEBSOCKET_ERROR, SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET,
@@ -4840,7 +4798,9 @@
SoupWebsocketConnection *client;
GError *error = NULL;
- g_signal_handlers_disconnect_by_func (msg, G_CALLBACK (websocket_connect_async_stop), task);
+ /* Disconnect websocket_connect_async_stop() handler. */
+ g_signal_handlers_disconnect_matched (msg, G_SIGNAL_MATCH_DATA,
+ 0, 0, NULL, NULL, task);
if (soup_websocket_client_verify_handshake (item->msg, &error)){
stream = soup_session_steal_connection (item->session, item->msg);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/po/de.po new/libsoup-2.52.1/po/de.po
--- old/libsoup-2.52.0/po/de.po 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/po/de.po 2015-10-12 23:20:07.000000000 +0200
@@ -4,26 +4,27 @@
# Tobias Endrigkeit , 2012.
# Mario Blättermann , 2012, 2013.
# Andre Jonas , 2013.
+# Bernd Homuth , 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libsoup&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-09-21 13:58+0000\n"
-"PO-Revision-Date: 2014-09-21 19:25+0100\n"
-"Last-Translator: Benjamin Steinwender \n"
-"Language-Team: Deutsch >\n"
+"POT-Creation-Date: 2015-09-21 11:01+0000\n"
+"PO-Revision-Date: 2015-09-22 21:16+0200\n"
+"Last-Translator: Bernd Homuth \n"
+"Language-Team: Deutsch \n"
"Language: de\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-Generator: Poedit 1.6.9\n"
+"X-Generator: Gtranslator 2.91.6\n"
#: ../libsoup/soup-body-input-stream.c:140
#: ../libsoup/soup-body-input-stream.c:171
-#: ../libsoup/soup-body-input-stream.c:204 ../libsoup/soup-message-io.c:196
+#: ../libsoup/soup-body-input-stream.c:204 ../libsoup/soup-message-io.c:235
msgid "Connection terminated unexpectedly"
msgstr "Die Verbindung wurde unerwartet beendet"
@@ -35,11 +36,11 @@
msgid "Cannot truncate SoupBodyInputStream"
msgstr "SoupBodyInputStream konnte nicht abgeschnitten werden"
-#: ../libsoup/soup-cache-input-stream.c:73
+#: ../libsoup/soup-cache-input-stream.c:74
msgid "Network stream unexpectedly closed"
msgstr "Netzwerk-Stream wurde unerwartet geschlossen"
-#: ../libsoup/soup-cache-input-stream.c:290
+#: ../libsoup/soup-cache-input-stream.c:291
msgid "Failed to completely cache the resource"
msgstr "Das vollständige Zwischenspeichern der Ressource ist fehlgeschlagen"
@@ -56,15 +57,15 @@
msgid "Unrecognized HTTP response encoding"
msgstr "Unbekannte Kodierung der HTTP-Antwort"
-#: ../libsoup/soup-message-io.c:854 ../libsoup/soup-message-io.c:890
-msgid "Operation was cancelled"
-msgstr "Der Vorgang wurde abgebrochen"
-
-#: ../libsoup/soup-message-io.c:901
+#: ../libsoup/soup-message-io.c:392 ../libsoup/soup-message-io.c:1020
msgid "Operation would block"
msgstr "Der Vorgang würde gestoppt werden"
-#: ../libsoup/soup-message-server-io.c:41
+#: ../libsoup/soup-message-io.c:972 ../libsoup/soup-message-io.c:1005
+msgid "Operation was cancelled"
+msgstr "Der Vorgang wurde abgebrochen"
+
+#: ../libsoup/soup-message-server-io.c:64
msgid "Could not parse HTTP request"
msgstr "HTTP-Anfrage konnte nicht verarbeitet werden"
@@ -78,42 +79,88 @@
msgid "Invalid '%s' URI: %s"
msgstr "Ungültige »%s« Adresse: %s"
-#: ../libsoup/soup-server.c:1528
+#: ../libsoup/soup-server.c:1711
msgid "Can't create a TLS server without a TLS certificate"
msgstr "TLS-Server kann nicht ohne TLS-Zertifikat erstellt werden"
-#: ../libsoup/soup-server.c:1547
+#: ../libsoup/soup-server.c:1730
#, c-format
msgid "Could not listen on address %s, port %d"
msgstr "Auf Adresse %s, Port %d kann nicht gehört werden"
-#: ../libsoup/soup-session.c:4466
+#: ../libsoup/soup-session.c:4587
#, c-format
msgid "Could not parse URI '%s'"
msgstr "Die Adresse »%s« konnte nicht verarbeitet werden"
-#: ../libsoup/soup-session.c:4503
+#: ../libsoup/soup-session.c:4624
#, c-format
msgid "Unsupported URI scheme '%s'"
msgstr "Nicht unterstütztes Adressenschema »%s«"
-#: ../libsoup/soup-session.c:4525
+#: ../libsoup/soup-session.c:4646
#, c-format
msgid "Not an HTTP URI"
msgstr "Keine HTTP-Adresse"
-#: ../libsoup/soup-socket.c:142
+#: ../libsoup/soup-session.c:4830
+msgid "The server did not accept the WebSocket handshake."
+msgstr "Der Server hat den WebSocket-Handshake nicht angenommen."
+
+#: ../libsoup/soup-socket.c:148
msgid "Can't import non-socket as SoupSocket"
msgstr "Nicht-Socket kann nicht als SoupSocket importiert werden"
-#: ../libsoup/soup-socket.c:160
+#: ../libsoup/soup-socket.c:166
msgid "Could not import existing socket: "
msgstr "Bestehendes Socket konnte nicht importieren werden: "
-#: ../libsoup/soup-socket.c:169
+#: ../libsoup/soup-socket.c:175
msgid "Can't import unconnected socket"
msgstr "Unverbundenes Socket kann nicht importiert werden"
+#: ../libsoup/soup-websocket.c:338 ../libsoup/soup-websocket.c:347
+msgid "WebSocket handshake expected"
+msgstr "WebSocket-Handshale erwartet"
+
+#: ../libsoup/soup-websocket.c:355
+msgid "Unsupported WebSocket version"
+msgstr "Nicht unterstütze WebSocket-Version"
+
+#: ../libsoup/soup-websocket.c:364
+msgid "Invalid WebSocket key"
+msgstr "Ungültiger WebSocket-Schlüssel"
+
+#: ../libsoup/soup-websocket.c:374
+#, c-format
+msgid "Incorrect WebSocket \"%s\" header"
+msgstr "Falscher WebSocket »%s«-Kopf"
+
+#: ../libsoup/soup-websocket.c:383
+msgid "Unsupported WebSocket subprotocol"
+msgstr "Nicht unterstütztes WebSocket-Subprotokoll"
+
+#: ../libsoup/soup-websocket.c:510
+msgid "Server rejected WebSocket handshake"
+msgstr "Server lehnte WebSocket-Handshake ab"
+
+#: ../libsoup/soup-websocket.c:518 ../libsoup/soup-websocket.c:527
+msgid "Server ignored WebSocket handshake"
+msgstr "Server ignorierte WebSocket-Handshake"
+
+#: ../libsoup/soup-websocket.c:539
+msgid "Server requested unsupported protocol"
+msgstr "Server forderte nicht unterstütztes Protokoll an"
+
+#: ../libsoup/soup-websocket.c:549
+msgid "Server requested unsupported extension"
+msgstr "Server forderte nicht unterstützte Erweiterung an"
+
+#: ../libsoup/soup-websocket.c:562
+#, c-format
+msgid "Server returned incorrect \"%s\" key"
+msgstr "Server gab falschen »%s«-Schlüssel zurück"
+
#: ../libsoup/soup-tld.c:188
msgid "Hostname is an IP address"
msgstr "Der Rechnername ist eine IP-Adresse"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/po/vi.po new/libsoup-2.52.1/po/vi.po
--- old/libsoup-2.52.0/po/vi.po 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/po/vi.po 2015-10-12 23:20:07.000000000 +0200
@@ -1,44 +1,47 @@
# Vietnamese translation for libsoup.
-# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
+# Bản dịch tiếng Việt dành cho libsoup.
+# Copyright © 2015 GNOME i18n Project for Vietnamese.
# This file is distributed under the same license as the libsoup package.
# Nguyễn Thái Ngọc Duy , 2012-2013.
+# Trần Ngọc Quân , 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libsoup&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-02-18 10:20+0000\n"
-"PO-Revision-Date: 2013-03-02 20:44+0700\n"
-"Last-Translator: Nguyễn Thái Ngọc Duy \n"
-"Language-Team: Vietnamese \n"
+"POT-Creation-Date: 2015-09-28 23:41+0000\n"
+"PO-Revision-Date: 2015-09-29 07:41+0700\n"
+"Last-Translator: Trần Ngọc Quân \n"
+"Language-Team: Vietnamese \n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Gtranslator 2.91.7\n"
-#: ../libsoup/soup-body-input-stream.c:141
-#: ../libsoup/soup-body-input-stream.c:172
-#: ../libsoup/soup-body-input-stream.c:205 ../libsoup/soup-message-io.c:191
+#: ../libsoup/soup-body-input-stream.c:140
+#: ../libsoup/soup-body-input-stream.c:171
+#: ../libsoup/soup-body-input-stream.c:204 ../libsoup/soup-message-io.c:235
msgid "Connection terminated unexpectedly"
msgstr "Kết nối ngắt bất ngờ"
-#: ../libsoup/soup-body-input-stream.c:463
+#: ../libsoup/soup-body-input-stream.c:462
msgid "Invalid seek request"
-msgstr "Yêu cầu di chuyển (seek) không hợp lệ"
+msgstr "Yêu cầu di chuyển vị trí đọc (seek) không hợp lệ"
-#: ../libsoup/soup-body-input-stream.c:491
+#: ../libsoup/soup-body-input-stream.c:490
msgid "Cannot truncate SoupBodyInputStream"
-msgstr "Không thể cắt SoupBodyInputStream"
+msgstr "Không thể cắt ngắn SoupBodyInputStream"
#: ../libsoup/soup-cache-input-stream.c:74
msgid "Network stream unexpectedly closed"
-msgstr "Luồng mạng đóng bất ngờ"
+msgstr "Luồng dữ liệu mạng đã đóng bất ngờ"
#: ../libsoup/soup-cache-input-stream.c:291
msgid "Failed to completely cache the resource"
-msgstr "Lỗi lưu tạm (cache) toàn bộ tài nguyên"
+msgstr "Gặp lỗi khi lưu tạm (cache) toàn bộ tài nguyên"
#: ../libsoup/soup-converter-wrapper.c:192
#, c-format
@@ -53,15 +56,15 @@
msgid "Unrecognized HTTP response encoding"
msgstr "Không nhận ra bảng mã phản hồi HTTP"
-#: ../libsoup/soup-message-io.c:846 ../libsoup/soup-message-io.c:882
-msgid "Operation was cancelled"
-msgstr "Thao tác bị huỷ"
-
-#: ../libsoup/soup-message-io.c:893
+#: ../libsoup/soup-message-io.c:392 ../libsoup/soup-message-io.c:1020
msgid "Operation would block"
msgstr "Thao tác có thể treo"
-#: ../libsoup/soup-message-server-io.c:40
+#: ../libsoup/soup-message-io.c:972 ../libsoup/soup-message-io.c:1005
+msgid "Operation was cancelled"
+msgstr "Thao tác bị hủy"
+
+#: ../libsoup/soup-message-server-io.c:64
msgid "Could not parse HTTP request"
msgstr "Không thể phân tích phản hồi HTTP"
@@ -73,35 +76,102 @@
#: ../libsoup/soup-request.c:150
#, c-format
msgid "Invalid '%s' URI: %s"
-msgstr "URI '%s' không hợp lệ: %s"
+msgstr "URI “%s” không hợp lệ: %s"
+
+#: ../libsoup/soup-server.c:1711
+msgid "Can't create a TLS server without a TLS certificate"
+msgstr "Không thể tạo máy phục vụ TLS mà không có giấy chứng thực điện tử TLS"
+
+#: ../libsoup/soup-server.c:1730
+#, c-format
+msgid "Could not listen on address %s, port %d"
+msgstr "Không thể lắng nghe trên địa chỉ %s, cổng %d"
-#: ../libsoup/soup-session.c:4209
+#: ../libsoup/soup-session.c:4543
#, c-format
msgid "Could not parse URI '%s'"
-msgstr "Không thể phân tích URI '%s'"
+msgstr "Không thể phân tích URI “%s”"
-#: ../libsoup/soup-session.c:4246
+#: ../libsoup/soup-session.c:4580
#, c-format
msgid "Unsupported URI scheme '%s'"
-msgstr "Không hỗ trợ kiểu URI '%s'"
+msgstr "Không hỗ trợ kiểu URI “%s”"
-#: ../libsoup/soup-session.c:4268
+#: ../libsoup/soup-session.c:4602
#, c-format
msgid "Not an HTTP URI"
-msgstr "Không phải HTTP URI"
+msgstr "Không phải URI của HTTP"
+
+#: ../libsoup/soup-session.c:4788
+msgid "The server did not accept the WebSocket handshake."
+msgstr "Máy chủ đã không chấp nhận bắt tay WebSocket"
+
+#: ../libsoup/soup-socket.c:148
+msgid "Can't import non-socket as SoupSocket"
+msgstr "Không thể nhập vào SoupSocket một non-socket"
+
+#: ../libsoup/soup-socket.c:166
+msgid "Could not import existing socket: "
+msgstr "Không thể nhập vào ổ cắm mạng đã có: "
+
+#: ../libsoup/soup-socket.c:175
+msgid "Can't import unconnected socket"
+msgstr "Không thể nhập vào một ổ cắm mạng mà nó chưa kết nối"
+
+#: ../libsoup/soup-websocket.c:338 ../libsoup/soup-websocket.c:347
+msgid "WebSocket handshake expected"
+msgstr "Cần bắt tay WebSocket"
+
+#: ../libsoup/soup-websocket.c:355
+msgid "Unsupported WebSocket version"
+msgstr "Phiên bản WebSocket không được hỗ trợ"
+
+#: ../libsoup/soup-websocket.c:364
+msgid "Invalid WebSocket key"
+msgstr "Khóa WebSocket không hợp lệ"
+
+#: ../libsoup/soup-websocket.c:374
+#, c-format
+msgid "Incorrect WebSocket \"%s\" header"
+msgstr "Phần đầu WebSocket \"%s\" không hợp lệ"
+
+#: ../libsoup/soup-websocket.c:383
+msgid "Unsupported WebSocket subprotocol"
+msgstr "Không hỗ trợ giao thức phụ WebSocket"
+
+#: ../libsoup/soup-websocket.c:510
+msgid "Server rejected WebSocket handshake"
+msgstr "Máy phục vụ từ chối bắt tay WebSocket"
+
+#: ../libsoup/soup-websocket.c:518 ../libsoup/soup-websocket.c:527
+msgid "Server ignored WebSocket handshake"
+msgstr "Máy phục vụ bỏ qua bắt tay WebSocket"
+
+#: ../libsoup/soup-websocket.c:539
+msgid "Server requested unsupported protocol"
+msgstr "Máy phục vụ đã yêu cầu giao thức không được hỗ trợ"
+
+#: ../libsoup/soup-websocket.c:549
+msgid "Server requested unsupported extension"
+msgstr "Máy phục vụ đã yêu cầu phần mở rộng không được hỗ trợ"
+
+#: ../libsoup/soup-websocket.c:562
+#, c-format
+msgid "Server returned incorrect \"%s\" key"
+msgstr "Máy phục vụ trả về khóa \"%s\" không hợp lệ"
-#: ../libsoup/soup-tld.c:185
+#: ../libsoup/soup-tld.c:188
msgid "Hostname is an IP address"
msgstr "Tên máy là địa chỉ IP"
-#: ../libsoup/soup-tld.c:206
+#: ../libsoup/soup-tld.c:198 ../libsoup/soup-tld.c:220
msgid "Invalid hostname"
msgstr "Tên máy không hợp lệ"
-#: ../libsoup/soup-tld.c:235
+#: ../libsoup/soup-tld.c:250
msgid "Hostname has no base domain"
-msgstr "Tên máy không có miền cơ bản"
+msgstr "Tên máy không có miền cơ sở"
-#: ../libsoup/soup-tld.c:257
+#: ../libsoup/soup-tld.c:304
msgid "Not enough domains"
msgstr "Không đủ miền"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/tests/auth-test.c new/libsoup-2.52.1/tests/auth-test.c
--- old/libsoup-2.52.0/tests/auth-test.c 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/tests/auth-test.c 2015-10-12 23:20:07.000000000 +0200
@@ -1183,6 +1183,17 @@
{ NULL }
};
+/* https://bugzilla.gnome.org/show_bug.cgi?id=755617 */
+static SoupAuthTest basic_root_pspace_test[] = {
+ { "Auth provided via URL, should succeed",
+ "BasicRoot", "1", TRUE, "01", SOUP_STATUS_OK },
+
+ { "Parent dir should automatically reuse auth",
+ "/", "1", FALSE, "1", SOUP_STATUS_OK },
+
+ { NULL }
+};
+
static void
do_batch_tests (gconstpointer data)
{
@@ -1265,6 +1276,7 @@
g_test_add_data_func ("/auth/main-tests", main_tests, do_batch_tests);
g_test_add_data_func ("/auth/relogin-tests", relogin_tests, do_batch_tests);
+ g_test_add_data_func ("/auth/basic-root-pspec-test", basic_root_pspace_test, do_batch_tests);
g_test_add_func ("/auth/pipelined-auth", do_pipelined_auth_test);
g_test_add_func ("/auth/digest-expiration", do_digest_expiration_test);
g_test_add_func ("/auth/async-auth/good-password", do_async_auth_good_password_test);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/tests/httpd.conf.22.in new/libsoup-2.52.1/tests/httpd.conf.22.in
--- old/libsoup-2.52.0/tests/httpd.conf.22.in 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/tests/httpd.conf.22.in 2015-10-12 23:20:07.000000000 +0200
@@ -171,6 +171,7 @@
Alias /Basic/realm2 .
Alias /Basic/realm3 .
Alias /Basic .
+Alias /BasicRoot .
AuthType Basic
@@ -221,6 +222,13 @@
Require user user3
</Location>
+
+ AuthType Basic
+ AuthName realm1
+ AuthUserFile ./htpasswd
+ Require user user1
+</Location>
+
# Digest auth tests
Alias /Digest/realm1/realm2/realm1 .
Alias /Digest/realm1/realm2 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/tests/httpd.conf.24.in new/libsoup-2.52.1/tests/httpd.conf.24.in
--- old/libsoup-2.52.0/tests/httpd.conf.24.in 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/tests/httpd.conf.24.in 2015-10-12 23:20:07.000000000 +0200
@@ -155,6 +155,7 @@
Alias /Basic/realm2 .
Alias /Basic/realm3 .
Alias /Basic .
+Alias /BasicRoot .
AuthType Basic
@@ -205,6 +206,13 @@
Require user user3
</Location>
+
+ AuthType Basic
+ AuthName realm1
+ AuthUserFile ./htpasswd
+ Require user user1
+</Location>
+
# Digest auth tests
Alias /Digest/realm1/realm2/realm1 .
Alias /Digest/realm1/realm2 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/tests/ntlm-test.c new/libsoup-2.52.1/tests/ntlm-test.c
--- old/libsoup-2.52.0/tests/ntlm-test.c 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/tests/ntlm-test.c 2015-10-12 23:24:32.000000000 +0200
@@ -379,7 +379,7 @@
* asking.
*/
authenticated_ntlm = FALSE;
- do_message (session, base_uri, "/noauth",
+ do_message (session, base_uri, "/noauth/",
FALSE, use_ntlm,
FALSE, FALSE,
SOUP_STATUS_OK);
@@ -395,7 +395,7 @@
* previous step, then we'll just immediately get a 401 here.
* So in no case will we see the client try to do_ntlm.
*/
- do_message (session, base_uri, "/alice",
+ do_message (session, base_uri, "/alice/",
!alice_via_ntlm, FALSE,
!alice_via_ntlm, alice_via_basic,
alice ? SOUP_STATUS_OK :
@@ -415,7 +415,7 @@
SOUP_STATUS_UNAUTHORIZED);
/* 4. Should be exactly the same as #3, except the status code */
- do_message (session, base_uri, "/alice",
+ do_message (session, base_uri, "/alice/",
!alice, bob_via_ntlm,
!alice, alice_via_basic,
alice ? SOUP_STATUS_OK :
@@ -427,7 +427,7 @@
* (and fail). Bob-via-NTLM will try to do NTLM right away and
* succeed.
*/
- do_message (session, base_uri, "/bob",
+ do_message (session, base_uri, "/bob/",
!bob_via_ntlm, bob_via_ntlm,
!bob_via_ntlm, alice_via_basic,
bob ? SOUP_STATUS_OK :
@@ -439,7 +439,7 @@
* still knows about this path, so will try Basic right away
* and succeed.
*/
- do_message (session, base_uri, "/alice",
+ do_message (session, base_uri, "/alice/",
!alice_via_ntlm, alice_via_ntlm,
!alice_via_ntlm, alice_via_basic,
alice ? SOUP_STATUS_OK :
@@ -449,7 +449,7 @@
* Since Bob-via-NTLM is unauthenticated at this point, he'll try
* NTLM before realizing that the server doesn't support it.
*/
- do_message (session, base_uri, "/basic",
+ do_message (session, base_uri, "/basic/",
FALSE, bob_via_ntlm,
TRUE, user != NULL,
user != NULL ? SOUP_STATUS_OK :
@@ -460,7 +460,7 @@
* previous NTLM connections will have been closed by the 401
* from /basic). Non-NTLM users will be prompted for either.
*/
- do_message (session, base_uri, "/either",
+ do_message (session, base_uri, "/either/",
!use_ntlm, use_ntlm,
!use_ntlm, !use_ntlm && user != NULL,
user != NULL ? SOUP_STATUS_OK :
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsoup-2.52.0/tests/proxy-test.c new/libsoup-2.52.1/tests/proxy-test.c
--- old/libsoup-2.52.0/tests/proxy-test.c 2015-07-27 19:51:03.000000000 +0200
+++ new/libsoup-2.52.1/tests/proxy-test.c 2015-10-12 23:20:07.000000000 +0200
@@ -322,6 +322,84 @@
soup_test_session_abort_unref (session);
}
+static void
+do_proxy_auth_request (const char *url, SoupSession *session, gboolean do_read)
+{
+ SoupRequest *request;
+ SoupMessage *msg;
+ GInputStream *stream;
+ GError *error = NULL;
+
+ request = soup_session_request (session, url, NULL);
+ msg = soup_request_http_get_message (SOUP_REQUEST_HTTP (request));
+
+ stream = soup_test_request_send (request, NULL, 0, &error);
+ g_assert_no_error (error);
+ g_clear_error (&error);
+
+ if (do_read) {
+ char buffer[256];
+ gsize nread;
+
+ do {
+ g_input_stream_read_all (stream, buffer, sizeof (buffer), &nread,
+ NULL, &error);
+ g_assert_no_error (error);
+ g_clear_error (&error);
+ } while (nread > 0);
+ }
+
+ soup_test_request_close_stream (request, stream, NULL, &error);
+ g_assert_no_error (error);
+ g_clear_error (&error);
+ g_object_unref (stream);
+
+ debug_printf (1, " %d %s\n", msg->status_code, msg->reason_phrase);
+ soup_test_assert_message_status (msg, SOUP_STATUS_OK);
+
+ g_object_unref (msg);
+ g_object_unref (request);
+}
+
+static void
+do_proxy_auth_cache_test (void)
+{
+ SoupSession *session;
+ char *cache_dir;
+ SoupCache *cache;
+ char *url;
+
+ g_test_bug ("756076");
+
+ SOUP_TEST_SKIP_IF_NO_APACHE;
+
+ cache_dir = g_dir_make_tmp ("cache-test-XXXXXX", NULL);
+ debug_printf (2, " Caching to %s\n", cache_dir);
+ cache = soup_cache_new (cache_dir, SOUP_CACHE_SINGLE_USER);
+ g_free (cache_dir);
+
+ session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC,
+ SOUP_SESSION_PROXY_RESOLVER, proxy_resolvers[AUTH_PROXY],
+ SOUP_SESSION_USE_THREAD_CONTEXT, TRUE,
+ SOUP_SESSION_ADD_FEATURE, cache,
+ NULL);
+ g_signal_connect (session, "authenticate",
+ G_CALLBACK (authenticate), NULL);
+
+ url = g_strconcat (HTTP_SERVER, "/Basic/realm1/", NULL);
+
+ debug_printf (1, " GET %s via %s (from network)\n", url, proxy_names[AUTH_PROXY]);
+ do_proxy_auth_request (url, session, TRUE);
+ soup_cache_flush (cache);
+
+ debug_printf (1, " GET %s via %s (from cache)\n", url, proxy_names[AUTH_PROXY]);
+ do_proxy_auth_request (url, session, FALSE);
+
+ g_free (url);
+ soup_test_session_abort_unref (session);
+ g_object_unref (cache);
+}
+
int
main (int argc, char **argv)
{
@@ -355,6 +433,7 @@
g_test_add_data_func ("/proxy/fragment", base_uri, do_proxy_fragment_test);
g_test_add_func ("/proxy/redirect", do_proxy_redirect_test);
+ g_test_add_func ("/proxy/auth-cache", do_proxy_auth_cache_test);
ret = g_test_run ();