curl/lib
Anders Bakken 406506ca92 curl_multi_remove_handle: fix a double-free
In short the easy handle needs to be disconnected from its connection at
this point since the connection still is serving other easy handles.

In our app we can reliably reproduce a crash in our http2 stress test
that is fixed by this change. I can't easily reproduce the same test in
a small example.

This is the gdb/asan output:

==11785==ERROR: AddressSanitizer: heap-use-after-free on address 0xe9f4fb80 at pc 0x09f41f19 bp 0xf27be688 sp 0xf27be67c
READ of size 4 at 0xe9f4fb80 thread T13 (RESOURCE_HTTP)
    #0 0x9f41f18 in curl_multi_remove_handle /path/to/source/3rdparty/curl/lib/multi.c:666

0xe9f4fb80 is located 0 bytes inside of 1128-byte region [0xe9f4fb80,0xe9f4ffe8)
freed by thread T13 (RESOURCE_HTTP) here:
    #0 0xf7b1b5c2 in __interceptor_free /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:45
    #1 0x9f7862d in conn_free /path/to/source/3rdparty/curl/lib/url.c:2808
    #2 0x9f78c6a in Curl_disconnect /path/to/source/3rdparty/curl/lib/url.c:2876
    #3 0x9f41b09 in multi_done /path/to/source/3rdparty/curl/lib/multi.c:615
    #4 0x9f48017 in multi_runsingle /path/to/source/3rdparty/curl/lib/multi.c:1896
    #5 0x9f490f1 in curl_multi_perform /path/to/source/3rdparty/curl/lib/multi.c:2123
    #6 0x9c4443c in perform /path/to/source/src/net/resourcemanager/ResourceManagerCurlThread.cpp:854
    #7 0x9c445e0 in ...
    #8 0x9c4cf1d in ...
    #9 0xa2be6b5 in ...
    #10 0xf7aa5780 in asan_thread_start /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
    #11 0xf4d3a16d in __clone (/lib/i386-linux-gnu/libc.so.6+0xe716d)

previously allocated by thread T13 (RESOURCE_HTTP) here:
    #0 0xf7b1ba27 in __interceptor_calloc /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:70
    #1 0x9f7dfa6 in allocate_conn /path/to/source/3rdparty/curl/lib/url.c:3904
    #2 0x9f88ca0 in create_conn /path/to/source/3rdparty/curl/lib/url.c:5797
    #3 0x9f8c928 in Curl_connect /path/to/source/3rdparty/curl/lib/url.c:6438
    #4 0x9f45a8c in multi_runsingle /path/to/source/3rdparty/curl/lib/multi.c:1411
    #5 0x9f490f1 in curl_multi_perform /path/to/source/3rdparty/curl/lib/multi.c:2123
    #6 0x9c4443c in perform /path/to/source/src/net/resourcemanager/ResourceManagerCurlThread.cpp:854
    #7 0x9c445e0 in ...
    #8 0x9c4cf1d in ...
    #9 0xa2be6b5 in ...
    #10 0xf7aa5780 in asan_thread_start /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
    #11 0xf4d3a16d in __clone (/lib/i386-linux-gnu/libc.so.6+0xe716d)

SUMMARY: AddressSanitizer: heap-use-after-free /path/to/source/3rdparty/curl/lib/multi.c:666 in curl_multi_remove_handle
Shadow bytes around the buggy address:
  0x3d3e9f20: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9f30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9f40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9f50: fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa
  0x3d3e9f60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x3d3e9f70:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9f80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9f90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9fa0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9fb0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x3d3e9fc0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==11785==ABORTING

Thread 14 "RESOURCE_HTTP" received signal SIGABRT, Aborted.
[Switching to Thread 0xf27bfb40 (LWP 12324)]
0xf7fd8be9 in __kernel_vsyscall ()
 (gdb) bt
 #0  0xf7fd8be9 in __kernel_vsyscall ()
 #1  0xf4c7ee89 in __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:54
 #2  0xf4c803e7 in __GI_abort () at abort.c:89
 #3  0xf7b2ef2e in __sanitizer::Abort () at /opt/toolchain/src/gcc-6.2.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc:122
 #4  0xf7b262fa in __sanitizer::Die () at /opt/toolchain/src/gcc-6.2.0/libsanitizer/sanitizer_common/sanitizer_common.cc:145
 #5  0xf7b21ab3 in __asan::ScopedInErrorReport::~ScopedInErrorReport (this=0xf27be171, __in_chrg=<optimized out>) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_report.cc:689
 #6  0xf7b214a5 in __asan::ReportGenericError (pc=166993689, bp=4068206216, sp=4068206204, addr=3925146496, is_write=false, access_size=4, exp=0, fatal=true) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_report.cc:1074
 #7  0xf7b21fce in __asan::__asan_report_load4 (addr=3925146496) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_rtl.cc:129
 #8  0x09f41f19 in curl_multi_remove_handle (multi=0xf3406080, data=0xde582400) at /path/to/source3rdparty/curl/lib/multi.c:666
 #9  0x09f6b277 in Curl_close (data=0xde582400) at /path/to/source3rdparty/curl/lib/url.c:415
 #10 0x09f3354e in curl_easy_cleanup (data=0xde582400) at /path/to/source3rdparty/curl/lib/easy.c:860
 #11 0x09c6de3f in ...
 #12 0x09c378c5 in ...
 #13 0x09c48133 in ...
 #14 0x09c4d092 in ...
 #15 0x0a2be6b6 in ...
 #16 0xf7aa5781 in asan_thread_start (arg=0xf2d22938) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
 #17 0xf5de52b5 in start_thread (arg=0xf27bfb40) at pthread_create.c:333
 #18 0xf4d3a16e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Fixes #1083
2016-10-22 15:50:22 +02:00
..
vauth sasl: Don't use GSSAPI authentication when domain name not specified 2016-08-21 11:56:23 +01:00
vtls polarssl: indented code, removed unused variables 2016-10-18 13:27:51 +02:00
.gitignore gitignore: ignore more generated VC Makefiles 2015-09-03 23:35:41 +02:00
CMakeLists.txt CMake: Try to (un-)hide private library symbols 2016-09-10 00:35:38 +02:00
Makefile.Watcom build: Updated all makefiles and project files for the new vauth directory 2016-03-25 09:11:59 +00:00
Makefile.am lib/checksrc.whitelist: not needed anymore 2016-04-19 08:56:05 +02:00
Makefile.b32 build: Updated all makefiles and project files for the new vauth directory 2016-03-25 09:11:59 +00:00
Makefile.inc loadlibrary: Only load system DLLs from the system directory 2016-05-30 08:14:27 +02:00
Makefile.m32 makefile.m32: add crypt32 for winssl builds 2016-06-01 10:39:13 +02:00
Makefile.netware build: Updated all makefiles and project files for the new vauth directory 2016-03-25 09:11:59 +00:00
Makefile.vc6 Makefile.vc: link with crypt32.lib for winssl builds 2016-06-22 11:08:47 +02:00
Makefile.vxworks build: updated dependencies in makefiles. 2014-12-05 14:54:25 +01:00
amigaos.c s/cURL/curl 2016-10-18 13:59:54 +02:00
amigaos.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
arpa_telnet.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
asyn-ares.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
asyn-thread.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
asyn.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
base64.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
checksrc.pl checksrc: detect strtok() use 2016-09-07 10:41:57 +02:00
config-amigaos.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-dos.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-mac.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-os400.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-riscos.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-symbian.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-tpf.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-vxworks.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
config-win32.h config-w32.h: Fixed compilation warning when /Wall enabled 2016-03-19 11:05:06 +00:00
config-win32ce.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
conncache.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
conncache.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
connect.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
connect.h connect: fix #ifdefs for debug versions of conn/streamclose() macros 2016-08-30 23:38:06 +02:00
content_encoding.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
content_encoding.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
cookie.c cookies: same domain handling changed to match browser behavior 2016-10-03 16:49:35 +02:00
cookie.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_addrinfo.c resolve: add support for IPv6 DNS64/NAT64 Networks on OS X + iOS 2016-06-07 20:39:05 +02:00
curl_addrinfo.h resolve: add support for IPv6 DNS64/NAT64 Networks on OS X + iOS 2016-06-07 20:39:05 +02:00
curl_base64.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_config.h.cmake cmake: add nghttp2 support 2016-10-10 19:47:31 +02:00
curl_des.c openssl: remove most BoringSSL #ifdefs. 2016-02-09 08:46:36 +01:00
curl_des.h openssl: remove most BoringSSL #ifdefs. 2016-02-09 08:46:36 +01:00
curl_endian.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_endian.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_fnmatch.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
curl_fnmatch.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_gethostname.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_gethostname.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_gssapi.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_gssapi.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_hmac.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_ldap.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_md4.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_md5.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_memory.h includes: avoid duplicate memory callback typdefs even harder 2016-04-18 15:04:17 +02:00
curl_memrchr.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01: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 compiler error 2016-05-20 16:50:04 +02:00
curl_multibyte.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_ntlm_core.c mbedtls: Added support for NTLM 2016-08-03 19:33:59 +01:00
curl_ntlm_core.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_ntlm_wb.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
curl_ntlm_wb.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_printf.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_rtmp.c URLs: change more http to https 2016-02-04 18:46:54 -05:00
curl_rtmp.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_sasl.c sasl: Don't use GSSAPI authentication when domain name not specified 2016-08-21 11:56:23 +01:00
curl_sasl.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_sec.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_setup.h mbedtls: switch off NTLM in build if md4 isn't available 2016-09-12 23:08:10 +02:00
curl_setup_once.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_sspi.c curl_sspi.c: Updated function description comments 2016-08-31 11:57:28 +01:00
curl_sspi.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_threads.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
curl_threads.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curlx.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
dict.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
dict.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
dotdot.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
dotdot.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
easy.c s/cURL/curl 2016-10-18 13:59:54 +02:00
easyif.h typedefs: use the full structs in internal code... 2016-06-22 10:28:41 +02:00
escape.c curl_easy_unescape: deny negative string lengths as input 2016-09-14 07:49:43 +02:00
escape.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
file.c library: Fix memory leaks found during static analysis 2016-07-14 02:52:56 -04:00
file.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
fileinfo.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
fileinfo.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
firefox-db2pem.sh URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
formdata.c formpost: avoid silent snprintf() truncation 2016-10-08 13:00:45 +02:00
formdata.h formpost: avoid silent snprintf() truncation 2016-10-08 13:00:45 +02:00
ftp.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
ftp.h ftp: fix Curl_ftpsendf() 2016-10-08 15:13:46 +02:00
ftplistparser.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +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 easy: Reset all statistical session info in curl_easy_reset 2016-09-20 01:14:01 -04:00
getinfo.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
gopher.c gopher: properly return error for poll failures 2016-10-18 11:14:48 +02:00
gopher.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
hash.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
hash.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
hmac.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
hostasyn.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
hostcheck.c URLs: change more http to https 2016-02-04 18:46:54 -05:00
hostcheck.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
hostip.c resolve: add error message when resolving using SIGALRM 2016-10-10 14:14:20 +02:00
hostip.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
hostip4.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
hostip6.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
hostsyn.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http.c New libcurl option to keep sending on error 2016-09-22 22:22:31 +02:00
http.h http2: handle closed streams when uploading 2016-08-28 17:59:34 +02:00
http2.c http2: debug ouput sent HTTP/2 request headers 2016-09-16 09:00:20 +02:00
http2.h http2: return EOF when done uploading without known size 2016-09-05 14:32:32 +02:00
http_chunks.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_chunks.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
http_digest.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_digest.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_negotiate.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_negotiate.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_ntlm.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
http_ntlm.h http_ntlm: Renamed from curl_ntlm.[c|h] 2016-03-27 17:58:50 +01:00
http_proxy.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
http_proxy.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
idn_win32.c idn_win32: Use boolean based success codes 2016-03-11 07:24:39 +00:00
if2ip.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
if2ip.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap.c errors: new alias CURLE_WEIRD_SERVER_REPLY (8) 2016-09-07 21:24:27 -04:00
imap.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
inet_ntop.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
inet_ntop.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
inet_pton.c inet_pton.c: Fixed compilation warnings 2016-03-20 11:14:58 +00:00
inet_pton.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
krb5.c ftp: fix Curl_ftpsendf() 2016-10-08 15:13:46 +02:00
ldap.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
libcurl.def URLs: Change more haxx.se URLs from http: to https: 2016-02-03 01:45:21 +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 s/cURL/curl 2016-10-18 13:59:54 +02:00
libcurl.vers.in configure: use XC_LIBTOOL for portability across libtool versions 2013-03-08 13:27:45 +01:00
llist.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
llist.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
makefile.amiga curl tool: use configuration files from lib directory - follow-up I 2012-04-07 00:31:24 +02:00
makefile.dj URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
md4.c MD(4|5): make the MD4_* and MD5_* functions static 2015-02-06 14:26:32 +01:00
md5.c win: Basic support for Universal Windows Platform apps 2016-08-21 13:56:22 +02:00
memdebug.c memdebug: fix MSVC crash with -DMEMDEBUG_LOG_SYNC 2016-05-30 11:43:04 +02:00
memdebug.h memdebug.h: remove inclusion of other headers 2016-04-29 15:33:46 +02:00
mk-ca-bundle.pl mk-ca-bundle.pl: use SHA256 instead of SHA1 2016-09-07 10:41:11 +02:00
mk-ca-bundle.vbs URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
mprintf.c mprintf: return error on too many arguments 2016-10-08 20:47:04 +02:00
multi.c curl_multi_remove_handle: fix a double-free 2016-10-22 15:50:22 +02:00
multihandle.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
multiif.h multi: make Curl_expire() work with 0 ms timeouts 2016-08-04 00:26:01 +02:00
netrc.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
netrc.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
non-ascii.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
non-ascii.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
nonblock.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
nonblock.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
nwlib.c nw: please the stricter checksrc 2016-04-03 23:07:30 +02:00
nwos.c nw: please the stricter checksrc 2016-04-03 23:07:30 +02: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 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
openldap.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
parsedate.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
parsedate.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pingpong.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
pingpong.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pipeline.c multi: make Curl_expire() work with 0 ms timeouts 2016-08-04 00:26:01 +02:00
pipeline.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
pop3.c errors: new alias CURLE_WEIRD_SERVER_REPLY (8) 2016-09-07 21:24:27 -04:00
pop3.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
progress.c speed caps: not based on average speeds anymore 2016-09-04 13:11:23 +02:00
progress.h speed caps: not based on average speeds anymore 2016-09-04 13:11:23 +02:00
rawstr.c URLs: Change more haxx.se URLs from http: to https: 2016-02-03 01:45:21 +01:00
rawstr.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
rtsp.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
rtsp.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
security.c ftp: fix Curl_ftpsendf() 2016-10-08 15:13:46 +02:00
select.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
select.h select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
sendf.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
sendf.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
setup-os400.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
setup-vms.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
share.c typedefs: use the full structs in internal code... 2016-06-22 10:28:41 +02:00
share.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
sigpipe.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
slist.c memdebug: Ensure curl/curl.h is included before curl_memory.h 2016-04-01 13:21:12 +01:00
slist.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
smb.c smb: properly check incoming packet boundaries 2016-10-09 00:14:26 +02:00
smb.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
smtp.c errors: new alias CURLE_WEIRD_SERVER_REPLY (8) 2016-09-07 21:24:27 -04:00
smtp.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
sockaddr.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
socks.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
socks.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
socks_gssapi.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
socks_sspi.c library: Fix memory leaks found during static analysis 2016-07-14 02:52:56 -04:00
speedcheck.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
speedcheck.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
splay.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
splay.h code: style updates 2016-04-03 22:38:36 +02:00
ssh.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
ssh.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
strdup.c memdup: use 'void *' as return and source type 2016-10-04 23:31:25 +02:00
strdup.h memdup: use 'void *' as return and source type 2016-10-04 23:31:25 +02:00
strequal.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
strequal.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
strerror.c s/cURL/curl 2016-10-18 13:59:54 +02:00
strerror.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +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 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
strtoofft.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
system_win32.c win: fix Universal Windows Platform build 2016-10-16 12:09:12 +02:00
system_win32.h win32: Introduced centralised verify windows version function 2016-06-04 21:24:09 +01:00
telnet.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
telnet.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
tftp.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
tftp.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
timeval.c curlx_tvdiff: handle 32bit time_t overflows 2016-02-12 08:13:03 +01:00
timeval.h URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
transfer.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
transfer.h speed caps: not based on average speeds anymore 2016-09-04 13:11:23 +02:00
url.c select: switch to macros in uppercase 2016-10-18 11:05:45 +02:00
url.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
urldata.h vtls: only re-use session-ids using the same scheme 2016-10-13 11:24:16 +02:00
version.c version: init moved to private name space, added protos 2016-03-17 00:55:46 +01:00
warnless.c warnless?: Added some integer based conversion functions 2016-03-26 11:09:01 +00:00
warnless.h warnless.h: Removed spurious character from commit 696bc6b9c9 2016-03-26 11:35:07 +00:00
wildcard.c lib: include curl_printf.h as one of the last headers 2016-04-29 22:32:49 +02:00
wildcard.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
x509asn1.c internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
x509asn1.h schannel: add CURLOPT_CERTINFO support 2016-06-01 08:50:01 +02:00