Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I026585438031f2cf6255822fdd432796c398efe3
|
|
Change-Id: I484cce89dab3187f91ab6e005e265514a03028bd
|
|
Change-Id: Id151dafaa6ac9f569d76f08282b5c9e4c3b19621
|
|
|
|
soup-portability.h created portability problems (ha!) because the
windows headers do "#define interface struct", conflicting with
variable names elsewhere.
The only thing that needed soup-portability.h in the public headers
was soup-address.h, which uses struct sockaddr. But we can just do a
forward declaration of that type rather than actually pulling in the
headers. Then soup-address.h can stop including soup-portability.h,
and we can use gio/gnetworking.h in the handful of other places that
need networking-related includes.
This may possibly break some other modules that depended on implicitly
getting network includes as a side effect of including soup.h...
https://bugzilla.gnome.org/show_bug.cgi?id=692134
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=698220
|
|
|
|
Clients can specify a priority for each message added to the SoupSession,
which will determine the order in which it is processed by the
session's message processing queue.
https://bugzilla.gnome.org/show_bug.cgi?id=696277
|
|
Don't try to use external NTLM auth if built without support for that.
https://bugzilla.gnome.org/show_bug.cgi?id=697510
|
|
Could use G_GSIZE_FORMAT here, but casting to gulong is simpler.
|
|
Address the possibility of data: URLs containing null characters when the data
request is being performed. The uri_decoded_copy method is enhanced with a
third argument, a pointer to an integer that should be set to the length of
decoded data when provided. This length is then set as the request's content
length.
A test checking the correct behavior is added in requester-test. Calls to
uri_decoded_copy where the length of the decoded output is not required are
adjusted to provide NULL as the third argument.
|
|
Normally when sending a 401 response, a server re-sends the initial
WWW-Authenticate challenge. However, it doesn't actually have to, and
libsoup was getting confused if it didn't. Fix that.
https://bugzilla.redhat.com/show_bug.cgi?id=916224
|
|
Every year or two some bug comes up that makes libsoup retry a request
infinitely. (Also, apps can do this on their own by not paying
attention to the "retrying" flag in SoupSession::authenticate.) Move
the "too many redirects" code and rework it to handle all possible
cases of "message gets resent a suspicious number of times".
|
|
SoupCache was not updating the cached headers on conditional requests. We
were only doing it for revalidations started by libsoup clients.
This also properly reset the values of freshness_lifetime and
must_revalidate on revalidations. These two fields were keeping their
original values even if the server wasn't providing such information.
Finally this adds a new cache test (do_header_test) and fixes the one
disabled with #ifdefs (second revalidations).
https://bugzilla.gnome.org/show_bug.cgi?id=695121
|
|
get, simple-httpd, and simple-proxy are more example code than test
programs, so move them into a separate directory.
Also, remove "dns", which was once a sort-of test of SoupAddress, but
is now just a redundant sort-of test of GResolver.
|
|
Remove accumulated cruft, mostly from things we used to depend on but
don't any more.
Also a few minor drive-by configure cleanups
|
|
automake interprets exit code 77 as meaning "skipped", so have the
various apache-dependent, php-dependent, and curl-dependent tests do
that, and compile them unconditionally. (Although, to avoid "unused"
warnings, we end up #ifdeffing out the whole file.)
|
|
Specifying serial-tests in AM_INIT_AUTOMAKE breaks the build with
automake 1.11, so the only way to support both 1.11 and 1.13 is to
make the tests work under the parallel harness. Fortunately this
wasn't that hard.
|
|
Added do_refcounting_test that checks that streams do not leak any
reference when a message is cancelled just before starting to read.
This test also need a new cancel flag called
SOUP_TEST_REQUEST_CANCEL_AFTER_SEND_FINISH.
https://bugzilla.gnome.org/show_bug.cgi?id=682527
|
|
We were assuming that if the SOUP_TEST_REQUEST_CANCEL_SOON flag was not
present then we wanted an immediate cancelation. That worked but now we need
to add it to support more cancellation types.
https://bugzilla.gnome.org/show_bug.cgi?id=682527
|
|
Remove rules that automake can figure out itself. Run the tests in
alphabetical order. Run "make kill-httpd" at the end of "make check",
in case the last httpd-using test crashed.
|
|
Added cancellation tests for both fresh and under revalidation resources.
These tests ensure that cancellations happen flawlessly and that any
potential revalidation process is also cancelled.
https://bugzilla.gnome.org/show_bug.cgi?id=692310
|
|
The function gets a new parametter used to enable request cancellation for
both sync and async sessions. The cancellation could be performed by either
using the GCancellable or by directly cancelling the SoupMessage.
Also the GMainContext used to simulate sync operations with async ones will
now try to execute all its pending events before quiting the main loop.
https://bugzilla.gnome.org/show_bug.cgi?id=692310
|
|
If the first attempt at NTLM auth fails, let the auth manager emit a
"retrying" authenticate as well, just like normal auths do.
https://bugzilla.gnome.org/show_bug.cgi?id=693222
|
|
This broke CalDAV in evolution. I'm not sure exactly why, but if it
broke that, it might break other things too, so let's just revert
this.
This reverts commit 38901ca5e684a8fac75e6ff740d45c82dd44181a.
https://bugzilla.gnome.org/show_bug.cgi?id=692149
|
|
All supported HTTP auth methods use both username and password, so
assume a password of "" if none is given
|
|
SoupMessage:tls-certificate and SoupMessage:tls-errors were only
getting set for successful https connections. It is useful to have
them be set on failed ones as well. Fix that, and make ssl-test test
it.
https://bugzilla.gnome.org/show_bug.cgi?id=690176
|
|
Add soup_auth_manager_use_auth(), for "preloading" authentication, and
make the old automatically-request-NTLM behavior happen only for
the legacy SoupSession subclasses.
|
|
|
|
We need to set SOUP_NTLM_AUTH_DEBUG to an empty string (to tell
SoupAuthNTLM to always use built-in NTLM), not leave it unset, which
will let SoupAuthNTLM use the real ntlm_auth binary.
(The effect of this bug was that instead of always using built-in
NTLM, ntlm-test-helper would first try to use ntlm_auth, and fail
because there were no cached credentials, and then fall back to
built-in NTLM, which meant that we were testing the fallback codepath
even in the supposed-to-be-non-fallback case. Unless your username was
"alice" or "bob" and you had a working winbind configuration, in which
case the tests would just fail.)
Also, fix up ntlm-test a bit, so that if ntlm-test-helper for some
reason tries to authenticate as someone other than alice or bob, it
recognizes this, rather than considering everyone who isn't alice to
be bob.
|
|
Move the auth-managery parts of SoupAuthManagerNTLM down into
SoupAuthManager, and the NTLMy parts into SoupAuthNTLM (in preparation
for supporting other kinds of connection-based auth such as
Negotiate).
The reorganization also makes it possible to use SoupAuthNTLM to
implement a mock version of /usr/bin/ntlm_auth, so we can extend
ntlm-test to test both the built-in-NTLM and external-NTLM codepaths.
Doing this reveals that, AFAICT, the external codepath did not
previously actually work, because it mis-used
G_SPAWN_FILE_AND_ARGV_ZERO and so ended up passing incorrect arguments
to /usr/bin/ntlm_auth.
|
|
Add a test that each of the 3 SoupSession types (plain, async, sync)
behaves as expected with soup_session_queue_message(),
soup_session_send_message(), and soup_session_cancel_message().
|
|
SoupMessage isn't being deprecated, and mirroring its API onto
SoupRequestHTTP is just going to result in always having to add every
new API twice. Also, it turns out to be less useful than originally
expected anyway, since you end up having to cast between SoupRequest
and SoupRequestHTTP frequently anyway.
This reverts commit d7117329400e47d2187ed033099d921d555f8d71 and most of
commit 53c270d0e2868fa5ad48ce864f10a9486b11a071.
|
|
gtk-doc expects "Deprecated:" notes in docs to be matched up with some
deprecation-guard #define. So even though we don't want people to use
it any more, add LIBSOUP_DISABLE_DEPRECATED back.
|
|
Add a test of basic cache functionality (finally!)
Still needs more tests...
|
|
|
|
This was added as a hacky way to avoid extra memcpy()s in certain use
cases by reading data directly into a caller-provided buffer. However,
SoupRequest now provides a vastly simpler way of doing this.
|
|
|
|
We were accidentally decoding %00 to '\0' in URIs, causing a few
WebKit tests to fail. Leave it undecoded instead.
|
|
Fix multipart-test and resource-test to use the new SoupSession APIs
rather than SoupRequester. Fix requester-test (which intentionally
tests that SoupRequester still works too) to not show deprecation
warnings.
|
|
Add SoupSession helpers to return SoupRequestHTTP directly and allow
overriding the request method.
|
|
Add soup_request_disable_feature(), which proxies to
soup_message_disable_feature() for SoupRequestHTTP and is a no-op
otherwise.
Add SoupRequest tests to sniffing-test, which also tests
soup_request_disable_feature() now.
|
|
Mirror various SoupMessage-related API onto SoupRequestHTTP so that
you don't need to resort to soup_request_http_get_message().
|
|
Add soup_session_request() and soup_session_request_uri(),
implementing basically the same behavior as soup_requester_request()
and soup_requester_request_uri() (but without requiring a separate
SoupSessionFeature), and remove the unstable-api ifdefs from
soup-request*.h.
SoupRequester still exists, but it is still guarded by the
unstable-api ifdefs, and is just a dummy wrapper around the
functionality that is now in SoupSession.
|
|
In gio-based APIs, async vs sync is a function-level distinction, not
a class-level distinction. Merge most of the existing SoupSessionAsync
and SoupSessionSync code up into SoupSession, and make SoupSession
non-abstract, so that you can create a SoupSession and then use either
sync or async SoupRequest-based APIs on it. (The traditional APIs
still require one of the traditional subclasses, although the code
reorg does affect them in some ways, such as making SoupSessionAsync
more thread-safe.)
|
|
Make sure that zero-length username/password are recognized as
different from no username/password.
|
|
When using credentials embedded in the URI, clear them so that a failure
will trigger the authentication signal and the use of previously
remembered credentials.
|
|
Fix a few places where the test might crash rather than reporting an
error when something went wrong.
|
|
(fixing a fd leak in the process)
|
|
SoupLogger was misprinting Host headers with IPv6 literals (even
though soup-message-client-io was sending them correctly). Fix that.
Also includes an addition to misc-test to verify that the Host header
received by the server is correct (which it already was, but the
SoupLogger bug made me think it wasn't.)
|