changes:
* SoupServer now works even if you don't explicitly set an
encoding for the response.
* WWW-Authenticate and Proxy-Authenticate responses with no
realm parameter are now ignored
* Added soup_xmlrpc_message_from_string()
* simple-httpd and "get" now support HEAD
Changes in libsoup from 2.2.94 to 2.2.95.1:
* Even more fixes to XML-RPC, found by the new XML-RPC
regression test. This includes some API changes that I don't
feel guilty about, because the code totally didn't work at
all before.
* Fixed a bug in soup_mktime_utc()
* (2.2.95 was identical to 2.2.95.1. The only difference is
that the shared library version was belatedly bumped from
8.2.0 to 8.3.0 to reflect the API "additions")
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
Changes in libsoup from 2.2.93 to 2.2.94:
* Various fixes to the XML-RPC code (which apparently had not
actually ever worked before) from Brent Smith. [343973,
344222, 344458]
* Added client and server API tutorials to the docs
* auth-test now uses a local Apache 2.2 install, if possible,
rather than depending on files that used to be on an old
Ximian web server but haven't been anywhere for a long time.
[311825]
Changes in libsoup from 2.2.92 to 2.2.93:
* Fixed outgoing data corruption caused when SoupServer
started writing out a response a second time after already
having started once. [334469]. Also fixed 342640 and another
bug caused by the workaround for 334469 in 2.2.92. Based on
patches and analysis from William Jon McCann and Armin
Bauer.
* Fixed a deadlock when changing a session's proxy URI.
[309867 / bnc 174255, based on a patch by Veerapuram
Varadhan].
* Fixed https-via-proxies in the synchronous case. [bnc 174255]
* Fixed a crash in evolution-exchange [342545, fix based on an
analysis by Wang Xin].
* Fixed simple-proxy to not crash at startup. Oops. (Alex
Larsson)
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
* (The large version number bump is because there was an
internal 2.2.90 release for SUSE 10.1 alphas, which was
supposed to be intermediate between 2.2.7 and 2.4.0. But
2.4.0 didn't end up happening, and I don't want to regress
the version number at this point.)
* SoupSession, SoupServer, SoupConnection, SoupSocket, and
SoupAddress now have an "async-context" property that allows
you to use the async API in a non-default GMainContext.
[Based on patches from Armin Bauer and Jürg Billeter.]
* SoupSession, SoupConnection, and SoupSocket now have a
"timeout" property to stop synchronous sockets from hanging
forever if the remote end is unresponsive (from Varadhan).
* Fixed some bugs in soup_date_iso8601_parse(). [324671, from
Emmanuele Bassi]
* More Windows build fixes from Tor.
* Fixed a crash when using NTLM connections [316313, probably
also 318252]. (Also 321208, which was a bug introduced in
the original fix for 316313.)
* Fixed a bug that could cause soup to suck up all available
CPU when a connection to a SoupServer was dropped by the
other side [319305, patch from Jonathan Matthew]
* Fixed the creation of struct elements in XMLRPC messages
[321362, patch from Sebastian Bauer]
* Plugged a small memory leak in SoupSocket (from Wang Xin).
* Fixed two compile problems, a gccism [320349, patch from
Roland Illig], and a strict-aliasing warning from gcc 4.1.
file's sole purpose was to provide a dependency on pkg-config and set
some environment variables. Instead, turn pkg-config into a "tool"
in the tools framework, where the pkg-config wrapper automatically
adds PKG_CONFIG_LIBDIR to the environment before invoking the real
pkg-config.
For all package Makefiles that included pkg-config/buildlink3.mk, remove
that inclusion and replace it with USE_TOOLS+=pkg-config.
* Now compiles against gnutls 1.2.0 [57811]
* Fixed a bug that could result in 100% CPU usage if an SSL server closed
the connection uncleanly. [73352]
* The SSL validation fix from 2.2.1 [64414] is now completely fixed. (Part
of the fix didn't actually make it into 2.2.1)
* HTTPS certificate validation now works when using an HTTP proxy. [68583]
* HTTP proxy code deals better with proxies that try to make the user do
HTML-form-based authentication. [68531]
* 64-bit fixes for NTLM auth code. [70323, from Michael Zucchi]
* Updated for a libgcrypt API change between 1.1.9x and 1.2.x that caused a
crash at runtime if you compiled against 1.2.x. [66342]
* SSL certificate validation failure should now always result in a status of
SOUP_STATUS_SSL_FAILED, rather than getting turned into SOUP_STATUS_IO_ERROR.
[64414]
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Changes in libsoup from the 2.0 series (1.99.x versions) to 2.2:
* Most of the libsoup datatypes are now GObjects. (SoupUri
is currently an exception to this.)
* SoupMessage now emits signals at various stages of
processing. (Eg, "wrote_body", "got_headers".) (You
can also still use soup_message_add_*handler().)
* SoupContexts are gone; soup_message_new() now takes a URI
string.
* All formerly global state is now maintained by the
SoupSession object. (This includes the connection pool,
proxy server, cached authentication information, SSL
certificates, etc.)
* You can create a SoupSessionAsync (for 2.0-like
behavior) or SoupSessionSync (for blocking,
synchronous usage).
* You can add SoupMessageFilter objects to a session
to have certain processing automatically performed
on every message sent via that session. (Eg, setting
up handlers.)
* NTLM authentication is no longer supported by
default. You must enable it by setting the
SOUP_SESSION_USE_NTLM flag on the session.
* The preferred method of handling authentication is
now via the "authenticate" and "reauthenticate"
signals on SoupSession. (The old style, of encoding
the user and password information into the url is
also still supported.)
* The SOUP_ERROR_* values are now SOUP_STATUS_* (so that we
don't have "SOUP_ERROR_OK" and the like).
* SOUP_MESSAGE_IS_ERROR() is gone, since some cases
want to include 3xx responses and some don't.
* SOUP_ERROR_CANT_AUTHENTICATE and
SOUP_ERROR_CANT_AUTHENTICATE_PROXY are now gone,
since they didn't carry any information that
SOUP_STATUS_UNAUTHORIZED and
SOUP_STATUS_PROXY_UNAUTHORIZED don't.
* DNS errors now show up as the new status code
SOUP_STATUS_CANT_RESOLVE rather than being mixed in
with SOUP_ERROR_CANT_CONNECT.
* Minimal SOAP support has been added back, via
SoupSoapMessage/SoupSoapResponse
* The HTTP I/O state machine was completely rewritten, fixing
numerous crashes, leaks, and protocol errors.
* SoupUri now conforms to RFC 2396. Mostly.
* Various test programs have been added under tests/
* Removed:
* Support for OpenSSL (which was horribly buggy) and
Mozilla NSS (which was never finished). We only
support GNUTLS for SSL now.
* SOCKS support
* CGI support in SoupServer
needed by evolution-data-server
Libsoup is an HTTP library implementation in C. It was originally part
of a SOAP (Simple Object Access Protocol) implementation called Soup, but
the SOAP and non-SOAP parts have now been split into separate packages.
libsoup uses the Glib main loop and is designed to work well with GTK
applications. This enables GNOME applications to access HTTP servers
on the network in a completely asynchronous fashion, very similar to
the Gtk+ programming model (a synchronous operation mode is also
supported for those who want it).
Features:
* Completely Asynchronous
* Connection cache
* HTTP chunked transfer support
* HTTP, SOCKS4, and SOCKS5 authenticated proxy support
* SSL Support using OpenSSL or GnuTLS
* Client support for Digest, NTLM, and Basic authentication
* HTTP server
* Server support for Digest and Basic authentication