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
.gitignore
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-dos.h whitespace fixes 2018-09-23 22:24:02 +00:00
config-mac.h
config-os400.h
config-riscos.h
config-symbian.h
config-tpf.h
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
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
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
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
curl_des.h
curl_endian.c
curl_endian.h
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
curl_md5.h
curl_memory.h
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
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
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
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
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
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
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
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.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
if2ip.h
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
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
libcurl.vers.in
llist.c
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.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
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
pipeline.c http2: several cleanups 2018-07-20 22:58:42 +02:00
pipeline.h
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
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
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
socks_sspi.c
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
speedcheck.h
splay.c whitespace fixes 2018-09-23 22:24:02 +00:00
splay.h
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.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
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
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
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