Go to file
Daniel Stenberg d6f73af730
ssh: loop the state machine if not done and not blocking
If the state machine isn't complete, didn't fail and it didn't return
due to blocking it can just as well loop again.

This addresses the problem with SFTP directory listings where we would
otherwise return back to the parent and as the multi state machine
doesn't have any code for using CURLM_CALL_MULTI_PERFORM for as long the
doing phase isn't complete, it would return out when in reality there
was more data to deal with.

Fixes #3506
Closes #3644
2019-03-05 07:57:11 +01:00
.github
CMake cmake: updated check for HAVE_POLL_FINE to match autotools 2019-01-16 11:39:34 +03:00
docs docs/ALTSVC.md: docs describing the approach 2019-03-03 11:17:52 +01:00
include alt-svc: the libcurl bits 2019-03-03 11:17:52 +01:00
lib ssh: loop the state machine if not done and not blocking 2019-03-05 07:57:11 +01:00
m4 configure: remove the unused fdopen macro 2019-02-22 22:38:33 +01:00
packages
projects
scripts scripts/completion.pl: also generate fish completion file 2019-03-02 11:31:18 +01:00
src alt-svc: the curl command line bits 2019-03-03 11:17:52 +01:00
tests multi: support verbose conncache closure handle 2019-03-05 00:00:01 -05:00
winbuild
.cirrus.yml cirrus: Added FreeBSD builds using Cirrus CI. 2019-02-10 16:00:25 +01:00
.dir-locals.el
.gitattributes
.gitignore scripts/completion.pl: also generate fish completion file 2019-03-02 11:31:18 +01:00
.lgtm.yml
.mailmap
.travis-iconv-env.sh
.travis.yml alt-svc: add a travis build 2019-03-03 11:17:52 +01:00
acinclude.m4 acinclude: add additional libraries to check for LDAP support 2019-02-25 01:48:00 -05:00
appveyor.yml AppVeyor: add classic MinGW build 2019-02-27 22:44:23 +01:00
buildconf
buildconf.bat
CHANGES
CMakeLists.txt cmake: updated check for HAVE_POLL_FINE to match autotools 2019-01-16 11:39:34 +03:00
configure.ac alt-svc: the libcurl bits 2019-03-03 11:17:52 +01:00
COPYING COPYING: it's 2019 2019-01-19 20:26:31 +01:00
curl-config.in
GIT-INFO
libcurl.pc.in
MacOSX-Framework
Makefile.am scripts/completion.pl: also generate fish completion file 2019-03-02 11:31:18 +01:00
Makefile.dist
maketgz
README
README.md cirrus: Added FreeBSD builds using Cirrus CI. 2019-02-10 16:00:25 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2019-03-02 12:04:43 +01:00

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Cirrus Build Status Coverage Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms and similar. If you distribute curl binaries or other binaries that involve libcurl, you might enjoy the LICENSE-MIXING document.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Website

Visit the curl web site for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]