Max Kellermann
6d54928d7c
Revert "lib/curl/Global: remove lower bound on timeouts"
...
This reverts commit 4475b8ca04
. Further
testing revealed that the threaded resolver still uses a timeout of
0ms. This revert however lowers the bound to a minimum of 1ms instead
of 10ms.
2019-12-24 16:09:26 +01:00
Max Kellermann
fe598e7d30
lib/curl/Global: remove InvalidateSockets() call from Remove()
...
curl_multi_remove_handle() calls our socket function, and there's no
need to call curl_multi_socket_action().
2019-12-23 14:52:46 +01:00
Max Kellermann
4475b8ca04
lib/curl/Global: remove lower bound on timeouts
...
This was a problem 9 years ago, and apparently, it has been fixed long
ago.
2019-12-23 14:50:51 +01:00
Max Kellermann
a714bdb0ce
lib/curl: drop support for CURL versions older than 7.32.0
...
For simplicity, this commit removes a workaround for an old CURL bug.
2019-12-23 14:41:06 +01:00
Max Kellermann
dc3c0c8866
pcm/Convert, ...: add missing include for std::runtime_error
2019-12-16 22:52:50 +01:00
Max Kellermann
2c276770f0
util/PrintException, ...: update copyright
2019-12-04 12:33:36 +01:00
Max Kellermann
364acc8949
lib/curl/Escape: add CurlUnescape()
2019-10-15 13:39:02 +02:00
Max Kellermann
a8f4d2b6fc
storage/curl: move code to EscapeUriPath()
2019-10-15 13:24:06 +02:00
Max Kellermann
0eb113e7c6
lib/curl/String: OO wrapper for allocated strings returned from CURL
2019-10-15 13:13:39 +02:00
Max Kellermann
008383f24a
python/build/libs.py: upgrade CURL to 7.63.0
2019-01-21 10:11:50 +01:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406
, we don't need to include
`config.h` early to properly enable large file support. Meson passes
the required macros on the compiler command line instead of defining
them in `config.h`.
This means we can include `config.h` at any time, whenever we want to
check its macros, and there are no ordering constraints.
2018-11-19 16:33:49 +01:00
Max Kellermann
94592c1406
build with Meson instead of autotools
...
So long, autotools! This is my last MPD related project to migrate
away from it. It has its strengths, but also very obvious weaknesses
and weirdnesses. Today, many of its quirks are not needed anymore,
and are cumbersome and slow. Now welcome our new Meson overlords!
2018-10-14 23:41:38 +02:00
Max Kellermann
ec54754e22
Compiler.h: move to util/
2018-08-20 16:19:17 +02:00
Max Kellermann
9a29d02e7e
Merge branch 'v0.20.x'
2018-07-06 19:43:01 +02:00
Max Kellermann
466625f7ad
input/curl: use new class HttpStatusError
...
This way, IsFileNotFound() can detect status 404.
2018-07-06 19:26:11 +02:00
Max Kellermann
b30a510b45
Merge tag 'v0.20.18'
...
release v0.20.18
2018-02-24 23:16:06 +01:00
tpoeiras
3f3e0739c4
Fix curl storage plugin failure if the authentication method is different than basic.
2018-02-24 21:59:13 +01:00
Max Kellermann
65bbb0e0aa
Merge tag 'v0.20.17'
...
release v0.20.17
2018-02-11 13:22:43 +01:00
Max Kellermann
9187a08106
lib/curl: remove .netrc support on Android
...
Not needed on Android, and the implementation uses getpwuid_r() which
is unavailable on old Android versions.
2018-02-09 23:14:29 +01:00
Max Kellermann
3859a50466
python/build/libs.py: convert CURL edit to quilt patch
2018-02-09 23:14:27 +01:00
Max Kellermann
b6013a92e0
lib/curl/Request: merge two "try" blocks
2018-01-29 23:25:03 +01:00
Max Kellermann
1da64fb79c
lib/curl/Delegate: helper class for response body parsers
...
Eliminate duplicate code.
2018-01-23 16:48:43 +01:00
Max Kellermann
c3b8568560
lib/curl/Handler: add API documentation
2018-01-20 00:28:54 +01:00
Max Kellermann
74eac1d449
lib/curl/Request: add constructor without "url" parameter
...
Allows constructing the request first and set the URL later. This is
needed because curl_easy_escape() is needed to construct the URL,
which however needs the CURL "easy" handle created by the Request class.
2018-01-15 10:36:48 +01:00
Max Kellermann
edcd0b9913
lib/curl/Request: add methods StartIndirect(), StopIndirect()
2018-01-11 20:51:23 +01:00
Max Kellermann
cb86023bd7
lib/curl/Form: new library
2018-01-11 17:27:25 +01:00
Max Kellermann
bd2cb40424
lib/curl/Easy: add curl_easy_escape() wrapper
2018-01-11 17:27:25 +01:00
Max Kellermann
a8df5e109b
input/curl: use StringView::StartsWith()
2018-01-11 14:52:35 +01:00
Max Kellermann
1040b85785
lib/{curl,upnp}: add more exception handlers
...
Bugs found by Coverity.
2017-11-14 20:05:44 +01:00
Max Kellermann
4b2bb88375
lib/upnp: add "noexcept"
2017-11-12 18:33:58 +01:00
Max Kellermann
9d47b220a4
lib/curl: add "noexcept"
2017-11-12 17:49:58 +01:00
Max Kellermann
7e16ac305d
event/SocketMonitor: rename Get() to GetSocket()
2017-11-10 20:34:45 +01:00
Max Kellermann
59a8836924
event/SocketMonitor: add "noexcept"
2017-11-10 20:20:07 +01:00
Max Kellermann
431eb7bc8c
lib/curl/{Global,Request}: migrate from DeferredMonitor to DeferEvent
2017-09-21 22:53:17 +02:00
Max Kellermann
9744f437d8
Util/CharUtil: add wchar_t overloads
...
Needed for WStringView.
2017-09-12 18:22:02 +02:00
Max Kellermann
c24b8460e0
lib/curl/Global: migrate from TimeoutMonitor to TimerEvent
2017-08-29 16:33:20 +02:00
Max Kellermann
b7d0890bc0
lib/curl/Init: share a CurlGlobal instance between input and storage
2017-08-18 13:34:55 +02:00
Max Kellermann
492b20a89d
event/SocketMonitor: use class SocketDescriptor
2017-08-10 19:19:58 +02:00
Max Kellermann
501a4af914
util/StringUtil: move strip functions to StringStrip.cxx
2017-07-05 17:20:02 +02:00
Max Kellermann
979f1b6c39
Merge tag 'v0.20.9'
...
release v0.20.9
2017-06-04 12:57:05 +02:00
Max Kellermann
a057b4f6d8
*: add lost of "noexcept" specifications
2017-06-04 12:46:48 +02:00
Max Kellermann
4faef28cc5
Merge tag 'v0.20.7'
...
release v0.20.7
2017-05-15 23:01:49 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
e26d49efb7
Merge tag 'v0.20.6'
...
release v0.20.6
2017-03-10 17:02:32 +01:00
Max Kellermann
ac8dce6599
lib/curl/Request: "ICY 200 OK" is a response boundary header
2017-03-10 16:28:02 +01:00
Max Kellermann
190d525099
lib/curl/Request: move code to IsResponseBoundaryHeader()
2017-03-10 16:24:30 +01:00
Max Kellermann
add953fb6e
lib/curl/Global: decouple from the IOThread library
2017-01-26 09:29:49 +01:00
Max Kellermann
6eea56861b
AUTHORS, ...: update my email address
2017-01-17 11:54:55 +01:00
Max Kellermann
58fb36bdb9
storage/http: new storage plugin
2017-01-08 14:40:20 +01:00
Max Kellermann
4297a7b0a4
lib/curl/Request: move exception handling out of the WRITEFUNCTION
...
libcurl's WRITEFUNCTION is pretty fragile; if we destroy the CURL*
instance or even unregister it using curl_multi_remove_handle(),
libcurl will crash instantly. But still we need to be able to handle
exceptions from inside the WRITEFUNCTION, and call
CurlResponseHandler::OnError(), which may destroy the whole thing. As
a workaround, I use DeferredMonitor to postpone the OnError() call
into a stack frame which is allowed to destroy the request.
2017-01-08 14:36:27 +01:00