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 WSS. libcurl offers a myriad of powerful features
Go to file
Daniel Stenberg eeaae10c0f
netrc: support quoted strings
The .netrc parser now accepts strings within double-quotes in order to
deal with for example passwords containing white space - which
previously was not possible.

A password that starts with a double-quote also ends with one, and
double-quotes themselves are escaped with backslashes, like \". It also
supports \n, \r and \t for newline, carriage return and tabs
respectively.

If the password does not start with a double quote, it will end at first
white space and no escaping is performed.

WARNING: this change is not entirely backwards compatible. If anyone
previously used a double-quote as the first letter of their password,
the parser will now get it differently compared to before. This is
highly unfortunate but hard to avoid.

Reported-by: ImpatientHippo on GitHub
Fixes #8908
Closes #8937
2022-05-31 09:04:56 +02:00
.circleci CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
.github CI: remove configure --enable-headers-api flags 2022-05-30 14:13:48 +02:00
.lift CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
CMake cmake: add libpsl support 2022-05-19 15:29:55 +02:00
docs curl_getdate.3: document that some illegal dates pass through 2022-05-31 09:03:50 +02:00
include CURLINFO_CAPATH/CAINFO: get the default CA paths from libcurl 2022-05-23 08:44:29 +02:00
lib netrc: support quoted strings 2022-05-31 09:04:56 +02:00
m4 wolfSSL: explicitly use compatibility layer 2022-05-17 16:58:03 +02:00
packages macos9: remove partial support 2022-05-16 10:10:16 +02:00
plan9 copyright: fix year ranges 2020-11-05 08:22:10 +01:00
projects timediff.[ch]: add curlx helper functions for timeval conversions 2022-04-17 13:11:27 +02:00
scripts log2changes: do not indent empty lines [ci skip] 2022-05-20 05:58:05 +00:00
src tool_getparam: fix --parallel-max maximum value constraint 2022-05-28 03:23:57 -04:00
tests headers api: remove EXPERIMENTAL tag 2022-05-30 14:13:48 +02:00
winbuild msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
zuul.d zuul: fix the ngtcp2-gnutls build 2022-05-10 09:44:00 +02:00
.azure-pipelines.yml CI/azure: remove obsolete strategy for single builds 2022-05-25 00:12:03 +02:00
.cirrus.yml CI: remove configure --enable-headers-api flags 2022-05-30 14:13:48 +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 tests: refactor server/socksd.c to support --unix-socket 2022-04-17 11:43:57 +02:00
.lgtm.yml CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
.mailmap .mailmap: update 2022-05-05 10:24:17 +02:00
acinclude.m4 misc: fix a few issues on MidnightBSD 2021-10-05 08:35:24 +02:00
appveyor.yml appveyor: add Cygwin build 2022-04-11 08:27:31 +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: support adding a suffix to the OS value 2022-05-26 15:54:20 +00:00
configure.ac headers api: remove EXPERIMENTAL tag 2022-05-30 14:13:48 +02:00
COPYING COPYING: bump copyright year range 2022-01-05 23:14:15 +01:00
curl-config.in curl.se: new home 2020-11-04 23:59:47 +01:00
GIT-INFO GIT-INFO: rephrase to adapt to s/buildconf/autoreconf 2021-09-24 13:14:52 +02:00
libcurl.pc.in Revert "libcurl.pc: make it relocatable" 2020-11-09 09:13:06 +01:00
MacOSX-Framework misc: update copyright year ranges 2022-04-25 09:31:09 +02:00
Makefile.am Makefile.am: fix portability issues 2022-05-19 15:45:26 +02:00
Makefile.dist Makefile: fix ca-bundle due to mk-ca-bundle.pl being moved 2022-04-21 09:22:20 +02:00
maketgz macos: set .plist version in autoconf 2022-04-20 15:26:13 +02:00
mlc_config.json mlc: curl.zuul.vexxhost.dev is reachable again 2022-04-24 23:29:38 +02:00
README docs: reduce/avoid English contractions 2021-11-07 23:16:27 +01:00
README.md README: disable linkchecks for the sponsor links 2022-02-21 10:27:45 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2022-05-23 09:11:32 +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++ 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 visit the support page.

Website

Visit the curl website for the latest news and downloads.

Git

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

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

(you will 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]

Open Collective Backers

Sponsors

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

Open Collective Sponsor 0 Open Collective Sponsor 1 Open Collective Sponsor 2 Open Collective Sponsor 3 Open Collective Sponsor 4 Open Collective Sponsor 5 Open Collective Sponsor 6 Open Collective Sponsor 7 Open Collective Sponsor 8 Open Collective Sponsor 9