├── lib
├── .gitattributes
├── .checksrc
├── .gitignore
└── libcurl.vers.in
├── zuul.d
└── playbooks
│ └── .zuul.ignore
├── tests
├── certs
│ ├── Server-localhost-sv.dhp
│ ├── Server-localhost.nn-sv.dhp
│ ├── Server-localhost0h-sv.dhp
│ ├── Server-localhost-lastSAN-sv.dhp
│ ├── Server-localhost-firstSAN-sv.dhp
│ ├── EdelCurlRoot-ca.der
│ ├── Server-localhost-sv.der
│ ├── Server-localhost0h-sv.der
│ ├── Server-localhost-sv.pub.der
│ ├── Server-localhost.nn-sv.der
│ ├── Server-localhost.nn-sv.pub.der
│ ├── Server-localhost0h-sv.pub.der
│ ├── Server-localhost-firstSAN-sv.der
│ ├── Server-localhost-lastSAN-sv.der
│ ├── Server-localhost-lastSAN-sv.pub.der
│ ├── Server-localhost-firstSAN-sv.pub.der
│ ├── EdelCurlRoot-ca.cnf
│ ├── srp-verifier-db
│ ├── Server-localhost-sv.pub.pem
│ ├── Server-localhost0h-sv.pub.pem
│ ├── Server-localhost.nn-sv.pub.pem
│ ├── Server-localhost-firstSAN-sv.pub.pem
│ └── Server-localhost-lastSAN-sv.pub.pem
├── data
│ ├── .gitattributes
│ ├── .gitignore
│ ├── test1034
│ ├── test1160
│ ├── test2080
│ ├── test1652
│ ├── test1653
│ ├── test1395
│ ├── test1601
│ ├── test1611
│ ├── test1650
│ ├── test1651
│ ├── test1300
│ ├── test1612
│ ├── test1606
│ ├── test1610
│ ├── test1620
│ ├── test1661
│ ├── test1600
│ ├── test1604
│ ├── test1302
│ ├── test1303
│ ├── test1399
│ ├── test1655
│ ├── test1607
│ ├── test1609
│ ├── test1398
│ ├── test1301
│ ├── test1603
│ ├── test1605
│ ├── test1608
│ ├── test1621
│ ├── test1602
│ ├── test1396
│ ├── test1397
│ ├── test1307
│ ├── test1167
│ ├── test1394
│ ├── test1165
│ ├── test1305
│ ├── test1132
│ ├── test1175
│ ├── test1308
│ ├── test1306
│ ├── test1323
│ ├── test829
│ ├── test875
│ ├── test931
│ ├── test1304
│ ├── test1177
│ ├── test1521
│ ├── test1911
│ ├── test1409
│ ├── test1550
│ ├── test226
│ ├── test1119
│ ├── test1427
│ ├── test1912
│ ├── test1450
│ ├── test225
│ ├── test360
│ ├── test1410
│ ├── test1139
│ ├── test1530
│ ├── test1564
│ ├── test404
│ ├── test660
│ ├── test289
│ ├── test201
│ ├── test2043
│ ├── test23
│ ├── test41
│ ├── test305
│ ├── test971
│ ├── test1508
│ ├── test21
│ ├── test3016
│ ├── test1918
│ ├── test597
│ ├── test1140
│ ├── test1441
│ ├── test1442
│ ├── test1440
│ ├── test1269
│ ├── test1329
│ ├── test2044
│ ├── test923
│ ├── test1173
│ ├── test1234
│ ├── test2036
│ ├── test629
│ ├── test1289
│ ├── test1557
│ ├── test322
│ ├── test628
│ ├── test894
│ ├── test929
│ ├── test930
│ ├── test19
│ ├── test3019
│ ├── test370
│ ├── test375
│ ├── test402
│ ├── test3020
│ ├── test321
│ ├── test323
│ ├── test507
│ ├── test76
│ ├── test308
│ ├── test324
│ ├── test333
│ ├── test1069
│ ├── test1264
│ ├── test20
│ ├── test2075
│ ├── test605
│ ├── test607
│ ├── test1281
│ ├── test604
│ ├── test606
│ ├── test1592
│ ├── test219
│ ├── test1023
│ ├── test1454
│ ├── test859
│ ├── test860
│ ├── test863
│ ├── test1014
│ ├── test1200
│ ├── test1447
│ ├── test1022
│ ├── test113
│ ├── test200
│ ├── test1013
│ ├── test656
│ ├── test632
│ ├── test1169
│ ├── test1236
│ ├── test1247
│ ├── test2071
│ ├── test677
│ ├── test1000
│ ├── test1449
│ ├── test114
│ ├── test631
│ ├── test858
│ ├── test283
│ ├── test509
│ ├── test630
│ ├── test925
│ ├── test1084
│ ├── test136
│ ├── test231
│ ├── test405
│ ├── test501
│ ├── test896
│ ├── test1452
│ ├── test704
│ ├── test705
│ ├── test1018
│ ├── test1565
│ ├── test195
│ ├── test205
│ └── test928
├── unit
│ └── .gitignore
├── libtest
│ ├── .checksrc
│ └── .gitignore
├── server
│ └── .gitignore
├── fuzz
│ └── README
└── .gitignore
├── winbuild
└── .gitignore
├── projects
└── Windows
│ ├── .gitattributes
│ ├── VC10
│ ├── .gitignore
│ ├── lib
│ │ └── .gitignore
│ └── src
│ │ └── .gitignore
│ ├── VC11
│ ├── .gitignore
│ ├── lib
│ │ └── .gitignore
│ └── src
│ │ └── .gitignore
│ ├── VC12
│ ├── .gitignore
│ ├── lib
│ │ └── .gitignore
│ └── src
│ │ └── .gitignore
│ ├── VC14.10
│ ├── .gitignore
│ ├── lib
│ │ └── .gitignore
│ └── src
│ │ └── .gitignore
│ ├── VC14.30
│ ├── .gitignore
│ ├── lib
│ │ └── .gitignore
│ └── src
│ │ └── .gitignore
│ ├── VC14
│ ├── .gitignore
│ ├── lib
│ │ └── .gitignore
│ └── src
│ │ └── .gitignore
│ └── .gitignore
├── .dcignore
├── docs
├── libcurl
│ ├── curl_strnequal.3
│ ├── curl_multi_socket_all.3
│ └── .gitignore
├── .gitignore
├── examples
│ └── .checksrc
├── cmdline-opts
│ ├── tcp-fastopen.d
│ ├── manual.d
│ ├── proxy-tlsv1.d
│ ├── sasl-ir.d
│ ├── doh-insecure.d
│ ├── proxy-key.d
│ ├── data-ascii.d
│ ├── proxy-insecure.d
│ ├── http1.1.d
│ ├── proxy-cert.d
│ ├── proxy-crlfile.d
│ ├── crlf.d
│ ├── proxy-tlsuser.d
│ ├── doh-cert-status.d
│ ├── proxy-ciphers.d
│ ├── proxy-key-type.d
│ ├── proxy-ssl-allow-beast.d
│ ├── proxy-tlspassword.d
│ ├── proxy-capath.d
│ ├── proxy-cert-type.d
│ ├── proxy-pass.d
│ ├── proxy-tlsauthtype.d
│ ├── mail-from.d
│ ├── proxy-cacert.d
│ ├── proxy-service-name.d
│ ├── raw.d
│ ├── compressed-ssh.d
│ ├── netrc-optional.d
│ ├── unix-socket.d
│ ├── metalink.d
│ ├── pass.d
│ ├── disable.d
│ ├── proxy-ssl-auto-client-cert.d
│ ├── ipv4.d
│ ├── ipv6.d
│ ├── tr-encoding.d
│ ├── egd-file.d
│ ├── data-raw.d
│ ├── http1.0.d
│ ├── service-name.d
│ ├── retry-connrefused.d
│ ├── show-error.d
│ ├── ssl-no-revoke.d
│ ├── tlsuser.d
│ ├── ntlm-wb.d
│ ├── tlspassword.d
│ ├── trace-time.d
│ ├── disallow-username-in-url.d
│ ├── proxy-ntlm.d
│ ├── form-escape.d
│ ├── random-file.d
│ ├── remote-time.d
│ ├── tlsv1.d
│ ├── ftp-pret.d
│ ├── proxy-digest.d
│ ├── parallel.d
│ ├── ssl-revoke-best-effort.d
│ ├── use-ascii.d
│ ├── proxy-anyauth.d
│ ├── path-as-is.d
│ ├── tcp-nodelay.d
│ ├── crlfile.d
│ ├── engine.d
│ ├── sslv2.d
│ ├── sslv3.d
│ ├── no-keepalive.d
│ ├── styled-output.d
│ ├── head.d
│ ├── etag-save.d
│ ├── mail-auth.d
│ ├── ftp-account.d
│ ├── ftp-ssl-control.d
│ ├── include.d
│ ├── key-type.d
│ ├── telnet-option.d
│ ├── proxy-negotiate.d
│ ├── socks5-basic.d
│ ├── tlsv1.3.d
│ ├── tftp-no-options.d
│ ├── proxy-basic.d
│ ├── tlsv1.0.d
│ ├── tlsv1.1.d
│ ├── tlsv1.2.d
│ ├── ftp-ssl-ccc.d
│ ├── hostpubsha256.d
│ ├── no-alpn.d
│ ├── append.d
│ ├── dns-interface.d
│ ├── remove-on-error.d
│ ├── socks5-gssapi.d
│ ├── ftp-create-dirs.d
│ ├── hostpubmd5.d
│ ├── no-npn.d
│ ├── abstract-unix-socket.d
│ ├── ciphers.d
│ ├── no-progress-meter.d
│ ├── post303.d
│ ├── stderr.d
│ ├── tftp-blksize.d
│ ├── parallel-max.d
│ ├── remote-name-all.d
│ ├── silent.d
│ ├── speed-limit.d
│ ├── request-target.d
│ ├── basic.d
│ ├── ftp-ssl-ccc-mode.d
│ ├── local-port.d
│ ├── socks5-gssapi-nec.d
│ ├── globoff.d
│ ├── help.d
│ ├── max-redirs.d
│ ├── dns-ipv4-addr.d
│ ├── haproxy-protocol.d
│ ├── dns-ipv6-addr.d
│ ├── proxy1.0.d
│ ├── compressed.d
│ ├── junk-session-cookies.d
│ ├── http0.9.d
│ ├── krb.d
│ ├── xattr.d
│ ├── ftp-alternative-to-user.d
│ ├── netrc-file.d
│ ├── tlsauthtype.d
│ ├── dns-servers.d
│ ├── location-trusted.d
│ ├── ssl-reqd.d
│ ├── expect100-timeout.d
│ ├── digest.d
│ ├── false-start.d
│ ├── retry-delay.d
│ ├── suppress-connect-headers.d
│ ├── dump-header.d
│ ├── form-string.d
│ ├── libcurl.d
│ ├── proto-default.d
│ ├── ssl-allow-beast.d
│ ├── http2-prior-knowledge.d
│ ├── oauth2-bearer.d
│ ├── connect-timeout.d
│ ├── ftp-skip-pasv-ip.d
│ ├── no-buffer.d
│ ├── cert-type.d
│ ├── parallel-immediate.d
│ ├── proxytunnel.d
│ ├── post301.d
│ ├── post302.d
│ ├── create-file-mode.d
│ ├── ignore-content-length.d
│ ├── socks5-gssapi-service.d
│ ├── no-sessionid.d
│ ├── trace.d
│ ├── ssl-auto-client-cert.d
│ ├── cert-status.d
│ ├── sasl-authzid.d
│ └── output-dir.d
├── INSTALL
└── README.md
├── .github
├── FUNDING.yml
├── lock.yml
├── ISSUE_TEMPLATE
│ └── config.yml
├── workflows
│ └── linkcheck.yml
└── CONTRIBUTING.md
├── include
├── curl
│ └── .gitignore
└── README.md
├── .lift
├── config.toml
└── setup.sh
├── m4
└── .gitignore
├── src
└── .gitignore
├── packages
└── vms
│ └── macro32_exactcase.patch
├── mlc_config.json
├── CHANGES
├── .gitattributes
└── SECURITY.md
/lib/.gitattributes:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lib/.checksrc:
--------------------------------------------------------------------------------
1 | enable STRERROR
2 |
--------------------------------------------------------------------------------
/zuul.d/playbooks/.zuul.ignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-sv.dhp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost.nn-sv.dhp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost0h-sv.dhp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-lastSAN-sv.dhp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/data/.gitattributes:
--------------------------------------------------------------------------------
1 | test* -crlf
2 |
--------------------------------------------------------------------------------
/tests/data/.gitignore:
--------------------------------------------------------------------------------
1 | DISABLED.local
2 |
--------------------------------------------------------------------------------
/winbuild/.gitignore:
--------------------------------------------------------------------------------
1 | *.idb
2 | *.inc
3 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-firstSAN-sv.dhp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/unit/.gitignore:
--------------------------------------------------------------------------------
1 | /unit1[36][0-9][0-9]
2 |
--------------------------------------------------------------------------------
/projects/Windows/.gitattributes:
--------------------------------------------------------------------------------
1 | *.sln eol=crlf
2 |
--------------------------------------------------------------------------------
/.dcignore:
--------------------------------------------------------------------------------
1 | tests/**
2 | docs/**
3 | docs/examples/**
4 |
--------------------------------------------------------------------------------
/docs/libcurl/curl_strnequal.3:
--------------------------------------------------------------------------------
1 | .so man3/curl_strequal.3
2 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: curl
2 | open_collective: curl
3 |
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 | *.pdf
3 | curl.1
4 | *.1.dist
5 |
--------------------------------------------------------------------------------
/include/curl/.gitignore:
--------------------------------------------------------------------------------
1 | curlver.h.dist
2 | stamp-h2
3 | stamp-h3
4 |
--------------------------------------------------------------------------------
/docs/libcurl/curl_multi_socket_all.3:
--------------------------------------------------------------------------------
1 | .so man3/curl_multi_socket.3
2 |
--------------------------------------------------------------------------------
/tests/libtest/.checksrc:
--------------------------------------------------------------------------------
1 | disable TYPEDEFSTRUCT
2 | disable BANNEDFUNC
3 |
--------------------------------------------------------------------------------
/docs/libcurl/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 | *.pdf
3 | *.3.dist
4 | libcurl-symbols.3
5 |
--------------------------------------------------------------------------------
/projects/Windows/VC10/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 |
--------------------------------------------------------------------------------
/projects/Windows/VC11/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 |
--------------------------------------------------------------------------------
/projects/Windows/VC12/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 |
--------------------------------------------------------------------------------
/docs/examples/.checksrc:
--------------------------------------------------------------------------------
1 | disable TYPEDEFSTRUCT
2 | disable SNPRINTF
3 | disable BANNEDFUNC
4 |
--------------------------------------------------------------------------------
/tests/data/test1034:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/data/test1034
--------------------------------------------------------------------------------
/tests/data/test1160:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/data/test1160
--------------------------------------------------------------------------------
/tests/data/test2080:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/data/test2080
--------------------------------------------------------------------------------
/projects/Windows/VC14.10/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opendb
2 | /*.opensdf
3 | /*.sdf
4 | /*.vc.db
5 | /.vs
6 |
--------------------------------------------------------------------------------
/projects/Windows/VC14.30/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opendb
2 | /*.opensdf
3 | /*.sdf
4 | /*.vc.db
5 | /.vs
6 |
--------------------------------------------------------------------------------
/projects/Windows/VC14/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opendb
2 | /*.opensdf
3 | /*.sdf
4 | /*.vc.db
5 | /.vs
6 |
--------------------------------------------------------------------------------
/.lift/config.toml:
--------------------------------------------------------------------------------
1 | ignoreRules = [ "DEAD_STORE" ]
2 | build = "make"
3 | setup = ".lift/setup.sh"
4 |
--------------------------------------------------------------------------------
/projects/Windows/VC10/lib/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 | /*.user
6 | /*.vcxproj
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC10/src/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 | /*.user
6 | /*.vcxproj
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC11/lib/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 | /*.user
6 | /*.vcxproj
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC11/src/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 | /*.user
6 | /*.vcxproj
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC12/lib/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 | /*.user
6 | /*.vcxproj
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC12/src/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ncb
2 | /*.opensdf
3 | /*.sdf
4 | /*.suo
5 | /*.user
6 | /*.vcxproj
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC14/lib/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opensdf
2 | /*.sdf
3 | /*.user
4 | /*.vc.db
5 | /*.vcxproj
6 | /.vs
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC14/src/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opensdf
2 | /*.sdf
3 | /*.user
4 | /*.vc.db
5 | /*.vcxproj
6 | /.vs
7 |
--------------------------------------------------------------------------------
/m4/.gitignore:
--------------------------------------------------------------------------------
1 | libtool.m4
2 | libtool.m4.tmp
3 | ltoptions.m4
4 | ltsugar.m4
5 | ltversion.m4
6 | lt~obsolete.m4
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC14.10/lib/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opensdf
2 | /*.sdf
3 | /*.user
4 | /*.vc.db
5 | /*.vcxproj
6 | /.vs
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC14.10/src/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opensdf
2 | /*.sdf
3 | /*.user
4 | /*.vc.db
5 | /*.vcxproj
6 | /.vs
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC14.30/lib/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opensdf
2 | /*.sdf
3 | /*.user
4 | /*.vc.db
5 | /*.vcxproj
6 | /.vs
7 |
--------------------------------------------------------------------------------
/projects/Windows/VC14.30/src/.gitignore:
--------------------------------------------------------------------------------
1 | /*.opensdf
2 | /*.sdf
3 | /*.user
4 | /*.vc.db
5 | /*.vcxproj
6 | /.vs
7 |
--------------------------------------------------------------------------------
/tests/certs/EdelCurlRoot-ca.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/EdelCurlRoot-ca.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-sv.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost-sv.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost0h-sv.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost0h-sv.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-sv.pub.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost-sv.pub.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost.nn-sv.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost.nn-sv.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost.nn-sv.pub.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost.nn-sv.pub.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost0h-sv.pub.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost0h-sv.pub.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-firstSAN-sv.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost-firstSAN-sv.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-lastSAN-sv.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost-lastSAN-sv.der
--------------------------------------------------------------------------------
/tests/server/.gitignore:
--------------------------------------------------------------------------------
1 | fake_ntlm
2 | getpart
3 | resolve
4 | rtspd
5 | sockfilt
6 | sws
7 | tftpd
8 | socksd
9 | disabled
10 | mqttd
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-lastSAN-sv.pub.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost-lastSAN-sv.pub.der
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-firstSAN-sv.pub.der:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SinghRajenM/curl/master/tests/certs/Server-localhost-firstSAN-sv.pub.der
--------------------------------------------------------------------------------
/projects/Windows/.gitignore:
--------------------------------------------------------------------------------
1 | VC*/src/*curl.vcproj.dist
2 | VC*/lib/*curl.vcproj.dist
3 | VC*/src/*curl.vcxproj.dist
4 | VC*/lib/*curl.vcxproj.dist
5 |
6 |
--------------------------------------------------------------------------------
/src/.gitignore:
--------------------------------------------------------------------------------
1 | *.a
2 | *.nlm
3 | *.res
4 | config-win32.h
5 | curl
6 | curl_config.h
7 | curl_config.h.in
8 | stamp-h2
9 | tool_hugehelp.c
10 | tool_version.h.dist
11 |
--------------------------------------------------------------------------------
/tests/libtest/.gitignore:
--------------------------------------------------------------------------------
1 | chkdecimalpoint
2 | chkhostname
3 | lib[123][0-9][0-9][0-9]
4 | lib[56][0-9][0-9]
5 | lib1521.c
6 | libauthretry
7 | libntlmconnect
8 | libprereq
9 |
--------------------------------------------------------------------------------
/.lift/setup.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | autoreconf -fi
3 | ./configure --with-openssl
4 | echo "Ran the setup script for Lift including autoconf and executing ./configure --with-openssl"
5 |
--------------------------------------------------------------------------------
/lib/.gitignore:
--------------------------------------------------------------------------------
1 | *.a
2 | *.imp
3 | *.nlm
4 | *.orig
5 | *.rej
6 | *.res
7 | TAGS
8 | curl_config.h
9 | curl_config.h.in
10 | libcurl.plist.dist
11 | libcurl.plist
12 | libcurl.vers
13 | stamp-h1
14 |
--------------------------------------------------------------------------------
/packages/vms/macro32_exactcase.patch:
--------------------------------------------------------------------------------
1 | macro32_exactcase.exe
2 | SE EC
3 | ^X00000001
4 | RE /I
5 | ^X00012B1D
6 | 'BICB2 #^X00000020,R3'
7 | EXIT
8 | 'BICB2 #^X00000000,R3'
9 | EXI
10 | U
11 | EXI
12 |
--------------------------------------------------------------------------------
/lib/libcurl.vers.in:
--------------------------------------------------------------------------------
1 | HIDDEN
2 | {
3 | local:
4 | __*;
5 | _rest*;
6 | _save*;
7 | };
8 |
9 | CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@4
10 | {
11 | global: curl_*;
12 | local: *;
13 | };
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tcp-fastopen.d:
--------------------------------------------------------------------------------
1 | Long: tcp-fastopen
2 | Added: 7.49.0
3 | Help: Use TCP Fast Open
4 | Category: connection
5 | Example: --tcp-fastopen $URL
6 | See-also: false-start
7 | ---
8 | Enable use of TCP Fast Open (RFC7413).
9 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/manual.d:
--------------------------------------------------------------------------------
1 | Long: manual
2 | Short: M
3 | Help: Display the full manual
4 | Category: curl
5 | Example: --manual
6 | Added: 5.2
7 | See-also: verbose libcurl trace
8 | ---
9 | Manual. Display the huge help text.
10 |
--------------------------------------------------------------------------------
/mlc_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "_comment": "Config file for linkcheck: If urls have some issues we can not fix on our end past it in here. MLC will ignore this.",
3 | "ignorePatterns": [
4 | {
5 | "pattern": ""
6 | }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/tests/fuzz/README:
--------------------------------------------------------------------------------
1 | Fuzz tests
2 | ==========
3 |
4 | The fuzzing tests for curl have been moved to a separate repository:
5 |
6 | https://github.com/curl/curl-fuzzer
7 |
8 | More information on how to get started with curl fuzz testing can be found there.
9 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-tlsv1.d:
--------------------------------------------------------------------------------
1 | Long: proxy-tlsv1
2 | Help: Use TLSv1 for HTTPS proxy
3 | Added: 7.52.0
4 | Category: proxy tls auth
5 | Example: --proxy-tlsv1 -x https://proxy $URL
6 | See-also: proxy
7 | ---
8 | Same as --tlsv1 but used in HTTPS proxy context.
9 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/sasl-ir.d:
--------------------------------------------------------------------------------
1 | Long: sasl-ir
2 | Help: Enable initial response in SASL authentication
3 | Added: 7.31.0
4 | Category: auth
5 | Example: --sasl-ir imap://example.com/
6 | See-also: sasl-authzid
7 | ---
8 | Enable initial response in SASL authentication.
9 |
--------------------------------------------------------------------------------
/tests/data/test1652:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | infof
6 |
7 |
8 |
9 |
10 |
11 | none
12 |
13 |
14 | unittest
15 |
16 |
17 | infof
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/doh-insecure.d:
--------------------------------------------------------------------------------
1 | Long: doh-insecure
2 | Help: Allow insecure DoH server connections
3 | Added: 7.76.0
4 | Category: dns tls
5 | Example: --doh-insecure --doh-url https://doh.example $URL
6 | See-also: doh-url
7 | ---
8 | Same as --insecure but used for DoH (DNS-over-HTTPS).
9 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-key.d:
--------------------------------------------------------------------------------
1 | Long: proxy-key
2 | Help: Private key for HTTPS proxy
3 | Arg:
4 | Category: proxy tls
5 | Example: --proxy-key here -x https://proxy $URL
6 | Added: 7.52.0
7 | See-also: proxy-key-type proxy
8 | ---
9 | Same as --key but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/data-ascii.d:
--------------------------------------------------------------------------------
1 | Long: data-ascii
2 | Arg:
3 | Help: HTTP POST ASCII data
4 | Protocols: HTTP
5 | Category: http post upload
6 | Example: --data-ascii @file $URL
7 | Added: 7.2
8 | See-also: data-binary data-raw data-urlencode
9 | ---
10 | This is just an alias for --data.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-insecure.d:
--------------------------------------------------------------------------------
1 | Long: proxy-insecure
2 | Help: Do HTTPS proxy connections without verifying the proxy
3 | Added: 7.52.0
4 | Category: proxy tls
5 | Example: --proxy-insecure -x https://proxy $URL
6 | See-also: proxy insecure
7 | ---
8 | Same as --insecure but used in HTTPS proxy context.
9 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/http1.1.d:
--------------------------------------------------------------------------------
1 | Long: http1.1
2 | Tags: Versions
3 | Protocols: HTTP
4 | Added: 7.33.0
5 | Mutexed: http1.0 http2 http2-prior-knowledge http3
6 | Help: Use HTTP 1.1
7 | Category: http
8 | Example: --http1.1 $URL
9 | See-also: http1.0 http0.9
10 | ---
11 | Tells curl to use HTTP version 1.1.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-cert.d:
--------------------------------------------------------------------------------
1 | Long: proxy-cert
2 | Arg:
3 | Help: Set client certificate for proxy
4 | Added: 7.52.0
5 | Category: proxy tls
6 | Example: --proxy-cert file -x https://proxy $URL
7 | See-also: proxy-cert-type
8 | ---
9 | Same as --cert but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-crlfile.d:
--------------------------------------------------------------------------------
1 | Long: proxy-crlfile
2 | Arg:
3 | Help: Set a CRL list for proxy
4 | Added: 7.52.0
5 | Category: proxy tls
6 | Example: --proxy-crlfile rejects.txt -x https://proxy $URL
7 | See-also: crlfile proxy
8 | ---
9 | Same as --crlfile but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/tests/data/test1653:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | urlapi
6 |
7 |
8 |
9 |
10 |
11 | none
12 |
13 |
14 | unittest
15 |
16 |
17 | urlapi port number parsing
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/crlf.d:
--------------------------------------------------------------------------------
1 | Long: crlf
2 | Help: Convert LF to CRLF in upload
3 | Protocols: FTP SMTP
4 | Category: ftp smtp
5 | Example: --crlf -T file ftp://example.com/
6 | Added: 5.7
7 | See-also: use-ascii
8 | ---
9 | Convert LF to CRLF in upload. Useful for MVS (OS/390).
10 |
11 | (SMTP added in 7.40.0)
12 |
--------------------------------------------------------------------------------
/tests/data/test1395:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | unittest
16 |
17 |
18 | Curl_dedotdotify
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-tlsuser.d:
--------------------------------------------------------------------------------
1 | Long: proxy-tlsuser
2 | Arg:
3 | Help: TLS username for HTTPS proxy
4 | Added: 7.52.0
5 | Category: proxy tls auth
6 | Example: --proxy-tlsuser smith -x https://proxy $URL
7 | See-also: proxy proxy-tlspassword
8 | ---
9 | Same as --tlsuser but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/tests/certs/EdelCurlRoot-ca.cnf:
--------------------------------------------------------------------------------
1 | [ ca ]
2 | default_ca = EdelCurlRoot
3 |
4 | [ EdelCurlRoot ]
5 | database = EdelCurlRoot-ca.db
6 | certificate = EdelCurlRoot-ca.crt
7 | private_key = EdelCurlRoot-ca.key
8 | crlnumber = EdelCurlRoot-ca.cnt
9 | default_md = sha1
10 | default_days = 365
11 | default_crl_days = 30
12 |
--------------------------------------------------------------------------------
/tests/data/test1601:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | MD5
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | MD5 unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1611:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | MD4
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | MD4 unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1650:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | DOH
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 | DoH
18 |
19 |
20 | DOH
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/data/test1651:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | x509
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | x509 parsing
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/doh-cert-status.d:
--------------------------------------------------------------------------------
1 | Long: doh-cert-status
2 | Help: Verify the status of the DoH server cert via OCSP-staple
3 | Added: 7.76.0
4 | Category: dns tls
5 | Example: --doh-cert-status --doh-url https://doh.example $URL
6 | See-also: doh-insecure
7 | ---
8 | Same as --cert-status but used for DoH (DNS-over-HTTPS).
9 |
--------------------------------------------------------------------------------
/tests/data/test1300:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | llist
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | llist unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1612:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | HMAC
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | HMAC unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-ciphers.d:
--------------------------------------------------------------------------------
1 | Long: proxy-ciphers
2 | Arg:
3 | Help: SSL ciphers to use for proxy
4 | Added: 7.52.0
5 | Category: proxy tls
6 | Example: --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy $URL
7 | See-also: ciphers curves proxy
8 | ---
9 | Same as --ciphers but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-key-type.d:
--------------------------------------------------------------------------------
1 | Long: proxy-key-type
2 | Arg:
3 | Help: Private key file type for proxy
4 | Added: 7.52.0
5 | Category: proxy tls
6 | Example: --proxy-key-type DER --proxy-key here -x https://proxy $URL
7 | See-also: proxy-key proxy
8 | ---
9 | Same as --key-type but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/tests/data/test1606:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | speedcheck
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | verify speedcheck
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1610:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | SHA256
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | SHA256 unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1620:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | URL
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | unit tests for url.c
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1661:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | bufref
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | bufref unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-ssl-allow-beast.d:
--------------------------------------------------------------------------------
1 | Long: proxy-ssl-allow-beast
2 | Help: Allow security flaw for interop for HTTPS proxy
3 | Added: 7.52.0
4 | Category: proxy tls
5 | Example: --proxy-ssl-allow-beast -x https://proxy $URL
6 | See-also: ssl-allow-beast proxy
7 | ---
8 | Same as --ssl-allow-beast but used in HTTPS proxy context.
9 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-tlspassword.d:
--------------------------------------------------------------------------------
1 | Long: proxy-tlspassword
2 | Arg:
3 | Help: TLS password for HTTPS proxy
4 | Added: 7.52.0
5 | Category: proxy tls auth
6 | Example: --proxy-tlspassword passwd -x https://proxy $URL
7 | See-also: proxy proxy-tlsuser
8 | ---
9 | Same as --tlspassword but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/tests/data/test1600:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | NTLM
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 | NTLM
18 |
19 |
20 | NTLM unit tests
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/tests/data/test1604:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | unittest
16 |
17 |
18 | Test WIN32/MSDOS filename sanitization
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-capath.d:
--------------------------------------------------------------------------------
1 | Long: proxy-capath
2 | Help: CA directory to verify peer against for proxy
3 | Arg:
4 | Added: 7.52.0
5 | See-also: proxy-cacert proxy capath
6 | Category: proxy tls
7 | Example: --proxy-capath /local/directory -x https://proxy $URL
8 | ---
9 | Same as --capath but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-cert-type.d:
--------------------------------------------------------------------------------
1 | Long: proxy-cert-type
2 | Arg:
3 | Added: 7.52.0
4 | Help: Client certificate type for HTTPS proxy
5 | Category: proxy tls
6 | Example: --proxy-cert-type PEM --proxy-cert file -x https://proxy $URL
7 | See-also: proxy-cert
8 | ---
9 | Same as --cert-type but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-pass.d:
--------------------------------------------------------------------------------
1 | Long: proxy-pass
2 | Arg:
3 | Help: Pass phrase for the private key for HTTPS proxy
4 | Added: 7.52.0
5 | Category: proxy tls auth
6 | Example: --proxy-pass secret --proxy-key here -x https://proxy $URL
7 | See-also: proxy proxy-key
8 | ---
9 | Same as --pass but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-tlsauthtype.d:
--------------------------------------------------------------------------------
1 | Long: proxy-tlsauthtype
2 | Arg:
3 | Help: TLS authentication type for HTTPS proxy
4 | Added: 7.52.0
5 | Category: proxy tls auth
6 | Example: --proxy-tlsauthtype SRP -x https://proxy $URL
7 | See-also: proxy proxy-tlsuser
8 | ---
9 | Same as --tlsauthtype but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/tests/data/test1302:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | base64
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | base64 encode/decode unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1303:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | Curl_timeleft
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | Curl_timeleft unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1399:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | Curl_pgrsTime
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | Curl_pgrsTime unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1655:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | doh
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 | DoH
18 |
19 |
20 | unit test for doh_encode
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/.github/lock.yml:
--------------------------------------------------------------------------------
1 | # Configuration for lock-threads - https://github.com/dessant/lock-threads
2 |
3 | # Number of days of inactivity before a closed issue or pull request is locked
4 | daysUntilLock: 90
5 | # Comment to post before locking. Set to `false` to disable
6 | lockComment: false
7 | # Limit to only `issues` or `pulls`
8 | # only: issues
9 |
--------------------------------------------------------------------------------
/CHANGES:
--------------------------------------------------------------------------------
1 | See https://curl.se/changes.html for the edited and human readable online
2 | version of what has changed over the years in different curl releases.
3 |
4 | Generate a CHANGES file like the one present in every release like this:
5 |
6 | $ git log --pretty=fuller --no-color --date=short --decorate=full | \
7 | ./scripts/log2changes.pl
8 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/mail-from.d:
--------------------------------------------------------------------------------
1 | Long: mail-from
2 | Arg:
3 | Help: Mail from this address
4 | Protocols: SMTP
5 | Added: 7.20.0
6 | See-also: mail-rcpt mail-auth
7 | Category: smtp
8 | Example: --mail-from user@example.com -T mail smtp://example.com/
9 | ---
10 | Specify a single address that the given mail should get sent from.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-cacert.d:
--------------------------------------------------------------------------------
1 | Long: proxy-cacert
2 | Help: CA certificate to verify peer against for proxy
3 | Arg:
4 | Added: 7.52.0
5 | See-also: proxy-capath cacert capath proxy
6 | Category: proxy tls
7 | Example: --proxy-cacert CA-file.txt -x https://proxy $URL
8 | ---
9 | Same as --cacert but used in HTTPS proxy context.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-service-name.d:
--------------------------------------------------------------------------------
1 | Long: proxy-service-name
2 | Arg:
3 | Help: SPNEGO proxy service name
4 | Added: 7.43.0
5 | Category: proxy tls
6 | Example: --proxy-service-name "shrubbery" -x proxy $URL
7 | See-also: service-name proxy
8 | ---
9 | This option allows you to change the service name for proxy negotiation.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/raw.d:
--------------------------------------------------------------------------------
1 | Long: raw
2 | Help: Do HTTP "raw"; no transfer decoding
3 | Added: 7.16.2
4 | Protocols: HTTP
5 | Category: http
6 | Example: --raw $URL
7 | See-also: tr-encoding
8 | ---
9 | When used, it disables all internal HTTP decoding of content or transfer
10 | encodings and instead makes them passed on unaltered, raw.
11 |
--------------------------------------------------------------------------------
/tests/data/test1607:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | CURLOPT_RESOLVE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | CURLOPT_RESOLVE parsing
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1609:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | CURLOPT_RESOLVE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | CURLOPT_RESOLVE parsing
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/compressed-ssh.d:
--------------------------------------------------------------------------------
1 | Long: compressed-ssh
2 | Help: Enable SSH compression
3 | Protocols: SCP SFTP
4 | Added: 7.56.0
5 | Category: scp ssh
6 | See-also: compressed
7 | Example: --compressed-ssh sftp://example.com/
8 | ---
9 | Enables built-in SSH compression.
10 | This is a request, not an order; the server may or may not do it.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/netrc-optional.d:
--------------------------------------------------------------------------------
1 | Long: netrc-optional
2 | Help: Use either .netrc or URL
3 | Mutexed: netrc
4 | See-also: netrc-file
5 | Category: curl
6 | Example: --netrc-optional $URL
7 | Added: 7.9.8
8 | ---
9 | Similar to --netrc, but this option makes the .netrc usage **optional**
10 | and not mandatory as the --netrc option does.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/unix-socket.d:
--------------------------------------------------------------------------------
1 | Long: unix-socket
2 | Arg:
3 | Help: Connect through this Unix domain socket
4 | Added: 7.40.0
5 | Protocols: HTTP
6 | Category: connection
7 | See-also: abstract-unix-socket
8 | Example: --unix-socket socket-path $URL
9 | ---
10 | Connect through this Unix domain socket, instead of using the network.
11 |
--------------------------------------------------------------------------------
/tests/data/test1398:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | curl_msnprintf
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | curl_msnprintf unit tests
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/metalink.d:
--------------------------------------------------------------------------------
1 | Long: metalink
2 | Help: Process given URLs as metalink XML file
3 | Added: 7.27.0
4 | Category: misc
5 | Example: --metalink file $URL
6 | See-also: parallel
7 | ---
8 | This option was previously used to specify a metalink resource. Metalink
9 | support has been disabled in curl since 7.78.0 for security reasons.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/pass.d:
--------------------------------------------------------------------------------
1 | Long: pass
2 | Arg:
3 | Help: Pass phrase for the private key
4 | Protocols: SSH TLS
5 | Category: ssh tls auth
6 | Example: --pass secret --key file $URL
7 | Added: 7.9.3
8 | See-also: key user
9 | ---
10 | Passphrase for the private key.
11 |
12 | If this option is used several times, the last one will be used.
13 |
--------------------------------------------------------------------------------
/tests/data/test1301:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | curl_strcasecompare
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | curl_strcasecompare unit tests
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1603:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | hash
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | Internal hash add, retrieval, deletion testing
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tests/data/test1605:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | unittest
16 |
17 |
18 | Test negative data lengths as input to libcurl functions
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/data/test1608:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | curlopt_dns_shuffle_addresses
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | verify DNS shuffling
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/disable.d:
--------------------------------------------------------------------------------
1 | Long: disable
2 | Short: q
3 | Help: Disable .curlrc
4 | Category: curl
5 | Example: -q $URL
6 | Added: 5.0
7 | See-also: config
8 | ---
9 | If used as the first parameter on the command line, the *curlrc* config
10 | file will not be read and used. See the --config for details on the default
11 | config file search path.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-ssl-auto-client-cert.d:
--------------------------------------------------------------------------------
1 | Long: proxy-ssl-auto-client-cert
2 | Help: Use auto client certificate for proxy (Schannel)
3 | Added: 7.77.0
4 | Category: proxy tls
5 | Example: --proxy-ssl-auto-client-cert -x https://proxy $URL
6 | See-also: ssl-auto-client-cert proxy
7 | ---
8 | Same as --ssl-auto-client-cert but used in HTTPS proxy context.
9 |
--------------------------------------------------------------------------------
/docs/INSTALL:
--------------------------------------------------------------------------------
1 | _ _ ____ _
2 | ___| | | | _ \| |
3 | / __| | | | |_) | |
4 | | (__| |_| | _ <| |___
5 | \___|\___/|_| \_\_____|
6 |
7 | How To Compile
8 |
9 | see INSTALL.md
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ipv4.d:
--------------------------------------------------------------------------------
1 | Short: 4
2 | Long: ipv4
3 | Tags: Versions
4 | Protocols:
5 | Added: 7.10.8
6 | Mutexed: ipv6
7 | Requires:
8 | See-also: http1.1 http2
9 | Help: Resolve names to IPv4 addresses
10 | Category: connection dns
11 | Example: --ipv4 $URL
12 | ---
13 | This option tells curl to use IPv4 addresses only, and not for example try
14 | IPv6.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ipv6.d:
--------------------------------------------------------------------------------
1 | Short: 6
2 | Long: ipv6
3 | Tags: Versions
4 | Protocols:
5 | Added: 7.10.8
6 | Mutexed: ipv4
7 | Requires:
8 | See-also: http1.1 http2
9 | Help: Resolve names to IPv6 addresses
10 | Category: connection dns
11 | Example: --ipv6 $URL
12 | ---
13 | This option tells curl to use IPv6 addresses only, and not for example try
14 | IPv4.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tr-encoding.d:
--------------------------------------------------------------------------------
1 | Long: tr-encoding
2 | Added: 7.21.6
3 | Help: Request compressed transfer encoding
4 | Protocols: HTTP
5 | Category: http
6 | Example: --tr-encoding $URL
7 | See-also: compressed
8 | ---
9 | Request a compressed Transfer-Encoding response using one of the algorithms
10 | curl supports, and uncompress the data while receiving it.
11 |
--------------------------------------------------------------------------------
/tests/data/test1621:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | stripcredentials
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 | https
18 |
19 |
20 | unit tests for stripcredentials from URL
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/egd-file.d:
--------------------------------------------------------------------------------
1 | Long: egd-file
2 | Arg:
3 | Help: EGD socket path for random data
4 | Protocols: TLS
5 | See-also: random-file
6 | Category: tls
7 | Example: --egd-file /random/here $URL
8 | Added: 7.7
9 | ---
10 | Specify the path name to the Entropy Gathering Daemon socket. The socket is
11 | used to seed the random engine for SSL connections.
12 |
--------------------------------------------------------------------------------
/tests/data/test1602:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | hash
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | Internal hash create/add/destroy testing, exercising clean functions
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.dsw -crlf
2 | buildconf eol=lf
3 | configure.ac eol=lf
4 | *.m4 eol=lf
5 | *.in eol=lf
6 | *.am eol=lf
7 | *.sh eol=lf
8 | *.[ch] whitespace=tab-in-indent
9 |
10 | # Batch files (bat,btm,cmd) must be run with CRLF line endings.
11 | # Refer to https://github.com/curl/curl/pull/6442
12 | *.bat text eol=crlf
13 | *.btm text eol=crlf
14 | *.cmd text eol=crlf
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/data-raw.d:
--------------------------------------------------------------------------------
1 | Long: data-raw
2 | Arg:
3 | Protocols: HTTP
4 | Help: HTTP POST data, '@' allowed
5 | Added: 7.43.0
6 | See-also: data
7 | Category: http post upload
8 | Example: --data-raw "hello" $URL
9 | Example: --data-raw "@at@at@" $URL
10 | ---
11 | This posts data similarly to --data but without the special
12 | interpretation of the @ character.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/http1.0.d:
--------------------------------------------------------------------------------
1 | Short: 0
2 | Long: http1.0
3 | Tags: Versions
4 | Protocols: HTTP
5 | Added: 7.9.1
6 | Mutexed: http1.1 http2 http2-prior-knowledge http3
7 | Help: Use HTTP 1.0
8 | Category: http
9 | Example: --http1.0 $URL
10 | See-also: http0.9 http1.1
11 | ---
12 | Tells curl to use HTTP version 1.0 instead of using its internally preferred
13 | HTTP version.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/service-name.d:
--------------------------------------------------------------------------------
1 | Long: service-name
2 | Help: SPNEGO service name
3 | Arg:
4 | Added: 7.43.0
5 | Category: misc
6 | Example: --service-name sockd/server $URL
7 | See-also: negotiate proxy-service-name
8 | ---
9 | This option allows you to change the service name for SPNEGO.
10 |
11 | Examples: --negotiate --service-name sockd would use sockd/server-name.
12 |
--------------------------------------------------------------------------------
/tests/data/test1396:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | curl_easy_escape
6 | curl_easy_unescape
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | unittest
18 |
19 |
20 | curl_easy_escape and curl_easy_unescape
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/data/test1397:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | ssl
6 | wildcard
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | unittest
18 |
19 |
20 | Check wildcard certificate matching function Curl_cert_hostcheck
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/data/test1307:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | unittest
6 | wildcardmatch
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | unittest
18 | ftp
19 |
20 |
21 | internal Curl_fnmatch() testing
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/retry-connrefused.d:
--------------------------------------------------------------------------------
1 | Long: retry-connrefused
2 | Help: Retry on connection refused (use with --retry)
3 | Added: 7.52.0
4 | Category: curl
5 | Example: --retry-connrefused --retry $URL
6 | See-also: retry retry-all-errors
7 | ---
8 | In addition to the other conditions, consider ECONNREFUSED as a transient
9 | error too for --retry. This option is used together with --retry.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/show-error.d:
--------------------------------------------------------------------------------
1 | Long: show-error
2 | Short: S
3 | Help: Show error even when -s is used
4 | See-also: no-progress-meter
5 | Category: curl
6 | Example: --show-error --silent $URL
7 | Added: 5.9
8 | ---
9 | When used with --silent, it makes curl show an error message if it fails.
10 |
11 | This option is global and does not need to be specified for each use of
12 | --next.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ssl-no-revoke.d:
--------------------------------------------------------------------------------
1 | Long: ssl-no-revoke
2 | Help: Disable cert revocation checks (Schannel)
3 | Added: 7.44.0
4 | Category: tls
5 | Example: --ssl-no-revoke $URL
6 | See-also: crlfile
7 | ---
8 | (Schannel) This option tells curl to disable certificate revocation checks.
9 | WARNING: this option loosens the SSL security, and by using this flag you ask
10 | for exactly that.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsuser.d:
--------------------------------------------------------------------------------
1 | Long: tlsuser
2 | Arg:
3 | Help: TLS user name
4 | Added: 7.21.4
5 | Category: tls auth
6 | Example: --tlspassword pwd --tlsuser user $URL
7 | See-also: tlspassword
8 | ---
9 | Set username for use with the TLS authentication method specified with
10 | --tlsauthtype. Requires that --tlspassword also is set.
11 |
12 | This option does not work with TLS 1.3.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ntlm-wb.d:
--------------------------------------------------------------------------------
1 | Long: ntlm-wb
2 | Help: Use HTTP NTLM authentication with winbind
3 | Protocols: HTTP
4 | See-also: ntlm proxy-ntlm
5 | Category: auth http
6 | Example: --ntlm-wb -u user:password $URL
7 | Added: 7.22.0
8 | ---
9 | Enables NTLM much in the style --ntlm does, but hand over the authentication
10 | to the separate binary ntlmauth application that is executed when needed.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlspassword.d:
--------------------------------------------------------------------------------
1 | Long: tlspassword
2 | Arg:
3 | Help: TLS password
4 | Added: 7.21.4
5 | Category: tls auth
6 | Example: --tlspassword pwd --tlsuser user $URL
7 | See-also: tlsuser
8 | ---
9 | Set password for use with the TLS authentication method specified with
10 | --tlsauthtype. Requires that --tlsuser also be set.
11 |
12 | This option does not work with TLS 1.3.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/trace-time.d:
--------------------------------------------------------------------------------
1 | Long: trace-time
2 | Help: Add time stamps to trace/verbose output
3 | Added: 7.14.0
4 | Category: verbose
5 | Example: --trace-time --trace-ascii output $URL
6 | See-also: trace verbose
7 | ---
8 | Prepends a time stamp to each trace or verbose line that curl displays.
9 |
10 | This option is global and does not need to be specified for each use of
11 | --next.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/disallow-username-in-url.d:
--------------------------------------------------------------------------------
1 | Long: disallow-username-in-url
2 | Help: Disallow username in URL
3 | Protocols: HTTP
4 | Added: 7.61.0
5 | See-also: proto
6 | Category: curl http
7 | Example: --disallow-username-in-url $URL
8 | ---
9 | This tells curl to exit if passed a URL containing a username. This is probably
10 | most useful when the URL is being provided at runtime or similar.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-ntlm.d:
--------------------------------------------------------------------------------
1 | Long: proxy-ntlm
2 | Help: Use NTLM authentication on the proxy
3 | See-also: proxy-negotiate proxy-anyauth
4 | Category: proxy auth
5 | Example: --proxy-ntlm --proxy-user user:passwd -x http://proxy $URL
6 | Added: 7.10.7
7 | ---
8 | Tells curl to use HTTP NTLM authentication when communicating with the given
9 | proxy. Use --ntlm for enabling NTLM with a remote host.
10 |
--------------------------------------------------------------------------------
/tests/data/test1167:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 |
16 | Verify curl prefix of public symbols in header files
17 |
18 |
19 |
20 | %SRCDIR/badsymbols.pl %SRCDIR/..
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/tests/data/test1394:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | unittest
16 |
17 |
18 | unit test for parse_cert_parameter()
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/form-escape.d:
--------------------------------------------------------------------------------
1 | Long: form-escape
2 | Help: Escape multipart form field/file names using backslash
3 | Protocols: HTTP
4 | See-also: form
5 | Added: 7.81.0
6 | Category: http post
7 | Example: --form-escape --form 'field\\name=curl' 'file=@load"this' $URL
8 | ---
9 | Tells curl to pass on names of multipart form fields and files using
10 | backslash-escaping instead of percent-encoding.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/random-file.d:
--------------------------------------------------------------------------------
1 | Long: random-file
2 | Arg:
3 | Help: File for reading random data from
4 | Category: misc
5 | Example: --random-file rubbish $URL
6 | Added: 7.7
7 | See-also: egd-file
8 | ---
9 | Specify the path name to file containing what will be considered as random
10 | data. The data may be used to seed the random engine for SSL connections. See
11 | also the --egd-file option.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/remote-time.d:
--------------------------------------------------------------------------------
1 | Long: remote-time
2 | Short: R
3 | Help: Set the remote file's time on the local output
4 | Category: output
5 | Example: --remote-time -o foo $URL
6 | Added: 7.9
7 | See-also: remote-name time-cond
8 | ---
9 | When used, this will make curl attempt to figure out the timestamp of the
10 | remote file, and if that is available make the local file get that same
11 | timestamp.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsv1.d:
--------------------------------------------------------------------------------
1 | Short: 1
2 | Long: tlsv1
3 | Tags: Versions
4 | Protocols: SSL
5 | Added: 7.9.2
6 | Mutexed: tlsv1.1 tlsv1.2 tlsv1.3
7 | Requires: TLS
8 | See-also: http1.1 http2
9 | Help: Use TLSv1.0 or greater
10 | Category: tls
11 | Example: --tlsv1 $URL
12 | ---
13 | Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
14 | server. That means TLS version 1.0 or higher
15 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | See [docs/SECURITY-PROCESS.md](docs/SECURITY-PROCESS.md) for full details.
4 |
5 | ## Reporting a Vulnerability
6 |
7 | If you have found or just suspect a security problem somewhere in curl or libcurl,
8 | report it on [https://hackerone.com/curl](https://hackerone.com/curl).
9 |
10 | We treat security issues with confidentiality until controlled and disclosed responsibly.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-pret.d:
--------------------------------------------------------------------------------
1 | Long: ftp-pret
2 | Help: Send PRET before PASV
3 | Protocols: FTP
4 | Added: 7.20.0
5 | Category: ftp
6 | Example: --ftp-pret ftp://example.com/
7 | See-also: ftp-port ftp-pasv
8 | ---
9 | Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
10 | mainly drftpd, require this non-standard command for directory listings as
11 | well as up and downloads in PASV mode.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-digest.d:
--------------------------------------------------------------------------------
1 | Long: proxy-digest
2 | Help: Use Digest authentication on the proxy
3 | See-also: proxy proxy-anyauth proxy-basic
4 | Category: proxy tls
5 | Example: --proxy-digest --proxy-user user:passwd -x proxy $URL
6 | Added: 7.12.0
7 | ---
8 | Tells curl to use HTTP Digest authentication when communicating with the given
9 | proxy. Use --digest for enabling HTTP Digest with a remote host.
10 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/parallel.d:
--------------------------------------------------------------------------------
1 | Short: Z
2 | Long: parallel
3 | Help: Perform transfers in parallel
4 | Added: 7.66.0
5 | Category: connection curl
6 | Example: --parallel $URL -o file1 $URL -o file2
7 | See-also: next verbose
8 | ---
9 | Makes curl perform its transfers in parallel as compared to the regular serial
10 | manner.
11 |
12 | This option is global and does not need to be specified for each use of
13 | --next.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ssl-revoke-best-effort.d:
--------------------------------------------------------------------------------
1 | Long: ssl-revoke-best-effort
2 | Help: Ignore missing/offline cert CRL dist points
3 | Added: 7.70.0
4 | Category: tls
5 | Example: --ssl-revoke-best-effort $URL
6 | See-also: crlfile insecure
7 | ---
8 | (Schannel) This option tells curl to ignore certificate revocation checks when
9 | they failed due to missing/offline distribution points for the revocation check
10 | lists.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/use-ascii.d:
--------------------------------------------------------------------------------
1 | Short: B
2 | Long: use-ascii
3 | Help: Use ASCII/text transfer
4 | Protocols: FTP LDAP
5 | Category: misc
6 | Example: -B ftp://example.com/README
7 | Added: 5.0
8 | See-also: crlf data-ascii
9 | ---
10 | Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
11 | ends with ";type=A". This option causes data sent to stdout to be in text mode
12 | for win32 systems.
13 |
--------------------------------------------------------------------------------
/tests/data/test1165:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | CURL_DISABLE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 |
17 | Verify configure.ac and source code CURL_DISABLE_-sync
18 |
19 |
20 |
21 | %SRCDIR/disable-scan.pl %SRCDIR/..
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/data/test1305:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | unittest
6 | hash
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | unittest
18 |
19 |
20 | internal hash create/destroy testing
21 |
22 |
23 | %TESTNUMBER
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-anyauth.d:
--------------------------------------------------------------------------------
1 | Long: proxy-anyauth
2 | Help: Pick any proxy authentication method
3 | Added: 7.13.2
4 | See-also: proxy proxy-basic proxy-digest
5 | Category: proxy auth
6 | Example: --proxy-anyauth --proxy-user user:passwd -x proxy $URL
7 | ---
8 | Tells curl to pick a suitable authentication method when communicating with
9 | the given HTTP proxy. This might cause an extra request/response round-trip.
10 |
--------------------------------------------------------------------------------
/tests/certs/srp-verifier-db:
--------------------------------------------------------------------------------
1 | jsmith:34fPk7u.w3R/M1k2sQ9F.04GZqLKAsqDn44CHGu7ML0M8VWwu1p79OLxi6jRhSNdSM46Kx9GRVyJLXz7eok53..A6X5p3NdnMSYX8WwYrDmuseHDr.eua7gjd04S4EoY4ZuKix2.WGAsMTwk86AmTvcqyzqsH7GDhGOHEhjP5zs:lTjBBoK04K9vTKiL10rI/:1
2 | alice:3IIP1g1HDTN6VEUr8DUkMleocoC1cpuFZnmunDaGhMyIsw8LAwCc7ZapWaC66gZSyis4ezSuCqvhsJdwdc.0es2UrH6PBkBQflcQDuC.dEpjhWgAcH2Dw.2qU.E0ApQzLkcKOjXMQ2R6jMBL14kEUPjjHS3aa16yB.Afj3bNPdf:1JxU4GkweUEii6.b0grkzU:1
3 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/path-as-is.d:
--------------------------------------------------------------------------------
1 | Long: path-as-is
2 | Help: Do not squash .. sequences in URL path
3 | Added: 7.42.0
4 | Category: curl
5 | Example: --path-as-is https://example.com/../../etc/passwd
6 | See-also: request-target
7 | ---
8 | Tell curl to not handle sequences of /../ or /./ in the given URL
9 | path. Normally curl will squash or merge them according to standards but with
10 | this option set you tell it not to do that.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tcp-nodelay.d:
--------------------------------------------------------------------------------
1 | Long: tcp-nodelay
2 | Help: Use the TCP_NODELAY option
3 | Added: 7.11.2
4 | Category: connection
5 | Example: --tcp-nodelay $URL
6 | See-also: no-buffer
7 | ---
8 | Turn on the TCP_NODELAY option. See the *curl_easy_setopt(3)* man page for
9 | details about this option.
10 |
11 | Since 7.50.2, curl sets this option by default and you need to explicitly
12 | switch it off if you do not want it on.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/crlfile.d:
--------------------------------------------------------------------------------
1 | Long: crlfile
2 | Arg:
3 | Protocols: TLS
4 | Help: Use this CRL list
5 | Added: 7.19.7
6 | Category: tls
7 | Example: --crlfile rejects.txt $URL
8 | See-also: cacert capath
9 | ---
10 | Provide a file using PEM format with a Certificate Revocation List that may
11 | specify peer certificates that are to be considered revoked.
12 |
13 | If this option is used several times, the last one will be used.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/engine.d:
--------------------------------------------------------------------------------
1 | Long: engine
2 | Arg:
3 | Help: Crypto engine to use
4 | Protocols: TLS
5 | Category: tls
6 | Example: --engine flavor $URL
7 | Added: 7.9.3
8 | See-also: ciphers curves
9 | ---
10 | Select the OpenSSL crypto engine to use for cipher operations. Use --engine
11 | list to print a list of build-time supported engines. Note that not all (and
12 | possibly none) of the engines may be available at runtime.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/sslv2.d:
--------------------------------------------------------------------------------
1 | Short: 2
2 | Long: sslv2
3 | Tags: Versions
4 | Protocols: SSL
5 | Added: 5.9
6 | Mutexed: sslv3 tlsv1 tlsv1.1 tlsv1.2
7 | Requires: TLS
8 | See-also: http1.1 http2
9 | Help: Use SSLv2
10 | Category: tls
11 | Example: --sslv2 $URL
12 | ---
13 | This option previously asked curl to use SSLv2, but starting in curl 7.77.0
14 | this instruction is ignored. SSLv2 is widely considered insecure (see RFC
15 | 6176).
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/sslv3.d:
--------------------------------------------------------------------------------
1 | Short: 3
2 | Long: sslv3
3 | Tags: Versions
4 | Protocols: SSL
5 | Added: 5.9
6 | Mutexed: sslv2 tlsv1 tlsv1.1 tlsv1.2
7 | Requires: TLS
8 | See-also: http1.1 http2
9 | Help: Use SSLv3
10 | Category: tls
11 | Example: --sslv3 $URL
12 | ---
13 | This option previously asked curl to use SSLv3, but starting in curl 7.77.0
14 | this instruction is ignored. SSLv3 is widely considered insecure (see RFC
15 | 7568).
16 |
--------------------------------------------------------------------------------
/tests/data/test1132:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | memory-includes
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 |
17 | Verify memory #include files in libcurl's C source files
18 |
19 |
20 |
21 | %SRCDIR/mem-include-scan.pl %SRCDIR/../lib
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/data/test1175:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | symbols-in-versions
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 |
17 | Verify that symbols-in-versions and libcurl-errors.3 are in sync
18 |
19 |
20 |
21 | %SRCDIR/error-codes.pl %SRCDIR
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/no-keepalive.d:
--------------------------------------------------------------------------------
1 | Long: no-keepalive
2 | Help: Disable TCP keepalive on the connection
3 | Category: connection
4 | Example: --no-keepalive $URL
5 | Added: 7.18.0
6 | See-also: keepalive-time
7 | ---
8 | Disables the use of keepalive messages on the TCP connection. curl otherwise
9 | enables them by default.
10 |
11 | Note that this is the negated option name documented. You can thus use
12 | --keepalive to enforce keepalive.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/styled-output.d:
--------------------------------------------------------------------------------
1 | Long: styled-output
2 | Help: Enable styled output for HTTP headers
3 | Added: 7.61.0
4 | Category: verbose
5 | Example: --styled-output -I $URL
6 | See-also: head verbose
7 | ---
8 | Enables the automatic use of bold font styles when writing HTTP headers to the
9 | terminal. Use --no-styled-output to switch them off.
10 |
11 | This option is global and does not need to be specified for each use of
12 | --next.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/head.d:
--------------------------------------------------------------------------------
1 | Long: head
2 | Short: I
3 | Help: Show document info only
4 | Protocols: HTTP FTP FILE
5 | Category: http ftp file
6 | Example: -I $URL
7 | Added: 4.0
8 | See-also: get verbose trace-ascii
9 | ---
10 | Fetch the headers only! HTTP-servers feature the command HEAD which this uses
11 | to get nothing but the header of a document. When used on an FTP or FILE file,
12 | curl displays the file size and last modification time only.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/etag-save.d:
--------------------------------------------------------------------------------
1 | Long: etag-save
2 | Arg:
3 | Help: Parse ETag from a request and save it to a file
4 | Protocols: HTTP
5 | Added: 7.68.0
6 | Category: http
7 | Example: --etag-save storetag.txt $URL
8 | See-also: etag-compare
9 | ---
10 | This option saves an HTTP ETag to the specified file. An ETag is a
11 | caching related header, usually returned in a response.
12 |
13 | If no ETag is sent by the server, an empty file is created.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/mail-auth.d:
--------------------------------------------------------------------------------
1 | Long: mail-auth
2 | Arg:
3 | Protocols: SMTP
4 | Help: Originator address of the original email
5 | Added: 7.25.0
6 | See-also: mail-rcpt mail-from
7 | Category: smtp
8 | Example: --mail-auth user@example.come -T mail smtp://example.com/
9 | ---
10 | Specify a single address. This will be used to specify the authentication
11 | address (identity) of a submitted message that is being relayed to another
12 | server.
13 |
--------------------------------------------------------------------------------
/tests/.gitignore:
--------------------------------------------------------------------------------
1 | *pid
2 | *.1.dist
3 | configurehelp.pm
4 | curl_client_key
5 | curl_client_key.pub
6 | curl_client_knownhosts
7 | curl_host_rsa_key
8 | curl_host_rsa_key.pub
9 | curl_host_rsa_key.pub_md5
10 | curl_host_rsa_key.pub_sha256
11 | curl_sftp_cmds
12 | curl_sftp_config
13 | curl_ssh_config
14 | curl_sshd_config
15 | ftps_stunnel.conf
16 | https_stunnel.conf
17 | log
18 | runtests.html
19 | runtests.pdf
20 | testcurl.html
21 | testcurl.pdf
22 | *.port
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-account.d:
--------------------------------------------------------------------------------
1 | Long: ftp-account
2 | Arg:
3 | Help: Account data string
4 | Protocols: FTP
5 | Added: 7.13.0
6 | Category: ftp auth
7 | Example: --ftp-account "mr.robot" ftp://example.com/
8 | See-also: user
9 | ---
10 | When an FTP server asks for "account data" after user name and password has
11 | been provided, this data is sent off using the ACCT command.
12 |
13 | If this option is used several times, the last one will be used.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-ssl-control.d:
--------------------------------------------------------------------------------
1 | Long: ftp-ssl-control
2 | Help: Require SSL/TLS for FTP login, clear for transfer
3 | Protocols: FTP
4 | Added: 7.16.0
5 | Category: ftp tls
6 | Example: --ftp-ssl-control ftp://example.com
7 | See-also: ssl
8 | ---
9 | Require SSL/TLS for the FTP login, clear for transfer. Allows secure
10 | authentication, but non-encrypted data transfers for efficiency. Fails the
11 | transfer if the server does not support SSL/TLS.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/include.d:
--------------------------------------------------------------------------------
1 | Long: include
2 | Short: i
3 | Help: Include protocol response headers in the output
4 | See-also: verbose
5 | Category: important verbose
6 | Example: -i $URL
7 | Added: 4.8
8 | ---
9 | Include the HTTP response headers in the output. The HTTP response headers can
10 | include things like server name, cookies, date of the document, HTTP version
11 | and more...
12 |
13 | To view the request headers, consider the --verbose option.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/key-type.d:
--------------------------------------------------------------------------------
1 | Long: key-type
2 | Arg:
3 | Help: Private key file type (DER/PEM/ENG)
4 | Protocols: TLS
5 | Category: tls
6 | Example: --key-type DER --key here $URL
7 | Added: 7.9.3
8 | See-also: key
9 | ---
10 | Private key file type. Specify which type your --key provided private key
11 | is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
12 |
13 | If this option is used several times, the last one will be used.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/telnet-option.d:
--------------------------------------------------------------------------------
1 | Long: telnet-option
2 | Short: t
3 | Arg:
4 | Help: Set telnet option
5 | Category: telnet
6 | Example: -t TTYPE=vt100 telnet://example.com/
7 | Added: 7.7
8 | See-also: config
9 | ---
10 | Pass options to the telnet protocol. Supported options are:
11 |
12 | TTYPE= Sets the terminal type.
13 |
14 | XDISPLOC= Sets the X display location.
15 |
16 | NEW_ENV= Sets an environment variable.
17 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-negotiate.d:
--------------------------------------------------------------------------------
1 | Long: proxy-negotiate
2 | Help: Use HTTP Negotiate (SPNEGO) authentication on the proxy
3 | Added: 7.17.1
4 | See-also: proxy-anyauth proxy-basic
5 | Category: proxy auth
6 | Example: --proxy-negotiate --proxy-user user:passwd -x proxy $URL
7 | ---
8 | Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
9 | with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
10 | with a remote host.
11 |
--------------------------------------------------------------------------------
/tests/data/test1308:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | curl_formadd
6 | curl_formget
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | unittest
18 | http
19 |
20 |
21 | formpost unit tests
22 |
23 |
24 | Piece of the file that is to uploaded as a formpost
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/socks5-basic.d:
--------------------------------------------------------------------------------
1 | Long: socks5-basic
2 | Help: Enable username/password auth for SOCKS5 proxies
3 | Added: 7.55.0
4 | Category: proxy auth
5 | Example: --socks5-basic --socks5 hostname:4096 $URL
6 | See-also: socks5
7 | ---
8 | Tells curl to use username/password authentication when connecting to a SOCKS5
9 | proxy. The username/password authentication is enabled by default. Use
10 | --socks5-gssapi to force GSS-API authentication to SOCKS5 proxies.
11 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsv1.3.d:
--------------------------------------------------------------------------------
1 | Long: tlsv1.3
2 | Help: Use TLSv1.3 or greater
3 | Protocols: TLS
4 | Added: 7.52.0
5 | Category: tls
6 | Example: --tlsv1.3 $URL
7 | See-also: tlsv1.2
8 | ---
9 | Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
10 | server.
11 |
12 | If the connection is done without TLS, this option has no effect. This
13 | includes QUIC-using (HTTP/3) transfers.
14 |
15 | Note that TLS 1.3 is not supported by all TLS backends.
16 |
--------------------------------------------------------------------------------
/tests/data/test1306:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | unittest
6 | hash
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | unittest
18 |
19 |
20 | internal hash create/add/destroy testing
21 |
22 |
23 | unit1305
24 |
25 |
26 | %TESTNUMBER
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tests/data/test1323:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | curlx_tvdiff
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 |
14 | #
15 | # Client-side
16 |
17 |
18 | none
19 |
20 |
21 | unittest
22 |
23 |
24 | curlx_tvdiff
25 |
26 |
27 |
28 | #
29 | # Verify data after the test has been "shot"
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tftp-no-options.d:
--------------------------------------------------------------------------------
1 | Long: tftp-no-options
2 | Help: Do not send any TFTP options
3 | Protocols: TFTP
4 | Added: 7.48.0
5 | Category: tftp
6 | Example: --tftp-no-options tftp://192.168.0.1/
7 | See-also: tftp-blksize
8 | ---
9 | Tells curl not to send TFTP options requests.
10 |
11 | This option improves interop with some legacy servers that do not acknowledge
12 | or properly implement TFTP options. When this option is used --tftp-blksize is
13 | ignored.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy-basic.d:
--------------------------------------------------------------------------------
1 | Long: proxy-basic
2 | Help: Use Basic authentication on the proxy
3 | See-also: proxy proxy-anyauth proxy-digest
4 | Category: proxy auth
5 | Example: --proxy-basic --proxy-user user:passwd -x proxy $URL
6 | Added: 7.12.0
7 | ---
8 | Tells curl to use HTTP Basic authentication when communicating with the given
9 | proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
10 | default authentication method curl uses with proxies.
11 |
--------------------------------------------------------------------------------
/tests/data/test829:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | IMAP
5 | CRLF-in-URL
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | imap
13 |
14 |
15 | IMAP with URL-encoded CR LF in the URL
16 |
17 |
18 | imap://%HOSTIP:%IMAPPORT/%0d%0a/%TESTNUMBER
19 |
20 |
21 |
22 | #
23 |
24 | # 3 - CURLE_URL_MALFORMAT
25 |
26 | 3
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/tests/data/test875:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | POP3
5 | CRLF-in-URL
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | pop3
13 |
14 |
15 | POP3 with URL-encoded CR LF in the URL
16 |
17 |
18 | pop3://%HOSTIP:%POP3PORT/%0d%0a/%TESTNUMBER
19 |
20 |
21 |
22 | #
23 |
24 | # 3 - CURLE_URL_MALFORMAT
25 |
26 | 3
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/tests/data/test931:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SMTP
5 | CRLF-in-URL
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | smtp
13 |
14 |
15 | SMTP with URL-encoded CR LF in the URL
16 |
17 |
18 | smtp://%HOSTIP:%SMTPPORT/%0d%0a/%TESTNUMBER
19 |
20 |
21 |
22 | #
23 |
24 | # 3 - CURLE_URL_MALFORMAT
25 |
26 | 3
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsv1.0.d:
--------------------------------------------------------------------------------
1 | Long: tlsv1.0
2 | Help: Use TLSv1.0 or greater
3 | Protocols: TLS
4 | Added: 7.34.0
5 | Category: tls
6 | Example: --tlsv1.0 $URL
7 | See-also: tlsv1.3
8 | ---
9 | Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
10 |
11 | In old versions of curl this option was documented to allow _only_ TLS 1.0.
12 | That behavior was inconsistent depending on the TLS library. Use --tls-max if
13 | you want to set a maximum TLS version.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsv1.1.d:
--------------------------------------------------------------------------------
1 | Long: tlsv1.1
2 | Help: Use TLSv1.1 or greater
3 | Protocols: TLS
4 | Added: 7.34.0
5 | Category: tls
6 | Example: --tlsv1.1 $URL
7 | See-also: tlsv1.3
8 | ---
9 | Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
10 |
11 | In old versions of curl this option was documented to allow _only_ TLS 1.1.
12 | That behavior was inconsistent depending on the TLS library. Use --tls-max if
13 | you want to set a maximum TLS version.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsv1.2.d:
--------------------------------------------------------------------------------
1 | Long: tlsv1.2
2 | Help: Use TLSv1.2 or greater
3 | Protocols: TLS
4 | Added: 7.34.0
5 | Category: tls
6 | Example: --tlsv1.2 $URL
7 | See-also: tlsv1.3
8 | ---
9 | Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
10 |
11 | In old versions of curl this option was documented to allow _only_ TLS 1.2.
12 | That behavior was inconsistent depending on the TLS library. Use --tls-max if
13 | you want to set a maximum TLS version.
14 |
--------------------------------------------------------------------------------
/tests/data/test1304:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unittest
5 | netrc
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 | unittest
17 |
18 |
19 | netrc parsing unit tests
20 |
21 |
22 | machine example.com login admin password passwd
23 | machine curl.example.com login none password none
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-ssl-ccc.d:
--------------------------------------------------------------------------------
1 | Long: ftp-ssl-ccc
2 | Help: Send CCC after authenticating
3 | Protocols: FTP
4 | See-also: ssl ftp-ssl-ccc-mode
5 | Added: 7.16.1
6 | Category: ftp tls
7 | Example: --ftp-ssl-ccc ftps://example.com/
8 | ---
9 | Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
10 | authenticating. The rest of the control channel communication will be
11 | unencrypted. This allows NAT routers to follow the FTP transaction. The
12 | default mode is passive.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/hostpubsha256.d:
--------------------------------------------------------------------------------
1 | Long: hostpubsha256
2 | Arg:
3 | Help: Acceptable SHA256 hash of the host public key
4 | Protocols: SFTP SCP
5 | Added: 7.80.0
6 | Category: sftp scp
7 | Example: --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/
8 | See-also: hostpubmd5
9 | ---
10 | Pass a string containing a Base64-encoded SHA256 hash of the remote
11 | host's public key. Curl will refuse the connection with the host
12 | unless the hashes match.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/no-alpn.d:
--------------------------------------------------------------------------------
1 | Long: no-alpn
2 | Tags: HTTP/2
3 | Protocols: HTTPS
4 | Added: 7.36.0
5 | See-also: no-npn http2
6 | Requires: TLS
7 | Help: Disable the ALPN TLS extension
8 | Category: tls http
9 | Example: --no-alpn $URL
10 | ---
11 | Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
12 | with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
13 | HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
14 |
--------------------------------------------------------------------------------
/tests/data/test1177:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | CURL_VERSION
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 |
17 | Verify that CURL_VERSION_* in headers and docs are in sync
18 |
19 |
20 |
21 | %SRCDIR/version-scan.pl %SRCDIR/../docs/libcurl/curl_version_info.3 %SRCDIR/../include/curl/curl.h
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/data/test1521:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl_easy_setopt
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | lib%TESTNUMBER
16 |
17 |
18 |
19 | Test all curl_easy_setopt and curl_easy_getinfo options
20 |
21 |
22 | unused
23 |
24 |
25 |
26 | #
27 | # Verify data after the test has been "shot"
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tests/data/test1911:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl_easy_option
5 |
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | none
16 |
17 |
18 | verify that curl_easy_setopt() rejects too long string inputs
19 |
20 |
21 | lib%TESTNUMBER
22 |
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/append.d:
--------------------------------------------------------------------------------
1 | Short: a
2 | Long: append
3 | Help: Append to target file when uploading
4 | Protocols: FTP SFTP
5 | Category: ftp sftp
6 | See-also: range continue-at
7 | Example: --upload-file local --append ftp://example.com/
8 | Added: 4.8
9 | ---
10 | When used in an upload, this makes curl append to the target file instead of
11 | overwriting it. If the remote file does not exist, it will be created. Note
12 | that this flag is ignored by some SFTP servers (including OpenSSH).
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/dns-interface.d:
--------------------------------------------------------------------------------
1 | Long: dns-interface
2 | Arg:
3 | Help: Interface to use for DNS requests
4 | Protocols: DNS
5 | See-also: dns-ipv4-addr dns-ipv6-addr
6 | Added: 7.33.0
7 | Requires: c-ares
8 | Category: dns
9 | Example: --dns-interface eth0 $URL
10 | ---
11 | Tell curl to send outgoing DNS requests through . This option is a
12 | counterpart to --interface (which does not affect DNS). The supplied string
13 | must be an interface name (not an address).
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/remove-on-error.d:
--------------------------------------------------------------------------------
1 | Long: remove-on-error
2 | Help: Remove output file on errors
3 | See-also: fail
4 | Category: curl
5 | Example: --remove-on-error -o output $URL
6 | Added: 7.83.0
7 | ---
8 | When curl returns an error when told to save output in a local file, this
9 | option removes that saved file before exiting. This prevents curl from
10 | leaving a partial file in the case of an error during transfer.
11 |
12 | If the output is not a file, this option has no effect.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/socks5-gssapi.d:
--------------------------------------------------------------------------------
1 | Long: socks5-gssapi
2 | Help: Enable GSS-API auth for SOCKS5 proxies
3 | Added: 7.55.0
4 | Category: proxy auth
5 | Example: --socks5-gssapi --socks5 hostname:4096 $URL
6 | See-also: socks5
7 | ---
8 | Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
9 | The GSS-API authentication is enabled by default (if curl is compiled with
10 | GSS-API support). Use --socks5-basic to force username/password authentication
11 | to SOCKS5 proxies.
12 |
--------------------------------------------------------------------------------
/tests/data/test1409:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | cmdline
5 | FAILURE
6 |
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | Pass in string to -C
18 |
19 |
20 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER -C wrong
21 |
22 |
23 |
24 | #
25 | # Verify data after the test has been "shot"
26 |
27 |
28 | 2
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/tests/data/test1550:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | multi
5 |
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | none
16 |
17 | # tool is what to use instead of 'curl'
18 |
19 | lib%TESTNUMBER
20 |
21 |
22 |
23 | verify setting pipeling blocklisting options
24 |
25 |
26 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-create-dirs.d:
--------------------------------------------------------------------------------
1 | Long: ftp-create-dirs
2 | Protocols: FTP SFTP
3 | Help: Create the remote dirs if not present
4 | See-also: create-dirs
5 | Category: ftp sftp curl
6 | Example: --ftp-create-dirs -T file ftp://example.com/remote/path/file
7 | Added: 7.10.7
8 | ---
9 | When an FTP or SFTP URL/operation uses a path that does not currently exist on
10 | the server, the standard behavior of curl is to fail. Using this option, curl
11 | will instead attempt to create missing directories.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/hostpubmd5.d:
--------------------------------------------------------------------------------
1 | Long: hostpubmd5
2 | Arg:
3 | Help: Acceptable MD5 hash of the host public key
4 | Protocols: SFTP SCP
5 | Added: 7.17.1
6 | Category: sftp scp
7 | Example: --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/
8 | See-also: hostpubsha256
9 | ---
10 | Pass a string containing 32 hexadecimal digits. The string should
11 | be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
12 | the connection with the host unless the md5sums match.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/no-npn.d:
--------------------------------------------------------------------------------
1 | Long: no-npn
2 | Tags: Versions HTTP/2
3 | Protocols: HTTPS
4 | Added: 7.36.0
5 | Mutexed:
6 | See-also: no-alpn http2
7 | Requires: TLS
8 | Help: Disable the NPN TLS extension
9 | Category: tls http
10 | Example: --no-npn $URL
11 | ---
12 | Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
13 | with an SSL library that supports NPN. NPN is used by a libcurl that supports
14 | HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
15 |
--------------------------------------------------------------------------------
/tests/data/test226:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FAILURE
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | ftp
13 |
14 |
15 | FTP %0d-code in URL's CWD part
16 |
17 |
18 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER%0d
19 |
20 |
21 |
22 | # Verify data after the test has been "shot"
23 |
24 | # 3 == CURLE_URL_MALFORMAT
25 |
26 | 3
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/abstract-unix-socket.d:
--------------------------------------------------------------------------------
1 | Long: abstract-unix-socket
2 | Arg:
3 | Help: Connect via abstract Unix domain socket
4 | Added: 7.53.0
5 | Protocols: HTTP
6 | Category: connection
7 | See-also: unix-socket
8 | Example: --abstract-unix-socket socketpath $URL
9 | ---
10 | Connect through an abstract Unix domain socket, instead of using the network.
11 | Note: netstat shows the path of an abstract socket prefixed with '@', however
12 | the argument should not have this leading character.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ciphers.d:
--------------------------------------------------------------------------------
1 | Long: ciphers
2 | Arg:
3 | Help: SSL ciphers to use
4 | Protocols: TLS
5 | Category: tls
6 | See-also: tlsv1.3
7 | Example: --ciphers ECDHE-ECDSA-AES256-CCM8 $URL
8 | Added: 7.9
9 | ---
10 | Specifies which ciphers to use in the connection. The list of ciphers must
11 | specify valid ciphers. Read up on SSL cipher list details on this URL:
12 |
13 | https://curl.se/docs/ssl-ciphers.html
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/no-progress-meter.d:
--------------------------------------------------------------------------------
1 | Long: no-progress-meter
2 | Help: Do not show the progress meter
3 | See-also: verbose silent
4 | Added: 7.67.0
5 | Category: verbose
6 | Example: --no-progress-meter -o store $URL
7 | ---
8 | Option to switch off the progress meter output without muting or otherwise
9 | affecting warning and informational messages like --silent does.
10 |
11 | Note that this is the negated option name documented. You can thus use
12 | --progress-meter to enable the progress meter again.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/post303.d:
--------------------------------------------------------------------------------
1 | Long: post303
2 | Help: Do not switch to GET after following a 303
3 | Protocols: HTTP
4 | See-also: post302 post301 location
5 | Added: 7.26.0
6 | Category: http post
7 | Example: --post303 --location -d "data" $URL
8 | ---
9 | Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
10 | requests when following 303 redirections. A server may require a POST to
11 | remain a POST after a 303 redirection. This option is meaningful only when
12 | using --location.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/stderr.d:
--------------------------------------------------------------------------------
1 | Long: stderr
2 | Arg:
3 | Help: Where to redirect stderr
4 | See-also: verbose silent
5 | Category: verbose
6 | Example: --stderr output.txt $URL
7 | Added: 6.2
8 | ---
9 | Redirect all writes to stderr to the specified file instead. If the file name
10 | is a plain '-', it is instead written to stdout.
11 |
12 | This option is global and does not need to be specified for each use of
13 | --next.
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/tests/data/test1119:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | symbols-in-versions
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 |
17 | Verify that symbols-in-versions and headers are in sync
18 |
19 |
20 |
21 | %SRCDIR/symbol-scan.pl %SRCDIR/.. ../include/curl
22 |
23 |
24 |
25 |
26 |
27 | OK
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tests/data/test1427:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | integer overflow
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | too large -m timeout value
16 |
17 |
18 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER -m 184467440737095510
19 |
20 |
21 |
22 | #
23 | # Verify data after the test has been "shot"
24 |
25 |
26 | 2
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/tests/data/test1912:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl_easy_option
5 | typecheck
6 |
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 | # Client-side
14 |
15 |
16 | none
17 |
18 |
19 | Cross validate that gcc-typecheck macros match the option types.
20 |
21 |
22 | lib%TESTNUMBER
23 |
24 |
25 |
26 |
27 | # Verify data after the test has been "shot"
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tftp-blksize.d:
--------------------------------------------------------------------------------
1 | Long: tftp-blksize
2 | Arg:
3 | Help: Set TFTP BLKSIZE option
4 | Protocols: TFTP
5 | Added: 7.20.0
6 | Category: tftp
7 | Example: --tftp-blksize 1024 tftp://example.com/file
8 | See-also: tftp-no-options
9 | ---
10 | Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
11 | try to use when transferring data to or from a TFTP server. By default 512
12 | bytes will be used.
13 |
14 | If this option is used several times, the last one will be used.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/parallel-max.d:
--------------------------------------------------------------------------------
1 | Long: parallel-max
2 | Arg:
3 | Help: Maximum concurrency for parallel transfers
4 | Added: 7.66.0
5 | See-also: parallel
6 | Category: connection curl
7 | Example: --parallel-max 100 -Z $URL ftp://example.com/
8 | ---
9 | When asked to do parallel transfers, using --parallel, this option controls
10 | the maximum amount of transfers to do simultaneously.
11 |
12 | This option is global and does not need to be specified for each use of
13 | --next.
14 |
15 | The default is 50.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/remote-name-all.d:
--------------------------------------------------------------------------------
1 | Long: remote-name-all
2 | Help: Use the remote file name for all URLs
3 | Added: 7.19.0
4 | Category: output
5 | Example: --remote-name-all ftp://example.com/file1 ftp://example.com/file2
6 | See-also: remote-name
7 | ---
8 | This option changes the default action for all given URLs to be dealt with as
9 | if --remote-name were used for each one. So if you want to disable that for a
10 | specific URL after --remote-name-all has been used, you must use "-o -" or
11 | --no-remote-name.
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/silent.d:
--------------------------------------------------------------------------------
1 | Long: silent
2 | Short: s
3 | Help: Silent mode
4 | See-also: verbose stderr no-progress-meter
5 | Category: important verbose
6 | Example: -s $URL
7 | Added: 4.0
8 | ---
9 | Silent or quiet mode. Do not show progress meter or error messages. Makes Curl
10 | mute. It will still output the data you ask for, potentially even to the
11 | terminal/stdout unless you redirect it.
12 |
13 | Use --show-error in addition to this option to disable progress meter but
14 | still show error messages.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/speed-limit.d:
--------------------------------------------------------------------------------
1 | Long: speed-limit
2 | Short: Y
3 | Arg:
4 | Help: Stop transfers slower than this
5 | Category: connection
6 | Example: --speed-limit 300 --speed-time 10 $URL
7 | Added: 4.7
8 | See-also: speed-time limit-rate max-time
9 | ---
10 | If a download is slower than this given speed (in bytes per second) for
11 | speed-time seconds it gets aborted. speed-time is set with --speed-time and is
12 | 30 if not set.
13 |
14 | If this option is used several times, the last one will be used.
15 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-sv.pub.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6kwUPlwvDN/H6rGXloK
3 | 9s+ZIs28OkHndrwFAYUkzSJ5RyZNap1BzzGAIB9fOocvT/9cI6xnC/QUWKdH13YD
4 | U/6zDSMIGf+0rEe9YJDIBJQFy88bEKq7CEZUQqgrzDX5arlGnoJHGHfPwEgfXNKb
5 | 7f2NPSkLILfdAmAnYhhzHAyxgi08nB62Pob0DtMCUPH4AYcyii3FYQuqlPCzKT9J
6 | p/ZK3XUwwGKXFGveTXFEQDmOCPW5c0HV6xLYzl2+KXbqa5QY1yxDXokS8VDyLcBt
7 | GQeZlvOoRvM76MgdDfpUlqAmLE/AYISpITkPRCjk4xF55KNE4iDhnWVUoidWZ5QC
8 | JwIDAQAB
9 | -----END PUBLIC KEY-----
10 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost0h-sv.pub.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuP5quIoOuzSQz0jn3Q0m
3 | MmcKTqqcTP3rb+G4mF2xQ9QJT2LYTXzWCzaTV/thArmNNSCb3n2j1Q2ORJjUkTGi
4 | HpqEzABSS3jDV1dr1yUpvxRQIG8a7jz8u78eH82ot/2Nrsx4B8ADhv3t24bBK4FV
5 | RUpQB/2NhaTpKdy74tXd3Tr4YiE8MNBaiHFnU6946n4IQDJlFny/ybr1Bh4C8vi3
6 | OciFwHgU0tn9K4sMP9qDSC8mJDQb+nAHRrQB6g3M14Gp8WbFTj1+tLO0ZKPqD/8B
7 | VMGLH+ll1fy8cUNpLlD0AxKlkZUgNtyR66qrjzBsZiIg3h24WdEWqHFVSmb+dpye
8 | 6QIDAQAB
9 | -----END PUBLIC KEY-----
10 |
--------------------------------------------------------------------------------
/tests/data/test1450:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | DICT
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | dict
18 |
19 |
20 | dict
21 |
22 |
23 | Basic DICT lookup
24 |
25 |
26 | dict://%HOSTIP:%DICTPORT/d:basic
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test225:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FAILURE
6 |
7 |
8 | # Client-side
9 |
10 |
11 | ftp
12 |
13 |
14 | FTP %0a-code in URL's name part
15 |
16 |
17 | ftp://bad%0auser:passwd@%HOSTIP:%FTPPORT/%TESTNUMBER%0a
18 |
19 |
20 |
21 | # Verify data after the test has been "shot"
22 |
23 | # 3 == CURLE_URL_MALFORMAT
24 |
25 | 3
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/tests/data/test360:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --fail
5 | --fail-with-body
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | http
13 |
14 |
15 | Error on both --fail-with-body and --fail
16 |
17 |
18 | http://%HOSTIP:%HTTPPORT/%TESTNUMBER --fail-with-body --fail
19 |
20 |
21 |
22 | # Verify data after the test has been "shot"
23 |
24 |
25 | 2
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Feature request
4 | url: https://curl.se/mail/
5 | about: To propose new features or enhancements, please bring that discussion to a suitable curl mailing list.
6 | - name: Question
7 | url: https://curl.se/mail/
8 | about: Questions should go to the mailing list
9 | - name: Commercial support
10 | url: https://curl.se/support.html
11 | about: Several companies are offering paid support for curl/libcurl
12 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/request-target.d:
--------------------------------------------------------------------------------
1 | Long: request-target
2 | Arg:
3 | Help: Specify the target for this request
4 | Protocols: HTTP
5 | Added: 7.55.0
6 | Category: http
7 | Example: --request-target "*" -X OPTIONS $URL
8 | See-also: request
9 | ---
10 | Tells curl to use an alternative "target" (path) instead of using the path as
11 | provided in the URL. Particularly useful when wanting to issue HTTP requests
12 | without leading slash or other data that does not follow the regular URL
13 | pattern, like "OPTIONS *".
14 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost.nn-sv.pub.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9B5eTIyHngn412I9OPte
3 | m2JbAi6V9QoUgtQH/OfzlsMSGrkk+vRBf3ZWPY1yISpJz1RCCYcWApiwqcXG0/Jg
4 | rbthF6LqNTEc37sn/p359/9qchCjRHU7tT52G/dgpjHKT2IOfm2ZnI4wYf835sGR
5 | ZQyho2EB73Xcj1KcWzlFNWPK+8rddkoCeMSwLOziyN4nn9a56zneoSOZ1WWXeOJ8
6 | CFWXkYRw9IjAWZzy8P5ccXi/ho4SkoUfFe3Tg/wlUPSGBM13ewya66vpy0OYxB5u
7 | 3tImnY6hyN9Ppma/KTtuernSvnQWxrTDRpsJGUKbBXWutZxbo9XhdmVZObyZXQCQ
8 | hwIDAQAB
9 | -----END PUBLIC KEY-----
10 |
--------------------------------------------------------------------------------
/tests/data/test1410:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | cmdline
5 | FAILURE
6 |
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | Pass in negative number to --max-time
18 |
19 |
20 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER --max-time -4
21 |
22 |
23 |
24 | #
25 | # Verify data after the test has been "shot"
26 |
27 |
28 | 2
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/basic.d:
--------------------------------------------------------------------------------
1 | Long: basic
2 | Help: Use HTTP Basic Authentication
3 | See-also: proxy-basic
4 | Protocols: HTTP
5 | Category: auth
6 | Example: -u name:password --basic $URL
7 | Added: 7.10.6
8 | ---
9 | Tells curl to use HTTP Basic authentication with the remote host. This is the
10 | default and this option is usually pointless, unless you use it to override a
11 | previously set option that sets a different authentication method (such as
12 | --ntlm, --digest, or --negotiate).
13 |
14 | Used together with --user.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-ssl-ccc-mode.d:
--------------------------------------------------------------------------------
1 | Long: ftp-ssl-ccc-mode
2 | Arg:
3 | Help: Set CCC mode
4 | Protocols: FTP
5 | Added: 7.16.2
6 | See-also: ftp-ssl-ccc
7 | Category: ftp tls
8 | Example: --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
9 | ---
10 | Sets the CCC mode. The passive mode will not initiate the shutdown, but
11 | instead wait for the server to do it, and will not reply to the shutdown from
12 | the server. The active mode initiates the shutdown and waits for a reply from
13 | the server.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/local-port.d:
--------------------------------------------------------------------------------
1 | Long: local-port
2 | Arg:
3 | Help: Force use of RANGE for local port numbers
4 | Added: 7.15.2
5 | Category: connection
6 | Example: --local-port 1000-3000 $URL
7 | See-also: globoff
8 | ---
9 | Set a preferred single number or range (FROM-TO) of local port numbers to use
10 | for the connection(s). Note that port numbers by nature are a scarce resource
11 | that will be busy at times so setting this range to something too narrow might
12 | cause unnecessary connection setup failures.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/socks5-gssapi-nec.d:
--------------------------------------------------------------------------------
1 | Long: socks5-gssapi-nec
2 | Help: Compatibility with NEC SOCKS5 server
3 | Added: 7.19.4
4 | Category: proxy auth
5 | Example: --socks5-gssapi-nec --socks5 hostname:4096 $URL
6 | See-also: socks5
7 | ---
8 | As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
9 | says in section 4.3/4.4 it should be protected, but the NEC reference
10 | implementation does not. The option --socks5-gssapi-nec allows the
11 | unprotected exchange of the protection mode negotiation.
12 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-firstSAN-sv.pub.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtaBWZf8aHZpN8Re+FMcy
3 | /lGgoyImWWzVDHSpbCYcppJmHZYOWct9BQGwMRPc2+aB8XlDgAg3dC5RgraHfP2H
4 | Lf3Q00IyyajRzOA3f+I+ZZLSTf157e8j1TEv++9fA2hJanyq6XAja0OVvV7R+Ban
5 | 1eC9f2NEpCxNNBYyERLO3xak2Aaly9RMzymsZ8GCJsEL/0Sv87KJMaIQ/aUy+ARO
6 | azIdJF6DiT1JnDQkWhPdLAssXLNfvvxt277DxEBt6FG/4f478ChCJPVoxC4A+iE0
7 | 8NGUP2VQGY2+zwcqCE9ocHf2FHhFL3DaRyZRcx27spPhI3dtoEdONMev/alTQern
8 | cwIDAQAB
9 | -----END PUBLIC KEY-----
10 |
--------------------------------------------------------------------------------
/tests/certs/Server-localhost-lastSAN-sv.pub.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvZcOp222c4zQIWvzNnRd
3 | Cqo68PpusVwcE3TKZysiA9GmPCXvh0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEk
4 | LwDwv4BYFrGSs9N4v3jLCpEM0m1dsh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhr
5 | AImouvV+CIPzmvWYuJ/W2MfU8wccj++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Y
6 | k0sIpWbJ39vwIvhkn6FWiZerAixamfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSg
7 | QLoBYcLXse99SykY4v4o0JjkZT9MNDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8
8 | vQIDAQAB
9 | -----END PUBLIC KEY-----
10 |
--------------------------------------------------------------------------------
/tests/data/test1139:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | symbols-in-versions
6 | documentation
7 | --manual
8 |
9 |
10 |
11 | #
12 | # Client-side
13 |
14 |
15 | none
16 |
17 |
18 |
19 | Verify that all libcurl options have man pages
20 |
21 |
22 |
23 | %SRCDIR/manpage-scan.pl %SRCDIR/.. %PWD/..
24 |
25 |
26 |
27 |
28 |
29 | 0
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/globoff.d:
--------------------------------------------------------------------------------
1 | Long: globoff
2 | Short: g
3 | Help: Disable URL sequences and ranges using {} and []
4 | Category: curl
5 | Example: -g "https://example.com/{[]}}}}"
6 | Added: 7.6
7 | See-also: config disable
8 | ---
9 | This option switches off the "URL globbing parser". When you set this option,
10 | you can specify URLs that contain the letters {}[] without having curl itself
11 | interpret them. Note that these letters are not normal legal URL contents but
12 | they should be encoded according to the URI standard.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/help.d:
--------------------------------------------------------------------------------
1 | Long: help
2 | Arg:
3 | Short: h
4 | Help: Get help for commands
5 | Category: important curl
6 | Example: --help all
7 | Added: 4.0
8 | See-also: verbose
9 | ---
10 | Usage help. This lists all commands of the .
11 | If no arg was provided, curl will display the most important
12 | command line arguments.
13 | If the argument "all" was provided, curl will display all options available.
14 | If the argument "category" was provided, curl will display all categories and
15 | their meanings.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/max-redirs.d:
--------------------------------------------------------------------------------
1 | Long: max-redirs
2 | Arg:
3 | Help: Maximum number of redirects allowed
4 | Protocols: HTTP
5 | Category: http
6 | Example: --max-redirs 3 --location $URL
7 | Added: 7.5
8 | See-also: location
9 | ---
10 | Set maximum number of redirections to follow. When --location is used, to
11 | prevent curl from following too many redirects, by default, the limit is
12 | set to 50 redirects. Set this option to -1 to make it unlimited.
13 |
14 | If this option is used several times, the last one will be used.
15 |
--------------------------------------------------------------------------------
/tests/data/test1530:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CURLOPT_OPENSOCKETFUNCTION
5 |
6 |
7 |
8 |
9 |
10 | none
11 |
12 |
13 | http
14 |
15 |
16 | lib%TESTNUMBER
17 |
18 |
19 | CURLOPT_OPENSOCKETFUNCTION returns bad socket
20 |
21 |
22 |
23 | # it should be detected and an error should be reported
24 |
25 | # 7 == CURLE_COULDNT_CONNECT
26 |
27 | 7
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tests/data/test1564:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | multi
5 | wakeup
6 |
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 | # Client-side
14 |
15 |
16 | wakeup
17 |
18 |
19 | none
20 |
21 |
22 | lib%TESTNUMBER
23 |
24 |
25 | wakeup before poll with no easy handles
26 |
27 |
28 |
29 |
30 |
31 | # Verify data after the test has been "shot"
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test404:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FTPS
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | SSL
14 |
15 |
16 | ftps
17 |
18 |
19 | FTPS with invalid cacert
20 |
21 |
22 | --ftp-ssl-control --cacert moooo ftps://%HOSTIP:%FTPSPORT/
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 77
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/tests/data/test660:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | IMAP
5 | CONNECT_ONLY
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | imap
13 |
14 |
15 | lib597
16 |
17 |
18 | IMAP CONNECT_ONLY option
19 |
20 |
21 |
22 | imap://%HOSTIP:%IMAPPORT/%TESTNUMBER
23 |
24 |
25 |
26 |
27 | #
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | A001 CAPABILITY
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/dns-ipv4-addr.d:
--------------------------------------------------------------------------------
1 | Long: dns-ipv4-addr
2 | Arg:
3 | Help: IPv4 address to use for DNS requests
4 | Protocols: DNS
5 | See-also: dns-interface dns-ipv6-addr
6 | Added: 7.33.0
7 | Requires: c-ares
8 | Category: dns
9 | Example: --dns-ipv4-addr 10.1.2.3 $URL
10 | ---
11 | Tell curl to bind to when making IPv4 DNS requests, so that
12 | the DNS requests originate from this address. The argument should be a
13 | single IPv4 address.
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/haproxy-protocol.d:
--------------------------------------------------------------------------------
1 | Long: haproxy-protocol
2 | Help: Send HAProxy PROXY protocol v1 header
3 | Protocols: HTTP
4 | Added: 7.60.0
5 | Category: http proxy
6 | Example: --haproxy-protocol $URL
7 | See-also: proxy
8 | ---
9 | Send a HAProxy PROXY protocol v1 header at the beginning of the
10 | connection. This is used by some load balancers and reverse proxies to
11 | indicate the client's true IP address and port.
12 |
13 | This option is primarily useful when sending test requests to a service that
14 | expects this header.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/dns-ipv6-addr.d:
--------------------------------------------------------------------------------
1 | Long: dns-ipv6-addr
2 | Arg:
3 | Help: IPv6 address to use for DNS requests
4 | Protocols: DNS
5 | See-also: dns-interface dns-ipv4-addr
6 | Added: 7.33.0
7 | Requires: c-ares
8 | Category: dns
9 | Example: --dns-ipv6-addr 2a04:4e42::561 $URL
10 | ---
11 | Tell curl to bind to when making IPv6 DNS requests, so that
12 | the DNS requests originate from this address. The argument should be a
13 | single IPv6 address.
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxy1.0.d:
--------------------------------------------------------------------------------
1 | Long: proxy1.0
2 | Arg:
3 | Help: Use HTTP/1.0 proxy on given port
4 | Category: proxy
5 | Example: --proxy1.0 -x http://proxy $URL
6 | Added: 7.19.4
7 | See-also: proxy socks5 preproxy
8 | ---
9 | Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
10 | assumed at port 1080.
11 |
12 | The only difference between this and the HTTP proxy option --proxy, is that
13 | attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol
14 | instead of the default HTTP 1.1.
15 |
--------------------------------------------------------------------------------
/tests/data/test289:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | STOR
6 | Resume
7 | FAILURE
8 |
9 |
10 |
11 | # Client-side
12 |
13 |
14 | ftp
15 |
16 |
17 | FTP resume upload but denied access to local file
18 |
19 |
20 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -T log/illegal-nonexistent-file -C -
21 |
22 |
23 |
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | 26
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/compressed.d:
--------------------------------------------------------------------------------
1 | Long: compressed
2 | Help: Request compressed response
3 | Protocols: HTTP
4 | Category: http
5 | Example: --compressed $URL
6 | See-also: compressed-ssh
7 | Added: 7.10
8 | ---
9 | Request a compressed response using one of the algorithms curl supports, and
10 | automatically decompress the content. Headers are not modified.
11 |
12 | If this option is used and the server sends an unsupported encoding, curl will
13 | report an error. This is a request, not an order; the server may or may not
14 | deliver data compressed.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/junk-session-cookies.d:
--------------------------------------------------------------------------------
1 | Long: junk-session-cookies
2 | Short: j
3 | Help: Ignore session cookies read from file
4 | Protocols: HTTP
5 | See-also: cookie cookie-jar
6 | Category: http
7 | Example: --junk-session-cookies -b cookies.txt $URL
8 | Added: 7.9.7
9 | ---
10 | When curl is told to read cookies from a given file, this option will make it
11 | discard all "session cookies". This will basically have the same effect as if
12 | a new session is started. Typical browsers always discard session cookies when
13 | they are closed down.
14 |
--------------------------------------------------------------------------------
/tests/data/test201:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FILE
5 | FAILURE
6 |
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | file
19 |
20 |
21 | missing file:// file
22 |
23 |
24 | file://localhost/%PWD/log/non-existent-file.txt
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | 37
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test2043:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | HTTP GET
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | Schannel
14 |
15 |
16 | none
17 |
18 |
19 | Disable certificate revocation checks
20 |
21 |
22 | --ssl-no-revoke -I https://revoked.badssl.com/
23 |
24 |
25 |
26 | #
27 | # Verify data after the test has been "shot"
28 |
29 |
30 | 0
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test23:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | unsupported protocol
5 | FAILURE
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 |
13 |
14 | # Client-side
15 |
16 |
17 | http
18 |
19 |
20 | unsupported protocol:// URL
21 |
22 |
23 | htfp://%HOSTIP:%HTTPPORT/none.htfml
24 |
25 |
26 |
27 | # Verify data after the test has been "shot"
28 |
29 |
30 | 1
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test41:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP FORMPOST
6 | FAILURE
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 | # Client-side
14 |
15 |
16 | http
17 |
18 |
19 | HTTP formpost with missing file
20 |
21 |
22 | http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -F moo=@boo
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 26
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Documentation
4 |
5 | you will find a mix of various documentation in this directory and
6 | subdirectories, using several different formats. Some of them are not ideal
7 | for reading directly in your browser.
8 |
9 | If you would rather see the rendered version of the documentation, check out the
10 | curl website's [documentation section](https://curl.se/docs/) for
11 | general curl stuff or the [libcurl section](https://curl.se/libcurl/) for
12 | libcurl related documentation.
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/http0.9.d:
--------------------------------------------------------------------------------
1 | Long: http0.9
2 | Tags: Versions
3 | Protocols: HTTP
4 | Help: Allow HTTP 0.9 responses
5 | Category: http
6 | Example: --http0.9 $URL
7 | Added: 7.64.0
8 | See-also: http1.1 http2 http3
9 | ---
10 | Tells curl to be fine with HTTP version 0.9 response.
11 |
12 | HTTP/0.9 is a completely headerless response and therefore you can also
13 | connect with this to non-HTTP servers and still get a response since curl will
14 | simply transparently downgrade - if allowed.
15 |
16 | Since curl 7.66.0, HTTP/0.9 is disabled by default.
17 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/krb.d:
--------------------------------------------------------------------------------
1 | Long: krb
2 | Arg:
3 | Help: Enable Kerberos with security
4 | Protocols: FTP
5 | Requires: Kerberos
6 | Category: ftp
7 | Example: --krb clear ftp://example.com/
8 | Added: 7.3
9 | See-also: delegation ssl
10 | ---
11 | Enable Kerberos authentication and use. The level must be entered and should
12 | be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
13 | level that is not one of these, 'private' will instead be used.
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/xattr.d:
--------------------------------------------------------------------------------
1 | Long: xattr
2 | Help: Store metadata in extended file attributes
3 | Category: misc
4 | Example: --xattr -o storage $URL
5 | Added: 7.21.3
6 | See-also: remote-time write-out verbose
7 | ---
8 | When saving output to a file, this option tells curl to store certain file
9 | metadata in extended file attributes. Currently, the URL is stored in the
10 | xdg.origin.url attribute and, for HTTP, the content type is stored in
11 | the mime_type attribute. If the file system does not support extended
12 | attributes, a warning is issued.
13 |
--------------------------------------------------------------------------------
/include/README.md:
--------------------------------------------------------------------------------
1 | # include
2 |
3 | Public include files for libcurl, external users.
4 |
5 | They're all placed in the curl subdirectory here for better fit in any kind of
6 | environment. You must include files from here using...
7 |
8 | #include
9 |
10 | ... style and point the compiler's include path to the directory holding the
11 | curl subdirectory. It makes it more likely to survive future modifications.
12 |
13 | The public curl include files can be shared freely between different platforms
14 | and different architectures.
15 |
--------------------------------------------------------------------------------
/tests/data/test305:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | HTTP GET
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | SSL
14 |
15 |
16 | https
17 |
18 |
19 | insecure HTTPS without permission
20 |
21 |
22 | https://%HOSTIP:%HTTPSPORT/want/%TESTNUMBER --cacert moooo
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 77
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/tests/data/test971:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | options-in-versions
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | none
14 |
15 |
16 |
17 | Verify that options-in-versions and docs/cmdline-opts are in sync
18 |
19 |
20 |
21 | %SRCDIR/options-scan.pl %SRCDIR/../docs/options-in-versions %SRCDIR/../docs/cmdline-opts
22 |
23 |
24 |
25 |
26 |
27 | ok
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-alternative-to-user.d:
--------------------------------------------------------------------------------
1 | Long: ftp-alternative-to-user
2 | Arg:
3 | Help: String to replace USER [name]
4 | Protocols: FTP
5 | Added: 7.15.5
6 | Category: ftp
7 | Example: --ftp-alternative-to-user "U53r" ftp://example.com
8 | See-also: ftp-account user
9 | ---
10 | If authenticating with the USER and PASS commands fails, send this command.
11 | When connecting to Tumbleweed's Secure Transport server over FTPS using a
12 | client certificate, using "SITE AUTH" will tell the server to retrieve the
13 | username from the certificate.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/netrc-file.d:
--------------------------------------------------------------------------------
1 | Long: netrc-file
2 | Help: Specify FILE for netrc
3 | Arg:
4 | Added: 7.21.5
5 | Mutexed: netrc
6 | Category: curl
7 | Example: --netrc-file netrc $URL
8 | See-also: netrc user config
9 | ---
10 | This option is similar to --netrc, except that you provide the path (absolute
11 | or relative) to the netrc file that curl should use. You can only specify one
12 | netrc file per invocation. If several --netrc-file options are provided,
13 | the last one will be used.
14 |
15 | It will abide by --netrc-optional if specified.
16 |
--------------------------------------------------------------------------------
/tests/data/test1508:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | multi
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | lib%TESTNUMBER
16 |
17 |
18 | Close a multi handle without using it
19 |
20 |
21 | http://%HOSTIP:%NOLISTENPORT/path/%TESTNUMBER
22 |
23 |
24 |
25 | # Verify data after the test has been "shot"
26 |
27 |
28 | We are done
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/tests/data/test21:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FAILURE
5 | multiple HTTP requests
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 |
13 |
14 | # Client-side
15 |
16 |
17 | http
18 |
19 |
20 | use curl with multiple request methods
21 |
22 |
23 | -I -d FOOO -F moo=moo localhost
24 |
25 |
26 |
27 | # Verify data after the test has been "shot"
28 |
29 |
30 | 2
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test3016:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | FILE
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | file
15 |
16 |
17 | GET a directory using file://
18 |
19 |
20 |
21 | !win32
22 |
23 |
24 | file://%PWD/
25 |
26 |
27 |
28 | #
29 | # Verify data after the test has been "shot"
30 |
31 |
32 | 0
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/tlsauthtype.d:
--------------------------------------------------------------------------------
1 | Long: tlsauthtype
2 | Arg:
3 | Help: TLS authentication type
4 | Added: 7.21.4
5 | Category: tls auth
6 | Example: --tlsauthtype SRP $URL
7 | See-also: tlsuser
8 | ---
9 | Set TLS authentication type. Currently, the only supported option is "SRP",
10 | for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
11 | --tlsauthtype is not, then this option defaults to "SRP". This option works
12 | only if the underlying libcurl is built with TLS-SRP support, which requires
13 | OpenSSL or GnuTLS with TLS-SRP support.
14 |
--------------------------------------------------------------------------------
/tests/data/test1918:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl_easy_option
5 | curl_easy_option_by_name
6 | curl_easy_option_by_id
7 |
8 |
9 |
10 | # Server-side
11 |
12 |
13 |
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | curl_easy_option_by_name() and curl_easy_option_by_id()
21 |
22 |
23 | lib%TESTNUMBER
24 |
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test597:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | CONNECT_ONLY
6 |
7 |
8 |
9 | # Client-side
10 |
11 |
12 | ftp
13 |
14 |
15 | lib%TESTNUMBER
16 |
17 |
18 | FTP connect only option
19 |
20 |
21 |
22 | ftp://%HOSTIP:%FTPPORT
23 |
24 |
25 |
26 |
27 | #
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | USER anonymous
32 | PASS ftp@example.com
33 | PWD
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/dns-servers.d:
--------------------------------------------------------------------------------
1 | Long: dns-servers
2 | Arg:
3 | Help: DNS server addrs to use
4 | Requires: c-ares
5 | Added: 7.33.0
6 | Category: dns
7 | Example: --dns-servers 192.168.0.1,192.168.0.2 $URL
8 | See-also: dns-interface dns-ipv4-addr
9 | ---
10 | Set the list of DNS servers to be used instead of the system default.
11 | The list of IP addresses should be separated with commas. Port numbers
12 | may also optionally be given as *:* after each IP
13 | address.
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/location-trusted.d:
--------------------------------------------------------------------------------
1 | Long: location-trusted
2 | Help: Like --location, and send auth to other hosts
3 | Protocols: HTTP
4 | See-also: user
5 | Category: http auth
6 | Example: --location-trusted -u user:password $URL
7 | Added: 7.10.4
8 | ---
9 | Like --location, but will allow sending the name + password to all hosts that
10 | the site may redirect to. This may or may not introduce a security breach if
11 | the site redirects you to a site to which you will send your authentication
12 | info (which is plaintext in the case of HTTP Basic authentication).
13 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ssl-reqd.d:
--------------------------------------------------------------------------------
1 | Long: ssl-reqd
2 | Help: Require SSL/TLS
3 | Protocols: FTP IMAP POP3 SMTP LDAP
4 | Added: 7.20.0
5 | Category: tls
6 | Example: --ssl-reqd ftp://example.com
7 | See-also: ssl insecure
8 | ---
9 | Require SSL/TLS for the connection. Terminates the connection if the server
10 | does not support SSL/TLS.
11 |
12 | This option is handled in LDAP since version 7.81.0. It is fully supported
13 | by the openldap backend and rejected by the generic ldap backend if explicit
14 | TLS is required.
15 |
16 | This option was formerly known as --ftp-ssl-reqd.
17 |
--------------------------------------------------------------------------------
/tests/data/test1140:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | symbols-in-versions
6 | documentation
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 |
18 | Verify the nroff of man pages
19 |
20 |
21 |
22 | %SRCDIR/nroff-scan.pl %SRCDIR/../docs/ %SRCDIR/../docs/libcurl/*.3 %SRCDIR/../docs/libcurl/opts/*.3 %SRCDIR/../docs/*.1
23 |
24 |
25 |
26 |
27 |
28 | OK
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/tests/data/test1441:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --write-out
5 | FILE
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | file
16 |
17 |
18 |
19 | Check --write-out with trailing %
20 |
21 |
22 | file://localhost/%PWD/log/non-existent-file.txt --write-out '%'
23 |
24 |
25 |
26 | # Verify data
27 |
28 |
29 | 37
30 |
31 |
32 | %
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/tests/data/test1442:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --write-out
5 | FILE
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | file
16 |
17 |
18 |
19 | Check --write-out with trailing \
20 |
21 |
22 | file://localhost/%PWD/log/non-existent-file.txt --write-out '\'
23 |
24 |
25 |
26 | # Verify data
27 |
28 |
29 | 37
30 |
31 |
32 | \
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/expect100-timeout.d:
--------------------------------------------------------------------------------
1 | Long: expect100-timeout
2 | Arg:
3 | Help: How long to wait for 100-continue
4 | Protocols: HTTP
5 | Added: 7.47.0
6 | See-also: connect-timeout
7 | Category: http
8 | Example: --expect100-timeout 2.5 -T file $URL
9 | ---
10 | Maximum time in seconds that you allow curl to wait for a 100-continue
11 | response when curl emits an Expects: 100-continue header in its request. By
12 | default curl will wait one second. This option accepts decimal values! When
13 | curl stops waiting, it will continue as if the response has been received.
14 |
--------------------------------------------------------------------------------
/tests/data/test1440:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --write-out
5 | FILE
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | file
16 |
17 |
18 |
19 | Check --write-out with trailing %{
20 |
21 |
22 | file://localhost/%PWD/log/non-existent-file.txt --write-out '%{'
23 |
24 |
25 |
26 | # Verify data
27 |
28 |
29 | 37
30 |
31 |
32 | %{
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/digest.d:
--------------------------------------------------------------------------------
1 | Long: digest
2 | Help: Use HTTP Digest Authentication
3 | Protocols: HTTP
4 | Mutexed: basic ntlm negotiate
5 | See-also: user proxy-digest anyauth
6 | Category: proxy auth http
7 | Example: -u name:password --digest $URL
8 | Added: 7.10.6
9 | ---
10 | Enables HTTP Digest authentication. This is an authentication scheme that
11 | prevents the password from being sent over the wire in clear text. Use this in
12 | combination with the normal --user option to set user name and password.
13 |
14 | If this option is used several times, only the first one is used.
15 |
--------------------------------------------------------------------------------
/tests/data/test1269:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --retry-delay
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | too large --retry-delay value
21 |
22 |
23 | --retry 3 --retry-delay 9223372036854776 http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
24 |
25 |
26 |
27 | #
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | 2
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test1329:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP proxy
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | http
13 |
14 |
15 | /-prefixed proxy name
16 |
17 |
18 | http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x "/server"
19 |
20 |
21 | proxy
22 |
23 |
24 |
25 | #
26 | # Verify data after the test has been "shot"
27 |
28 | # 5 == CURLE_COULDNT_RESOLVE_PROXY
29 |
30 | 5
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test2044:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --proto-default
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | none
16 |
17 |
18 | Attempt to set a default protocol that does not exist
19 |
20 |
21 | --proto-default DOESNOTEXIST
22 |
23 |
24 |
25 | #
26 | # Verify data after the test has been "shot"
27 |
28 | # CURLE_UNSUPPORTED_PROTOCOL is error code 1
29 |
30 | 1
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test923:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SMTP
5 | VRFY
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 |
14 | #
15 | # Client-side
16 |
17 |
18 | smtp
19 |
20 |
21 | SMTP VRFY
22 |
23 |
24 | smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient
25 |
26 |
27 |
28 | #
29 | # Verify data after the test has been "shot"
30 |
31 |
32 | EHLO %TESTNUMBER
33 | VRFY recipient
34 | QUIT
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/.github/workflows/linkcheck.yml:
--------------------------------------------------------------------------------
1 | # Docs: https://github.com/marketplace/actions/markdown-link-check
2 |
3 | name: Markdown links
4 |
5 | on:
6 | # Trigger the workflow on push or pull requests, but only for the
7 | # master branch
8 | push:
9 | branches:
10 | - master
11 | - '*/ci'
12 | pull_request:
13 | branches:
14 | - master
15 |
16 | jobs:
17 | check:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@master
21 | - uses: gaurav-nelson/github-action-markdown-link-check@v1
22 | with:
23 | use-quiet-mode: 'yes'
24 |
--------------------------------------------------------------------------------
/tests/data/test1173:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | source analysis
5 | documentation
6 | --manual
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 |
18 | Man page syntax checks
19 |
20 |
21 |
22 | %SRCDIR/manpage-syntax.pl %SRCDIR/../docs/libcurl/symbols-in-versions %SRCDIR/../docs/*.1 %SRCDIR/../docs/libcurl/*.3 %SRCDIR/../docs/libcurl/opts/*.3
23 |
24 |
25 |
26 |
27 |
28 | ok
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/tests/data/test1234:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | globbing
5 | {} list
6 | FAILURE
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 | # Client-side
14 |
15 |
16 | none
17 |
18 |
19 | abusing {}-globbing
20 |
21 |
22 | "%HOSTIP:%NOLISTENPORT/%TESTNUMBER[0-1]{" "%HOSTIP:%NOLISTENPORT/{}{}{}{"
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 | # 3 == CURLE_URL_MALFORMAT
29 |
30 | 3
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test2036:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FAILURE
5 |
6 |
7 | #
8 | # Server-side
9 |
10 |
11 |
12 | #
13 | # Client-side
14 |
15 |
16 | none
17 |
18 |
19 | http
20 |
21 |
22 | HTTP, -O with no slash at all in the URL
23 |
24 |
25 | %HOSTIP:%NOLISTENPORT -O
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | 23
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test629:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SCP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | scp
14 |
15 |
16 | SCP invalid user login (password authentication)
17 |
18 |
19 | -u not-a-valid-user: scp://%HOSTIP:%SSHPORT%SSH_PWD/irrelevant-file --insecure
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | 67
28 |
29 |
30 | disable
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/false-start.d:
--------------------------------------------------------------------------------
1 | Long: false-start
2 | Help: Enable TLS False Start
3 | Protocols: TLS
4 | Added: 7.42.0
5 | Category: tls
6 | Example: --false-start $URL
7 | See-also: tcp-fastopen
8 | ---
9 | Tells curl to use false start during the TLS handshake. False start is a mode
10 | where a TLS client will start sending application data before verifying the
11 | server's Finished message, thus saving a round trip when performing a full
12 | handshake.
13 |
14 | This is currently only implemented in the NSS and Secure Transport (on iOS 7.0
15 | or later, or OS X 10.9 or later) backends.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/retry-delay.d:
--------------------------------------------------------------------------------
1 | Long: retry-delay
2 | Arg:
3 | Help: Wait time between retries
4 | Added: 7.12.3
5 | Category: curl
6 | Example: --retry-delay 5 --retry $URL
7 | See-also: retry
8 | ---
9 | Make curl sleep this amount of time before each retry when a transfer has
10 | failed with a transient error (it changes the default backoff time algorithm
11 | between retries). This option is only interesting if --retry is also
12 | used. Setting this delay to zero will make curl use the default backoff time.
13 |
14 | If this option is used several times, the last one will be used.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/suppress-connect-headers.d:
--------------------------------------------------------------------------------
1 | Long: suppress-connect-headers
2 | Help: Suppress proxy CONNECT response headers
3 | See-also: dump-header include proxytunnel
4 | Category: proxy
5 | Example: --suppress-connect-headers --include -x proxy $URL
6 | Added: 7.54.0
7 | ---
8 | When --proxytunnel is used and a CONNECT request is made do not output proxy
9 | CONNECT response headers. This option is meant to be used with --dump-header or
10 | --include which are used to show protocol headers in the output. It has no
11 | effect on debug options such as --verbose or --trace, or any statistics.
12 |
--------------------------------------------------------------------------------
/tests/data/test1289:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | globbing
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | http
19 |
20 |
21 | globbing with overflow and bad syntxx
22 |
23 |
24 | http://ur%20[0-60000000000000000000
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 | # curl: (3) [globbing] bad range in column
31 |
32 | 3
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/tests/data/test1557:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | multi
5 | crash
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | none
15 |
16 |
17 | lib%TESTNUMBER
18 |
19 |
20 |
21 | Removing easy handle that's in the pending connections list doesn't leave behind a dangling entry
22 |
23 |
24 | nothing
25 |
26 |
27 |
28 | #
29 | # Verify that the test runs to completion without crashing
30 |
31 |
32 | 0
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test322:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | TLS-SRP
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | httptls+srp
14 |
15 |
16 | TLS-SRP
17 |
18 |
19 | TLS-SRP with bad password
20 |
21 |
22 | --insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword badpass https://%HOSTIP:%HTTPTLSPORT
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 35
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test628:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SFTP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | sftp
14 |
15 |
16 | SFTP invalid user login (password authentication)
17 |
18 |
19 | -u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%SSH_PWD/irrelevant-file --insecure
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | 67
28 |
29 |
30 | disable
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test894:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | POP3
5 | Clear Text
6 | RETR
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | #
16 | # Client-side
17 |
18 |
19 | pop3
20 |
21 |
22 | POP3 with CR in username
23 |
24 |
25 | pop3://user%0dFRIGGING_cmd:secret@%HOSTIP:%POP3PORT/%TESTNUMBER
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 | # malformed URL
33 |
34 | 3
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test929:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SMTP
5 | NOOP
6 | CUSTOMREQUEST
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | #
16 | # Client-side
17 |
18 |
19 | smtp
20 |
21 |
22 | SMTP NOOP (CUSTOMREQUEST)
23 |
24 |
25 | smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER -X NOOP -I
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | EHLO %TESTNUMBER
34 | NOOP
35 | QUIT
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test930:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SMTP
5 | RSET
6 | CUSTOMREQUEST
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | #
16 | # Client-side
17 |
18 |
19 | smtp
20 |
21 |
22 | SMTP RSET (CUSTOMREQUEST)
23 |
24 |
25 | smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER -X RSET -I
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | EHLO %TESTNUMBER
34 | RSET
35 | QUIT
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/dump-header.d:
--------------------------------------------------------------------------------
1 | Long: dump-header
2 | Short: D
3 | Arg:
4 | Help: Write the received headers to
5 | Protocols: HTTP FTP
6 | See-also: output
7 | Category: http ftp
8 | Example: --dump-header store.txt $URL
9 | Added: 5.7
10 | ---
11 | Write the received protocol headers to the specified file. If no headers are
12 | received, the use of this option will create an empty file.
13 |
14 | When used in FTP, the FTP server response lines are considered being "headers"
15 | and thus are saved there.
16 |
17 | If this option is used several times, the last one will be used.
18 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/form-string.d:
--------------------------------------------------------------------------------
1 | Long: form-string
2 | Help: Specify multipart MIME data
3 | Protocols: HTTP SMTP IMAP
4 | Arg:
5 | See-also: form
6 | Category: http upload
7 | Example: --form-string "data" $URL
8 | Added: 7.13.2
9 | ---
10 | Similar to --form except that the value string for the named parameter is used
11 | literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
12 | the value have no special meaning. Use this in preference to --form if
13 | there's any possibility that the string value may accidentally trigger the
14 | \&'@' or \&'<' features of --form.
15 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/libcurl.d:
--------------------------------------------------------------------------------
1 | Long: libcurl
2 | Arg:
3 | Help: Dump libcurl equivalent code of this command line
4 | Added: 7.16.1
5 | Category: curl
6 | Example: --libcurl client.c $URL
7 | See-also: verbose
8 | ---
9 | Append this option to any ordinary curl command line, and you will get
10 | libcurl-using C source code written to the file that does the equivalent
11 | of what your command-line operation does!
12 |
13 | This option is global and does not need to be specified for each use of
14 | --next.
15 |
16 | If this option is used several times, the last given file name will be
17 | used.
18 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proto-default.d:
--------------------------------------------------------------------------------
1 | Long: proto-default
2 | Help: Use PROTOCOL for any URL missing a scheme
3 | Arg:
4 | Added: 7.45.0
5 | Category: connection curl
6 | Example: --proto-default https ftp.example.com
7 | See-also: proto proto-redir
8 | ---
9 | Tells curl to use *protocol* for any URL missing a scheme name.
10 |
11 | An unknown or unsupported protocol causes error
12 | *CURLE_UNSUPPORTED_PROTOCOL* (1).
13 |
14 | This option does not change the default proxy protocol (http).
15 |
16 | Without this option set, curl guesses protocol based on the host name, see
17 | --url for details.
18 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ssl-allow-beast.d:
--------------------------------------------------------------------------------
1 | Long: ssl-allow-beast
2 | Help: Allow security flaw to improve interop
3 | Added: 7.25.0
4 | Category: tls
5 | Example: --ssl-allow-beast $URL
6 | See-also: proxy-ssl-allow-beast insecure
7 | ---
8 | This option tells curl to not work around a security flaw in the SSL3 and
9 | TLS1.0 protocols known as BEAST. If this option is not used, the SSL layer
10 | may use workarounds known to cause interoperability problems with some older
11 | SSL implementations.
12 |
13 | **WARNING**: this option loosens the SSL security, and by using this flag you
14 | ask for exactly that.
15 |
--------------------------------------------------------------------------------
/tests/data/test19:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | connect to non-listen
6 | FAILURE
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | none
19 |
20 |
21 | http
22 |
23 |
24 | attempt connect to non-listening socket
25 |
26 |
27 | %HOSTIP:%NOLISTENPORT
28 |
29 |
30 |
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | 7
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test3019:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | --resolve
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | #
16 | # Client-side
17 |
18 |
19 | http
20 |
21 |
22 | HTTP with invalid --resolve syntax
23 |
24 |
25 | --resolve %HTTPPORT:example.com:%HOSTIP http://example.com:%HTTPPORT/%TESTNUMBER
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | 49
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test370:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | etag
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | #
16 | # Client-side
17 |
18 |
19 | none
20 |
21 |
22 | --etag-save with bad path - no transfer
23 |
24 |
25 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER --etag-save log/nowhere/etag%TESTNUMBER
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | 26
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test375:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CURL_DISABLE_PROXY
5 |
6 |
7 |
8 |
9 |
10 | !proxy
11 |
12 |
13 | none
14 |
15 |
16 | Disabled proxy should make curl fail with --proxy
17 |
18 |
19 | -x wohoo http://example.com/
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | curl: proxy support is disabled in this libcurl
28 |
29 |
30 | 4
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test402:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FTPS
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | SSL
14 |
15 |
16 | ftp
17 |
18 |
19 | FTP SSL required on non-SSL server
20 |
21 |
22 | -k --ftp-ssl-reqd ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 64
30 |
31 |
32 | AUTH SSL
33 | AUTH TLS
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/http2-prior-knowledge.d:
--------------------------------------------------------------------------------
1 | Long: http2-prior-knowledge
2 | Tags: Versions
3 | Protocols: HTTP
4 | Added: 7.49.0
5 | Mutexed: http1.1 http1.0 http2 http3
6 | Requires: HTTP/2
7 | Help: Use HTTP 2 without HTTP/1.1 Upgrade
8 | Category: http
9 | Example: --http2-prior-knowledge $URL
10 | See-also: http2 http3
11 | ---
12 | Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
13 | Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
14 | away. HTTPS requests will still do HTTP/2 the standard way with negotiated
15 | protocol version in the TLS handshake.
16 |
--------------------------------------------------------------------------------
/tests/data/test3020:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | --connect-to
7 |
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 | #
16 | # Client-side
17 |
18 |
19 | http
20 |
21 |
22 | HTTP with invalid --connect-to syntax
23 |
24 |
25 | --connect-to ::example.com:example.com http://example.com:%HTTPPORT/%TESTNUMBER
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | 49
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test321:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | TLS-SRP
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | httptls+srp
14 |
15 |
16 | TLS-SRP
17 |
18 |
19 | TLS-SRP with bad username and password
20 |
21 |
22 | --insecure --tlsauthtype SRP --tlsuser baduser --tlspassword badpass https://%HOSTIP:%HTTPTLSPORT
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 35
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test323:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | TLS-SRP
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | https
14 |
15 |
16 | TLS-SRP
17 |
18 |
19 | TLS-SRP to non-TLS-SRP server
20 |
21 |
22 | --insecure --tlsauthtype SRP --tlsuser jsmith --tlspassword badpass https://%HOSTIP:%HTTPSPORT/want/%TESTNUMBER
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 35
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test507:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | multi
6 | FAILURE
7 | non-existing host
8 |
9 |
10 |
11 | # Server-side
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | http
19 |
20 |
21 | multi interface get with non-existing host name
22 |
23 |
24 | lib%TESTNUMBER
25 |
26 |
27 | http://non-existing-host.haxx.se/
28 |
29 |
30 |
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | 6
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test76:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FAILURE
5 |
6 |
7 | #
8 | # Server-side
9 |
10 |
11 |
12 | #
13 | # Client-side
14 |
15 |
16 | none
17 |
18 |
19 | http
20 |
21 |
22 | HTTP, -O with no file name part in the URL
23 |
24 |
25 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER/ -O
26 |
27 |
28 |
29 | #
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | 23
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/oauth2-bearer.d:
--------------------------------------------------------------------------------
1 | Long: oauth2-bearer
2 | Help: OAuth 2 Bearer Token
3 | Arg:
4 | Protocols: IMAP LDAP POP3 SMTP HTTP
5 | Category: auth
6 | Example: --oauth2-bearer "mF_9.B5f-4.1JqM" $URL
7 | Added: 7.33.0
8 | See-also: basic ntlm digest
9 | ---
10 | Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
11 | is used in conjunction with the user name which can be specified as part of
12 | the --url or --user options.
13 |
14 | The Bearer Token and user name are formatted according to RFC 6750.
15 |
16 | If this option is used several times, the last one will be used.
17 |
--------------------------------------------------------------------------------
/tests/data/test308:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | HTTP GET
6 | FAILURE
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | OpenSSL
15 | !MultiSSL
16 |
17 |
18 | https
19 |
20 |
21 | simple HTTPS GET with invalid crypto engine
22 |
23 |
24 | --engine invalid-crypto-engine-xyzzy -k https://%HOSTIP:%HTTPSPORT/%TESTNUMBER
25 |
26 |
27 |
28 | #
29 | # Verify data after the test has been "shot"
30 |
31 |
32 | 53
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/tests/data/test324:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTPS
5 | TLS-SRP
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | httptls+srp
14 |
15 |
16 | TLS-SRP
17 |
18 |
19 | TLS-SRP with server cert checking
20 |
21 | # no --insecure
22 | --tlsauthtype SRP --tlsuser jsmith --tlspassword abc https://%HOSTIP:%HTTPTLSPORT/want/fails
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 |
29 | 60
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test333:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | command-line
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | Try a non-boolean command line option with --no-
21 |
22 |
23 | --no-proxy "hey" http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
24 |
25 |
26 |
27 | #
28 | # Verify data after the test has been "shot"
29 |
30 | # detected the bad --no- prefix
31 |
32 | 2
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/connect-timeout.d:
--------------------------------------------------------------------------------
1 | Long: connect-timeout
2 | Arg:
3 | Help: Maximum time allowed for connection
4 | See-also: max-time
5 | Category: connection
6 | Example: --connect-timeout 20 $URL
7 | Example: --connect-timeout 3.14 $URL
8 | Added: 7.7
9 | ---
10 | Maximum time in seconds that you allow curl's connection to take. This only
11 | limits the connection phase, so if curl connects within the given period it
12 | will continue - if not it will exit. Since version 7.32.0, this option
13 | accepts decimal values.
14 |
15 | If this option is used several times, the last one will be used.
16 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ftp-skip-pasv-ip.d:
--------------------------------------------------------------------------------
1 | Long: ftp-skip-pasv-ip
2 | Help: Skip the IP address for PASV
3 | Protocols: FTP
4 | Added: 7.14.2
5 | See-also: ftp-pasv
6 | Category: ftp
7 | Example: --ftp-skip-pasv-ip ftp://example.com/
8 | ---
9 | Tell curl to not use the IP address the server suggests in its response
10 | to curl's PASV command when curl connects the data connection. Instead curl
11 | will re-use the same IP address it already uses for the control
12 | connection.
13 |
14 | Since curl 7.74.0 this option is enabled by default.
15 |
16 | This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
17 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/no-buffer.d:
--------------------------------------------------------------------------------
1 | Long: no-buffer
2 | Short: N
3 | Help: Disable buffering of the output stream
4 | Category: curl
5 | Example: --no-buffer $URL
6 | Added: 6.5
7 | See-also: progress-bar
8 | ---
9 | Disables the buffering of the output stream. In normal work situations, curl
10 | will use a standard buffered output stream that will have the effect that it
11 | will output the data in chunks, not necessarily exactly when the data arrives.
12 | Using this option will disable that buffering.
13 |
14 | Note that this is the negated option name documented. You can thus use
15 | --buffer to enforce the buffering.
16 |
--------------------------------------------------------------------------------
/tests/data/test1069:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP PUT
6 | HTTP/1.0
7 |
8 |
9 |
10 | # Server-side
11 |
12 |
13 |
14 | # Client-side
15 |
16 |
17 | http
18 |
19 |
20 | HTTP 1.0 PUT from stdin with no content length
21 |
22 |
23 | http://%HOSTIP:%HTTPPORT/bzz/%TESTNUMBER -T - -0
24 |
25 |
26 | this data can't be sent
27 |
28 |
29 |
30 | # Verify data after the test has been "shot"
31 |
32 |
33 | 25
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test1264:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 |
7 |
8 |
9 | # Server-side
10 |
11 |
12 |
13 | # Client-side
14 |
15 |
16 | none
17 |
18 |
19 | http
20 |
21 |
22 | HTTP URL with space in host name
23 |
24 |
25 | -g "http://127.0.0.1 www.example.com/we/want/%TESTNUMBER"
26 |
27 |
28 |
29 | # Verify data after the test has been "shot"
30 |
31 | # CURLE_URL_MALFORMAT == 3
32 |
33 | 3
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/tests/data/test20:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | FAILURE
6 | non-existing host
7 |
8 |
9 |
10 | # Server-side
11 |
12 |
13 |
14 |
15 |
16 | # Client-side
17 |
18 |
19 | none
20 |
21 |
22 | http
23 |
24 |
25 | attempt connect to non-existing host name
26 |
27 |
28 | --ipv4 non-existing-host.haxx.se.
29 |
30 |
31 |
32 | # Verify data after the test has been "shot"
33 |
34 |
35 | 6
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test2075:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --disallow-username-in-url
5 | HTTP
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | http
14 |
15 |
16 | none
17 |
18 |
19 | Verify usernames are not allowed in url
20 |
21 |
22 | --disallow-username-in-url http://username:password@example.com/
23 |
24 |
25 |
26 | #
27 | # Verify data after the test has been "shot"
28 |
29 | # CURLE_LOGIN_DENIED is code 67
30 |
31 | 67
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test605:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SCP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | scp
14 |
15 |
16 | SCP retrieval of nonexistent file
17 |
18 |
19 | --key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | 78
28 |
29 |
30 | disable
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test607:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SCP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | scp
14 |
15 |
16 | SCP invalid user login
17 |
18 |
19 | --key curl_client_key --pubkey curl_client_key.pub -u not-a-valid-user: scp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | 67
28 |
29 |
30 | disable
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/cert-type.d:
--------------------------------------------------------------------------------
1 | Long: cert-type
2 | Protocols: TLS
3 | Arg:
4 | Help: Certificate type (DER/PEM/ENG/P12)
5 | See-also: cert key key-type
6 | Category: tls
7 | Example: --cert-type PEM --cert file $URL
8 | Added: 7.9.3
9 | ---
10 | Tells curl what type the provided client certificate is using. PEM, DER, ENG
11 | and P12 are recognized types.
12 |
13 | The default type depends on the TLS backend and is usually PEM, however for
14 | Secure Transport and Schannel it is P12. If --cert is a pkcs11: URI then ENG is
15 | the default type.
16 |
17 | If this option is used several times, the last one will be used.
18 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/parallel-immediate.d:
--------------------------------------------------------------------------------
1 | Long: parallel-immediate
2 | Help: Do not wait for multiplexing (with --parallel)
3 | Added: 7.68.0
4 | See-also: parallel parallel-max
5 | Category: connection curl
6 | Example: --parallel-immediate -Z $URL -o file1 $URL -o file2
7 | ---
8 | When doing parallel transfers, this option will instruct curl that it should
9 | rather prefer opening up more connections in parallel at once rather than
10 | waiting to see if new transfers can be added as multiplexed streams on another
11 | connection.
12 |
13 | This option is global and does not need to be specified for each use of
14 | --next.
15 |
--------------------------------------------------------------------------------
/tests/data/test1281:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | URL
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | none
19 |
20 |
21 | http
22 |
23 |
24 | reject non-numerical port number in URL
25 |
26 |
27 | http://%HOSTIP:alpha/beta/%TESTNUMBER
28 |
29 |
30 |
31 | # Verify data after the test has been "shot"
32 |
33 | # 3 == CURLE_URL_MALFORMAT
34 |
35 | 3
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test604:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SFTP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | sftp
14 |
15 |
16 | SFTP retrieval of nonexistent file
17 |
18 |
19 | --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | disable
28 |
29 |
30 | 78
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test606:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SFTP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | sftp
14 |
15 |
16 | SFTP invalid user login
17 |
18 |
19 | --key curl_client_key --pubkey curl_client_key.pub -u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | 67
28 |
29 |
30 | disable
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/proxytunnel.d:
--------------------------------------------------------------------------------
1 | Long: proxytunnel
2 | Short: p
3 | Help: Operate through an HTTP proxy tunnel (using CONNECT)
4 | See-also: proxy
5 | Category: proxy
6 | Example: --proxytunnel -x http://proxy $URL
7 | Added: 7.3
8 | ---
9 | When an HTTP proxy is used --proxy, this option will make curl tunnel through
10 | the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and
11 | requires that the proxy allows direct connect to the remote port number curl
12 | wants to tunnel through to.
13 |
14 | To suppress proxy CONNECT response headers when curl is set to output headers
15 | use --suppress-connect-headers.
16 |
--------------------------------------------------------------------------------
/tests/data/test1592:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | multi
6 | resolve
7 | speedcheck
8 |
9 |
10 |
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | lib%TESTNUMBER
18 |
19 |
20 | HTTP request, remove handle while resolving, don't block
21 |
22 |
23 |
24 | http://a-site-never-accessed.example.org/%TESTNUMBER
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | disable
32 |
33 |
34 | 0
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test219:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | proxy
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | http
21 | proxy
22 |
23 |
24 | try using proxy with unsupported scheme
25 |
26 |
27 | -x foo://%HOSTIP:%NOLISTENPORT/%TESTNUMBER http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
28 |
29 |
30 |
31 | #
32 | # Verify after the test has been "shot"
33 |
34 |
35 | 7
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/post301.d:
--------------------------------------------------------------------------------
1 | Long: post301
2 | Help: Do not switch to GET after following a 301
3 | Protocols: HTTP
4 | See-also: post302 post303 location
5 | Added: 7.17.1
6 | Category: http post
7 | Example: --post301 --location -d "data" $URL
8 | ---
9 | Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
10 | requests when following a 301 redirection. The non-RFC behavior is ubiquitous
11 | in web browsers, so curl does the conversion by default to maintain
12 | consistency. However, a server may require a POST to remain a POST after such
13 | a redirection. This option is meaningful only when using --location.
14 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/post302.d:
--------------------------------------------------------------------------------
1 | Long: post302
2 | Help: Do not switch to GET after following a 302
3 | Protocols: HTTP
4 | See-also: post301 post303 location
5 | Added: 7.19.1
6 | Category: http post
7 | Example: --post302 --location -d "data" $URL
8 | ---
9 | Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
10 | requests when following a 302 redirection. The non-RFC behavior is ubiquitous
11 | in web browsers, so curl does the conversion by default to maintain
12 | consistency. However, a server may require a POST to remain a POST after such
13 | a redirection. This option is meaningful only when using --location.
14 |
--------------------------------------------------------------------------------
/tests/data/test1023:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl-config
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | Compare curl --version with curl-config --vernum
21 |
22 |
23 | --version
24 |
25 |
26 | %SRCDIR/libtest/test1022.pl ../curl-config log/stdout%TESTNUMBER vernum
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | 0
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test1454:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --connect-to
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | !ipv6
18 |
19 |
20 | http
21 |
22 |
23 | --connect-to with IPv6 address w/o IPv6 support!
24 |
25 |
26 | --connect-to localhost:80:[::1]:80 localhost
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 | # 4 == CURLE_NOT_BUILT_IN
34 |
35 | 4
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test859:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | POP3
5 | Clear Text
6 | STAT
7 | CUSTOMREQUEST
8 |
9 |
10 |
11 | #
12 | # Server-side
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | pop3
21 |
22 |
23 | POP3 STAT (CUSTOMREQUEST)
24 |
25 |
26 | pop3://%HOSTIP:%POP3PORT -u user:secret -X STAT -I
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | CAPA
35 | USER user
36 | PASS secret
37 | STAT
38 | QUIT
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test860:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | POP3
5 | Clear Text
6 | NOOP
7 | CUSTOMREQUEST
8 |
9 |
10 |
11 | #
12 | # Server-side
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | pop3
21 |
22 |
23 | POP3 NOOP (CUSTOMREQUEST)
24 |
25 |
26 | pop3://%HOSTIP:%POP3PORT -u user:secret -X NOOP -I
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | CAPA
35 | USER user
36 | PASS secret
37 | NOOP
38 | QUIT
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test863:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | POP3
5 | Clear Text
6 | RSET
7 | CUSTOMREQUEST
8 |
9 |
10 |
11 | #
12 | # Server-side
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | pop3
21 |
22 |
23 | POP3 RSET (CUSTOMREQUEST)
24 |
25 |
26 | pop3://%HOSTIP:%POP3PORT -u user:secret -X RSET -I
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | CAPA
35 | USER user
36 | PASS secret
37 | RSET
38 | QUIT
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/create-file-mode.d:
--------------------------------------------------------------------------------
1 | Long: create-file-mode
2 | Arg:
3 | Help: File mode for created files
4 | Protocols: SFTP SCP FILE
5 | Category: sftp scp file upload
6 | See-also: ftp-create-dirs
7 | Added: 7.75.0
8 | Example: --create-file-mode 0777 -T localfile sftp://example.com/new
9 | ---
10 | When curl is used to create files remotely using one of the supported
11 | protocols, this option allows the user to set which 'mode' to set on the file
12 | at creation time, instead of the default 0644.
13 |
14 | This option takes an octal number as argument.
15 |
16 | If this option is used several times, the last one will be used.
17 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ignore-content-length.d:
--------------------------------------------------------------------------------
1 | Long: ignore-content-length
2 | Help: Ignore the size of the remote resource
3 | Protocols: FTP HTTP
4 | Category: http ftp
5 | Example: --ignore-content-length $URL
6 | Added: 7.14.1
7 | See-also: ftp-skip-pasv-ip
8 | ---
9 | For HTTP, Ignore the Content-Length header. This is particularly useful for
10 | servers running Apache 1.x, which will report incorrect Content-Length for
11 | files larger than 2 gigabytes.
12 |
13 | For FTP (since 7.46.0), skip the RETR command to figure out the size before
14 | downloading a file.
15 |
16 | This option does not work for HTTP if libcurl was built to use hyper.
17 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/socks5-gssapi-service.d:
--------------------------------------------------------------------------------
1 | Long: socks5-gssapi-service
2 | Arg:
3 | Help: SOCKS5 proxy service name for GSS-API
4 | Added: 7.19.4
5 | Category: proxy auth
6 | Example: --socks5-gssapi-service sockd --socks5 hostname:4096 $URL
7 | See-also: socks5
8 | ---
9 | The default service name for a socks server is rcmd/server-fqdn. This option
10 | allows you to change it.
11 |
12 | Examples: --socks5 proxy-name --socks5-gssapi-service sockd would use
13 | sockd/proxy-name --socks5 proxy-name --socks5-gssapi-service sockd/real-name
14 | would use sockd/real-name for cases where the proxy-name does not match the
15 | principal name.
16 |
--------------------------------------------------------------------------------
/tests/data/test1014:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl-config
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | Compare curl --version with curl-config --features
21 |
22 |
23 | --version
24 |
25 |
26 | %SRCDIR/libtest/test1013.pl ../curl-config log/stdout%TESTNUMBER features
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | 0
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test1200:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | GOPHER
5 | INDEX
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 | iMenu results error.host 1
14 | 0Selector /bar bar.foo.invalid 70
15 | .
16 |
17 |
18 |
19 | # Client-side
20 |
21 |
22 | gopher
23 |
24 |
25 | Gopher index
26 |
27 |
28 | gopher://%HOSTIP:%GOPHERPORT/1/%TESTNUMBER
29 |
30 |
31 |
32 | #
33 | # Verify data after the test has been "shot"
34 |
35 |
36 | /%TESTNUMBER
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/tests/data/test1447:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP proxy
5 | FAILURE
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | http
21 | proxy
22 |
23 |
24 | Provide illegal proxy name
25 |
26 |
27 | --proxy "http://a:b@/x" http://%HOSTIP:%NOLISTENPORT
28 |
29 |
30 |
31 | #
32 | # Verify data after the test has been "shot"
33 |
34 | # Couldn't resolve proxy name
35 |
36 | 5
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/tests/data/test1022:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl-config
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | Compare curl --version with curl-config --version
21 |
22 |
23 | --version
24 |
25 |
26 | %SRCDIR/libtest/test%TESTNUMBER.pl ../curl-config log/stdout%TESTNUMBER version
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | 0
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test113:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FAILURE
6 |
7 |
8 | # Server-side
9 |
10 |
11 | REPLY USER 314 bluah you fewl!
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | ftp
19 |
20 |
21 | FTP download, failed login: USER not valid
22 |
23 |
24 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | 67
32 |
33 |
34 | USER anonymous
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test200:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FILE
5 |
6 |
7 |
8 |
9 |
10 | foo
11 | bar
12 | bar
13 | foo
14 | moo
15 |
16 |
17 |
18 | # Client-side
19 |
20 |
21 | file
22 |
23 |
24 | basic file:// file
25 |
26 |
27 | file://localhost%FILE_PWD/log/test%TESTNUMBER.txt
28 |
29 |
30 | foo
31 | bar
32 | bar
33 | foo
34 | moo
35 |
36 |
37 |
38 | # Verify data after the test has been "shot"
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test1013:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | curl-config
5 |
6 |
7 |
8 | #
9 | # Server-side
10 |
11 |
12 |
13 | #
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | Compare curl --version with curl-config --protocols
21 |
22 |
23 | --version
24 |
25 |
26 | %SRCDIR/libtest/test%TESTNUMBER.pl ../curl-config log/stdout%TESTNUMBER protocols
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | 0
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/tests/data/test656:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SFTP
5 | FAILURE
6 |
7 |
8 |
9 | #
10 | # Client-side
11 |
12 |
13 | sftp
14 |
15 |
16 | SFTP retrieval with nonexistent private key file
17 |
18 |
19 | --key DOES_NOT_EXIST --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/not-a-valid-file-moooo --insecure --connect-timeout 8
20 |
21 |
22 |
23 | #
24 | # Verify data after the test has been "shot"
25 |
26 |
27 | disable
28 |
29 |
30 | 67
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/no-sessionid.d:
--------------------------------------------------------------------------------
1 | Long: no-sessionid
2 | Help: Disable SSL session-ID reusing
3 | Protocols: TLS
4 | Added: 7.16.0
5 | Category: tls
6 | Example: --no-sessionid $URL
7 | See-also: insecure
8 | ---
9 | Disable curl's use of SSL session-ID caching. By default all transfers are
10 | done using the cache. Note that while nothing should ever get hurt by
11 | attempting to reuse SSL session-IDs, there seem to be broken SSL
12 | implementations in the wild that may require you to disable this in order for
13 | you to succeed.
14 |
15 | Note that this is the negated option name documented. You can thus use
16 | --sessionid to enforce session-ID caching.
17 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/trace.d:
--------------------------------------------------------------------------------
1 | Long: trace
2 | Arg:
3 | Help: Write a debug trace to FILE
4 | Mutexed: verbose trace-ascii
5 | Category: verbose
6 | Example: --trace log.txt $URL
7 | Added: 7.9.7
8 | See-also: trace-ascii trace-time
9 | ---
10 | Enables a full trace dump of all incoming and outgoing data, including
11 | descriptive information, to the given output file. Use "-" as filename to have
12 | the output sent to stdout. Use "%" as filename to have the output sent to
13 | stderr.
14 |
15 | This option is global and does not need to be specified for each use of
16 | --next.
17 |
18 | If this option is used several times, the last one will be used.
19 |
--------------------------------------------------------------------------------
/tests/data/test632:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SFTP
5 | FAILURE
6 | server key check
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | none
15 |
16 |
17 | sftp
18 |
19 |
20 | SFTP syntactically invalid host key
21 |
22 |
23 | --hostpubmd5 00 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%NOLISTENPORT%SSH_PWD/log/irrelevant-file --insecure
24 |
25 |
26 |
27 | #
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | 2
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test1169:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | runtests.pl
5 |
6 |
7 |
8 | #
9 | # Client-side
10 |
11 |
12 | none
13 |
14 |
15 | Verify that runtests.pl accepts an -L option
16 |
17 |
18 |
19 | %SRCDIR/runtests.pl -L %SRCDIR/log/test1196-library.pl
20 |
21 | # Create a simple perl snippet that lets runtests.pl
22 | # exit with a code we can check.
23 |
24 | echo 'exit 123' > %SRCDIR/log/test1196-library.pl
25 |
26 |
27 |
28 |
29 |
30 |
31 | 123
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/tests/data/test1236:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | globbing
5 | FAILURE
6 |
7 |
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | none
16 |
17 |
18 | [] globbing overflowing the range counter
19 |
20 | # 2^62 == 4611686018427387904
21 |
22 | "%HOSTIP:%NOLISTENPORT/1234[0-1]{" "%HOSTIP:%NOLISTENPORT/[1-4611686018427387904][1-4611686018427387904]"
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 | # 3 == CURLE_URL_MALFORMAT
29 |
30 | 3
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/data/test1247:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | --fail-early
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | http
21 |
22 |
23 | --fail-early
24 |
25 |
26 | --fail-early h1234://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 | # Protocol "h1234" not supported or disabled in libcurl
34 |
35 | 1
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test2071:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FILE
5 |
6 |
7 |
8 |
9 |
10 | foo
11 | bar
12 | bar
13 | foo
14 | moo
15 |
16 |
17 |
18 | # Client-side
19 |
20 |
21 | file
22 |
23 |
24 | basic file:// file with "127.0.0.1" hostname
25 |
26 |
27 | file://127.0.0.1%FILE_PWD/log/test2070.txt
28 |
29 |
30 | foo
31 | bar
32 | bar
33 | foo
34 | moo
35 |
36 |
37 |
38 | # Verify data after the test has been "shot"
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test677:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | IMAP
5 | CONNECT_ONLY
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | imap
21 |
22 |
23 | IMAP with CONNECT_ONLY, custom command then exit
24 |
25 |
26 | lib%TESTNUMBER
27 |
28 |
29 |
30 | imap://%HOSTIP:%IMAPPORT/677
31 |
32 |
33 |
34 |
35 | #
36 | # Verify data after the test has been "shot"
37 |
38 |
39 | A001 CAPABILITY
40 | A1 IDLE
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | How to contribute to curl
2 | =========================
3 |
4 | Join the community
5 | ------------------
6 |
7 | 1. Click 'watch' on the GitHub repo
8 |
9 | 2. Subscribe to the suitable [mailing lists](https://curl.se/mail/)
10 |
11 | Read [CONTRIBUTE](../docs/CONTRIBUTE.md)
12 | ---------------------------------------
13 |
14 | Send your suggestions using one of these methods:
15 | -------------------------------------------------
16 |
17 | 1. in a mail to the mailing list
18 |
19 | 2. as a [pull request](https://github.com/curl/curl/pulls)
20 |
21 | 3. as an [issue](https://github.com/curl/curl/issues)
22 |
23 | / The curl team!
24 |
--------------------------------------------------------------------------------
/tests/data/test1000:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | PASV
6 | LIST
7 | NOBODY
8 |
9 |
10 | #
11 | # Server-side
12 |
13 |
14 |
15 |
16 |
17 | #
18 | # Client-side
19 |
20 |
21 | ftp
22 |
23 |
24 | FTP dir list PASV with -I
25 |
26 |
27 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER/ -I
28 |
29 |
30 |
31 | #
32 | # Verify data after the test has been "shot"
33 |
34 |
35 | USER anonymous
36 | PASS ftp@example.com
37 | PWD
38 | CWD %TESTNUMBER
39 | QUIT
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/tests/data/test1449:
--------------------------------------------------------------------------------
1 |
2 | # initially based on test110
3 |
4 |
5 | FTP
6 | PASV
7 | RETR
8 | Resume
9 |
10 |
11 | # Server-side
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | ftp
19 |
20 |
21 | FTP download range with integer overflow
22 |
23 |
24 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -r 36893488147419103232-
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | USER anonymous
32 | PASS ftp@example.com
33 | PWD
34 | EPSV
35 | QUIT
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test114:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FAILURE
6 |
7 |
8 | # Server-side
9 |
10 |
11 | REPLY PASS 314 bluah you f00l!
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | ftp
19 |
20 |
21 | FTP download, failed login: PASS not valid
22 |
23 |
24 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | 67
32 |
33 |
34 | USER anonymous
35 | PASS ftp@example.com
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test631:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SCP
5 | FAILURE
6 | server key check
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | scp
15 |
16 |
17 | SCP incorrect host key
18 |
19 |
20 | --hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%SSH_PWD/log/irrelevant-file --insecure
21 |
22 |
23 |
24 | #
25 | # Verify data after the test has been "shot"
26 |
27 |
28 | 60
29 |
30 |
31 | disable
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test858:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | POP3
5 | Clear Text
6 | DELE
7 | CUSTOMREQUEST
8 |
9 |
10 |
11 | #
12 | # Server-side
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | pop3
21 |
22 |
23 | POP3 DELE message (CUSTOMREQUEST)
24 |
25 |
26 | pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -u user:secret -X DELE -I
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 |
34 | CAPA
35 | USER user
36 | PASS secret
37 | DELE %TESTNUMBER
38 | QUIT
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test283:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TFTP
5 | TFTP RRQ
6 | FAILURE
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | tftp
15 |
16 |
17 | TFTP retrieve on invalid file
18 |
19 |
20 | tftp://%HOSTIP:%TFTPPORT//invalid-file --tftp-blksize 1024
21 |
22 |
23 |
24 | #
25 | # Verify pseudo protocol after the test has been "shot"
26 |
27 |
28 | 69
29 |
30 |
31 | opcode = 1
32 | mode = octet
33 | tsize = 0
34 | blksize = 1024
35 | timeout = 6
36 | filename = /invalid-file
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/tests/data/test509:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | memory callbacks
5 |
6 |
7 | #
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | none
16 |
17 |
18 | http
19 |
20 | # tool is what to use instead of 'curl'
21 |
22 | lib%TESTNUMBER
23 |
24 |
25 |
26 | initialization with memory callbacks and actual usage
27 |
28 |
29 | nothing
30 |
31 |
32 |
33 | #
34 | # Verify data after the test has been "shot"
35 |
36 |
37 | Callbacks were invoked!
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test630:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SFTP
5 | FAILURE
6 | server key check
7 |
8 |
9 |
10 | #
11 | # Client-side
12 |
13 |
14 | sftp
15 |
16 |
17 | SFTP incorrect host key
18 |
19 |
20 | --hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%SSH_PWD/log/irrelevant-file --insecure
21 |
22 |
23 |
24 | #
25 | # Verify data after the test has been "shot"
26 |
27 |
28 | 60
29 |
30 |
31 | disable
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/data/test925:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SMTP
5 | VRFY
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 | 252 Send some mail and I'll try my best
14 |
15 |
16 |
17 | #
18 | # Client-side
19 |
20 |
21 | smtp
22 |
23 |
24 | SMTP external VRFY
25 |
26 |
27 | smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@example.net
28 |
29 |
30 |
31 | #
32 | # Verify data after the test has been "shot"
33 |
34 |
35 | EHLO %TESTNUMBER
36 | VRFY user@example.net
37 | QUIT
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/ssl-auto-client-cert.d:
--------------------------------------------------------------------------------
1 | Long: ssl-auto-client-cert
2 | Help: Use auto client certificate (Schannel)
3 | Added: 7.77.0
4 | See-also: proxy-ssl-auto-client-cert
5 | Category: tls
6 | Example: --ssl-auto-client-cert $URL
7 | ---
8 | Tell libcurl to automatically locate and use a client certificate for
9 | authentication, when requested by the server. This option is only supported
10 | for Schannel (the native Windows SSL library). Prior to 7.77.0 this was the
11 | default behavior in libcurl with Schannel. Since the server can request any
12 | certificate that supports client authentication in the OS certificate store it
13 | could be a privacy violation and unexpected.
14 |
--------------------------------------------------------------------------------
/tests/data/test1084:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | --interface
7 | FAILURE
8 | non-existing host
9 |
10 |
11 |
12 | #
13 | # Server-side
14 |
15 |
16 |
17 | #
18 | # Client-side
19 |
20 |
21 | http
22 |
23 |
24 | none
25 |
26 |
27 | HTTP GET with invalid --interface
28 |
29 |
30 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER --interface non-existing-host.haxx.se.
31 |
32 |
33 |
34 | #
35 | # Verify data after the test has been "shot"
36 |
37 |
38 | 45
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/tests/data/test136:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | EPSV
6 | RETR
7 |
8 |
9 | # Server-side
10 |
11 |
12 | 0123456789abcdef
13 |
14 |
15 |
16 | # Client-side
17 |
18 |
19 | ftp
20 |
21 |
22 | FTP with user and no password
23 |
24 |
25 | -u user: ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
26 |
27 |
28 |
29 | # Verify data after the test has been "shot"
30 |
31 |
32 | USER user
33 | PASS
34 | PWD
35 | EPSV
36 | TYPE I
37 | SIZE %TESTNUMBER
38 | RETR %TESTNUMBER
39 | QUIT
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/tests/data/test231:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FILE
5 |
6 |
7 |
8 | # Server-side
9 |
10 | # 16 bytes to check
11 |
12 | B01234567
13 | C01234567
14 |
15 |
16 |
17 | # Client-side
18 |
19 |
20 | file
21 |
22 |
23 | file:// with resume
24 |
25 |
26 | file://localhost%FILE_PWD/log/test%TESTNUMBER.txt -C 10
27 |
28 |
29 | A01234567
30 | B01234567
31 | C01234567
32 |
33 |
34 |
35 | # Verify data after the test has been "shot"
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test405:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 | FTPS
6 | FAILURE
7 |
8 |
9 |
10 | # Client-side
11 |
12 |
13 | SSL
14 |
15 |
16 | ftp
17 |
18 |
19 | FTPS operation to FTP port
20 |
21 |
22 | -m 5 -k ftps://%HOSTIP:%FTPPORT/path/to/file/%TESTNUMBER
23 |
24 |
25 |
26 | # Verify data after the test has been "shot"
27 |
28 | # error code 35 is CURLE_SSL_CONNECT_ERROR
29 | # GnuTLS seems to not fail on its handshake but instead times out which gives
30 | # error 28
31 |
32 | 35,28
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/tests/data/test501:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | missing URL
5 |
6 |
7 | #
8 | # Server-side
9 |
10 |
11 |
12 | # Client-side
13 |
14 |
15 | none
16 |
17 |
18 | http
19 |
20 | # tool is what to use instead of 'curl'
21 |
22 | lib%TESTNUMBER
23 |
24 |
25 |
26 | simple libcurl attempt operation without URL set
27 |
28 |
29 | http://%HOSTIP:%NOLISTENPORT/%TESTNUMBER
30 |
31 |
32 |
33 | #
34 | # Verify data after the test has been "shot"
35 |
36 |
37 | 3
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/tests/data/test896:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | IMAP
5 | Clear Text
6 | FETCH
7 | --login-options
8 |
9 |
10 |
11 | #
12 | # Server-side
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | imap
21 |
22 |
23 | IMAP with --login-options 'AUTH=dummy' (failing)
24 |
25 |
26 | 'imap://%HOSTIP:%IMAPPORT/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy'
27 |
28 |
29 |
30 | #
31 | # Verify data after the test has been "shot"
32 |
33 | # 3 == CURLE_URL_MALFORMAT
34 |
35 | 3
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/cert-status.d:
--------------------------------------------------------------------------------
1 | Long: cert-status
2 | Protocols: TLS
3 | Added: 7.41.0
4 | Help: Verify the status of the server cert via OCSP-staple
5 | Category: tls
6 | See-also: pinnedpubkey
7 | Example: --cert-status $URL
8 | ---
9 | Tells curl to verify the status of the server certificate by using the
10 | Certificate Status Request (aka. OCSP stapling) TLS extension.
11 |
12 | If this option is enabled and the server sends an invalid (e.g. expired)
13 | response, if the response suggests that the server certificate has been revoked,
14 | or no response at all is received, the verification fails.
15 |
16 | This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
17 |
--------------------------------------------------------------------------------
/tests/data/test1452:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TELNET
5 | UPLOAD
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 |
14 |
15 |
16 | #
17 | # Client-side
18 |
19 |
20 | telnet
21 |
22 |
23 | telnet
24 |
25 |
26 | Basic TELNET negotiation
27 |
28 |
29 | test%TESTNUMBER
30 |
31 |
32 | telnet://%HOSTIP:%TELNETPORT --upload-file -
33 |
34 |
35 |
36 | #
37 | # Verify data after the test has been "shot"
38 |
39 |
40 | test%TESTNUMBER
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/tests/data/test704:
--------------------------------------------------------------------------------
1 |
2 | #based off 19
3 |
4 |
5 | HTTP
6 | SOCKS4
7 | connect to non-listen
8 | FAILURE
9 |
10 |
11 | # Server-side
12 |
13 |
14 |
15 |
16 |
17 | # Client-side
18 |
19 |
20 | http
21 |
22 |
23 | Attempt connect to non-listening SOCKS4 proxy
24 |
25 |
26 | --socks4 %HOSTIP:%NOLISTENPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER
27 |
28 |
29 | proxy
30 |
31 |
32 |
33 | # Verify data after the test has been "shot"
34 |
35 |
36 | 7
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/tests/data/test705:
--------------------------------------------------------------------------------
1 |
2 | #based off 19
3 |
4 |
5 | HTTP
6 | SOCKS5
7 | connect to non-listen
8 | FAILURE
9 |
10 |
11 | # Server-side
12 |
13 |
14 |
15 |
16 |
17 | # Client-side
18 |
19 |
20 | http
21 |
22 |
23 | Attempt connect to non-listening SOCKS5 proxy
24 |
25 |
26 | --socks5 %HOSTIP:%NOLISTENPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER
27 |
28 |
29 | proxy
30 |
31 |
32 |
33 | # Verify data after the test has been "shot"
34 |
35 |
36 | 7
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/sasl-authzid.d:
--------------------------------------------------------------------------------
1 | Long: sasl-authzid
2 | Arg:
3 | Help: Identity for SASL PLAIN authentication
4 | Added: 7.66.0
5 | Category: auth
6 | Example: --sasl-authzid zid imap://example.com/
7 | See-also: login-options
8 | ---
9 | Use this authorization identity (authzid), during SASL PLAIN authentication,
10 | in addition to the authentication identity (authcid) as specified by --user.
11 |
12 | If the option is not specified, the server will derive the authzid from the
13 | authcid, but if specified, and depending on the server implementation, it may
14 | be used to access another user's inbox, that the user has been granted access
15 | to, or a shared mailbox for example.
16 |
--------------------------------------------------------------------------------
/tests/data/test1018:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FILE
5 | Range
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | # Client-side
15 |
16 |
17 | none
18 |
19 |
20 | file
21 |
22 |
23 | X-X range on a file:// URL to stdout
24 |
25 |
26 | -r 4-4 file://localhost%FILE_PWD/log/test%TESTNUMBER.txt
27 |
28 |
29 | 1234567890
30 |
31 |
32 |
33 | # Verify data after the test has been "shot"
34 |
35 |
36 | 5
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/tests/data/test1565:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | HTTP
5 | HTTP GET
6 | multi
7 | multi-threaded
8 | wakeup
9 |
10 |
11 |
12 | # Server-side
13 |
14 |
15 | HTTP/1.1 200 OK
16 | Content-Length: 3
17 |
18 | OK
19 |
20 |
21 |
22 | # Client-side
23 |
24 |
25 | wakeup
26 |
27 |
28 | http
29 |
30 |
31 | lib%TESTNUMBER
32 |
33 |
34 | wakeup from another thread
35 |
36 |
37 | http://%HOSTIP:%HTTPPORT/1
38 |
39 |
40 |
41 | # Verify data after the test has been "shot"
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/tests/data/test195:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FTP
5 |
6 |
7 |
8 | # Server-side
9 |
10 |
11 | REPLY PASS 530 temporarily not available
12 |
13 |
14 |
15 | # Client-side
16 |
17 |
18 | ftp
19 |
20 |
21 | FTP response 530 after PASS, temporarily not allowed access
22 |
23 |
24 | ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
25 |
26 |
27 |
28 | # Verify data after the test has been "shot"
29 |
30 |
31 | 67
32 |
33 |
34 | USER anonymous
35 | PASS ftp@example.com
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test205:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FILE
5 | FAILURE
6 |
7 |
8 |
9 | # no Server-side
10 |
11 | # Client-side
12 |
13 |
14 | file
15 |
16 |
17 | "upload" with file://
18 |
19 |
20 | file://localhost/%PWD/log/nonexisting/result%TESTNUMBER.txt -T log/upload%TESTNUMBER.txt
21 |
22 |
23 | data
24 | in
25 | file
26 | to
27 | write
28 |
29 |
30 |
31 | # Verify data after the test has been "shot"
32 |
33 | # 23 => CURLE_WRITE_ERROR
34 |
35 | 23
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/tests/data/test928:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SMTP
5 | HELP
6 |
7 |
8 |
9 | #
10 | # Server-side
11 |
12 |
13 | 214-This server supports the following commands:
14 | 214 HELO EHLO RCPT DATA RSET MAIL VRFY EXPN QUIT HELP
15 |
16 |
17 |
18 | #
19 | # Client-side
20 |
21 |
22 | smtp
23 |
24 |
25 | SMTP HELP
26 |
27 |
28 | smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER
29 |
30 |
31 |
32 | #
33 | # Verify data after the test has been "shot"
34 |
35 |
36 | EHLO %TESTNUMBER
37 | HELP
38 | QUIT
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/docs/cmdline-opts/output-dir.d:
--------------------------------------------------------------------------------
1 | Long: output-dir
2 | Arg:
3 | Help: Directory to save files in
4 | Added: 7.73.0
5 | See-also: remote-name remote-header-name
6 | Category: curl
7 | Example: --output-dir "tmp" -O $URL
8 | ---
9 |
10 | This option specifies the directory in which files should be stored, when
11 | --remote-name or --output are used.
12 |
13 | The given output directory is used for all URLs and output options on the
14 | command line, up until the first --next.
15 |
16 | If the specified target directory does not exist, the operation will fail
17 | unless --create-dirs is also used.
18 |
19 | If this option is used multiple times, the last specified directory will be
20 | used.
21 |
--------------------------------------------------------------------------------