1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-24 09:08:49 -05:00
curl/lib
Jérémy Rocher 27cb384679
openssl: support BoringSSL TLS renegotiation
As per BoringSSL porting documentation [1], BoringSSL rejects peer
renegotiations by default.

curl fails when trying to authenticate to server through client
certificate if it is requested by server after the initial TLS
handshake.

Enable renegotiation by default with BoringSSL to get same behavior as
with OpenSSL. This is done by calling SSL_set_renegotiate_mode [2]
which was introduced in commit 1d5ef3bb1eb9 [3].

1 - https://boringssl.googlesource.com/boringssl/+/HEAD/PORTING.md#tls-renegotiation
2 - https://boringssl.googlesource.com/boringssl/+/master/include/openssl/ssl.h#3482
3 - https://boringssl.googlesource.com/boringssl/+/1d5ef3bb1eb97848617db5e7d633d735a401df86

Signed-off-by: Jérémy Rocher <rocher.jeremy@gmail.com>
Fixes #3258
Closes #3259
2018-11-09 22:32:47 +01:00
..
vauth Curl_auth_create_plain_message: fix too-large-input-check 2018-10-29 08:05:23 +01:00
vtls openssl: support BoringSSL TLS renegotiation 2018-11-09 22:32:47 +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
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 ares: check for NULL in completed-callback 2018-07-11 23:41:24 +02:00
asyn-thread.c asyn-thread: Remove unused macro 2018-08-09 12:37:19 +02:00
asyn.h
base64.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
checksrc.pl checksrc: handle zero scoped ignore commands 2018-10-05 13:33:21 +02: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
config-os400.h os400: add missing symbols in config file. 2017-10-19 18:48:21 +01:00
config-riscos.h
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 vtls: set conn->data when closing TLS 2018-07-22 21:17:27 +02:00
conncache.h url: check Curl_conncache_add_conn return code 2018-06-25 16:36:10 +02:00
connect.c url: fix dangling conn->data pointer 2018-06-21 09:44:04 +02: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: Move failure case label to end of function 2018-09-10 08:33:08 +02:00
cookie.h cookies: support creation-time attribute for cookies 2018-08-31 14:11:37 +02: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
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
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
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c curl_gssapi: make sure this file too uses our *printf() 2018-02-13 22:55:29 +01:00
curl_gssapi.h
curl_hmac.h
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
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
curl_multibyte.c curl_multibyte: fix a malloc overcalculation 2018-11-06 03:11:05 -05:00
curl_multibyte.h
curl_ntlm_core.c Curl_ntlm_core_mk_nt_hash: return error on too long password 2018-09-03 07:42:37 +02: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
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
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
curl_sasl.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
curl_sasl.h
curl_sec.h
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
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 whitespace fixes 2018-09-23 22:24:02 +00:00
dict.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
dict.h
doh.c travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02: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 whitespace fixes 2018-09-23 22:24:02 +00:00
easyif.h whitespace fixes 2018-09-23 22:24:02 +00:00
escape.c URL-API 2018-09-08 15:36:11 +02:00
escape.h whitespace fixes 2018-09-23 22:24:02 +00:00
file.c FILE: fix CURLOPT_NOBODY and CURLOPT_HEADER output 2018-10-08 08:35:40 +02: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 memory: ensure to check allocation results 2018-10-03 23:45:38 +02:00
ftp.h url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
ftplistparser.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
ftplistparser.h
getenv.c
getinfo.c FILE: fix CURLOPT_NOBODY and CURLOPT_HEADER output 2018-10-08 08:35:40 +02:00
getinfo.h
gopher.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
gopher.h
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 resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostip6.c getnameinfo: not used 2018-06-27 13:49:18 +02:00
hostip.c hostip: fix check on Curl_shuffle_addr return value 2018-10-08 08:39:24 +02: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 travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02:00
http2.h whitespace fixes 2018-09-23 22:24:02 +00: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
http_negotiate.c cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
http_negotiate.h
http_ntlm.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
http_ntlm.h
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 spelling fixes [ci skip] 2018-10-08 19:37:40 +00:00
http.h whitespace fixes 2018-09-23 22:24:02 +00:00
idn_win32.c
if2ip.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
if2ip.h ipv6_scope: support unique local addresses 2017-08-13 17:52:15 +02:00
imap.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
imap.h imap: change from "FETCH" to "UID FETCH" 2018-09-06 10:57:48 +02:00
inet_ntop.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02: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: show precise LDAP call in error message on Windows 2018-10-09 15:05:35 +00:00
libcurl.plist
libcurl.rc *.rc: escape non-ASCII/non-UTF-8 character for clarity 2017-01-19 11:35:48 +00:00
libcurl.vers.in
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 axtls: removed 2018-11-01 10:29:53 +01:00
Makefile.vxworks
Makefile.Watcom whitespace fixes 2018-09-23 22:24:02 +00:00
md4.c secure Openwall URLs 2018-09-14 18:48:35 +00:00
md5.c axtls: removed 2018-11-01 10:29:53 +01:00
memdebug.c memdebug: use send/recv signature for curl_dosend/curl_dorecv 2017-10-30 21:27:59 +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: Fix error handling in the SENDPROTOCONNECT state 2018-10-27 13:03:50 +02:00
multihandle.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
multiif.h multi: improved pending transfers handling => improved performance 2018-03-16 23:45:59 +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
objnames-test08.sh
objnames-test10.sh
objnames.inc spelling fixes 2018-02-23 23:29:01 +00:00
openldap.c openldap: fix for NULL return from ldap_get_attribute_ber() 2018-03-23 23:58:25 +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 Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
pingpong.h time: rename Curl_tvnow to Curl_now 2017-10-25 18:48:05 +02: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 url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
pop3.h
progress.c cppcheck: fix warnings 2018-06-11 11:14:48 +02: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 memory: add missing curl_printf header 2018-09-17 09:28:10 +02: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 infof: clearly indicate truncation 2018-11-03 20:54:18 +01:00
sendf.h travis: add build for "configure --disable-verbose" 2018-10-18 14:51:49 +02:00
setopt.c setopt: add CURLOPT_CURLU 2018-11-09 15:47:28 +01:00
setopt.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
setup-os400.h
setup-vms.h
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
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 url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
smb.h smb: fix memory leak on early failure 2018-07-30 17:59:36 +02:00
smtp.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
smtp.h
sockaddr.h whitespace fixes 2018-09-23 22:24:02 +00:00
socks_gssapi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
socks_sspi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02: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 sftp: fix indentation 2018-09-04 14:44:47 +00:00
ssh.c ssh: free the session on init failures 2018-10-26 15:39:15 +02: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
strerror.c ssl: deprecate CURLE_SSL_CACERT in favour of a unified error code 2018-09-06 08:27:15 +02:00
strerror.h
strtok.c
strtok.h
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
telnet.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
telnet.h whitespace fixes 2018-09-23 22:24:02 +00:00
tftp.c url: use the URL API internally as well 2018-09-22 11:58:10 +02:00
tftp.h whitespace fixes 2018-09-23 22:24:02 +00:00
timeval.c Windows: fixes for MinGW targeting Windows Vista 2018-10-09 08:33:45 +02:00
timeval.h timeval: make timediff_t also work on 32bit windows 2017-10-26 20:22:55 +02:00
transfer.c setopt: add CURLOPT_CURLU 2018-11-09 15:47:28 +01:00
transfer.h whitespace fixes 2018-09-23 22:24:02 +00:00
url.c setopt: add CURLOPT_CURLU 2018-11-09 15:47:28 +01:00
url.h Curl_follow: return better errors on URL problems 2018-10-23 11:43:41 +02:00
urlapi-int.h headers: end all headers with guard comment 2018-10-23 10:02:24 +02:00
urlapi.c urlapi: only skip encoding the first '=' with APPENDQUERY set 2018-11-07 08:28:48 +01:00
urldata.h setopt: add CURLOPT_CURLU 2018-11-09 15:47:28 +01:00
version.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02: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 x509asn1: always check return code from getASN1Element() 2018-10-27 15:59:43 +02:00
x509asn1.h