curl/lib
Jay Satiro 4f42150d04 sendf: change Curl_read_plain to wrap Curl_recv_plain (take 2)
Prior to this change Curl_read_plain would attempt to read the
socket directly. On Windows that's a problem because recv data may be
cached by libcurl and that data is only drained using Curl_recv_plain.

Rather than rewrite Curl_read_plain to handle cached recv data, I
changed it to wrap Curl_recv_plain, in much the same way that
Curl_write_plain already wraps Curl_send_plain.

Curl_read_plain -> Curl_recv_plain
Curl_write_plain -> Curl_send_plain

This fixes a bug in the schannel backend where decryption of arbitrary
TLS records fails because cached recv data is never drained. We send
data (TLS records formed by Schannel) using Curl_write_plain, which
calls Curl_send_plain, and that may do a recv-before-send
("pre-receive") to cache received data. The code calls Curl_read_plain
to read data (TLS records from the server), which prior to this change
did not call Curl_recv_plain and therefore cached recv data wasn't
retrieved, resulting in malformed TLS records and decryption failure
(SEC_E_DECRYPT_FAILURE).

The bug has only been observed during Schannel TLS 1.3 handshakes. Refer
to the issue and PR for more information.

--

This is take 2 of the original fix. It preserves the original behavior
of Curl_read_plain to write 0 to the bytes read parameter on error,
since apparently some callers expect that (SOCKS tests were hanging).
The original fix which landed in 12e1def5 and was later reverted in
18383fbf failed to work properly because it did not do that.

Also, it changes Curl_write_plain the same way to complement
Curl_read_plain, and it changes Curl_send_plain to return -1 instead of
0 on CURLE_AGAIN to complement Curl_recv_plain.

Behavior on error with these changes:

Curl_recv_plain returns -1 and *code receives error code.
Curl_send_plain returns -1 and *code receives error code.
Curl_read_plain returns error code and *n (bytes read) receives 0.
Curl_write_plain returns error code and *written receives 0.

--

Ref: https://github.com/curl/curl/issues/9431#issuecomment-1312420361

Assisted-by: Joel Depooter
Reported-by: Egor Pugin

Fixes https://github.com/curl/curl/issues/9431
Closes https://github.com/curl/curl/pull/9949
2022-11-20 03:54:36 -05:00
..
vauth lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
vquic misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
vssh lib: parse numbers with fixed known base 10 2022-11-17 23:15:37 +01:00
vtls sendf: change Curl_read_plain to wrap Curl_recv_plain (take 2) 2022-11-20 03:54:36 -05:00
.checksrc lib: don't use strerror() 2021-09-09 07:53:42 +02:00
.gitattributes copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.gitignore copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
altsvc.c altsvc: reject bad port numbers 2022-09-28 12:44:37 +02:00
altsvc.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
amigaos.c amigaos: add missing curl header [ci skip] 2022-10-18 18:22:09 +00:00
amigaos.h amigaos: fix threaded resolver on AmigaOS 4.x 2022-08-10 14:14:27 +02:00
arpa_telnet.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
asyn-ares.c tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
asyn-thread.c CURLOPT_QUICK_EXIT: don't wait for DNS thread on exit 2022-11-18 00:17:27 +01:00
asyn.h lib: the number four in a sequence is the "fourth" 2022-09-19 08:48:49 +02:00
base64.c misc: nitpick grammar in comments/docs 2022-10-12 11:32:43 +02:00
bufref.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
bufref.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
c-hyper.c hyper: classify headers as CONNECT and 1XX 2022-11-19 13:01:12 +01:00
c-hyper.h hyper: use wakers for curl pause/resume 2022-06-30 10:19:08 +02:00
cfilters.c proxy: haproxy filter is only available when PROXY and HTTP are 2022-11-17 13:45:36 +01:00
cfilters.h lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
CMakeLists.txt cmake: improve usability of CMake build as a sub-project 2022-10-21 09:29:09 +02:00
config-amigaos.h amiga: set SIZEOF_CURL_OFF_T=8 by default [ci skip] 2022-10-20 09:10:15 +00:00
config-dos.h tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
config-mac.h config: remove the check for and use of SIZEOF_SHORT 2022-08-11 09:07:06 +02:00
config-os400.h config: remove the check for and use of SIZEOF_SHORT 2022-08-11 09:07:06 +02:00
config-plan9.h tidy-up: delete parallel/unused feature flags 2022-10-06 15:30:13 +00:00
config-riscos.h config: remove the check for and use of SIZEOF_SHORT 2022-08-11 09:07:06 +02:00
config-win32.h config-win32: fix SIZEOF_OFF_T for MSVC and old MinGW 2022-11-11 20:12:40 +00:00
config-win32ce.h tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
conncache.c ws: initial websockets support 2022-09-09 15:11:14 +02:00
conncache.h lib and tests: add missing curl.h includes 2022-09-12 09:41:47 +02:00
connect.c Curl_closesocket: avoid using 'conn' if NULL 2022-11-14 14:54:29 +01:00
connect.h lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
content_encoding.c tidy-up: delete parallel/unused feature flags 2022-10-06 15:30:13 +00:00
content_encoding.h content_encoding: use writer struct subclasses for different encodings 2022-09-11 14:46:52 +02:00
cookie.c cookie: expire cookies at once when max-age is negative 2022-11-17 13:47:24 +01:00
cookie.h cookie: apply limits 2022-06-26 11:00:48 +02:00
curl_addrinfo.c misc: null-terminate 2022-09-17 23:19:29 +02:00
curl_addrinfo.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_base64.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_config.h.cmake tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
curl_ctype.h curl_ctype: add space around <= operator in ISSPACE macro 2022-09-06 14:31:19 +02:00
curl_des.c docs: update sourceforge project links [ci skip] 2022-10-01 18:40:47 +00:00
curl_des.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_endian.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_endian.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_fnmatch.c lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
curl_fnmatch.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_get_line.c netrc: replace fgets with Curl_get_line 2022-10-24 11:29:03 +02:00
curl_get_line.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_gethostname.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_gethostname.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_gssapi.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_gssapi.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_hmac.h lib and tests: add missing curl.h includes 2022-09-12 09:41:47 +02:00
curl_krb5.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_ldap.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_md4.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_md5.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_memory.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_memrchr.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_memrchr.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_multibyte.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_multibyte.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_ntlm_core.c ntlm: improve comment for encrypt_des 2022-11-16 11:26:22 +01:00
curl_ntlm_core.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_ntlm_wb.c misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
curl_ntlm_wb.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_path.c cur_path: do not add '/' if homedir ends with one 2022-11-03 09:31:43 +01:00
curl_path.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_printf.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_range.c lib: parse numbers with fixed known base 10 2022-11-17 23:15:37 +01:00
curl_range.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_rtmp.c style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
curl_rtmp.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_sasl.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_sasl.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_setup_once.h functypes: provide the recv and send arg and return types 2022-09-28 09:06:11 +02:00
curl_setup.h style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
curl_sha256.h style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
curl_sspi.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_sspi.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curl_threads.c tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
curl_threads.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
curlx.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
dict.c style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
dict.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
doh.c hostip: lazily wait to figure out if IPv6 works until needed 2022-09-22 09:47:59 +02:00
doh.h doh: move doh related struct definitions to doh.h 2022-07-18 11:55:26 +02:00
dynbuf.c urlapi: leaner with fewer allocs 2022-09-07 10:21:45 +02:00
dynbuf.h misc: null-terminate 2022-09-17 23:19:29 +02:00
easy_lock.h easy_lock: check for HAVE_STDATOMIC_H as well 2022-10-21 09:23:02 +02:00
easy.c misc: remove duplicated include files 2022-10-26 11:27:59 +02:00
easygetopt.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
easyif.h websockets: remodeled API to support 63 bit frame sizes 2022-10-07 12:50:58 +02:00
easyoptions.c CURLOPT_QUICK_EXIT: don't wait for DNS thread on exit 2022-11-18 00:17:27 +01:00
easyoptions.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
escape.c lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
escape.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
file.c lib: remove bad set.opt_no_body assignments 2022-11-11 15:56:05 +01:00
file.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
fileinfo.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
fileinfo.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
fopen.c fopen: add Curl_fopen() for better overwriting of files 2022-06-26 11:03:57 +02:00
fopen.h fopen: add Curl_fopen() for better overwriting of files 2022-06-26 11:03:57 +02:00
formdata.c lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
formdata.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
ftp.c ftp: fix "AUTH TLS" on primary conn and for SSL in PASV second conn 2022-11-19 12:30:29 +01:00
ftp.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
ftplistparser.c lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
ftplistparser.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
functypes.h functypes: provide the recv and send arg and return types 2022-09-28 09:06:11 +02:00
getenv.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
getinfo.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
getinfo.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
gopher.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
gopher.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
h2h3.c misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
h2h3.h misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
hash.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
hash.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
headers.c misc: null-terminate 2022-09-17 23:19:29 +02:00
headers.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
hmac.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
hostasyn.c tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
hostip4.c lib: sync guard for Curl_getaddrinfo_ex() definition and use 2022-11-01 22:40:36 +00:00
hostip6.c tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
hostip.c tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
hostip.h multi: use larger dns hash table for multi interface 2022-08-29 00:07:09 +02:00
hostsyn.c tidy-up: process.h detection and use 2022-11-01 22:27:28 +00:00
hsts.c strcase: use curl_str(n)equal for case insensitive matches 2022-11-01 17:01:26 +01:00
hsts.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http2.c strcase: use curl_str(n)equal for case insensitive matches 2022-11-01 17:01:26 +01:00
http2.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http_aws_sigv4.c misc: remove duplicated include files 2022-10-26 11:27:59 +02:00
http_aws_sigv4.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http_chunks.c style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
http_chunks.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http_digest.c misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
http_digest.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http_negotiate.c misc: ISSPACE() => ISBLANK() 2022-09-06 08:34:30 +02:00
http_negotiate.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http_ntlm.c misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
http_ntlm.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
http_proxy.c proxy: haproxy filter is only available when PROXY and HTTP are 2022-11-17 13:45:36 +01:00
http_proxy.h proxy: haproxy filter is only available when PROXY and HTTP are 2022-11-17 13:45:36 +01:00
http.c http: restore h3 to working condition after connection filter introduction 2022-11-19 00:00:27 +01:00
http.h websockets: remodeled API to support 63 bit frame sizes 2022-10-07 12:50:58 +02:00
idn_win32.c winidn: drop WANT_IDN_PROTOTYPES 2022-10-26 09:45:23 +00:00
if2ip.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
if2ip.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
imap.c lib: remove bad set.opt_no_body assignments 2022-11-11 15:56:05 +01:00
imap.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
inet_ntop.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
inet_ntop.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
inet_pton.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
inet_pton.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
krb5.c sendf: change Curl_read_plain to wrap Curl_recv_plain (take 2) 2022-11-20 03:54:36 -05:00
ldap.c lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
libcurl.plist.in macos: set .plist version in autoconf 2022-04-20 15:26:13 +02:00
libcurl.rc copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
libcurl.vers.in
llist.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
llist.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.am windows: fail early with a missing windres in autotools 2022-11-01 22:45:28 +00:00
makefile.amiga amiga: do not hardcode openssl/zlib into the os config [ci skip] 2022-10-18 18:22:41 +00:00
makefile.dj copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.inc lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
Makefile.m32 winidn: drop WANT_IDN_PROTOTYPES 2022-10-26 09:45:23 +00:00
md4.c misc: remove duplicated include files 2022-10-26 11:27:59 +02:00
md5.c misc: remove duplicated include files 2022-10-26 11:27:59 +02:00
memdebug.c memdebug: add annotation attributes 2022-08-14 10:53:18 +02:00
memdebug.h functypes: provide the recv and send arg and return types 2022-09-28 09:06:11 +02:00
mime.c lib: fix some type mismatches and remove unneeded typecasts 2022-11-08 03:11:01 -05:00
mime.h lib: sanitize conditional exclusion around MIME 2022-09-29 10:51:04 +02:00
mprintf.c mprintf: reject two kinds of precision for the same argument 2022-10-18 08:43:40 +02:00
mqtt.c style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
mqtt.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
multi.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
multihandle.h openssl: reduce CA certificate bundle reparsing by caching 2022-11-08 10:06:12 +01:00
multiif.h multi: use larger dns hash table for multi interface 2022-08-29 00:07:09 +02:00
netrc.c netrc: replace fgets with Curl_get_line 2022-10-24 11:29:03 +02:00
netrc.h netrc: remove the two 'changed' arguments 2022-10-13 23:42:07 +02:00
nonblock.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
nonblock.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
noproxy.c noproxy: tailmatch like in 7.85.0 and earlier 2022-11-07 08:00:38 +01:00
noproxy.h noproxy: support proxies specified using cidr notation 2022-10-21 13:39:20 +02:00
openldap.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
optiontable.pl easyoptions: fix icc warning 2022-07-19 11:01:15 +02:00
parsedate.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
parsedate.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
pingpong.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
pingpong.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
pop3.c lib: remove bad set.opt_no_body assignments 2022-11-11 15:56:05 +01:00
pop3.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
progress.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
progress.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
psl.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
psl.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
quic.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
rand.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
rand.h misc: null-terminate 2022-09-17 23:19:29 +02:00
rename.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
rename.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
rtsp.c lib: remove bad set.opt_no_body assignments 2022-11-11 15:56:05 +01:00
rtsp.h style: use space after comment start and before comment end 2022-10-30 22:31:29 +01:00
select.c select: do not return fatal error on EINTR from poll() 2022-07-04 00:58:07 -04:00
select.h tidy-up: delete unused HAVE_STRUCT_POLLFD 2022-10-12 14:19:09 +00:00
sendf.c sendf: change Curl_read_plain to wrap Curl_recv_plain (take 2) 2022-11-20 03:54:36 -05:00
sendf.h sendf: change Curl_read_plain to wrap Curl_recv_plain (take 2) 2022-11-20 03:54:36 -05:00
setopt.c urldata: change port num storage to int and unsigned short 2022-11-18 23:54:38 +01:00
setopt.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
setup-os400.h os400: use platform socklen_t in Curl_getnameinfo_a 2022-10-27 23:35:47 +02:00
setup-vms.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
setup-win32.h setup-win32: no longer define UNICODE/_UNICODE implicitly 2022-09-07 02:55:10 -04:00
sha256.c misc: remove duplicated include files 2022-10-26 11:27:59 +02:00
share.c multi: use larger dns hash table for multi interface 2022-08-29 00:07:09 +02:00
share.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
sigpipe.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
slist.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
slist.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
smb.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
smb.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
smtp.c lib: remove bad set.opt_no_body assignments 2022-11-11 15:56:05 +01:00
smtp.h transfer: upload performance; avoid tiny send 2022-06-20 09:42:40 +02:00
sockaddr.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
socketpair.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
socketpair.h lib and tests: add missing curl.h includes 2022-09-12 09:41:47 +02:00
socks_gssapi.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
socks_sspi.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
socks.c sendf: change Curl_read_plain to wrap Curl_recv_plain (take 2) 2022-11-20 03:54:36 -05:00
socks.h lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
speedcheck.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
speedcheck.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
splay.c splay: avoid using -1 in unsigned variable 2022-07-23 13:38:54 +02:00
splay.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
strcase.c strcase: use curl_str(n)equal for case insensitive matches 2022-11-01 17:01:26 +01:00
strcase.h strcase: use curl_str(n)equal for case insensitive matches 2022-11-01 17:01:26 +01:00
strdup.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
strdup.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
strerror.c strerror: improve two URL API error messages 2022-09-15 09:31:29 +02:00
strerror.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
strtok.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
strtok.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
strtoofft.c lib: parse numbers with fixed known base 10 2022-11-17 23:15:37 +01:00
strtoofft.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
system_win32.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
system_win32.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
telnet.c lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
telnet.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tftp.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
tftp.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
timediff.c lib: add missing limits.h includes 2022-09-12 09:41:50 +02:00
timediff.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
timeval.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
timeval.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
transfer.c http: mark it 'this_is_a_follow' in the Location: logic 2022-11-12 00:12:46 +01:00
transfer.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
url.c url: move back the IDN conversion of proxy names 2022-11-18 08:22:05 +01:00
url.h lib: connection filters (cfilter) addition to curl: 2022-11-11 15:17:51 +01:00
urlapi-int.h urlapi: detect scheme better when not guessing 2022-09-15 09:31:40 +02:00
urlapi.c urlapi: remove two variable assigns 2022-10-21 11:00:18 +02:00
urldata.h urldata: change port num storage to int and unsigned short 2022-11-18 23:54:38 +01:00
version_win32.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
version_win32.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
version.c version: add a feature names array to curl_version_info_data 2022-11-14 09:18:53 +01:00
warnless.c lib: add missing limits.h includes 2022-09-12 09:41:50 +02:00
warnless.h copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
wildcard.c copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
wildcard.h lib and tests: add missing curl.h includes 2022-09-12 09:41:47 +02:00
ws.c Websocket: fixes for partial frames and buffer updates. 2022-11-12 00:51:24 +01:00
ws.h Websocket: fixes for partial frames and buffer updates. 2022-11-12 00:51:24 +01:00