Dan Winship [Sun, 21 Feb 2010 14:55:07 +0000 (09:55 -0500)]
Fix error propagation on SSL cert errors
Dan Winship [Sun, 21 Feb 2010 15:02:21 +0000 (10:02 -0500)]
belatedly document the SOUP_MESSAGE_CONTENT_DECODED flag
Dan Winship [Sat, 20 Feb 2010 17:44:44 +0000 (12:44 -0500)]
[SoupURI] further fixes to CRLF-stripping
The original code mistakenly assumed that strcpy() can take
overlapping arguments, but that's not guaranteed. Rewrite to do a
single pass over the string rather than potentially multiple
strcpy/memmoves.
Fixes "make check" on x86_64.
Dan Winship [Mon, 15 Feb 2010 04:11:28 +0000 (23:11 -0500)]
run autoupdate, remove some old junk
Dan Winship [Mon, 15 Feb 2010 03:38:41 +0000 (22:38 -0500)]
[SoupURI] additional fixes to previous commit
Dan Winship [Sun, 14 Feb 2010 23:47:18 +0000 (18:47 -0500)]
[SoupURI] tolerate bad %-encoding and other common sorts of URI lossage
https://bugzilla.gnome.org/show_bug.cgi?id=590524
Dan Winship [Mon, 8 Feb 2010 22:47:20 +0000 (17:47 -0500)]
2.29.90
Xan Lopez [Wed, 3 Feb 2010 19:29:47 +0000 (21:29 +0200)]
[configure] post-release bump to 2.29.90
Xan Lopez [Thu, 28 Jan 2010 16:31:08 +0000 (18:31 +0200)]
Implement acceptance policies in SoupCookieJar
Through the "accept-policy" property in the jar we can now set one
among three predetermined policies: accept all cookies
(SOUP_COOKIE_JAR_ACCEPT_ALWAYS), accept none
(SOUP_COOKIE_JAR_ACCEPT_NEVER) and only accept cookies set by the main
document we are loading (SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY).
A new property, "first-party", is added to SoupMessage so that the
application using libsoup can inform us of what is the main document
URI for each message that is requested.
Dan Winship [Mon, 1 Feb 2010 22:45:14 +0000 (17:45 -0500)]
[SoupServer] actually emit request-read, as documented
https://bugzilla.gnome.org/show_bug.cgi?id=608692
Dan Winship [Mon, 25 Jan 2010 23:01:08 +0000 (18:01 -0500)]
2.29.6
Dan Winship [Sat, 23 Jan 2010 21:05:07 +0000 (16:05 -0500)]
soup-form.c: change some code to make clang happy and to be more obvious
based on a suggestion from kov in
https://bugzilla.gnome.org/show_bug.cgi?id=605543
Dan Winship [Sat, 23 Jan 2010 21:04:52 +0000 (16:04 -0500)]
[SoupCookieJar] change some code to make clang happy
based on a suggestion from kov in
https://bugzilla.gnome.org/show_bug.cgi?id=605543
Dan Winship [Sat, 23 Jan 2010 21:02:09 +0000 (16:02 -0500)]
tests/simple-proxy.c: remove obvious dead assignment noted by clang
Dan Winship [Sat, 23 Jan 2010 20:48:51 +0000 (15:48 -0500)]
Fix leak in previous commit
Dan Winship [Sat, 23 Jan 2010 20:39:31 +0000 (15:39 -0500)]
[SoupServer] Avoid a harmless g_return_if_fail
The code to automatically handle partial GETs doesn't deal with
streamed responses. This is fine, since you're always allowed to
return a full response in return to a range request, but the
code was accidentally triggering a warning in the process.
https://bugzilla.gnome.org/show_bug.cgi?id=606645
Dan Winship [Sat, 23 Jan 2010 20:35:05 +0000 (15:35 -0500)]
Fix invalid read in soup_cookie_applies_to_uri()
https://bugzilla.gnome.org/show_bug.cgi?id=607024
Dan Winship [Sat, 23 Jan 2010 15:40:22 +0000 (10:40 -0500)]
[SoupCodingGzip] discard trailing junk after decoding, for compatibility
https://bugzilla.gnome.org/show_bug.cgi?id=606352
Dan Winship [Mon, 18 Jan 2010 20:11:43 +0000 (15:11 -0500)]
Explicitly link to -lz for SoupCodingGzip
(On Linux we get it implicitly via -lxml, but on OS X that won't
work.)
Reported by Daniel Macks
https://bugzilla.gnome.org/show_bug.cgi?id=606959
Dan Winship [Mon, 18 Jan 2010 20:10:11 +0000 (15:10 -0500)]
Further AM_MAINTAINER_MODE fixes
Remove AM_MAINTAINER_MODE from (unused) python/configure.in so
gnome-autogen.sh won't see it and decide to use --enable-maintainer-mode.
Also, don't check $enable_maintainer_mode to decide whether or not
to build with -DG_DISABLE_DEPRECATED. Instead "test -d .git"
Dan Winship [Tue, 12 Jan 2010 17:00:32 +0000 (12:00 -0500)]
2.29.5
Benjamin Otte [Sun, 20 Dec 2009 13:36:26 +0000 (14:36 +0100)]
ENABLE_MAINTAINER_MODE is sooo 1999
Benjamin Otte [Sun, 20 Dec 2009 13:55:00 +0000 (14:55 +0100)]
Use g_type_is_a() in ugly hack.
It's much faster and actually works reliably.
Benjamin Otte [Sun, 20 Dec 2009 13:52:26 +0000 (14:52 +0100)]
Add apache2 and apache as possible names for the apache binary
Gustavo Noronha Silva [Fri, 25 Dec 2009 22:46:03 +0000 (20:46 -0200)]
Unnecessary initialization
Gustavo Noronha Silva [Fri, 25 Dec 2009 22:44:52 +0000 (20:44 -0200)]
Remove unnecessary priv variable
Gustavo Noronha Silva [Fri, 25 Dec 2009 22:30:25 +0000 (20:30 -0200)]
Replace unnecessary variable with a comment
Dan Winship [Sun, 20 Dec 2009 09:52:44 +0000 (10:52 +0100)]
Fix defines of SOUP_URI_SCHEME_FTP etc
Dan Winship [Sat, 19 Dec 2009 14:14:00 +0000 (15:14 +0100)]
SoupSession: Handle CONNECT failure without hanging
https://bugzilla.gnome.org/show_bug.cgi?id=587528
Dan Winship [Sat, 19 Dec 2009 11:59:13 +0000 (12:59 +0100)]
SoupAuthDigest, SoupAuthDomainDigest: follow the spec more precisely
Some implementations apparently require you to precisely follow the spec
in terms of whether particular attribute values are quoted or non-quoted.
Probably fixes https://bugzilla.gnome.org/show_bug.cgi?id=582219
Benjamin Otte [Tue, 27 Oct 2009 18:29:15 +0000 (19:29 +0100)]
Link to GNUTLS here
Dan Winship [Fri, 18 Dec 2009 18:40:28 +0000 (19:40 +0100)]
Don't send URI fragment when requesting via proxy
and add a test for it
Dan Winship [Fri, 18 Dec 2009 18:24:44 +0000 (19:24 +0100)]
Revert "Warn if the user tries to load a URI containing a fragment."
This is causing problems in WebKit.
This reverts commit
19cc4d0c0956ec92f06a0a3a746ad0434e47bc9c.
Dan Winship [Fri, 18 Dec 2009 11:34:47 +0000 (12:34 +0100)]
[SoupURI] add a bit of ftp URI support
Dan Winship [Thu, 17 Dec 2009 19:47:30 +0000 (20:47 +0100)]
SoupCookie: more fixes to path handling
Dan Winship [Wed, 26 Aug 2009 15:09:34 +0000 (11:09 -0400)]
Warn if the user tries to load a URI containing a fragment.
Previously fragments were silently ignored when doing direct HTTP, but
were passed to the proxy when using a proxy (which would sometimes
cause the request to fail, depending on the server configuration).
Since fragments are not meaningful at the HTTP level, callers should
not be passing URIs with fragments to SoupMessage, so warn if they do,
and then consistently ignore the fragment after that.
Also update SoupSession to fix up fragments in Location headers so
that SoupMessage won't warn about them (since that's the server's
fault, not the caller's), and add a test to redirect-test for that.
See also https://bugs.webkit.org/show_bug.cgi?id=28687 for some
additional discussion.
Dan Winship [Thu, 17 Dec 2009 12:28:39 +0000 (13:28 +0100)]
Update cookie parsing/output to match the current httpstate draft better
Also fixes
https://bugzilla.gnome.org/show_bug.cgi?id=603496
https://bugzilla.gnome.org/show_bug.cgi?id=604794
Dan Winship [Thu, 17 Dec 2009 12:26:41 +0000 (13:26 +0100)]
tests/get: updates for cookie debugging
Add "-q" (quiet) flag, and fix it to handle relative URI redirects
"correctly", to support the httpstate cookie test harness. Oh, and add
a SoupCookieJar to the session...
Holger Hans Peter Freyther [Mon, 1 Jun 2009 04:25:48 +0000 (06:25 +0200)]
Change the typedef of SoupCookieJar to follow the other parts of soup
https://bugzilla.gnome.org/show_bug.cgi?id=584413
Dan Winship [Thu, 17 Dec 2009 10:24:41 +0000 (11:24 +0100)]
Clean up accept-language-auto a bit
Fix leaks, cross-reference the docs, use nicer qvalues, and don't
bother cleaning up the g_get_language_names() return value; that's
glib's fault (bug 604815).
Also, use accept-language-auto in tests/get
Mario Sanchez Prada [Wed, 16 Dec 2009 14:17:01 +0000 (15:17 +0100)]
New accept-language-auto property for SoupSession
Provide a new way for SoupSession to assume an 'Accept-Language'
string automatically from the return value of g_get_language_names(),
properly formatted according to RFC2616.
https://bugzilla.gnome.org/show_bug.cgi?id=597004
Mario Sanchez Prada [Fri, 2 Oct 2009 10:33:02 +0000 (12:33 +0200)]
Provide a new 'accept-language' property for SoupSession
This would allow to externally set a list of languages for the HTTP
"Accept-Language" header, compliant to rfc2616.
https://bugzilla.gnome.org/show_bug.cgi?id=597004
Dan Winship [Wed, 16 Dec 2009 14:59:14 +0000 (15:59 +0100)]
fix dist
Dan Winship [Sat, 15 Mar 2008 13:52:35 +0000 (09:52 -0400)]
Content-Encoding support
Adds SoupContentDecoder, which provides support for decoding "gzip"
Content-Encoding. For now other types are not supported and can't be
added. The SoupCoding interface is private because it will eventually
be replaced with something GConverter-based.
https://bugzilla.gnome.org/show_bug.cgi?id=522772
Dan Winship [Wed, 16 Dec 2009 12:23:17 +0000 (13:23 +0100)]
[SoupAuthDigest] don't crash if the server supports qop="auth,auth-int"
pointed out on libsoup-list
Dan Winship [Tue, 15 Dec 2009 17:19:59 +0000 (18:19 +0100)]
Fix memory corruption in SoupPasswordManagerGNOME
Debugged by Gustavo Noronha Silva,
https://bugzilla.gnome.org/show_bug.cgi?id=595554
Dan Winship [Mon, 14 Dec 2009 20:39:28 +0000 (15:39 -0500)]
Handle spurious CR/LFs between responses
based on a patch from Alexander V. Butenko.
https://bugzilla.gnome.org/show_bug.cgi?id=602863
Dan Winship [Mon, 14 Dec 2009 20:28:03 +0000 (15:28 -0500)]
Fix comment in previous commit
Vincent Untz [Thu, 3 Dec 2009 14:35:58 +0000 (15:35 +0100)]
Make connection-created and tunneling of SoupSession use a GObject
The connection-created and tunneling signals added to SoupSession in commit
6ff7ecdd were using SoupConnection, and this made SoupConnection
semi-public (gir-repository failed to build because it didn't know about
it, for example).
Since SoupConnection is intended to be private, use a GObject for the
signal parameter.
https://bugzilla.gnome.org/show_bug.cgi?id=603696
Dan Winship [Mon, 30 Nov 2009 23:40:32 +0000 (18:40 -0500)]
[configure] post-release bump to 2.29.4
Dan Winship [Mon, 30 Nov 2009 23:37:47 +0000 (18:37 -0500)]
2.29.3
Dan Winship [Mon, 30 Nov 2009 16:40:39 +0000 (11:40 -0500)]
[SoupAuthDomainDigest] fix nc parsing
We were parsing it as decimal rather than hex, which meant the auth
would fail and return 401 again after 10 requests.
Noted by Chris Head,
https://bugzilla.gnome.org/show_bug.cgi?id=602898
Dan Winship [Mon, 12 Oct 2009 16:36:09 +0000 (12:36 -0400)]
Don't leak session if message is cancelled during socket connection
Fix up refcounting handling so that if the session is destroyed while
a connection attempt is pending, it doesn't cause the session to be
leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=596074
Dan Winship [Sun, 22 Nov 2009 13:41:09 +0000 (08:41 -0500)]
Changes to SoupConnection and SoupSession for debugging
Specifically, to help epiphany's soup-fly extension track connection
usage.
Patch from José Millán Soto,
https://bugzilla.gnome.org/show_bug.cgi?id=598163
Dan Winship [Sat, 7 Nov 2009 19:15:08 +0000 (14:15 -0500)]
Add soup_session_prepare_for_uri
Lets the session prepare for a possible upcoming request. (Eg,
WebKitGTK will call this when the user hovers over a link.) Currently
just does DNS resolution. Will eventually do proxy resolution as well.
Based on a patch from José Millán Soto
https://bugzilla.gnome.org/show_bug.cgi?id=598948
Dan Winship [Sun, 22 Nov 2009 00:55:03 +0000 (19:55 -0500)]
[configure] bump version to 2.29.3
Dan Winship [Fri, 6 Nov 2009 17:52:14 +0000 (12:52 -0500)]
Fix Request-Line in https over proxy
Previously it was continuing to send a full URI rather than only a path
in the Request-Line after completing the CONNECT, which confused some
(broken) servers.
https://bugzilla.gnome.org/show_bug.cgi?id=598277
https://bugzilla.gnome.org/show_bug.cgi?id=600826
Dan Winship [Sat, 21 Nov 2009 15:29:00 +0000 (10:29 -0500)]
soup_multipart_new_from_message: fix to work with binary attachments
Previously we were using strstr() to find the multipart boundary, so
it would fail if the body contained '\0' bytes. Update
tests/forms-test to test this case.
https://bugzilla.gnome.org/show_bug.cgi?id=601640
Dan Winship [Sat, 21 Nov 2009 14:54:07 +0000 (09:54 -0500)]
soup_cookies_from_request: fix to not always g_warn
https://bugzilla.gnome.org/show_bug.cgi?id=602389
Dan Winship [Sat, 21 Nov 2009 14:33:20 +0000 (09:33 -0500)]
Don't crash when setting cookie for about:blank
https://bugzilla.gnome.org/show_bug.cgi?id=602498
Dan Winship [Sat, 21 Nov 2009 14:32:21 +0000 (09:32 -0500)]
SOUP_URI_VALID_FOR_HTTP: update to check uri->path too
Dan Winship [Sat, 7 Nov 2009 18:59:52 +0000 (13:59 -0500)]
[SoupAddress] make _resolve_async idempotent, document/fix thread-safety
Document that _resolve_async() can be called multiple times, but only
from the same async_context, and _resolve_sync() can be called
multiple times from different threads. Note that _get_name, etc, may
misbehave in the presence of multiple threads.
Change _resolve_async() so that multiple attempts to resolve the same
address will result in only a single GResolver call, and they will all
complete at the same time.
Part of https://bugzilla.gnome.org/show_bug.cgi?id=598948
Dan Winship [Sat, 7 Nov 2009 18:58:35 +0000 (13:58 -0500)]
[SoupAddress] Remove some cruft
Tor Lillqvist [Thu, 5 Nov 2009 20:10:21 +0000 (22:10 +0200)]
Tell GnuTLS about interesting Winsock errors
In the pull and push functions, if we get a Winsock error, tell GnuTLS
about it. Treat WSAEWOULDBLOCK and WSAETIMEDOUT as EAGAIN and WSAEINTR
as EINTR. This helps timeout-test run to finish.
Approved in bug #600749.
Tor Lillqvist [Thu, 5 Nov 2009 20:03:34 +0000 (22:03 +0200)]
Register libgcrypt thread callbacks also on Windows
Libsoup must register thread callback functions for libgcrypt also on
Windows, otherwise libgcrypt will use its fallback dummy mutex
functions which don't do any real mutexing.
Approved in bug #600748.
Tor Lillqvist [Thu, 5 Nov 2009 19:25:36 +0000 (21:25 +0200)]
Ensure WSAStartup() is called on Windows more reliably
It is apparently no longer enough to call WSAStartup() from
soup_address_class_init() and expect that to be called from
soup_address_get_type().
Furthermore, soup-address.c doesn't do any socket API calls any more
so it is more natural to do the WSAStartup() call in
soup-socket.c. Use G_DEFINE_TYPE_WITH_CODE() to make sure
soup_socket_get_type() calls once exactly a function that calls
WSAStartup(). This is what GInetAddress does too, for instance.
Ajust ssl-test.c accordingly.
Approved in bug #600689.
Dan Winship [Thu, 5 Nov 2009 16:15:38 +0000 (11:15 -0500)]
Don't change HEAD to GET on 303 redirect
https://bugzilla.gnome.org/show_bug.cgi?id=600830
Emilio Pozuelo Monfort [Thu, 22 Oct 2009 14:28:13 +0000 (16:28 +0200)]
Don't crash if the sqlite database lacks some values
Right now we strcmp() the isSecure and isHttpOnly values,
but if they are missing we will crash since strcmp() is
not NULL safe. Use g_strcmp0() instead.
Dan Winship [Mon, 19 Oct 2009 21:56:01 +0000 (17:56 -0400)]
2.28.1
Dan Winship [Sun, 18 Oct 2009 15:21:36 +0000 (11:21 -0400)]
Fix the latest round of "Connection terminated unexpectedly" errors
The fix introduced in
ef7fc058 for bug 578990 caught most cases where
we'd write a request to an already-closed connection, but not all.
Unfortunately, at some point the code path for recovering from that
case got broken, so when it did happen, we'd always end up returning
the error to the app rather than retrying the request. This is now
fixed again.
The specific recent cause of the problem was that the
multiple-pending-connections fix (
baa316ac/bug 594768) results in us
sometimes opening more connections than we need, and so some of those
connections become idle without ever having had a message sent across
them. Servers tend to have different timeouts/behaviors here than with
idle persistent connections, so we should time them out more
aggressively. So now we close a connection after 3 seconds if it
hasn't been used yet.
Dan Winship [Thu, 15 Oct 2009 21:31:55 +0000 (17:31 -0400)]
fix soup_address_get_physical and reverse-resolution
Noted by Enrico Tröger on IRC.
Dan Winship [Tue, 13 Oct 2009 16:44:39 +0000 (12:44 -0400)]
Belatedly clean up some dns/socket-related stuff
We use GResolver so we don't need to check for getaddrinfo() etc
ourselves, and we don't need to check for IPv6 support, since
GResolver/GSocket require it unconditionally.
Dan Winship [Tue, 13 Oct 2009 16:24:22 +0000 (12:24 -0400)]
[configure] import libgcrypt.m4 to m4/
Fixes both https://bugzilla.gnome.org/show_bug.cgi?id=587709 (the
current hack for letting you autogen without libgcrypt.m4 does the
wrong thing if you have gnutls-devel but not libgcrypt-devel
installed) and https://bugzilla.gnome.org/show_bug.cgi?id=592275
(older autotools don't automatically create the m4/ dir).
Dan Winship [Tue, 13 Oct 2009 16:17:09 +0000 (12:17 -0400)]
[configure] require gnutls>=2.1.7
noted by Nguyen Thai Ngoc Duy in bug 581342
Dan Winship [Sun, 11 Oct 2009 20:31:05 +0000 (16:31 -0400)]
Allow multiple pending connections to a server at once
Only allowing a single connection attempt at once really slows down
pages with lots of subresources on servers that disallow persistent
connections.
https://bugzilla.gnome.org/show_bug.cgi?id=594768
Alejandro G. Castro [Wed, 7 Oct 2009 18:55:23 +0000 (20:55 +0200)]
Fixed problem with the content sniffing.
The content sniffing loop that checks the content patterns was not
controlling the length of each pattern.
https://bugzilla.gnome.org/show_bug.cgi?id=597545
Alexander Sack [Fri, 2 Oct 2009 07:28:59 +0000 (10:28 +0300)]
Make QUERY_ALL explicit in SoupCookieJarSQLite
SELECT * is dangerous, as there seems to be at least two different
formats with different orders in the wild.
Bug #596859
Signed-off-by: Xan Lopez <xan@gnome.org>
Dan Winship [Mon, 21 Sep 2009 17:54:00 +0000 (13:54 -0400)]
2.28.0
Olivier Crête [Fri, 11 Sep 2009 23:04:10 +0000 (19:04 -0400)]
Keep reference on SoupSocket while emitting signals
The socket could have its last external referenced dropped by
soup_message_io_cleanup() during the "readable" signal and then
abort() when trying to emit the "disconnected" signal.
https://bugzilla.gnome.org/show_bug.cgi?id=594951
Dan Winship [Fri, 11 Sep 2009 15:46:45 +0000 (11:46 -0400)]
Fix leaks, including a large one in SoupContentSniffer
Fix a handful of leaks noticed by valgrind, including a leak of the
buffers being passed to SoupContentSniffer
(https://bugs.webkit.org/show_bug.cgi?id=28148).
Dan Winship [Fri, 11 Sep 2009 15:46:14 +0000 (11:46 -0400)]
Fix leaks in test programs, update libsoup.supp
Dan Winship [Tue, 8 Sep 2009 17:03:53 +0000 (13:03 -0400)]
_SOUP_ATOMIC_INTERN_STRING: cast result to (const char *)
http://bugzilla.gnome.org/show_bug.cgi?id=594508
Gustavo Noronha Silva [Tue, 8 Sep 2009 12:38:45 +0000 (09:38 -0300)]
Keep database handle open, and avoid synchronous writes
The synchronous writes behavior is the safest, but has very poor
performance, and causes UI hangs for users of soup.
Bug #584522
Dan Winship [Mon, 7 Sep 2009 22:34:49 +0000 (18:34 -0400)]
2.27.92
Dan Winship [Mon, 7 Sep 2009 13:57:26 +0000 (09:57 -0400)]
Remove SoupPasswordManager from the stable API
See http://bugzilla.gnome.org/show_bug.cgi?id=594377
Dan Winship [Mon, 7 Sep 2009 22:25:15 +0000 (18:25 -0400)]
SoupURI: an empty query is distinct from no query
http://bugzilla.gnome.org/show_bug.cgi?id=594405
Dan Winship [Mon, 7 Sep 2009 16:46:28 +0000 (12:46 -0400)]
Skip termios stuff in tests/get if building on Windows
Yeah, yeah, I should add a HAVE_TERMIOS_H test. Whatever.
http://bugzilla.gnome.org/show_bug.cgi?id=593845
Xan Lopez [Tue, 1 Sep 2009 15:46:23 +0000 (18:46 +0300)]
Reset error pointer to NULL when we are about to use it again.
Just in case sqlite expects this to be the case a la GError.
Also use NULL instead of 0 to initialize the error pointers elsewhere.
Dan Winship [Mon, 31 Aug 2009 16:15:01 +0000 (12:15 -0400)]
Set MISSING_REGRESSION_TEST_PACKAGES if built with --disable-ssl
This way "make check" will warn you that it didn't test everything
Marvin Schmidt [Sun, 30 Aug 2009 15:37:30 +0000 (17:37 +0200)]
Fix timeout-test without SSL support
http://bugzilla.gnome.org/show_bug.cgi?id=593563
Dan Winship [Tue, 25 Aug 2009 15:32:49 +0000 (11:32 -0400)]
Fix header names in build-howto.xml
Pointed out by Dominik Bylica
Dan Winship [Tue, 25 Aug 2009 15:31:02 +0000 (11:31 -0400)]
Fix some incorrect "Since" tags in SoupCookieJar docs.
Pointed out by Lucian Langa
Dan Winship [Mon, 24 Aug 2009 20:39:45 +0000 (16:39 -0400)]
post-release bump to 2.27.92
Dan Winship [Mon, 24 Aug 2009 20:33:22 +0000 (16:33 -0400)]
2.27.91
Dan Winship [Mon, 24 Aug 2009 16:30:49 +0000 (12:30 -0400)]
Fix some leaks in the error cases of soup_multipart_new_from_message()
Noticed by Xan Lopez while looking for a different leak.
Dan Winship [Sat, 22 Aug 2009 13:11:45 +0000 (09:11 -0400)]
Avoid infinite loop trying to connect to host when the network is down.
If a connection attempt to a host fails, fail all of the messages
queued for that host.
Previously we would leave them in the queue if there was already an
existing connection to the host (hoping that we'd be able to reuse
that connection for the other messages later), but this meant that if
there was a single connection to a host open, with a message running
on it, and at least one additional queued message to the same host,
and then the network went down, libsoup would get stuck in a loop
repeatedly trying and failing to open a second connection (with the
first connection never getting a chance to time out).
http://bugzilla.gnome.org/show_bug.cgi?id=592492
Dan Winship [Fri, 21 Aug 2009 23:49:42 +0000 (19:49 -0400)]
Fix SoupLogger to not crash with streamed requests
http://bugzilla.gnome.org/show_bug.cgi?id=591857
Dan Winship [Fri, 21 Aug 2009 23:03:56 +0000 (19:03 -0400)]
Re-redo not-yet-used connection handling
Previously we were taking special care to avoid closing connections
that hadn't been used yet, but this is not actually necessary;
run_queue() doesn't prune idle connections until after running through
the entire queue once, so if the new connection is still idle at that
point, it means we no longer have a message to send on it (probably
because the message already got sent on another connection), and so it
is legitimate to close it if needed.
http://bugzilla.gnome.org/show_bug.cgi?id=592084
Dan Winship [Fri, 21 Aug 2009 22:42:55 +0000 (18:42 -0400)]
Remove checks for SOUP_MESSAGE_IO_STATUS_CONNECTING, since it never gets set
The connection-management rewrite removed the code that would set it.
Since it never worked exactly the way it was supposed to anyway, let's
just get rid of it and replace it with something better.
Dan Winship [Thu, 20 Aug 2009 18:14:52 +0000 (14:14 -0400)]
Fix the definition of soup_message_is_keepalive() for HTTP/1.0
Fixes a problem where some requests would reach 100% but never "finish"