curl/lib
Andrew Kurushin c35af29222 schannel: Fix blocking timeout logic
- Fix schannel_send for the case when no timeout was set.

Prior to this change schannel would error if the socket was not ready
to send data and no timeout was set.

This commit is similar to parent commit 89dc6e0 which recently made the
same change for SOCKS, for the same reason. Basically it was not well
understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms
but actually means no timeout.

Fixes https://github.com/curl/curl/issues/5177
Closes https://github.com/curl/curl/pull/5221
2020-04-12 18:32:17 -04:00
..
vauth ntlm: Removed the dependency on the TLS libaries when using MD5 2020-02-23 07:52:19 +00:00
vquic vquic/ngtcp2.h: update copyright year range 2020-03-31 14:42:20 +02:00
vssh sftp: fix segfault regression introduced by #4747 2020-03-09 15:01:40 +01:00
vtls schannel: Fix blocking timeout logic 2020-04-12 18:32:17 -04:00
.gitattributes
.gitignore
altsvc.c altsvc: both h3 backends now speak h3-27 2020-03-02 00:07:37 +01:00
altsvc.h altsvc: make saving the cache an atomic operation 2020-02-18 07:49:21 +01:00
amigaos.c
amigaos.h
arpa_telnet.h
asyn-ares.c global_init: move the IPv6 works status bool to multi handle 2020-01-28 08:03:22 +01:00
asyn-thread.c asyn-thread: remove dead code 2020-02-09 02:27:29 -05:00
asyn.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
base64.c base64: check for SSH, not specific SSH backends 2019-08-17 16:57:56 +02:00
checksrc.pl checksrc: warn on obvious conditional blocks on the same line as if() 2020-03-30 16:05:05 +02:00
CMakeLists.txt copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
config-amigaos.h copyrights: update all copyright notices to 2019 on files changed this year 2019-11-02 23:15:56 +01:00
config-dos.h lib: never define CURL_CA_BUNDLE with a getenv 2020-04-05 23:59:20 +02:00
config-mac.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
config-os400.h config: remove all defines of HAVE_DES_H 2020-03-24 17:54:26 +01:00
config-plan9.h build: remove all HAVE_OPENSSL_ENGINE_H defines 2020-03-01 11:06:28 +01:00
config-riscos.h config: remove all defines of HAVE_DES_H 2020-03-24 17:54:26 +01:00
config-symbian.h config: remove all defines of HAVE_DES_H 2020-03-24 17:54:26 +01:00
config-tpf.h config: remove all defines of HAVE_DES_H 2020-03-24 17:54:26 +01:00
config-vxworks.h config: remove all defines of HAVE_DES_H 2020-03-24 17:54:26 +01:00
config-win32.h windows: enable UnixSockets with all build toolchains 2020-04-04 17:53:15 +00:00
config-win32ce.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
conncache.c conncache: removed unused Curl_conncache_bundle_size() 2020-01-24 10:29:06 +01:00
conncache.h conncache: removed unused Curl_conncache_bundle_size() 2020-01-24 10:29:06 +01:00
connect.c socks: Fix blocking timeout logic 2020-04-12 18:32:16 -04:00
connect.h Curl_addr2string: take an addrlen argument too 2019-08-31 11:41:56 +02:00
content_encoding.c
content_encoding.h
cookie.c cookie: get_top_domain() sets zero length for null domains 2020-03-08 17:30:55 +01:00
cookie.h cookies: change argument type for Curl_flush_cookies 2019-10-03 22:56:28 +02:00
curl_addrinfo.c windows: enable UnixSockets with all build toolchains 2020-04-04 17:53:15 +00:00
curl_addrinfo.h
curl_base64.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_config.h.cmake config: remove all defines of HAVE_DES_H 2020-03-24 17:54:26 +01:00
curl_ctype.c
curl_ctype.h
curl_des.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_des.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_endian.c lib: fix warnings found when porting to NuttX 2019-12-27 22:52:31 -05:00
curl_endian.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
curl_fnmatch.c
curl_fnmatch.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_get_line.c
curl_get_line.h
curl_gethostname.c
curl_gethostname.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_gssapi.c
curl_gssapi.h
curl_hmac.h ntlm: Moved the HMAC MD5 function into the HMAC module as a generic function 2020-02-24 06:56:35 +00:00
curl_ldap.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_md4.h md4: Use const for the length input parameter 2020-02-23 18:47:32 +00:00
curl_md5.h md5/sha256: Updated the functions to allow non-string data to be hashed 2020-02-23 07:50:33 +00:00
curl_memory.h
curl_memrchr.c
curl_memrchr.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_multibyte.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_multibyte.h lib: remove ASSIGNWITHINCONDITION exceptions, use our code style 2019-12-17 07:36:11 +01:00
curl_ntlm_core.c windows: suppress UI in all CryptAcquireContext() calls 2020-03-17 23:08:02 +00:00
curl_ntlm_core.h ntlm: Removed the dependency on the TLS libaries when using MD5 2020-02-23 07:52:19 +00:00
curl_ntlm_wb.c ntlm_wb: Use Curl_socketpair() for greater portability 2020-02-06 14:39:50 +00:00
curl_ntlm_wb.h
curl_path.c scp: fix directory name length used in memcpy 2019-08-24 18:47:56 +02:00
curl_path.h
curl_printf.h
curl_range.c
curl_range.h
curl_rtmp.c urldata: avoid 'generic', use dedicated pointers 2019-09-03 23:00:51 +02:00
curl_rtmp.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_sasl.c copyright: fix year ranges 2020-01-21 10:34:44 +01:00
curl_sasl.h
curl_sec.h
curl_setup_once.h lib: fix warnings found when porting to NuttX 2019-12-27 22:52:31 -05:00
curl_setup.h lib/curl_setup: adjust the copyright year range 2020-03-21 23:19:39 +01:00
curl_sha256.h md5/sha256: Updated the functions to allow non-string data to be hashed 2020-02-23 07:50:33 +00:00
curl_sspi.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_sspi.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_threads.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curl_threads.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
curlx.h
dict.c misc: copyright year updates 2020-03-31 11:02:18 +02:00
dict.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
doh.c schannel: add "best effort" revocation check option 2020-03-18 03:23:39 -04:00
doh.h doh: improced both encoding and decoding 2019-11-16 16:15:03 +01:00
dotdot.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
dotdot.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
easy.c easy: Fix curl_easy_duphandle for builds missing IPv6 that use c-ares 2020-03-14 19:07:05 -04:00
easyif.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
escape.c
escape.h
file.c Revert "file: on Windows, refuse paths that start with \\" 2020-04-11 18:20:38 +02:00
file.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
fileinfo.c
fileinfo.h
firefox-db2pem.sh copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
formdata.c mime: latch last read callback status. 2020-03-07 23:26:00 +01:00
formdata.h
ftp.c socks: make the connect phase non-blocking 2020-02-17 00:08:48 +01:00
ftp.h ftp: remove the duplicated user/password struct fields 2020-02-07 08:18:36 +01:00
ftplistparser.c copyrights: update all copyright notices to 2019 on files changed this year 2019-11-02 23:15:56 +01:00
ftplistparser.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
getenv.c tool_home: Fix the copyright year being out of date 2020-02-13 00:40:08 +00:00
getinfo.c CURLINFO_CONDITION_UNMET: return true for 304 http status code 2020-04-05 11:13:49 +02:00
getinfo.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
gopher.c gopher: check remaining time left during write busy loop 2020-04-12 18:32:14 -04:00
gopher.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
hash.c
hash.h
hmac.c ntlm: Moved the HMAC MD5 function into the HMAC module as a generic function 2020-02-24 06:56:35 +00:00
hostasyn.c
hostcheck.c copyrights: update all copyright notices to 2019 on files changed this year 2019-11-02 23:15:56 +01:00
hostcheck.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
hostip4.c fix: Copyright year out of date, should be 2020 2020-01-10 22:39:04 +01:00
hostip6.c global_init: move the IPv6 works status bool to multi handle 2020-01-28 08:03:22 +01:00
hostip.c socks: make the connect phase non-blocking 2020-02-17 00:08:48 +01:00
hostip.h socks: make the connect phase non-blocking 2020-02-17 00:08:48 +01:00
hostsyn.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
http2.c http2: Fix erroneous debug message that h2 connection closed 2020-03-18 03:39:27 -04:00
http2.h http2: make pausing/unpausing set/clear local stream window 2020-02-27 10:35:51 +01:00
http_chunks.c chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error 2019-10-02 07:46:05 +02:00
http_chunks.h chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error 2019-10-02 07:46:05 +02:00
http_digest.c
http_digest.h
http_negotiate.c vauth: return CURLE_AUTH_ERROR on gss_init_sec_context() failure 2019-08-26 13:43:21 +02:00
http_negotiate.h
http_ntlm.c http_ntlm: Remove duplicate NSS initialisation 2019-11-28 14:41:55 +01:00
http_ntlm.h
http_proxy.c conn: always set bits.close with connclose() 2019-12-09 17:17:42 +01:00
http_proxy.h
http.c http: don't consider upload done if the request isn't completely sent off 2020-04-08 08:14:23 +02:00
http.h http.h: Copyright year out of date, should be 2020 2020-01-20 08:37:40 +01:00
idn_win32.c
if2ip.c cleanup: insert newline after if() conditions 2020-03-30 16:05:30 +02:00
if2ip.h
imap.c imap: merged two case-branches performing the same action 2019-09-20 08:07:25 +02:00
imap.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
inet_ntop.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
inet_ntop.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
inet_pton.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
inet_pton.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
krb5.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
ldap.c build: Disable Visual Studio warning "conditional expression is constant" 2019-12-01 19:01:02 -05:00
libcurl.plist
libcurl.rc
libcurl.vers.in
llist.c llist: removed unused Curl_llist_move() 2020-01-24 10:29:18 +01:00
llist.h llist: removed unused Curl_llist_move() 2020-01-24 10:29:18 +01:00
Makefile.am cleanup: correct copyright year range on a few files 2020-04-06 23:21:52 +02:00
makefile.amiga copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
makefile.dj copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
Makefile.inc rename: a new file for Curl_rename() 2020-02-18 07:49:15 +01:00
Makefile.m32 Makefile.m32: Improve windres parameter compatibility 2020-03-14 19:08:17 -04:00
Makefile.netware lib: never define CURL_CA_BUNDLE with a getenv 2020-04-05 23:59:20 +02:00
Makefile.vxworks copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
Makefile.Watcom copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
md4.c openssl: adapt to functions marked as deprecated since version 3 2020-03-26 00:40:32 +01:00
md5.c windows: suppress UI in all CryptAcquireContext() calls 2020-03-17 23:08:02 +00:00
memdebug.c memdebug: don't log free(NULL) 2020-03-31 09:44:23 +02:00
memdebug.h build: Disable Visual Studio warning "conditional expression is constant" 2019-12-01 19:01:02 -05:00
mime.c mime: fix the binary encoder to handle large data properly 2020-03-07 23:26:15 +01:00
mime.h mime: do not perform more than one read in a row 2020-03-07 23:26:00 +01:00
mk-ca-bundle.pl mk-ca-bundle: add support for CKA_NSS_SERVER_DISTRUST_AFTER 2020-01-22 10:41:31 +01:00
mk-ca-bundle.vbs copyright: fix out-of-date copyright ranges and missing headers 2020-03-24 15:05:59 +01:00
mprintf.c build: Disable Visual Studio warning "conditional expression is constant" 2019-12-01 19:01:02 -05:00
multi.c multi: Improve parameter check for curl_multi_remove_handle 2020-03-18 02:58:42 -04:00
multihandle.h global_init: move the IPv6 works status bool to multi handle 2020-01-28 08:03:22 +01:00
multiif.h ConnectionExists: respect the max_concurrent_streams limits 2020-01-13 15:44:58 +01:00
netrc.c netrc: part of conditional expression is always true: !done 2019-09-20 08:07:18 +02:00
netrc.h
non-ascii.c copyrights: update all copyright notices to 2019 on files changed this year 2019-11-02 23:15:56 +01:00
non-ascii.h
nonblock.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
nonblock.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
nwlib.c
nwos.c
openldap.c urldata: avoid 'generic', use dedicated pointers 2019-09-03 23:00:51 +02:00
parsedate.c parsedate: offer a getdate_capped() alternative 2019-11-29 11:01:24 +01:00
parsedate.h parsedate: offer a getdate_capped() alternative 2019-11-29 11:01:24 +01:00
pingpong.c timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
pingpong.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
pop3.c cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
pop3.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
progress.c XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUE 2019-11-26 09:16:01 +01:00
progress.h
psl.c
psl.h
quic.h ngtcp2: use overflow buffer for extra HTTP/3 data 2019-11-18 16:40:08 +01:00
rand.c
rand.h
rename.c rename: a new file for Curl_rename() 2020-02-18 07:49:15 +01:00
rename.h rename: a new file for Curl_rename() 2020-02-18 07:49:15 +01:00
rtsp.c cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
rtsp.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
security.c security: silence conversion warning 2019-10-13 22:10:12 +02:00
select.c build: fixed build for systems with select() in unistd.h 2020-03-31 10:59:06 +02:00
select.h select: remove typecast from SOCKET_WRITABLE/READABLE macros 2020-04-07 00:09:34 +02:00
sendf.c http2: make pausing/unpausing set/clear local stream window 2020-02-27 10:35:51 +01:00
sendf.h
setopt.c schannel: add "best effort" revocation check option 2020-03-18 03:23:39 -04:00
setopt.h
setup-os400.h os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr, 2019-09-24 13:39:22 +02:00
setup-vms.h
setup-win32.h curl_setup: define _WIN32_WINNT_[OS] symbols 2020-03-21 17:42:44 -04:00
sha256.c windows: suppress UI in all CryptAcquireContext() calls 2020-03-17 23:08:02 +00:00
share.c
share.h
sigpipe.h
slist.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
slist.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
smb.c smb: check for full size message before reading message details 2019-09-16 14:16:06 +02:00
smb.h
smtp.c smtp: overwriting 'from' leaks memory 2020-02-28 16:52:33 +01:00
smtp.h smtp: Detect server support for the UTF-8 extension as defined in RFC-6531 2020-02-26 14:04:37 +00:00
sockaddr.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
socketpair.c lib: fix warnings found when porting to NuttX 2019-12-27 22:52:31 -05:00
socketpair.h socketpair: an implemention for Windows and more 2019-10-10 11:04:38 +02:00
socks_gssapi.c cleanup: insert newline after if() conditions 2020-03-30 16:05:30 +02:00
socks_sspi.c socks: make the connect phase non-blocking 2020-02-17 00:08:48 +01:00
socks.c socks: Fix blocking timeout logic 2020-04-12 18:32:16 -04:00
socks.h socks: make the connect phase non-blocking 2020-02-17 00:08:48 +01:00
speedcheck.c
speedcheck.h
splay.c
splay.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
strcase.c strcase: turn Curl_raw_tolower into static 2020-01-24 10:29:06 +01:00
strcase.h strcase: turn Curl_raw_tolower into static 2020-01-24 10:29:06 +01:00
strdup.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
strdup.h
strerror.c ngtcp2: Add an error code for QUIC connection errors 2020-01-11 18:19:32 -05:00
strerror.h strerror.h: Copyright year out of date 2020-02-12 23:07:21 +01:00
strtok.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
strtok.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
strtoofft.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
strtoofft.h
system_win32.c nit: Copyright year out of date 2020-02-19 08:04:35 +01:00
system_win32.h system_win32: fix clang warning 2019-07-11 02:27:04 -04:00
telnet.c build: Disable Visual Studio warning "conditional expression is constant" 2019-12-01 19:01:02 -05:00
telnet.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
tftp.c tftp: Alloc maximum blksize, and use default unless OACK is received 2019-09-09 08:14:34 +02:00
tftp.h copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
timeval.c nit: Copyright year out of date 2020-02-19 08:04:35 +01:00
timeval.h timediff: make it 64 bit (if possible) even with 32 bit time_t 2019-08-01 07:43:24 +02:00
transfer.c http: don't consider upload done if the request isn't completely sent off 2020-04-08 08:14:23 +02:00
transfer.h cleanup: remove the 'numsocks' argument used in many places 2019-07-30 23:16:44 +02:00
url.c url: allow non-HTTPS altsvc-matching for debug builds 2020-04-09 17:46:24 +02:00
url.h url: Make the IDN conversion functions available to others 2020-02-26 11:01:47 +00:00
urlapi-int.h headers: Remove no longer exported functions 2019-07-10 19:26:40 +02:00
urlapi.c urlapi: guess scheme correct even with credentials given 2020-01-28 08:40:16 +01:00
urldata.h schannel: add "best effort" revocation check option 2020-03-18 03:23:39 -04:00
version.c curl.h: remnove CURL_VERSION_ESNI. Never supported nor documented 2020-03-29 23:28:49 +02:00
warnless.c
warnless.h cleanup: correct copyright year range on a few files 2020-04-06 23:21:52 +02:00
wildcard.c
wildcard.h
x509asn1.c
x509asn1.h