mirror of
https://github.com/curl/curl.git
synced 2026-08-25 13:53:37 +03:00
parent
7a14898264
commit
bdb7d8b004
43 changed files with 70 additions and 67 deletions
2
docs/FAQ
2
docs/FAQ
|
|
@ -1411,7 +1411,7 @@ FAQ
|
|||
|
||||
6. License Issues
|
||||
|
||||
curl and libcurl are released under a MIT/X derivative license. The license
|
||||
curl and libcurl are released under an MIT/X derivative license. The license
|
||||
is liberal and should not impose a problem for your project. This section is
|
||||
just a brief summary for the cases we get the most questions. (Parts of this
|
||||
section was much enhanced by Bjorn Reese.)
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ to adjust those variables accordingly. After that you can build curl like this:
|
|||
./configure --host aarch64-linux-android --with-pic --disable-shared
|
||||
|
||||
Note that this does not give you SSL/TLS support. If you need SSL/TLS, you
|
||||
have to build curl with a SSL/TLS library, e.g. OpenSSL, because it is
|
||||
have to build curl with an SSL/TLS library, e.g. OpenSSL, because it is
|
||||
impossible for curl to access Android's native SSL/TLS layer. To build curl
|
||||
for Android using OpenSSL, follow the OpenSSL build instructions and then
|
||||
install `libssl.a` and `libcrypto.a` to `$TOOLCHAIN/sysroot/usr/lib` and copy
|
||||
|
|
|
|||
|
|
@ -400,9 +400,9 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
|
||||
9.1 SFTP does not do CURLOPT_POSTQUOTE correct
|
||||
|
||||
When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server
|
||||
using the multi interface, the commands are not being sent correctly and
|
||||
instead the connection is "cancelled" (the operation is considered done)
|
||||
When libcurl sends CURLOPT_POSTQUOTE commands when connected to an SFTP
|
||||
server using the multi interface, the commands are not being sent correctly
|
||||
and instead the connection is "cancelled" (the operation is considered done)
|
||||
prematurely. There is a half-baked (busy-looping) patch provided in the bug
|
||||
report but it cannot be accepted as-is. See
|
||||
https://curl.se/bug/view.cgi?id=748
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ SPDX-License-Identifier: curl
|
|||
|
||||
Some broken servers fail to support the protocol negotiation properly that
|
||||
SSL servers are supposed to handle. This may cause the connection to fail
|
||||
completely. Sometimes you may need to explicitly select a SSL version to use
|
||||
when connecting to make the connection succeed.
|
||||
completely. Sometimes you may need to explicitly select an SSL version to
|
||||
use when connecting to make the connection succeed.
|
||||
|
||||
An additional complication can be that modern SSL libraries sometimes are
|
||||
built with support for older SSL and TLS versions disabled.
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@
|
|||
See https://github.com/curl/curl/issues/4915 and lib1541.c
|
||||
|
||||
The share interface offers CURL_LOCK_DATA_HSTS to have multiple easy handle
|
||||
share a HSTS cache, but this is not thread-safe.
|
||||
share an HSTS cache, but this is not thread-safe.
|
||||
|
||||
1.5 get rid of PATH_MAX
|
||||
|
||||
|
|
@ -752,7 +752,7 @@
|
|||
|
||||
11.1 File listing support
|
||||
|
||||
Add support for listing the contents of a SMB share. The output should
|
||||
Add support for listing the contents of an SMB share. The output should
|
||||
probably be the same as/similar to FTP.
|
||||
|
||||
11.2 Honor file timestamps
|
||||
|
|
|
|||
|
|
@ -318,9 +318,9 @@ was specified in the URL. That was a bug fixed in 7.62.0, which added
|
|||
|
||||
## LDAP
|
||||
|
||||
The path part of a LDAP request can be used to specify the: Distinguished
|
||||
Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field is
|
||||
separated by a question mark and when that field is not required an empty
|
||||
The path part of an LDAP request can be used to specify the: Distinguished
|
||||
Name, Attributes, Scope, Filter and Extension for an LDAP search. Each field
|
||||
is separated by a question mark and when that field is not required an empty
|
||||
string with the question mark separator should be included.
|
||||
|
||||
Search for the `DN` as `My Organization`:
|
||||
|
|
@ -336,8 +336,8 @@ Search for an empty `DN` and request information about the
|
|||
|
||||
ldap://ldap.example.com/?rootDomainNamingContext
|
||||
|
||||
For more information about the individual components of a LDAP URL please
|
||||
see [RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516).
|
||||
For more information about the individual components of an LDAP URL please see
|
||||
[RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516).
|
||||
|
||||
## POP3
|
||||
|
||||
|
|
@ -361,7 +361,7 @@ file. If the path is omitted entirely then the directory listing for the root
|
|||
/ home directory is returned.
|
||||
|
||||
## SMB
|
||||
The path part of a SMB request specifies the file to retrieve and from what
|
||||
The path part of an SMB request specifies the file to retrieve and from what
|
||||
share and directory or the share to upload to and as such, may not be omitted.
|
||||
If the username is embedded in the URL then it must contain the domain name
|
||||
and as such, the backslash must be URL encoded as %2f.
|
||||
|
|
@ -373,7 +373,7 @@ curl supports SMB version 1 (only)
|
|||
|
||||
## SMTP
|
||||
|
||||
The path part of a SMTP request specifies the hostname to present during
|
||||
The path part of an SMTP request specifies the hostname to present during
|
||||
communication with the mail server. If the path is omitted, then libcurl
|
||||
attempts to resolve the local computer's hostname. However, this may not
|
||||
return the fully qualified domain name that is required by some mail servers
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ int main(void)
|
|||
curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
|
||||
|
||||
/* This fetches message 1 from the user's inbox. Note the use of
|
||||
* imaps:// rather than imap:// to request a SSL based connection. */
|
||||
* imaps:// rather than imap:// to request an SSL based connection. */
|
||||
curl_easy_setopt(curl, CURLOPT_URL,
|
||||
"imaps://imap.example.com/INBOX/;UID=1");
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
/*
|
||||
List of URLs to fetch.
|
||||
|
||||
If you intend to use a SSL-based protocol here you might need to setup TLS
|
||||
If you intend to use an SSL-based protocol here you might need to setup TLS
|
||||
library mutex callbacks as described here:
|
||||
|
||||
https://curl.se/libcurl/c/threadsafe.html
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ int main(void)
|
|||
curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
|
||||
curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
|
||||
|
||||
/* This retrieves message 1 from the user's mailbox. Note the use of
|
||||
* pop3s:// rather than pop3:// to request a SSL based connection. */
|
||||
/* This retrieves message 1 from the user's mailbox. Note the use of *
|
||||
pop3s:// rather than pop3:// to request an SSL based connection. */
|
||||
curl_easy_setopt(curl, CURLOPT_URL, "pop3s://pop.example.com/1");
|
||||
|
||||
/* If you want to connect to a site who is not using a certificate that is
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ int main(void)
|
|||
curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
|
||||
|
||||
/* This is the URL for your mailserver. Note the use of smtps:// rather
|
||||
* than smtp:// to request a SSL based connection. */
|
||||
* than smtp:// to request an SSL based connection. */
|
||||
curl_easy_setopt(curl, CURLOPT_URL, "smtps://mainserver.example.net");
|
||||
|
||||
/* If you want to connect to a site who is not using a certificate that is
|
||||
|
|
|
|||
|
|
@ -128,5 +128,8 @@ By adding the client reader interface, any protocol can control how/if it wants
|
|||
The protocols on the other hand no longer have to care to package data most efficiently. At any time, should more data be needed, it can be read from the client. This is used when sending HTTP requests headers to add as much request body data to the initial sending as there is room for.
|
||||
|
||||
Future enhancements based on the client readers:
|
||||
* `expect-100` handling: place that into a HTTP specific reader at `CURL_CR_PROTOCOL` and eliminate the checks in the generic transfer parts.
|
||||
* `eos forwarding`: transfer should forward an `eos` flag to the connection filters. Filters like HTTP/2 and HTTP/3 can make use of that, terminating streams early. This would also eliminate length checks in stream handling.
|
||||
* `expect-100` handling: place that into an HTTP specific reader at
|
||||
`CURL_CR_PROTOCOL` and eliminate the checks in the generic transfer parts.
|
||||
* `eos forwarding`: transfer should forward an `eos` flag to the connection
|
||||
filters. Filters like HTTP/2 and HTTP/3 can make use of that, terminating
|
||||
streams early. This would also eliminate length checks in stream handling.
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ The most important feat of connection filters is that they can be stacked on
|
|||
top of each other (or "chained" if you prefer that metaphor). In the common
|
||||
scenario that you want to retrieve a `https:` URL with curl, you need 2 basic
|
||||
things to send the request and get the response: a TCP connection, represented
|
||||
by a `socket` and a SSL instance en- and decrypt over that socket. You write
|
||||
by a `socket` and an SSL instance en- and decrypt over that socket. You write
|
||||
your request to the SSL instance, which encrypts and writes that data to the
|
||||
socket, which then sends the bytes over the network.
|
||||
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ Bypass the AltSvc HTTPS protocol restriction if this variable exists.
|
|||
|
||||
## `CURL_DBG_SOCK_RBLOCK`
|
||||
|
||||
The percentage of recv() calls that should be answered with a EAGAIN at random.
|
||||
For TCP/UNIX sockets.
|
||||
The percentage of recv() calls that should be answered with an EAGAIN at
|
||||
random. For TCP/UNIX sockets.
|
||||
|
||||
## `CURL_DBG_SOCK_RMAX`
|
||||
|
||||
|
|
@ -42,8 +42,8 @@ maximum of 400 bytes.
|
|||
|
||||
## `CURL_DBG_SOCK_WBLOCK`
|
||||
|
||||
The percentage of send() calls that should be answered with a EAGAIN at random.
|
||||
For TCP/UNIX sockets.
|
||||
The percentage of send() calls that should be answered with an EAGAIN at
|
||||
random. For TCP/UNIX sockets.
|
||||
|
||||
## `CURL_DBG_SOCK_WPARTIAL`
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ Username to use when invoking the *ntlm-wb* tool.
|
|||
|
||||
## `SSLKEYLOGFILE`
|
||||
|
||||
When set and libcurl runs with a SSL backend that supports this feature,
|
||||
When set and libcurl runs with an SSL backend that supports this feature,
|
||||
libcurl saves SSL secrets into the given filename. Using those SSL secrets,
|
||||
other tools (such as Wireshark) can decrypt the SSL communication and
|
||||
analyze/view the traffic.
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ CURLOPT_ACCEPTTIMEOUT_MS(3) (or the internal default) timeout expired.
|
|||
## CURLE_FTP_WEIRD_PASV_REPLY (13)
|
||||
|
||||
libcurl failed to get a sensible result back from the server as a response to
|
||||
either a PASV or a EPSV command. The server is flawed.
|
||||
either a PASV or an EPSV command. The server is flawed.
|
||||
|
||||
## CURLE_FTP_WEIRD_227_FORMAT (14)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue