1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-23 16:48:49 -05:00
curl/lib
Daniel Stenberg 4c35574bb7
multi: multiplexing improvements
Fixes #3436
Closes #3448

 Problem 1

After LOTS of scratching my head, I eventually realized that even when doing
10 uploads in parallel, sometimes the socket callback to the application that
tells it what to wait for on the socket, looked like it would reflect the
status of just the single transfer that just changed state.

Digging into the code revealed that this was indeed the truth. When multiple
transfers are using the same connection, the application did not correctly get
the *combined* flags for all transfers which then could make it switch to READ
(only) when in fact most transfers wanted to get told when the socket was
WRITEABLE.

 Problem 1b

A separate but related regression had also been introduced by me when I
cleared connection/transfer association better a while ago, as now the logic
couldn't find the connection and see if that was marked as used by more
transfers and then it would also prematurely remove the socket from the socket
hash table even in times other transfers were still using it!

 Fix 1

Make sure that each socket stored in the socket hash has a "combined" action
field of what to ask the application to wait for, that is potentially the ORed
action of multiple parallel transfers. And remove that socket hash entry only
if there are no transfers left using it.

 Problem 2

The socket hash entry stored an association to a single transfer using that
socket - and when curl_multi_socket_action() was called to tell libcurl about
activities on that specific socket only that transfer was "handled".

This was WRONG, as a single socket/connection can be used by numerous parallel
transfers and not necessarily a single one.

 Fix 2

We now store a list of handles in the socket hashtable entry and when libcurl
is told there's traffic for a particular socket, it now iterates over all
known transfers using that single socket.
2019-01-10 09:49:09 +01:00
..
vauth ntlm: update selection of type 3 response 2019-01-01 11:47:17 +01:00
vtls schannel: fix compiler warning 2019-01-06 23:09:19 +01:00
.gitattributes .gitattributes: force shell scripts to LF 2017-04-17 08:32:13 +02:00
.gitignore VC: remove the makefile.vc6 build infra 2017-01-23 14:27:32 +01:00
amigaos.c s/cURL/curl 2016-10-18 13:59:54 +02:00
amigaos.h whitespace fixes 2018-09-23 22:24:02 +00:00
arpa_telnet.h travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02:00
asyn-ares.c curl_multi_remove_handle() don't block terminating c-ares requests 2019-01-07 10:05:20 +01:00
asyn-thread.c curl_multi_remove_handle() don't block terminating c-ares requests 2019-01-07 10:05:20 +01:00
asyn.h curl_multi_remove_handle() don't block terminating c-ares requests 2019-01-07 10:05:20 +01:00
base64.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
checksrc.pl checksrc: add COPYRIGHTYEAR check 2018-12-03 23:13:40 +01:00
CMakeLists.txt CMake: Improve config installation 2018-10-01 16:16:29 -04:00
config-amigaos.h config-amigaos.h: (embarrassed) made the line shorter 2016-12-18 23:46:17 +01:00
config-dos.h whitespace fixes 2018-09-23 22:24:02 +00:00
config-mac.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-os400.h os400: add missing symbols in config file. 2017-10-19 18:48:21 +01:00
config-riscos.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-symbian.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-tpf.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-vxworks.h config: Remove unused SIZEOF_VOIDP 2018-10-24 11:20:57 +02:00
config-win32.h config_win32: enable LDAPS 2018-10-19 09:23:14 +02:00
config-win32ce.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
conncache.c conncache_unlock: avoid indirection by changing input argument type 2018-12-22 18:14:56 +01:00
conncache.h conncache_unlock: avoid indirection by changing input argument type 2018-12-22 18:14:56 +01:00
connect.c connect: fix building for recent versions of Minix 2018-11-29 02:05:23 -05:00
connect.h url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT 2018-02-20 17:51:43 -05:00
content_encoding.c content_encoding: accept up to 4 unknown trailer bytes after raw deflate data 2018-07-12 22:46:15 +02:00
content_encoding.h HTTP: support multiple Content-Encodings 2017-11-05 15:09:48 +01:00
cookie.c cookies: extend domain checks to non psl builds 2018-12-19 20:59:09 +01:00
cookie.h cookies: leave secure cookies alone 2018-12-13 09:57:58 +01:00
curl_addrinfo.c curl_addrinfo: use same #ifdef conditions in source as header 2018-06-01 14:40:35 +02:00
curl_addrinfo.h unix_socket: add support for abstract unix domain socket 2017-01-13 16:25:20 +01:00
curl_base64.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_config.h.cmake config: Remove unused SIZEOF_VOIDP 2018-10-24 11:20:57 +02:00
curl_ctype.c URL: fix ASCII dependency in strcpy_url and strlen_url 2018-05-03 15:19:20 +02:00
curl_ctype.h URL: fix ASCII dependency in strcpy_url and strlen_url 2018-05-03 15:19:20 +02:00
curl_des.c use *.sourceforge.io and misc URL updates 2017-02-06 19:21:05 +00:00
curl_des.h openssl: remove most BoringSSL #ifdefs. 2016-02-09 08:46:36 +01:00
curl_endian.c curl_endian: remove unused functions 2017-06-02 13:30:41 +02:00
curl_endian.h curl_endian: remove unused functions 2017-06-02 13:30:41 +02:00
curl_fnmatch.c spelling fixes 2018-06-03 12:14:45 +00:00
curl_fnmatch.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_gethostname.c checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
curl_gethostname.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_gssapi.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
curl_gssapi.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_hmac.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
curl_ldap.h whitespace fixes 2018-09-23 22:24:02 +00:00
curl_md4.h mbedtls: enable NTLM (& SMB) even if MD4 support is unavailable 2017-04-21 22:42:14 +02:00
curl_md5.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_memory.h spelling fixes 2017-03-26 23:56:23 +02:00
curl_memrchr.c Curl_memchr: zero length input can't match 2018-04-24 08:03:23 +02:00
curl_memrchr.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multibyte.c curl_multibyte: fix a malloc overcalculation 2018-11-06 03:11:05 -05:00
curl_multibyte.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_ntlm_core.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
curl_ntlm_core.h ntlm: move NTLM_NEEDS_NSS_INIT define into core NTLM header 2017-09-23 13:58:14 -04:00
curl_ntlm_wb.c curl_ntlm_wb: check aprintf() return codes 2018-10-08 12:06:33 +02:00
curl_ntlm_wb.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_path.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
curl_path.h headers: end all headers with guard comment 2018-10-23 10:02:24 +02:00
curl_printf.h snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
curl_range.c Curl_range: fix FTP-only and FILE-only builds 2018-03-11 20:33:04 +01:00
curl_range.h Curl_range: commonize FTP and FILE range handling 2018-01-30 17:23:26 +01:00
curl_rtmp.c rtmp: fix for compiling with lwIP 2018-10-26 00:04:02 +02:00
curl_rtmp.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_sasl.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
curl_sasl.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_sec.h checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
curl_setup_once.h whitespace fixes 2018-09-23 22:24:02 +00:00
curl_setup.h axtls: removed 2018-11-01 10:29:53 +01:00
curl_sha256.h auth: add support for RFC7616 - HTTP Digest access authentication 2017-10-28 16:32:43 +02:00
curl_sspi.c comment: Fix multiple typos in function parameters 2018-10-03 10:27:27 +02:00
curl_sspi.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_threads.c curl_threads: fix classic MinGW compile break 2018-09-27 09:13:20 +02:00
curl_threads.h Windows: fixes for MinGW targeting Windows Vista 2018-10-09 08:33:45 +02:00
curlx.h snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
dict.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
dict.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
doh.c printf: fix format specifiers 2019-01-04 23:50:48 +01:00
doh.h headers: end all headers with guard comment 2018-10-23 10:02:24 +02:00
dotdot.c Curl_dedotdotify(): always nul terminate returned string. 2018-09-24 07:48:41 +02:00
dotdot.h headers: end all headers with guard comment 2018-10-23 10:02:24 +02:00
easy.c curl_easy_perform: fix timeout handling 2018-11-25 11:25:43 +01:00
easyif.h whitespace fixes 2018-09-23 22:24:02 +00:00
escape.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
escape.h whitespace fixes 2018-09-23 22:24:02 +00:00
file.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
file.h whitespace fixes 2018-09-23 22:24:02 +00:00
fileinfo.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
fileinfo.h ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
firefox-db2pem.sh whitespace fixes 2018-09-23 22:24:02 +00:00
formdata.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
formdata.h mime: unified to use the typedef'd mime structs everywhere 2017-09-05 17:33:16 +01:00
ftp.c pingpong: ignore regular timeout in disconnect phase 2018-12-17 12:33:00 +01:00
ftp.h url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
ftplistparser.c ftp: avoid two unsigned int overflows in FTP listing parser 2018-11-09 23:08:46 +01:00
ftplistparser.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
getenv.c win: Basic support for Universal Windows Platform apps 2016-08-21 13:56:22 +02:00
getinfo.c FILE: fix CURLOPT_NOBODY and CURLOPT_HEADER output 2018-10-08 08:35:40 +02:00
getinfo.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
gopher.c gopher: fix memory leak from 9026083ddb 2018-12-13 15:06:17 +01:00
gopher.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
hash.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
hash.h llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
hmac.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
hostasyn.c setopt: add CURLOPT_DOH_URL 2018-09-06 09:17:17 +02:00
hostcheck.c axtls: removed 2018-11-01 10:29:53 +01:00
hostcheck.h whitespace fixes 2018-09-23 22:24:02 +00:00
hostip4.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
hostip6.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
hostip.c hostip: support wildcard hosts 2018-12-27 14:23:53 +01:00
hostip.h setopt: add CURLOPT_DOH_URL 2018-09-06 09:17:17 +02:00
hostsyn.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
http2.c http2: clear pause stream id if it gets closed 2018-12-20 17:10:12 +01:00
http2.h Upon HTTP_1_1_REQUIRED, retry the request with HTTP/1.1 2018-12-08 10:59:23 +01:00
http_chunks.c ctype: restore character classification for non-ASCII platforms 2018-04-24 14:36:06 +02:00
http_chunks.h whitespace fixes 2018-09-23 22:24:02 +00:00
http_digest.c lib: fix MSVC compiler warnings 2016-12-21 11:07:26 +01:00
http_digest.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_negotiate.c Revert "http_negotiate: do not close connection until negotiation is completed" 2019-01-07 09:36:36 +01:00
http_negotiate.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_ntlm.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
http_ntlm.h http_ntlm: Renamed from curl_ntlm.[c|h] 2016-03-27 17:58:50 +01:00
http_proxy.c http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
http_proxy.h http_proxy: fix build with http and proxy 2017-06-18 15:18:15 +02:00
http.c cookies: skip custom cookies when redirecting cross-site 2019-01-09 15:18:08 +01:00
http.h http: Implement trailing headers for chunked transfers 2018-12-14 10:10:48 +01:00
idn_win32.c idn_win32: Use boolean based success codes 2016-03-11 07:24:39 +00:00
if2ip.c if2ip: remove unused function Curl_if_is_interface_name 2018-12-21 10:46:05 +01:00
if2ip.h if2ip: remove unused function Curl_if_is_interface_name 2018-12-21 10:46:05 +01:00
imap.c pingpong: ignore regular timeout in disconnect phase 2018-12-17 12:33:00 +01:00
imap.h imap: change from "FETCH" to "UID FETCH" 2018-09-06 10:57:48 +02:00
inet_ntop.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
inet_ntop.h whitespace fixes 2018-09-23 22:24:02 +00:00
inet_pton.c curl_setup_once: Remove ERRNO/SET_ERRNO macros 2017-07-10 02:09:27 -04:00
inet_pton.h whitespace fixes 2018-09-23 22:24:02 +00:00
krb5.c sendf: use failf() rather than Curl_failf() 2018-09-13 10:48:21 +02:00
ldap.c ldap: fix LDAP URL parsing regressions 2018-12-11 13:20:12 +01:00
libcurl.plist MacOSX-Framework: Make script work in Xcode 4.0 and later 2013-02-17 14:30:38 -07:00
libcurl.rc (lib)curl.rc: fixup for minor bugs 2018-12-10 00:10:04 +01:00
libcurl.vers.in configure: use XC_LIBTOOL for portability across libtool versions 2013-03-08 13:27:45 +01:00
llist.c Curl_llist_remove: fix potential NULL pointer deref 2017-11-21 09:02:40 +01:00
llist.h whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.am Makefile: add 'tidy' target that runs clang-tidy 2018-10-27 15:59:38 +02:00
makefile.amiga whitespace fixes 2018-09-23 22:24:02 +00:00
makefile.dj whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.inc axtls: removed 2018-11-01 10:29:53 +01:00
Makefile.m32 whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.netware openssl: Remove SSLEAY leftovers 2018-11-17 21:36:10 +01:00
Makefile.vxworks build: updated dependencies in makefiles. 2014-12-05 14:54:25 +01:00
Makefile.Watcom openssl: Remove SSLEAY leftovers 2018-11-17 21:36:10 +01:00
md4.c checksrc: add COPYRIGHTYEAR check 2018-12-03 23:13:40 +01:00
md5.c axtls: removed 2018-11-01 10:29:53 +01:00
memdebug.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
memdebug.h getnameinfo: not used 2018-06-27 13:49:18 +02:00
mime.c mime: check Curl_rand_hex's return code 2018-07-28 22:36:15 +02:00
mime.h formdata: use the mime-content type function 2018-02-05 13:50:30 +01:00
mk-ca-bundle.pl mk-ca-bundle.pl: make -u delete certdata.txt if found not changed 2018-06-14 00:02:20 +02:00
mk-ca-bundle.vbs spelling fixes 2018-02-23 23:29:01 +00:00
mprintf.c mprintf: avoid unsigned integer overflow warning 2018-11-02 11:07:04 +01:00
multi.c multi: multiplexing improvements 2019-01-10 09:49:09 +01:00
multihandle.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
multiif.h curl_easy_perform: fix timeout handling 2018-11-25 11:25:43 +01:00
netrc.c netrc: don't ignore the login name specified with "--user" 2018-11-05 20:34:01 +01:00
netrc.h netrc: don't ignore the login name specified with "--user" 2018-11-05 20:34:01 +01:00
non-ascii.c non-ascii: fix implicit declaration warning 2018-02-15 15:52:41 -05:00
non-ascii.h mime: new MIME API. 2017-09-02 17:47:10 +01:00
nonblock.c nonblock: fix unused parameter warning 2018-10-14 21:07:45 +02:00
nonblock.h whitespace fixes 2018-09-23 22:24:02 +00:00
nwlib.c memory: ensure to check allocation results 2018-10-03 23:45:38 +02:00
nwos.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
objnames-test08.sh URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
objnames-test10.sh URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
objnames.inc spelling fixes 2018-02-23 23:29:01 +00:00
openldap.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
parsedate.c parsedate: support UT timezone 2018-03-19 19:22:42 +01:00
parsedate.h whitespace fixes 2018-09-23 22:24:02 +00:00
pingpong.c pingpong: ignore regular timeout in disconnect phase 2018-12-17 12:33:00 +01:00
pingpong.h pingpong: ignore regular timeout in disconnect phase 2018-12-17 12:33:00 +01:00
pipeline.c http2: several cleanups 2018-07-20 22:58:42 +02:00
pipeline.h llist: replace Curl_llist_alloc with Curl_llist_init 2017-04-04 15:27:45 +02:00
pop3.c pingpong: ignore regular timeout in disconnect phase 2018-12-17 12:33:00 +01:00
pop3.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
progress.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
progress.h whitespace fixes 2018-09-23 22:24:02 +00:00
psl.c psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
psl.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
rand.c rand: add comment to skip a clang-tidy false positive 2018-10-27 15:59:44 +02:00
rand.h rand: treat fake entropy the same regardless of endianness 2017-05-08 23:24:29 +02:00
rtsp.c http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
rtsp.h whitespace fixes 2018-09-23 22:24:02 +00:00
security.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
select.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
select.h whitespace fixes 2018-09-23 22:24:02 +00:00
sendf.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
sendf.h travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02:00
setopt.c http: added options for allowing HTTP/0.9 responses 2018-12-21 10:49:30 +01:00
setopt.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
setup-os400.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
setup-vms.h checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
sha256.c http: fix for tiny "HTTP/0.9" response 2018-08-13 23:16:01 +02:00
share.c psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
share.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
sigpipe.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
slist.c whitespace fixes 2018-09-23 22:24:02 +00:00
slist.h whitespace fixes 2018-09-23 22:24:02 +00:00
smb.c smb: fix incorrect path in request if connection reused 2018-12-19 09:52:36 +01:00
smb.h smb: fix memory leak on early failure 2018-07-30 17:59:36 +02:00
smtp.c pingpong: ignore regular timeout in disconnect phase 2018-12-17 12:33:00 +01:00
smtp.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
sockaddr.h whitespace fixes 2018-09-23 22:24:02 +00:00
socks_gssapi.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
socks_sspi.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
socks.c whitespace fixes 2018-09-23 22:24:02 +00:00
socks.h whitespace fixes 2018-09-23 22:24:02 +00:00
speedcheck.c timediff: return timediff_t from the time diff functions 2017-10-25 09:54:37 +02:00
speedcheck.h timeval: struct curltime is a struct timeval replacement 2017-07-28 15:51:25 +02:00
splay.c whitespace fixes 2018-09-23 22:24:02 +00:00
splay.h code style: remove wrong uses of multiple spaces 2017-09-12 13:54:54 +02:00
ssh-libssh.c Revert "libssh: no data pointer == nothing to do" 2018-12-23 23:13:15 +01:00
ssh.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
ssh.h all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
strcase.c strcase: corrected comment header for Curl_strcasecompare() 2017-08-31 11:37:36 +02:00
strcase.h Remove unused definitions 2018-08-21 18:53:43 +02:00
strdup.c Curl_saferealloc: Fixed typo in docblock 2018-09-21 14:24:55 +02:00
strdup.h realloc: use Curl_saferealloc to avoid common mistakes 2016-11-11 10:03:48 +01:00
strerror.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
strerror.h idn: switch to libidn2 use and IDNA2008 support 2016-10-31 08:46:35 +01:00
strtok.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
strtok.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
strtoofft.c lib: silence null-dereference warnings 2018-04-09 15:54:52 +02:00
strtoofft.h progress: calculate transfer speed on milliseconds if possible 2018-01-08 23:45:09 +13:00
system_win32.c Silence GCC 8 cast-function-type warnings 2018-08-11 19:19:03 +02:00
system_win32.h win32: Introduced centralised verify windows version function 2016-06-04 21:24:09 +01:00
telnet.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
telnet.h whitespace fixes 2018-09-23 22:24:02 +00:00
tftp.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
tftp.h whitespace fixes 2018-09-23 22:24:02 +00:00
timeval.c timediff: fix math for unsigned time_t 2019-01-09 10:15:36 +01:00
timeval.h printf: introduce CURL_FORMAT_TIMEDIFF_T 2019-01-04 23:51:13 +01:00
transfer.c printf: introduce CURL_FORMAT_TIMEDIFF_T 2019-01-04 23:51:13 +01:00
transfer.h whitespace fixes 2018-09-23 22:24:02 +00:00
url.c printf: fix format specifiers 2019-01-04 23:50:48 +01:00
url.h Curl_follow: return better errors on URL problems 2018-10-23 11:43:41 +02:00
urlapi-int.h tests: add urlapi unittest 2018-12-11 15:02:24 +01:00
urlapi.c urlapi: fix parsing ipv6 with zone index 2018-12-30 20:11:57 +01:00
urldata.h multi: multiplexing improvements 2019-01-10 09:49:09 +01:00
version.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
warnless.c CURL_SIZEOF_LONG: removed, use only SIZEOF_LONG 2017-08-17 10:27:00 +02:00
warnless.h Silence GCC 8 cast-function-type warnings 2018-08-11 19:19:03 +02:00
wildcard.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
wildcard.h ftplistparser: renamed some members and variables 2018-04-23 22:52:48 +02:00
x509asn1.c snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
x509asn1.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00