docs: grammar proofread, typo fixes
(Partially automated) proofread of most of the documentation, leading to various typo fixes. Closes #8353
This commit is contained in:
parent
91e3996aa7
commit
b341b7675b
@ -6,7 +6,7 @@ when the reference is invalidated. Once referenced, a buffer cannot be
|
|||||||
reallocated.
|
reallocated.
|
||||||
|
|
||||||
A data length is stored within the reference for binary data handling
|
A data length is stored within the reference for binary data handling
|
||||||
purpose; it is not used by the bufref API.
|
purposes; it is not used by the bufref API.
|
||||||
|
|
||||||
The `struct bufref` is used to hold data referencing a buffer. The members of
|
The `struct bufref` is used to hold data referencing a buffer. The members of
|
||||||
that structure **MUST NOT** be accessed or modified without using the dedicated
|
that structure **MUST NOT** be accessed or modified without using the dedicated
|
||||||
@ -43,7 +43,7 @@ void Curl_bufref_set(struct bufref *br, const void *buffer, size_t length,
|
|||||||
```
|
```
|
||||||
|
|
||||||
Releases the previously referenced buffer, then assigns the new `buffer` to
|
Releases the previously referenced buffer, then assigns the new `buffer` to
|
||||||
the structure, associated with its `destructor` function. The later can be
|
the structure, associated with its `destructor` function. The latter can be
|
||||||
specified as `NULL`: this will be the case when the referenced buffer is
|
specified as `NULL`: this will be the case when the referenced buffer is
|
||||||
static.
|
static.
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ this program.
|
|||||||
See all details at [https://hackerone.com/curl](https://hackerone.com/curl)
|
See all details at [https://hackerone.com/curl](https://hackerone.com/curl)
|
||||||
|
|
||||||
This bounty is relying on funds from sponsors. If you use curl professionally,
|
This bounty is relying on funds from sponsors. If you use curl professionally,
|
||||||
consider help funding this! See
|
consider helping fund this! See
|
||||||
[https://opencollective.com/curl](https://opencollective.com/curl) for
|
[https://opencollective.com/curl](https://opencollective.com/curl) for
|
||||||
details.
|
details.
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ can raise the amounts depending on the particular issue.
|
|||||||
# What happens if the bounty fund is drained?
|
# What happens if the bounty fund is drained?
|
||||||
|
|
||||||
The bounty fund depends on sponsors. If we pay out more bounties than we add,
|
The bounty fund depends on sponsors. If we pay out more bounties than we add,
|
||||||
the fund will eventually drain. If that end up happening, we will simply not
|
the fund will eventually drain. If that ends up happening, we will simply not
|
||||||
be able to pay out as high bounties as we would like and hope that we can
|
be able to pay out as high bounties as we would like and hope that we can
|
||||||
convince new sponsors to help us top up the fund again.
|
convince new sponsors to help us top up the fund again.
|
||||||
|
|
||||||
|
|||||||
@ -177,7 +177,7 @@
|
|||||||
## What happens on first filing
|
## What happens on first filing
|
||||||
|
|
||||||
When a new issue is posted in the issue tracker or on the mailing list, the
|
When a new issue is posted in the issue tracker or on the mailing list, the
|
||||||
team of developers first need to see the report. Maybe they took the day off,
|
team of developers first needs to see the report. Maybe they took the day off,
|
||||||
maybe they are off in the woods hunting. Have patience. Allow at least a few
|
maybe they are off in the woods hunting. Have patience. Allow at least a few
|
||||||
days before expecting someone to have responded.
|
days before expecting someone to have responded.
|
||||||
|
|
||||||
@ -257,7 +257,7 @@
|
|||||||
## Closing off stalled bugs
|
## Closing off stalled bugs
|
||||||
|
|
||||||
The [issue and pull request trackers](https://github.com/curl/curl) only
|
The [issue and pull request trackers](https://github.com/curl/curl) only
|
||||||
holds "active" entries open (using a non-precise definition of what active
|
hold "active" entries open (using a non-precise definition of what active
|
||||||
actually is, but they are at least not completely dead). Those that are
|
actually is, but they are at least not completely dead). Those that are
|
||||||
abandoned or in other ways dormant will be closed and sometimes added to
|
abandoned or in other ways dormant will be closed and sometimes added to
|
||||||
`TODO` and `KNOWN_BUGS` instead.
|
`TODO` and `KNOWN_BUGS` instead.
|
||||||
|
|||||||
@ -9,7 +9,7 @@ check that it adheres to our [Source Code Style guide](CODE_STYLE.md).
|
|||||||
|
|
||||||
## Command line options
|
## Command line options
|
||||||
|
|
||||||
`-W[file]` skip that file and excludes it from being checked. Helpful
|
`-W[file]` skip that file and exclude it from being checked. Helpful
|
||||||
when, for example, one of the files is generated.
|
when, for example, one of the files is generated.
|
||||||
|
|
||||||
`-D[dir]` directory name to prepend to file names when accessing them.
|
`-D[dir]` directory name to prepend to file names when accessing them.
|
||||||
|
|||||||
@ -518,5 +518,5 @@ and the request will fail.
|
|||||||
As of curl 7.77.0, you can also pass `SCH_USE_STRONG_CRYPTO` as a cipher name
|
As of curl 7.77.0, you can also pass `SCH_USE_STRONG_CRYPTO` as a cipher name
|
||||||
to [constrain the set of available ciphers as specified in the schannel
|
to [constrain the set of available ciphers as specified in the schannel
|
||||||
documentation](https://docs.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-server-2022).
|
documentation](https://docs.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-server-2022).
|
||||||
Note that the supported ciphers in this case follows the OS version, so if you
|
Note that the supported ciphers in this case follow the OS version, so if you
|
||||||
are running an outdated OS you might still be supporting weak ciphers.
|
are running an outdated OS you might still be supporting weak ciphers.
|
||||||
|
|||||||
16
docs/FAQ
16
docs/FAQ
@ -14,11 +14,11 @@ FAQ
|
|||||||
1.5 Who makes curl?
|
1.5 Who makes curl?
|
||||||
1.6 What do you get for making curl?
|
1.6 What do you get for making curl?
|
||||||
1.7 What about CURL from curl.com?
|
1.7 What about CURL from curl.com?
|
||||||
1.8 I have a problem who do I mail?
|
1.8 I have a problem, who do I mail?
|
||||||
1.9 Where do I buy commercial support for curl?
|
1.9 Where do I buy commercial support for curl?
|
||||||
1.10 How many are using curl?
|
1.10 How many are using curl?
|
||||||
1.11 Why do you not update ca-bundle.crt
|
1.11 Why do you not update ca-bundle.crt
|
||||||
1.12 I have a problem who can I chat with?
|
1.12 I have a problem, who can I chat with?
|
||||||
1.13 curl's ECCN number?
|
1.13 curl's ECCN number?
|
||||||
1.14 How do I submit my patch?
|
1.14 How do I submit my patch?
|
||||||
1.15 How do I port libcurl to my OS?
|
1.15 How do I port libcurl to my OS?
|
||||||
@ -275,7 +275,7 @@ FAQ
|
|||||||
We recognize that we will be living in parallel with curl.com and wish them
|
We recognize that we will be living in parallel with curl.com and wish them
|
||||||
every success.
|
every success.
|
||||||
|
|
||||||
1.8 I have a problem whom do I mail?
|
1.8 I have a problem, who do I mail?
|
||||||
|
|
||||||
Please do not mail any single individual unless you really need to. Keep
|
Please do not mail any single individual unless you really need to. Keep
|
||||||
curl-related questions on a suitable mailing list. All available mailing
|
curl-related questions on a suitable mailing list. All available mailing
|
||||||
@ -294,7 +294,7 @@ FAQ
|
|||||||
issue private while we investigate, confirm it, work and validate a fix and
|
issue private while we investigate, confirm it, work and validate a fix and
|
||||||
agree on a time schedule for publication etc. That way we produce a fix in a
|
agree on a time schedule for publication etc. That way we produce a fix in a
|
||||||
timely manner before the flaw is announced to the world, reducing the impact
|
timely manner before the flaw is announced to the world, reducing the impact
|
||||||
the problem risk having on existing users.
|
the problem risks having on existing users.
|
||||||
|
|
||||||
Security issues can also be taking to the curl security team by emailing
|
Security issues can also be taking to the curl security team by emailing
|
||||||
security at curl.se (closed list of receivers, mails are not disclosed).
|
security at curl.se (closed list of receivers, mails are not disclosed).
|
||||||
@ -339,7 +339,7 @@ FAQ
|
|||||||
Firefox (by running 'make ca-bundle), or by using our online service setup
|
Firefox (by running 'make ca-bundle), or by using our online service setup
|
||||||
for this purpose: https://curl.se/docs/caextract.html
|
for this purpose: https://curl.se/docs/caextract.html
|
||||||
|
|
||||||
1.12 I have a problem who can I chat with?
|
1.12 I have a problem who, can I chat with?
|
||||||
|
|
||||||
There's a bunch of friendly people hanging out in the #curl channel on the
|
There's a bunch of friendly people hanging out in the #curl channel on the
|
||||||
IRC network libera.chat. If you are polite and nice, chances are good that
|
IRC network libera.chat. If you are polite and nice, chances are good that
|
||||||
@ -829,7 +829,7 @@ FAQ
|
|||||||
4.5.4 "404 Not Found"
|
4.5.4 "404 Not Found"
|
||||||
|
|
||||||
The server has not found anything matching the Request-URI. No indication
|
The server has not found anything matching the Request-URI. No indication
|
||||||
is given of whether the condition is temporary or permanent.
|
is given as to whether the condition is temporary or permanent.
|
||||||
|
|
||||||
4.5.5 "405 Method Not Allowed"
|
4.5.5 "405 Method Not Allowed"
|
||||||
|
|
||||||
@ -925,7 +925,7 @@ FAQ
|
|||||||
|
|
||||||
To completely disable the certificate verification, use -k. This does
|
To completely disable the certificate verification, use -k. This does
|
||||||
however enable man-in-the-middle attacks and makes the transfer INSECURE.
|
however enable man-in-the-middle attacks and makes the transfer INSECURE.
|
||||||
We strongly advice against doing this for more than experiments.
|
We strongly advise against doing this for more than experiments.
|
||||||
|
|
||||||
If you get this failure with a CA cert bundle installed and used, the
|
If you get this failure with a CA cert bundle installed and used, the
|
||||||
server's certificate might not be signed by one of the CA's in your CA
|
server's certificate might not be signed by one of the CA's in your CA
|
||||||
@ -1196,7 +1196,7 @@ FAQ
|
|||||||
dynamic import symbols. If you are using Visual Studio, you need to instead
|
dynamic import symbols. If you are using Visual Studio, you need to instead
|
||||||
add CURL_STATICLIB in the "Preprocessor Definitions" section.
|
add CURL_STATICLIB in the "Preprocessor Definitions" section.
|
||||||
|
|
||||||
If you get linker error like "unknown symbol __imp__curl_easy_init ..." you
|
If you get a linker error like "unknown symbol __imp__curl_easy_init ..." you
|
||||||
have linked against the wrong (static) library. If you want to use the
|
have linked against the wrong (static) library. If you want to use the
|
||||||
libcurl.dll and import lib, you do not need any extra CFLAGS, but use one of
|
libcurl.dll and import lib, you do not need any extra CFLAGS, but use one of
|
||||||
the import libraries below. These are the libraries produced by the various
|
the import libraries below. These are the libraries produced by the various
|
||||||
|
|||||||
@ -8,7 +8,7 @@ This project was started by and has to some extent been pushed forward over
|
|||||||
the years with Daniel Stenberg as the driving force. It matches a standard
|
the years with Daniel Stenberg as the driving force. It matches a standard
|
||||||
BDFL (Benevolent Dictator For Life) style project.
|
BDFL (Benevolent Dictator For Life) style project.
|
||||||
|
|
||||||
This setup has been used due to convenience and the fact that is has worked
|
This setup has been used due to convenience and the fact that it has worked
|
||||||
fine this far. It is not because someone thinks of it as a superior project
|
fine this far. It is not because someone thinks of it as a superior project
|
||||||
leadership model. It will also only continue working as long as Daniel manages
|
leadership model. It will also only continue working as long as Daniel manages
|
||||||
to listen in to what the project and the general user population wants and
|
to listen in to what the project and the general user population wants and
|
||||||
@ -45,7 +45,7 @@ non-profit organization that holds on to funds for us. This fund is then used
|
|||||||
for paying the curl security bug bounties, to reimburse project related
|
for paying the curl security bug bounties, to reimburse project related
|
||||||
expenses etc.
|
expenses etc.
|
||||||
|
|
||||||
Donations to the project can also come in form of server hosting, providing
|
Donations to the project can also come in the form of server hosting, providing
|
||||||
services and paying for people to work on curl related code etc. Usually, such
|
services and paying for people to work on curl related code etc. Usually, such
|
||||||
donations are services paid for directly by the sponsors.
|
donations are services paid for directly by the sponsors.
|
||||||
|
|
||||||
|
|||||||
@ -84,4 +84,4 @@ the specific implementation. Either way is fine.
|
|||||||
We offer [guidelines](https://curl.se/dev/contribute.html) that are
|
We offer [guidelines](https://curl.se/dev/contribute.html) that are
|
||||||
suitable to be familiar with before you decide to contribute to curl. If
|
suitable to be familiar with before you decide to contribute to curl. If
|
||||||
you are used to open source development, you will probably not find many
|
you are used to open source development, you will probably not find many
|
||||||
surprises in there.
|
surprises there.
|
||||||
|
|||||||
@ -145,7 +145,7 @@ June: the curl website gets 13000 visits weekly. curl and libcurl is
|
|||||||
35000 lines of code. Reported successful compiles on more than 40 combinations
|
35000 lines of code. Reported successful compiles on more than 40 combinations
|
||||||
of CPUs and operating systems.
|
of CPUs and operating systems.
|
||||||
|
|
||||||
To estimate number of users of the curl tool or libcurl library is next to
|
To estimate the number of users of the curl tool or libcurl library is next to
|
||||||
impossible. Around 5000 downloaded packages each week from the main site gives
|
impossible. Around 5000 downloaded packages each week from the main site gives
|
||||||
a hint, but the packages are mirrored extensively, bundled with numerous OS
|
a hint, but the packages are mirrored extensively, bundled with numerous OS
|
||||||
distributions and otherwise retrieved as part of other software.
|
distributions and otherwise retrieved as part of other software.
|
||||||
|
|||||||
@ -25,7 +25,7 @@ HTTP/3 and QUIC support in curl is considered **EXPERIMENTAL** until further
|
|||||||
notice. It needs to be enabled at build-time.
|
notice. It needs to be enabled at build-time.
|
||||||
|
|
||||||
Further development and tweaking of the HTTP/3 support in curl will happen in
|
Further development and tweaking of the HTTP/3 support in curl will happen in
|
||||||
in the master branch using pull-requests, just like ordinary changes.
|
the master branch using pull-requests, just like ordinary changes.
|
||||||
|
|
||||||
# ngtcp2 version
|
# ngtcp2 version
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ Check out the [list of known HTTP3 bugs](https://curl.se/docs/knownbugs.html#HTT
|
|||||||
This is not advice on how to run anything in production. This is for
|
This is not advice on how to run anything in production. This is for
|
||||||
development and experimenting.
|
development and experimenting.
|
||||||
|
|
||||||
## Preqreqs
|
## Prereqs
|
||||||
|
|
||||||
An existing local HTTP/1.1 server that hosts files. Preferably also a few huge
|
An existing local HTTP/1.1 server that hosts files. Preferably also a few huge
|
||||||
ones. You can easily create huge local files like `truncate -s=8G 8GB` - they
|
ones. You can easily create huge local files like `truncate -s=8G 8GB` - they
|
||||||
|
|||||||
@ -111,7 +111,7 @@ want to alter it, you can select how to deal with each individual library.
|
|||||||
|
|
||||||
## Select TLS backend
|
## Select TLS backend
|
||||||
|
|
||||||
These options are provided to select TLS backend to use.
|
These options are provided to select the TLS backend to use.
|
||||||
|
|
||||||
- AmiSSL: `--with-amissl`
|
- AmiSSL: `--with-amissl`
|
||||||
- BearSSL: `--with-bearssl`
|
- BearSSL: `--with-bearssl`
|
||||||
@ -224,9 +224,9 @@ versions.
|
|||||||
## Using BSD-style lwIP instead of Winsock TCP/IP stack in Win32 builds
|
## Using BSD-style lwIP instead of Winsock TCP/IP stack in Win32 builds
|
||||||
|
|
||||||
In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is
|
In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is
|
||||||
necessary to make definition of preprocessor symbol `USE_LWIPSOCK` visible to
|
necessary to make the definition of the preprocessor symbol `USE_LWIPSOCK`
|
||||||
libcurl and curl compilation processes. To set this definition you have the
|
visible to libcurl and curl compilation processes. To set this definition you
|
||||||
following alternatives:
|
have the following alternatives:
|
||||||
|
|
||||||
- Modify `lib/config-win32.h` and `src/config-win32.h`
|
- Modify `lib/config-win32.h` and `src/config-win32.h`
|
||||||
- Modify `winbuild/Makefile.vc`
|
- Modify `winbuild/Makefile.vc`
|
||||||
@ -323,7 +323,8 @@ make -j8
|
|||||||
make install
|
make install
|
||||||
```
|
```
|
||||||
|
|
||||||
In all above, the built libraries and executables can be found in `artifacts` folder.
|
In all above, the built libraries and executables can be found in the
|
||||||
|
`artifacts` folder.
|
||||||
|
|
||||||
# Android
|
# Android
|
||||||
|
|
||||||
|
|||||||
@ -163,9 +163,9 @@ Windows vs Unix
|
|||||||
Inside the source code, We make an effort to avoid `#ifdef [Your OS]`. All
|
Inside the source code, We make an effort to avoid `#ifdef [Your OS]`. All
|
||||||
conditionals that deal with features *should* instead be in the format
|
conditionals that deal with features *should* instead be in the format
|
||||||
`#ifdef HAVE_THAT_WEIRD_FUNCTION`. Since Windows cannot run configure scripts,
|
`#ifdef HAVE_THAT_WEIRD_FUNCTION`. Since Windows cannot run configure scripts,
|
||||||
we maintain a `curl_config-win32.h` file in lib directory that is supposed to
|
we maintain a `curl_config-win32.h` file in the lib directory that is supposed
|
||||||
look exactly like a `curl_config.h` file would have looked like on a Windows
|
to look exactly like a `curl_config.h` file would have looked like on a
|
||||||
machine.
|
Windows machine.
|
||||||
|
|
||||||
Generally speaking: always remember that this will be compiled on dozens of
|
Generally speaking: always remember that this will be compiled on dozens of
|
||||||
operating systems. Do not walk on the edge.
|
operating systems. Do not walk on the edge.
|
||||||
@ -239,7 +239,7 @@ multi_do()
|
|||||||
The protocol-specific functions of course deal with protocol-specific
|
The protocol-specific functions of course deal with protocol-specific
|
||||||
negotiations and setup. When they are ready to start the actual file
|
negotiations and setup. When they are ready to start the actual file
|
||||||
transfer they call the `Curl_setup_transfer()` function (in
|
transfer they call the `Curl_setup_transfer()` function (in
|
||||||
`lib/transfer.c`) to setup the transfer and returns.
|
`lib/transfer.c`) to setup the transfer and return.
|
||||||
|
|
||||||
If this DO function fails and the connection is being re-used, libcurl will
|
If this DO function fails and the connection is being re-used, libcurl will
|
||||||
then close this connection, setup a new connection and re-issue the DO
|
then close this connection, setup a new connection and re-issue the DO
|
||||||
@ -525,7 +525,7 @@ Memory Debugging
|
|||||||
allocated but never freed and other kinds of errors related to resource
|
allocated but never freed and other kinds of errors related to resource
|
||||||
management.
|
management.
|
||||||
|
|
||||||
Internally, definition of preprocessor symbol `DEBUGBUILD` restricts code
|
Internally, definition of the preprocessor symbol `DEBUGBUILD` restricts code
|
||||||
which is only compiled for debug enabled builds. And symbol `CURLDEBUG` is
|
which is only compiled for debug enabled builds. And symbol `CURLDEBUG` is
|
||||||
used to differentiate code which is _only_ used for memory
|
used to differentiate code which is _only_ used for memory
|
||||||
tracking/debugging.
|
tracking/debugging.
|
||||||
@ -620,8 +620,9 @@ curlx
|
|||||||
A macro that converts a string containing a number to a `curl_off_t` number.
|
A macro that converts a string containing a number to a `curl_off_t` number.
|
||||||
This might use the `curlx_strtoll()` function which is provided as source
|
This might use the `curlx_strtoll()` function which is provided as source
|
||||||
code in strtoofft.c. Note that the function is only provided if no
|
code in strtoofft.c. Note that the function is only provided if no
|
||||||
`strtoll()` (or equivalent) function exist on your platform. If `curl_off_t`
|
`strtoll()` (or equivalent) function exists on your platform. If
|
||||||
is only a 32-bit number on your platform, this macro uses `strtol()`.
|
`curl_off_t` is only a 32-bit number on your platform, this macro uses
|
||||||
|
`strtol()`.
|
||||||
|
|
||||||
Future
|
Future
|
||||||
------
|
------
|
||||||
@ -778,7 +779,7 @@ Track Down Memory Leaks
|
|||||||
curl_dbg_memdebug("dump");
|
curl_dbg_memdebug("dump");
|
||||||
```
|
```
|
||||||
|
|
||||||
This will make the malloc debug system output a full trace of all resource
|
This will make the malloc debug system output a full trace of all resources
|
||||||
using functions to the given file name. Make sure you rebuild your program
|
using functions to the given file name. Make sure you rebuild your program
|
||||||
and that you link with the same libcurl you built for this purpose as
|
and that you link with the same libcurl you built for this purpose as
|
||||||
described above.
|
described above.
|
||||||
@ -895,8 +896,8 @@ for older and later versions as things do not change drastically that often.
|
|||||||
|
|
||||||
A general idea in libcurl is to keep connections around in a connection
|
A general idea in libcurl is to keep connections around in a connection
|
||||||
"cache" after they have been used in case they will be used again and then
|
"cache" after they have been used in case they will be used again and then
|
||||||
re-use an existing one instead of creating a new as it creates a significant
|
re-use an existing one instead of creating a new one as it creates a
|
||||||
performance boost.
|
significant performance boost.
|
||||||
|
|
||||||
Each `connectdata` identifies a single physical connection to a server. If
|
Each `connectdata` identifies a single physical connection to a server. If
|
||||||
the connection cannot be kept alive, the connection will be closed after use
|
the connection cannot be kept alive, the connection will be closed after use
|
||||||
@ -922,7 +923,7 @@ for older and later versions as things do not change drastically that often.
|
|||||||
this single struct and thus can be considered a single connection for most
|
this single struct and thus can be considered a single connection for most
|
||||||
internal concerns.
|
internal concerns.
|
||||||
|
|
||||||
The libcurl source code generally use the name `conn` for the variable that
|
The libcurl source code generally uses the name `conn` for the variable that
|
||||||
points to the connectdata.
|
points to the connectdata.
|
||||||
|
|
||||||
<a name="Curl_multi"></a>
|
<a name="Curl_multi"></a>
|
||||||
@ -960,7 +961,7 @@ for older and later versions as things do not change drastically that often.
|
|||||||
|
|
||||||
`->closure_handle` is described in the `connectdata` section.
|
`->closure_handle` is described in the `connectdata` section.
|
||||||
|
|
||||||
The libcurl source code generally use the name `multi` for the variable that
|
The libcurl source code generally uses the name `multi` for the variable that
|
||||||
points to the `Curl_multi` struct.
|
points to the `Curl_multi` struct.
|
||||||
|
|
||||||
<a name="Curl_handler"></a>
|
<a name="Curl_handler"></a>
|
||||||
@ -1001,8 +1002,8 @@ for older and later versions as things do not change drastically that often.
|
|||||||
the DO action internally. If the DO is not enough and things need to be kept
|
the DO action internally. If the DO is not enough and things need to be kept
|
||||||
getting done for the entire DO sequence to complete, `->doing` is then
|
getting done for the entire DO sequence to complete, `->doing` is then
|
||||||
usually also provided. Each protocol that needs to do multiple commands or
|
usually also provided. Each protocol that needs to do multiple commands or
|
||||||
similar for do/doing need to implement their own state machines (see SCP,
|
similar for do/doing needs to implement their own state machines (see SCP,
|
||||||
SFTP, FTP). Some protocols (only FTP and only due to historical reasons) has
|
SFTP, FTP). Some protocols (only FTP and only due to historical reasons) have
|
||||||
a separate piece of the DO state called `DO_MORE`.
|
a separate piece of the DO state called `DO_MORE`.
|
||||||
|
|
||||||
`->doing` keeps getting called while issuing the transfer request command(s)
|
`->doing` keeps getting called while issuing the transfer request command(s)
|
||||||
@ -1048,7 +1049,8 @@ for older and later versions as things do not change drastically that often.
|
|||||||
limit which "direction" of socket actions that the main engine will
|
limit which "direction" of socket actions that the main engine will
|
||||||
concern itself with.
|
concern itself with.
|
||||||
|
|
||||||
- `PROTOPT_NONETWORK` - a protocol that does not use network (read `file:`)
|
- `PROTOPT_NONETWORK` - a protocol that does not use the network (read
|
||||||
|
`file:`)
|
||||||
|
|
||||||
- `PROTOPT_NEEDSPWD` - this protocol needs a password and will use a default
|
- `PROTOPT_NEEDSPWD` - this protocol needs a password and will use a default
|
||||||
one unless one is provided
|
one unless one is provided
|
||||||
|
|||||||
@ -786,7 +786,7 @@ problems may have been fixed or changed somewhat since this was written.
|
|||||||
9.3 Remote recursive folder creation with SFTP
|
9.3 Remote recursive folder creation with SFTP
|
||||||
|
|
||||||
On this servers, the curl fails to create directories on the remote server
|
On this servers, the curl fails to create directories on the remote server
|
||||||
even when CURLOPT_FTP_CREATE_MISSING_DIRS option is set.
|
even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set.
|
||||||
|
|
||||||
See https://github.com/curl/curl/issues/5204
|
See https://github.com/curl/curl/issues/5204
|
||||||
|
|
||||||
@ -940,7 +940,7 @@ problems may have been fixed or changed somewhat since this was written.
|
|||||||
|
|
||||||
When libcurl creates sockets with socketpair(), those are not "exposed" in
|
When libcurl creates sockets with socketpair(), those are not "exposed" in
|
||||||
CURLOPT_OPENSOCKETFUNCTION and therefore might surprise and be unknown to
|
CURLOPT_OPENSOCKETFUNCTION and therefore might surprise and be unknown to
|
||||||
applications that expects and wants all sockets known beforehand. One way to
|
applications that expect and want all sockets known beforehand. One way to
|
||||||
address this issue is to introduce a CURLOPT_OPENSOCKETPAIRFUNCTION callback.
|
address this issue is to introduce a CURLOPT_OPENSOCKETPAIRFUNCTION callback.
|
||||||
|
|
||||||
https://github.com/curl/curl/issues/5747
|
https://github.com/curl/curl/issues/5747
|
||||||
|
|||||||
@ -195,7 +195,7 @@ MAIL ETIQUETTE
|
|||||||
Many mail programs and web archivers use information within mails to keep
|
Many mail programs and web archivers use information within mails to keep
|
||||||
them together as "threads", as collections of posts that discuss a certain
|
them together as "threads", as collections of posts that discuss a certain
|
||||||
subject. If you do not intend to reply on the same or similar subject, do not
|
subject. If you do not intend to reply on the same or similar subject, do not
|
||||||
just hit reply on an existing mail and change subject, create a new mail.
|
just hit reply on an existing mail and change the subject, create a new mail.
|
||||||
|
|
||||||
2.2 Reply to the List
|
2.2 Reply to the List
|
||||||
|
|
||||||
@ -282,4 +282,4 @@ MAIL ETIQUETTE
|
|||||||
|
|
||||||
Getting the solution posted also helps other users that experience the same
|
Getting the solution posted also helps other users that experience the same
|
||||||
problem(s). They get to see (possibly in the web archives) that the
|
problem(s). They get to see (possibly in the web archives) that the
|
||||||
suggested fixes actually has helped at least one person.
|
suggested fixes actually have helped at least one person.
|
||||||
|
|||||||
@ -603,7 +603,7 @@ header from being used:
|
|||||||
## FTP and Path Names
|
## FTP and Path Names
|
||||||
|
|
||||||
Do note that when getting files with a `ftp://` URL, the given path is
|
Do note that when getting files with a `ftp://` URL, the given path is
|
||||||
relative the directory you enter. To get the file `README` from your home
|
relative to the directory you enter. To get the file `README` from your home
|
||||||
directory at your ftp site, do:
|
directory at your ftp site, do:
|
||||||
|
|
||||||
curl ftp://user:passwd@my.site.com/README
|
curl ftp://user:passwd@my.site.com/README
|
||||||
@ -770,8 +770,8 @@ If you have installed the OpenLDAP library, curl can take advantage of it and
|
|||||||
offer `ldap://` support. On Windows, curl will use WinLDAP from Platform SDK
|
offer `ldap://` support. On Windows, curl will use WinLDAP from Platform SDK
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
Default protocol version used by curl is LDAPv3. LDAPv2 will be used as
|
Default protocol version used by curl is LDAPv3. LDAPv2 will be used as a
|
||||||
fallback mechanism in case if LDAPv3 will fail to connect.
|
fallback mechanism in case LDAPv3 fails to connect.
|
||||||
|
|
||||||
LDAP is a complex thing and writing an LDAP query is not an easy task. I do
|
LDAP is a complex thing and writing an LDAP query is not an easy task. I do
|
||||||
advise you to dig up the syntax description for that elsewhere. One such place
|
advise you to dig up the syntax description for that elsewhere. One such place
|
||||||
@ -791,7 +791,7 @@ You also can use authentication when accessing LDAP catalog:
|
|||||||
curl -u user:passwd "ldap://ldap.frontec.se/o=frontec??sub?mail=*"
|
curl -u user:passwd "ldap://ldap.frontec.se/o=frontec??sub?mail=*"
|
||||||
curl "ldap://user:passwd@ldap.frontec.se/o=frontec??sub?mail=*"
|
curl "ldap://user:passwd@ldap.frontec.se/o=frontec??sub?mail=*"
|
||||||
|
|
||||||
By default, if user and password provided, OpenLDAP/WinLDAP will use basic
|
By default, if user and password are provided, OpenLDAP/WinLDAP will use basic
|
||||||
authentication. On Windows you can control this behavior by providing one of
|
authentication. On Windows you can control this behavior by providing one of
|
||||||
`--basic`, `--ntlm` or `--digest` option in curl command line
|
`--basic`, `--ntlm` or `--digest` option in curl command line
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ another protocol to curl. After all, curl already supports 25 something
|
|||||||
protocols and it is the Internet transfer machine for the world.
|
protocols and it is the Internet transfer machine for the world.
|
||||||
|
|
||||||
In the curl project we love protocols and we love supporting many protocols
|
In the curl project we love protocols and we love supporting many protocols
|
||||||
and do it well.
|
and doing it well.
|
||||||
|
|
||||||
So how do you proceed to add a new protocol and what are the requirements?
|
So how do you proceed to add a new protocol and what are the requirements?
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Vulnerability Handling
|
|||||||
The typical process for handling a new security vulnerability is as follows.
|
The typical process for handling a new security vulnerability is as follows.
|
||||||
|
|
||||||
No information should be made public about a vulnerability until it is
|
No information should be made public about a vulnerability until it is
|
||||||
formally announced at the end of this process. That means, for example that a
|
formally announced at the end of this process. That means, for example, that a
|
||||||
bug tracker entry must NOT be created to track the issue since that will make
|
bug tracker entry must NOT be created to track the issue since that will make
|
||||||
the issue public and it should not be discussed on any of the project's public
|
the issue public and it should not be discussed on any of the project's public
|
||||||
mailing lists. Also messages associated with any commits should not make any
|
mailing lists. Also messages associated with any commits should not make any
|
||||||
@ -68,7 +68,7 @@ announcement.
|
|||||||
should ideally contain the CVE number.
|
should ideally contain the CVE number.
|
||||||
|
|
||||||
- The security team also decides on and delivers a monetary reward to the
|
- The security team also decides on and delivers a monetary reward to the
|
||||||
reporter as per the bug-bounty polices.
|
reporter as per the bug-bounty policies.
|
||||||
|
|
||||||
- No more than 10 days before release, inform
|
- No more than 10 days before release, inform
|
||||||
[distros@openwall](https://oss-security.openwall.org/wiki/mailing-lists/distros)
|
[distros@openwall](https://oss-security.openwall.org/wiki/mailing-lists/distros)
|
||||||
@ -103,7 +103,7 @@ might ask you to join the list or you can ask to join it. It really is not a
|
|||||||
formal process. We basically only require that you have a long-term presence
|
formal process. We basically only require that you have a long-term presence
|
||||||
in the curl project and you have shown an understanding for the project and
|
in the curl project and you have shown an understanding for the project and
|
||||||
its way of working. You must have been around for a good while and you should
|
its way of working. You must have been around for a good while and you should
|
||||||
have no plans in vanishing in the near future.
|
have no plans of vanishing in the near future.
|
||||||
|
|
||||||
We do not make the list of participants public mostly because it tends to vary
|
We do not make the list of participants public mostly because it tends to vary
|
||||||
somewhat over time and a list somewhere will only risk getting outdated.
|
somewhat over time and a list somewhere will only risk getting outdated.
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
ago.
|
ago.
|
||||||
|
|
||||||
There are several known reasons why a connection that involves SSL might
|
There are several known reasons why a connection that involves SSL might
|
||||||
fail. This is a document that attempts to details the most common ones and
|
fail. This is a document that attempts to detail the most common ones and
|
||||||
how to mitigate them.
|
how to mitigate them.
|
||||||
|
|
||||||
## CA certs
|
## CA certs
|
||||||
|
|||||||
@ -29,7 +29,7 @@ Which CAs do you trust? You can decide to trust the same set of companies your
|
|||||||
operating system trusts, or the set one of the known browsers trust. That is
|
operating system trusts, or the set one of the known browsers trust. That is
|
||||||
basically trust via someone else you trust. You should just be aware that
|
basically trust via someone else you trust. You should just be aware that
|
||||||
modern operating systems and browsers are setup to trust *hundreds* of
|
modern operating systems and browsers are setup to trust *hundreds* of
|
||||||
companies and recent years several such CAs have been found untrustworthy.
|
companies and in recent years several such CAs have been found untrustworthy.
|
||||||
|
|
||||||
Certificate Verification
|
Certificate Verification
|
||||||
------------------------
|
------------------------
|
||||||
@ -63,8 +63,8 @@ server, do one of the following:
|
|||||||
store. The default CA certificate store can be changed at compile time with
|
store. The default CA certificate store can be changed at compile time with
|
||||||
the following configure options:
|
the following configure options:
|
||||||
|
|
||||||
--with-ca-bundle=FILE: use the specified file as CA certificate store. CA
|
--with-ca-bundle=FILE: use the specified file as the CA certificate store.
|
||||||
certificates need to be concatenated in PEM format into this file.
|
CA certificates need to be concatenated in PEM format into this file.
|
||||||
|
|
||||||
--with-ca-path=PATH: use the specified path as CA certificate store. CA
|
--with-ca-path=PATH: use the specified path as CA certificate store. CA
|
||||||
certificates need to be stored as individual PEM files in this directory.
|
certificates need to be stored as individual PEM files in this directory.
|
||||||
|
|||||||
@ -336,9 +336,9 @@
|
|||||||
|
|
||||||
## Figure Out What A POST Looks Like
|
## Figure Out What A POST Looks Like
|
||||||
|
|
||||||
When you are about fill in a form and send to a server by using curl instead
|
When you are about to fill in a form and send it to a server by using curl
|
||||||
of a browser, you are of course interested in sending a POST exactly the way
|
instead of a browser, you are of course interested in sending a POST exactly
|
||||||
your browser does.
|
the way your browser does.
|
||||||
|
|
||||||
An easy way to get to see this, is to save the HTML page with the form on
|
An easy way to get to see this, is to save the HTML page with the form on
|
||||||
your local disk, modify the 'method' to a GET, and press the submit button
|
your local disk, modify the 'method' to a GET, and press the submit button
|
||||||
@ -476,7 +476,7 @@
|
|||||||
|
|
||||||
## Other redirects
|
## Other redirects
|
||||||
|
|
||||||
Browser typically support at least two other ways of redirects that curl
|
Browsers typically support at least two other ways of redirects that curl
|
||||||
does not: first the html may contain a meta refresh tag that asks the browser
|
does not: first the html may contain a meta refresh tag that asks the browser
|
||||||
to load a specific URL after a set number of seconds, or it may use
|
to load a specific URL after a set number of seconds, or it may use
|
||||||
javascript to do it.
|
javascript to do it.
|
||||||
|
|||||||
@ -153,7 +153,7 @@ since it often means passing around the password in plain text and is thus a
|
|||||||
security risk.
|
security risk.
|
||||||
|
|
||||||
URLs for IMAP, POP3 and SMTP also support *login options* as part of the
|
URLs for IMAP, POP3 and SMTP also support *login options* as part of the
|
||||||
userinfo field. they are provided as a semicolon after the password and then
|
userinfo field. They are provided as a semicolon after the password and then
|
||||||
the options.
|
the options.
|
||||||
|
|
||||||
## Hostname
|
## Hostname
|
||||||
@ -220,7 +220,7 @@ directory listing for the root / home directory will be returned.
|
|||||||
|
|
||||||
FTP servers typically put the user in its "home directory" after login, which
|
FTP servers typically put the user in its "home directory" after login, which
|
||||||
then differs between users. To explicitly specify the root directory of an FTP
|
then differs between users. To explicitly specify the root directory of an FTP
|
||||||
server start the path with double slash `//` or `/%2f` (2F is the hexadecimal
|
server, start the path with double slash `//` or `/%2f` (2F is the hexadecimal
|
||||||
value of the ascii code for the slash).
|
value of the ascii code for the slash).
|
||||||
|
|
||||||
## FILE
|
## FILE
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user