summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2.31.6LIBSOUP_2_31_6Dan Winship2010-08-022-1/+36
|
* soup-message-io: fix wrong-Content-Length logicDan Winship2010-07-313-15/+127
| | | | | | | | | | | | Previously we just ignored Content-Length if the server specified "Connection: close", which does the right thing if the specified Content-Length is too large, but fails if the Content-Length is correct but the server "forgets" to close the connection. Fix this so that we always stop reading once we get to the expected Content-Length, but we also cope with the connection closing before that point. https://bugzilla.gnome.org/show_bug.cgi?id=611481
* Do not dist gir_DATAYaakov Selkowitz2010-07-301-2/+2
| | | | | | | GIR files contain a shared-library attribute which varies per platform, and therefore must not be disted; see bug 621611 for rationale. https://bugzilla.gnome.org/show_bug.cgi?id=621727
* Put the hostname into the reason_phrase with network errorsDan Winship2010-07-304-6/+45
| | | | | | | | eg, "Cannot resolve hostname (sadfasdfasdfasdf.com)" This can be useful for debugging. https://bugzilla.gnome.org/show_bug.cgi?id=623274
* SoupProxyResolverStatic: port to newer SoupProxyURIResolver APIDan Winship2010-07-302-58/+42
|
* SoupSessionAsync: don't stall on proxy resolution errorDan Winship2010-07-301-0/+1
|
* SoupSessionAsync: make soup_session_cancel_message behave stupidly againDan Winship2010-07-281-3/+32
| | | | | | | | | | The session rewrites changed cancellation in async sessions to happen asynchronously. This makes more sense than the old behavior, but can cause problems with code that previously assumed it could cancel-and-forget (and it wasn't actually an intentional change anyway). So revert that. https://bugzilla.gnome.org/show_bug.cgi?id=625406
* Disable TLS 1.2 in addition to 1.0 and 1.1Dan Winship2010-06-291-1/+1
| | | | | | | | | | | Due to bug 581342 we want to only negotiate SSL 3.0. Previously we were telling gnutls to not do TLS1.0 or TLS1.1, but that means with newer versions of gnutls that support TLS1.2 it would try to negotiate that instead and generally fail. Fix that by disabling TLS1.2 too (which works fine even with gnutls versions that don't support TLS1.2 yet). https://bugzilla.gnome.org/show_bug.cgi?id=622857
* Fix redirects-to-different-hosts to not reuse the same connectionDan Winship2010-06-112-7/+39
| | | | | | | | | | | We were mistakenly reusing the same SoupConnection for a queue item even if the message got redirected to a different host. Fix that. The particular fix here (always force it to re-run soup_session_get_connection() after a redirect) is a bit over-aggressive, but this will get rewritten when we eventually fix connection pooling in the proxy case. Also, add a test to tests/redirect-test for this.
* Allow calling soup_test_server_new() multiple times in test programsDan Winship2010-06-1120-35/+63
|
* soup_date_new_from_string: fix an out-of-bounds memory accessDan Winship2010-06-092-8/+25
| | | | | | | | | | | soup_date_new_from_string() would sometimes read off the end of the string, but tests/date didn't catch this even under valgrind, because all of the strings were compile-time constants and they got laid out in a way that never triggered a read of invalid memory. So tweak the test to g_strdup each string before parsing it, which will let valgrind notice if we read outside its bounds in the future. https://bugzilla.gnome.org/show_bug.cgi?id=620288
* Fix connection states so in-use connections don't get prunedDan Winship2010-06-092-2/+3
| | | | | | | Since connections are assigned to messages before they're connected now, they should go to IN_USE after connecting, not IDLE. Otherwise the idle-connection-closing code might close connections that existing queue items were planning to use.
* SoupSession: tweak cancellation againDan Winship2010-06-094-13/+6
| | | | | | | After the too-many-redirects merge, redirect-test was leaking a queue item, because cancelling a message at the point it does resulted in the completion_cb never running. Fix soup_session_cancel_message() (again) to not have this problem.
* Fix a signal-handler leak in the too-many-redirects patchDan Winship2010-06-091-1/+1
|
* SoupSession: continue reorg, remove remaining signal-based flow controlDan Winship2010-06-095-234/+228
| | | | | | | | | | Make the sessions more state-machiney and fix up soup_session_cancel_message() by having it set the message to the (new) FINISHING state and letting the session implementation pick it up from there. Remove the remaining "finished" and "restarted" signal handlers; move the base session's "finished" handler to "soup_session_unqueue_item" and call that from the right places in the subclasses.
* SoupSession: bind connections to messages sooner, improve conn failure caseDan Winship2010-06-096-187/+144
| | | | | | | | | | | | | | | | Rather than having connections be independent until a message is actually sent on them, assign them to queue items when they're created for them. This means that, eg, if another connection frees up while we're waiting for the first connection to connect, that we can't take advantage of that. But it simplifies a ton of other things. Also, if a new connection fails, don't fail every other message on that host; let them succeed or fail independently. When doing a CONNECT though, keep track of the queue item that necessitated it so we can error that out if the CONNECT fails, just like we would if the actual soup_connection_connect() had failed. https://bugzilla.gnome.org/show_bug.cgi?id=619633
* Add SoupMessageQueueItemState, remove SoupMessageIOStatusDan Winship2010-06-099-116/+132
| | | | | | SoupMessageIOStatus was always really more about the session than the message. (SoupServer I/O didn't use it at all.) Replace it with a new SoupMessageQueueItemState, on the queue item rather than the message.
* soup-message-io: use SoupMessageQueueItems and add SoupMessageCompletionFnDan Winship2010-06-0914-192/+214
| | | | | | push SoupMessageQueueItem down into soup-message-io, and end the I/O process by calling a completion callback rather than emitting the SoupMessage signals directly, which gives the session greater control.
* Misc SoupConnection API improvementsDan Winship2010-06-098-62/+58
| | | | | | | | | Use GCancellables in connect_async/connect_sync (plus updates needed for behavior changes caused by that). Make soup_connection_disconnect() always emit the signal if the connection state wasn't already DISCONNECTED, even if it wasn't yet connected before. Remove some dead code in clear_current_request. Remove some more-or-less redundant arguments in soup_message_send_request().
* Make SoupConnection warn if disposed "incorrectly"Dan Winship2010-06-094-73/+69
| | | | | | | | | | | | | Connections should always be disconnected and message-less by the time they are disposed. Likewise, their SoupSockets should be disconnected and not in the middle of an async connect when they're freed (though we can't make the sockets warn unconditionally, since other SoupSocket users external to libsoup may still be doing it "wrong", since that has historically been a supported part of the API) Fix some problems revealed by these warnings. Also, remove some weak refs and replace others by hard refs as needed. Remove unnecessary SoupSessionAsyncTunnelData type.
* tests/auth-test: clean up a bit and fix async auth test logicDan Winship2010-06-091-18/+41
| | | | | | Ensure that we're not aborting the session until after all the messages finish. (Previously it worked by coincidence, but upcoming changes tweak things enough that it would fail otherwise.)
* soup-status.c: #include config.h to get HAVE_SSL defineDan Winship2010-06-091-0/+2
| | | | | Now SOUP_STATUS_SSL will have the the reason phrase "SSL handshake failed" instead of "SSL support not available" when SSL was available.
* Fix (transfer) annotations on some non-transfer-full gettersDan Winship2010-06-094-14/+16
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=621021
* sniffing-test: be robust against slightly-broken jhbuild configsDan Winship2010-06-081-0/+20
| | | | | | | previously if you jhbuilt glib and libsoup, but not shared-mime-info, then this test would fail. Fix that. https://bugzilla.gnome.org/show_bug.cgi?id=612706
* SoupProxyResolverGNOME: improve behavior with more-recent libproxyDan Winship2010-06-082-83/+194
| | | | | | | | | | | | | | SoupProxyResolverGNOME had a nasty workaround for the fact that libproxy 0.2 would crash inside GConf if called from a thread other than the main one. Unfortunately, the workaround involves leaking proxy settings into the environment, which is particularly bad since gnome-panel uses libsoup (via libgweather via intlclock) and so the environment can become polluted for everything started from the panel. In libproxy 0.3 and later, the workaround is no longer necessary, so remove it if libproxy is new enough. https://bugzilla.gnome.org/show_bug.cgi?id=603285
* SoupSession: count redirections and cancel the message after too manyJosé Millán Soto2010-06-085-4/+27
| | | | | | and add a test to redirect-test https://bugzilla.gnome.org/show_bug.cgi?id=604383
* 2.31.2Dan Winship2010-06-082-1/+73
|
* Fix leak of uri in soup_form_request_for_data()Jonathon Jongsma2010-05-281-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=619897
* Annotate all hash table parameters and return values for introspectionGustavo Noronha Silva2010-05-245-16/+17
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=619086
* add introspection files to .gitignoreDan Winship2010-05-241-0/+4
|
* soup-gnutls: talk to servers even if they use really lame key lengthsDan Winship2010-05-221-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=615535
* soup-gnutls: return SOUP_SSL_ERROR, not G_IO_ERROR, on handshake failureDan Winship2010-05-222-4/+6
| | | | Part of https://bugzilla.gnome.org/show_bug.cgi?id=615535
* soup-message-io: only retry on I/O error if the connection has been usedDan Winship2010-05-223-1/+13
| | | | | | | | An I/O failure on a previously-used connection may indicate that the server timed out the connection; an I/O error on a fresh connection should not. Fixes infinite retries in certain edge cases. Part of https://bugzilla.gnome.org/show_bug.cgi?id=615535
* Fix SoupSessionAsync to handle very early aborts betterDan Winship2010-05-165-44/+134
| | | | | | | | | | | | | | | | | | | | | If soup_session_abort() was called while we were doing async DNS, things could get confused and it would end up trying to use a freed SoupSocket. Fix that up by always properly using GCancellables during SoupSocket connection, so that we can cancel any outstanding operations if the socket is destroyed, and add a regression test for that. That then fixes a known leak in misc-test's early-abort case, but makes it crash instead, so we fix that by using a weak pointer in SoupSessionAsync to detect when the session has been destroyed before the callback is invoked. This then creates/reveals additional leaks in that test case, which require additional fixes. The relevant APIs are obviously lousy (in the way most pre-gio async APIs in GNOME were), but can't really be fixed at this point without breaking ABI. To be fixed in the gio-based API... https://bugzilla.gnome.org/show_bug.cgi?id=618641
* plug a small leak in test-utilsDan Winship2010-05-161-0/+1
|
* valgrind suppressions file updatesDan Winship2010-05-161-1/+7
|
* Add some helper functions to aid language bindingsAndreas Rottmann2010-05-032-2/+75
| | | | | | | | | | | | | - Add constructor `soup_buffer_new_take', which is bindable and annotate it "Rename to: soup_buffer_new". - Likewise, create `soup_message_body_append_take' and "Rename to: soup_message_body_append". - Added `soup_buffer_get_data' allowing bindings to access the buffer data. See <https://bugzilla.gnome.org/show_bug.cgi?id=576595>.
* TopGit-driven merge of branches:Andreas Rottmann2010-05-030-0/+0
|\ | | | | | | | | master t/g-i
| * TopGit-driven merge of branches:Andreas Rottmann2010-05-030-0/+0
|/ | | | | master t/build-fixes
* Mark SoupAuth and SoupAuthDomain abstractDan Winship2010-04-302-2/+2
|
* Mark SoupSession as an abstract classLorenzo Gil2010-04-301-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=617216
* Add get methods for SoupCookie, SoupDate, and SoupURI fieldsDan Winship2010-04-286-52/+447
| | | | for added introspectability
* Add properties for request/response body/headersDan Winship2010-04-272-9/+80
| | | | | | | For use with gobject-introspection in bindings that can't read fields directly. Patch from Colin Walters. http://bugzilla.gnome.org/show_bug.cgi?id=551441
* Add gobject-introspection supportAndreas Rottmann2010-04-2618-65/+239
| | | | | | | | | | | | | | | - Detect gobject-introspection (g-i) in configure, using the M4 macro from the newly-added introspection.m4. This adds gobject-introspection as a new *optional* build dependency. - Integrate the generation of .gir and .typelib files into the build build process. - Add the annotations from gir-repository to the source code. - Include annotation glossary in "Reference Manual" main file. See <https://bugzilla.gnome.org/show_bug.cgi?id=576595>.
* added PRAGMA secure_delete =1 to overwite deleted cookies with zerosLukasz Slachciak2010-04-261-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=615711
* post-branch bump to 2.31.0Dan Winship2010-04-111-1/+1
|
* Fix for proxies that close the connection when 407'ing a CONNECTDan Winship2010-04-105-24/+82
| | | | | | | | | | | | | | | If we try to CONNECT through a proxy, and it returns a "407 Proxy Authentication Required" but then closes the connection, we have to create a new connection before we can try CONNECTing again. The old soup-connection.c tunnel code did this, but it got accidentally lost in the soup-session.c version. Fix up tests/proxy-test to test both the connection-close and the persistent-connection cases. This was the underlying bug in https://bugzilla.gnome.org/show_bug.cgi?id=611663, and is at least part of https://bugzilla.gnome.org/show_bug.cgi?id=611539.
* SoupLogger: don't crash if the session emits bogus dataDan Winship2010-04-101-0/+9
| | | | | | | | In general, if the data being passed to SoupLogger is bad, the app is probably going to crash soon anyway, but we'd rather have it crash somewhere "real", not in the debugging code. https://bugzilla.gnome.org/show_bug.cgi?id=611663
* soup_auth_domain_covers: skip the URI path check with proxy auth domainsDan Winship2010-04-102-8/+26
| | | | also, add proxy auth support to tests/simple-proxy
* soup-multipart: don't use Content-Transfer-Encoding in multipart/form-dataDan Winship2010-04-091-14/+0
| | | | | | | The HTML 4.01 spec says you have to, but apparently no one else does, and it confuses some servers. https://bugzilla.gnome.org/show_bug.cgi?id=614198