A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and
Go to file
Marc Hoersken 5b1c2dd1db
tests/*server.pl: flush output before executing subprocess
Also avoid shell processes staying around by using exec.
This is necessary to avoid output data being buffering
inside the process chain of Perl, Bash/Shell and our
test server binaries. On non-Windows systems the exec
will also make the subprocess replace the intermediate
shell, but on Windows it will at least bind the processes
together since there is no real fork or exec available.

See: https://cygwin.com/cygwin-ug-net/highlights.html
and: https://docs.microsoft.com/cpp/c-runtime-library/exec-wexec-functions
Ref: https://github.com/curl/curl/pull/7530#issuecomment-900949010

Reviewed-by: Daniel Stenberg
Reviewed-by: Jay Satiro
Closes #7530
2021-08-18 20:59:36 +02:00
.circleci copyright: add boiler-plate headers to CI config files 2021-06-29 17:44:03 +02:00
.github codeql: fix error "Resource not accessible by integration" 2021-08-17 03:32:10 -04:00
.muse CI: Add muse CI config 2020-08-04 09:52:52 +02:00
CMake Get rid of the unused HAVE_SIG_ATOMIC_T et. al. 2021-07-23 12:40:42 -07:00
docs KNOWN_BUGS: Renegotiate from server may cause hang for OpenSSL backend 2021-08-18 03:41:41 -04:00
include RELEASE-NOTES: synced 2021-07-29 17:46:32 +02:00
lib openssl: when creating a new context, there cannot be an old one 2021-08-18 14:11:45 +02:00
m4 curl-openssl.m4: check lib64 for the pkg-config file 2021-07-26 23:46:30 +02:00
packages metalink: remove 2021-06-07 08:14:25 +02:00
plan9 copyright: fix year ranges 2020-11-05 08:22:10 +01:00
projects docs: Fix typos 2021-07-03 22:11:26 +02:00
scripts zuul: add an mbedtls3 CI job 2021-08-09 10:26:11 +02:00
src getparameter: fix the --local-port number parser 2021-08-17 10:58:22 +02:00
tests tests/*server.pl: flush output before executing subprocess 2021-08-18 20:59:36 +02:00
winbuild winbuild/README.md: clarify GEN_PDB option 2021-08-09 13:02:52 -04:00
zuul.d zuul: add an mbedtls3 CI job 2021-08-09 10:26:11 +02:00
.azure-pipelines.yml CI: use GitHub Container Registry instead of Docker Hub 2021-08-18 20:57:03 +02:00
.cirrus.yml CI: use GitHub Container Registry instead of Docker Hub 2021-08-18 20:57:03 +02:00
.dcignore .dcignore: ignore tests and docs directories 2020-06-27 00:07:37 +02:00
.dir-locals.el curl.se: new home 2020-11-04 23:59:47 +01:00
.gitattributes gitattributes: Set batch files to CRLF line endings on checkout 2021-01-14 15:59:56 -05:00
.gitignore .gitignore: add directory containing the stats repo 2020-06-05 19:54:34 +02:00
.lgtm.yml metalink: remove 2021-06-07 08:14:25 +02:00
.mailmap mailmap: fixup Michał Antoniak 2021-08-14 23:23:09 +02:00
acinclude.m4 Get rid of the unused HAVE_SIG_ATOMIC_T et. al. 2021-07-23 12:40:42 -07:00
appveyor.yml ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
buildconf buildconf: exec autoreconf to avoid additional process 2020-08-29 21:43:49 +02:00
buildconf.bat curl.se: new home 2020-11-04 23:59:47 +01:00
CHANGES curl.se: new home 2020-11-04 23:59:47 +01:00
CMakeLists.txt cmake: remove libssh2 feature checks 2021-07-05 22:44:00 +02:00
configure.ac configure: error out if both ngtcp2 and quiche are specified 2021-08-09 14:14:38 +02:00
COPYING COPYING/configure: bump copyright year range 2021-01-01 00:52:28 +01:00
curl-config.in curl.se: new home 2020-11-04 23:59:47 +01:00
GIT-INFO GIT-INFO: suggest using autoreconf instead of buildconf 2021-05-08 10:55:34 +02:00
libcurl.pc.in Revert "libcurl.pc: make it relocatable" 2020-11-09 09:13:06 +01:00
MacOSX-Framework curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.am Revert "libcurl.pc: make it relocatable" 2020-11-09 09:13:06 +01:00
Makefile.dist configure: provide --with-openssl, deprecate --with-ssl 2021-04-15 09:08:34 +02:00
maketgz copyright: fix year ranges 2020-11-05 08:22:10 +01:00
README curl.se: new home 2020-11-04 23:59:47 +01:00
README.md CI: remove travis details 2021-06-29 17:42:57 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2021-08-16 09:18:38 +02:00
SECURITY.md SECURITY.md: minor rephrase 2020-03-30 08:53:25 +02:00

curl logo

CII Best Practices Coverity passed AppVeyor Build Status Azure DevOps Build Status Cirrus Build Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge Fuzzing Status

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 can find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms.

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.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl: https://curl.se/support.html

Website

Visit the curl website 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)

Security problems

Report suspected security problems via our HackerOne page and not in public!

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]