summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash using SOUP_LOGGER_LOG_BODY with SoupContentSnifferpgriffis/soup-logger-crashPatrick Griffis2023-03-162-1/+54
|
* soup-listener: Plug a leakAlessandro Bono2023-02-241-0/+2
| | | | Fixes: 25e96cad913cde650ca56ff76c3924fd97eb7125
* Add a missing nullable annotationLukáš Tyrychtr2023-02-201-1/+1
| | | | Fixes #335
* Fix handling of sniffed dataPatrick Griffis2023-02-151-13/+22
| | | | Closes #334
* Post-release bumpPatrick Griffis2023-02-121-1/+1
|
* Prepare 3.3.13.3.1Patrick Griffis2023-02-121-0/+6
|
* http1: fix crash when skipping respone stream with chunked encondingCarlos Garcia Campos2023-02-082-2/+71
| | | | | | | When skipping the response body the given buffer is NULL, which is not handled for chunked enconding when reading the trailers. Fixes #323
* Do not wait for the next loop iteration to unqueue async itemsCarlos Garcia Campos2023-02-038-99/+14
| | | | | | This way we release the connection earlier, since other requests might be waiting for the connection. We can also remove manual loop iterations in the tests after a request is done.
* Update Belarusian translationVasil Pupkin2023-01-231-12/+11
|
* cookie-jar: Fix valid Secure cookies being rejectedPatrick Griffis2023-01-232-6/+13
| | | | | The documentation for soup_cookie_jar_add_cookie_full() states NULL uris are always treated as a secure origin.
* Post-release bumpPatrick Griffis2023-01-201-1/+1
|
* Release 3.3.03.3.0Patrick Griffis2023-01-201-0/+33
|
* websocket-test: Fix minor warningsPatrick Griffis2023-01-201-3/+1
|
* soup-message: Publicize API to force HTTP/1 version for sendingMilan Crha2023-01-202-0/+44
| | | | | | | | This way also the libsoup library users can force HTTP/1 version only for some messages, not for the whole process (through the environment variable). Closes https://gitlab.gnome.org/GNOME/libsoup/-/issues/261
* soup-connection-manager: Read 'SOUP_FORCE_HTTP1' environment variable only onceMilan Crha2023-01-201-1/+5
| | | | | | The environment variables usually do not change during runtime, it's unexpected even for this semi-debugging variable, thus let it be read only once and the result being used repeatedly.
* connection-manager: free unused hosts always in the session contextCarlos Garcia Campos2023-01-201-12/+35
| | | | And with the connection manager mutex locked.
* cookies: Only consider space and tab as whitespaceSiwei Li2023-01-191-9/+7
| | | | | | The cookies spec defines whitespace as that. Previously we handled everything `isspace()` considered whitespace such as newlines which is incorrect.
* cookie-jar: Reject cookies with control characters in name or valueSiwei Li2023-01-193-4/+92
|
* cookies: Add support for cookie prefixesSiwei Li2023-01-162-0/+80
| | | | | | | | | | This is a spec that Firefox and Chrome implement: https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00 Closes #349 Closes #326 Co-authored-by: Patrick Griffis <pgriffis@igalia.com>
* CI: Generate coverage reportsPatrick Griffis2023-01-163-3/+7
| | | | Closes #290
* docs: Run gtkdoc-rebase to fix relative glib linksPatrick Griffis2023-01-171-0/+1
|
* ci: Add gtk-doc to imagePatrick Griffis2023-01-173-2/+3
|
* docker: Workaround wsaccel 0.6.4 not installingPatrick Griffis2023-01-171-1/+2
|
* docs: Add robots.txtPatrick Griffis2023-01-172-1/+6
|
* CI: Fix showing test results in gitlabPatrick Griffis2023-01-161-1/+5
|
* docs: Fix dependency namesCorey Berla2023-01-161-1/+1
| | | | | Dependency names need to match the namespace name exactly (including capitalization) otherwise they won't be shown as dependencies.
* SameSite=None cookies should be rejected unless the Secure attribute is set.Siwei Li2023-01-142-3/+13
|
* message: fix critical when trying to create a message from invalid URIGuillaume Desmottes2023-01-121-1/+1
| | | | | | | | | soup_message_new_from_uri() raises a critical if SOUP_URI_IS_VALID returns FALSE. This macro also checks if the URI host is not an empty string, which was not checked in the caller code. Fix critical when running such GStreamer pipeline: gst-launch-1.0 souphttpsrc location=http:///not-there.ogg ! fakesink
* message: add SoupMessage::got-body-data signalCarlos Garcia Campos2023-01-116-16/+90
| | | | | | It can be used to monitor the progress of the read operation. Fixes #319
* soup_uri_copy: Don't retain default ports when copyingPatrick Griffis2023-01-092-1/+36
| | | | Fixes #322
* Update Belarusian translationVasil Pupkin2023-01-091-91/+105
|
* soup-connection-auth: Add thread safety around 'conns' hash tableMilan Crha2023-01-021-3/+13
| | | | | | | The GHashTable is not thread safe, thus add a thread safety around it, to avoid issues when it's accessed from multiple threads at the same time. Closes https://gitlab.gnome.org/GNOME/libsoup/-/issues/317
* session: add soup_session_send_and_splice() and ↵Carlos Garcia Campos2022-12-143-95/+256
| | | | | | | soup_session_send_and_splice_async() This is convenient API for reading the request body stream and writing it to an output stream.
* server-connection: fix dep cycle and connection leakBiagioFesta2022-12-131-0/+1
| | | | | | | | | The initial message contains a cycle-reference to the connection. We need to decrement the reference in order to properly clean up the connection. Before this patch, it was possible SoupServerConnection-finalize was never called. This was causing a memory leak (and socket FD leak).
* cookie: Change default same-site value to LaxAmanda2022-11-284-10/+22
| | | | | | | As per https://datatracker.ietf.org/doc/html/draft-west-cookie-incrementalism-00, the default value is now Lax. This change was introduced in Chrome 80 and Firefox 96.
* soupWebsocket: don't add the protocols header if it would be emptyLukáš Tyrychtr2022-11-242-4/+63
| | | | Fixes #314
* soup-multipart.c: add missing (nullable) annotationsVal Och2022-11-201-2/+2
|
* cookie: Simplify same-site-policy propertyPatrick Griffis2022-11-181-7/+4
| | | | | | Previously this used the GDataSet API to avoid modifying the public SoupCookie struct in libsoup2, however since this is now an opaque struct we can just directly include it.
* tests: Explicitly test NULL path comparisionPatrick Griffis2022-11-151-2/+2
|
* cookie: Test for: Fix soup_cookie_equal() with NULL pathAmanda2022-11-151-0/+15
|
* cookie: Fix soup_cookie_equal() with NULL pathPatrick Griffis2022-11-141-1/+1
| | | | | It is valid for a SoupCookie to be constructed with a NULL path and strcmp() isn't NULL safe.
* Fix typo in soup-message-metrics.cwi24rd2022-11-111-1/+1
|
* server: handle the case of connection being disconnected while message is pausedCarlos Garcia Campos2022-11-104-5/+8
| | | | | It can happen in http2, that one stream is paused, but the connection is closed due to an io error, or the client closed the connection.
* server: close http/2 connection after io error or goaway receivedCarlos Garcia Campos2022-11-102-14/+43
|
* server: do not leak idle connections closed by the clientCarlos Garcia Campos2022-11-084-14/+53
|
* server: return early from io_run if server io doesn't match after io_run_until()Carlos Garcia Campos2022-10-211-0/+8
| | | | | | It happens when the io data is destroyed during the io_run_until(). Fixes #309
* server: SoupServerConnection is leaked after being stolenCarlos Garcia Campos2022-10-212-1/+2
| | | | | | When soup_server_connection_steal() is called disconnected signal is not emitted, so SoupServer doesn't remove the connection from the client list.
* server-connection: Ensure we clean up the socketJan Alexander Steffens (heftig)2022-10-211-3/+5
| | | | | | | If the `conn` has been freed due to stealing, we don't disconnect but we still need to clean up the socket. Fixes: https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/321#note_1578921
* http2: content-sniffed should be emitted even for resources with no contentCarlos Garcia Campos2022-10-182-19/+38
| | | | They are always considered text/plain like in http1.
* http2: return early from data source callack if data is NULLCarlos Garcia Campos2022-10-171-0/+9
| | | | | | It can happen in case of cancellation. Fixes #305