Commit Graph

2743 Commits

Author SHA1 Message Date
Daniel Stenberg 8005e58983 SECURITY: "curl security for developers"
Describes our security process from a project and curl developer's
perspective.
2013-10-28 23:19:55 +01:00
Gisle Vanem 6fe619be7a docs/examples/httpput.c: fix build for MSVC
"Dan Fandrich" <dan@coneharvesters.com> wrote:

>> But I'm not sure <unistd.h> is needed at all.
>
> It's needed for close(2). But the only reason that's needed is because fstat
> is used instead of stat(2); if you fix that, then you could remove that
> include altogether.

Okay. I've tested the following with MSVC and MingW. htttput.c now
simply uses stat():
2013-10-27 15:48:57 +01:00
Daniel Stenberg 1709e5e966 TODO: remove "Happy Eyeball dual stack connect"
... as it was just merged in commit 7d7df
2013-10-27 11:34:09 +01:00
Daniel Stenberg 947d431d50 CURLOPT_RESOLVE: mention they don't time-out
Clarify in the documentation that DNS entries added with CURLOPT_RESOLVE
won't time-out.

Bug: http://curl.haxx.se/mail/lib-2013-10/0062.html
Reported-by: Romulo Ceccon
2013-10-23 23:15:36 +02:00
Gisle Vanem ae495ffcc3 curl.1: add missing exit-code
I noted a missing text for exit-code 89 in docs/curl.1
2013-10-20 23:57:24 +02:00
Steve Holme 75b9b26465 DOCS: Added libcurl version number to CURLOPT_SSLVERSION 2013-10-16 20:18:18 +01:00
Steve Holme 2c84ffe154 SSL: Corrected version number for new symbols from commit ad34a2d5c8 2013-10-16 20:06:23 +01:00
Ishan SinghLevett 18ca0aa984 usercertinmem: fix memory leaks 2013-10-15 20:48:22 +02:00
Dave Reisner c4e6c33b13 build: distribute and install libcurl.m4 by default 2013-10-15 20:43:39 +02:00
Alessandro Ghedini 69c0d3fbc8 curl.1: fix typo conjuction -> conjunction 2013-10-15 20:37:13 +02:00
Daniel Stenberg 076726f141 curl: document the new --tlsv1.[012] options 2013-10-15 20:31:04 +02:00
Gergely Nagy ad34a2d5c8 SSL: protocol version can be specified more precisely
CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1,
CURL_SSLVERSION_TLSv1_2 enum values are added to force exact TLS version
(CURL_SSLVERSION_TLSv1 means TLS 1.x).

axTLS:
axTLS only supports TLS 1.0 and 1.1 but it cannot be set that only one
of these should be used, so we don't allow the new enum values.

darwinssl:
Added support for the new enum values.

SChannel:
Added support for the new enum values.

CyaSSL:
Added support for the new enum values.
Bug: The original CURL_SSLVERSION_TLSv1 value enables only TLS 1.0 (it
did the same before this commit), because CyaSSL cannot be configured to
use TLS 1.0-1.2.

GSKit:
GSKit doesn't seem to support TLS 1.1 and TLS 1.2, so we do not allow
those values.
Bugfix: There was a typo that caused wrong SSL versions to be passed to
GSKit.

NSS:
TLS minor version cannot be set, so we don't allow the new enum values.

QsoSSL:
TLS minor version cannot be set, so we don't allow the new enum values.

OpenSSL:
Added support for the new enum values.
Bugfix: The original CURL_SSLVERSION_TLSv1 value enabled only TLS 1.0,
now it enables 1.0-1.2.

Command-line tool:
Added command line options for the new values.
2013-10-15 20:26:47 +02:00
Daniel Stenberg a106abee62 THANKS: added contributors from the 7.33.0 announcement 2013-10-14 23:10:35 +02:00
Daniel Stenberg 5df04bfafd curl: rename --bearer to --oauth2-bearer
The option '--bearer' might be slightly ambiguous in name. It doesn't
create any conflict that I am aware of at the moment, however, OAUTH v2
is not the only authentication mechanism which uses "bearer" tokens.

Reported-by: Kyle L. Huff
URL: http://curl.haxx.se/mail/lib-2013-10/0064.html
2013-10-12 23:26:38 +02:00
Heinrich Schaefer 9b33ecfd01 minor fix in doc 2013-10-11 11:57:26 +02:00
Daniel Stenberg a22c478ed7 KNOWN_BUGS: #84: CURLINFO_SSL_VERIFYRESULT
CURLINFO_SSL_VERIFYRESULT is only implemented for the OpenSSL and NSS
backends and not for any other!
2013-10-02 15:39:47 +02:00
Daniel Stenberg c8b05b809e curl_easy_setopt.3: slight clarification of SEEKFUNCTION 2013-09-30 14:58:06 +02:00
Daniel Stenberg 4d7bf73fc3 getinmemory: remove a comment
The comment mentioned the need to free the data, but the example already
does that free
2013-09-29 00:16:21 +02:00
Daniel Stenberg 3c34f453fa postinmemory: new example
This is similar to getinmemory.c but with an initial POST.

Combined-by: Ulf Samuelsson
2013-09-29 00:12:30 +02:00
Steve Holme 6dd8bd8d2f curl.1: Added information about optional login options to --user in manpage
Added missing information, from curl 7.31.0, regarding the use of the
optional login options that may be specified as part of --user.

For example:

--user 'user:password;auth=NTLM' in IMAP, POP3 and SMTP protocols.
2013-09-21 22:05:12 +01:00
Daniel Stenberg af44da38d6 curl_easy_setopt.3: clarify that TIMEOUT and TIMEOUT_MS set the same value 2013-09-20 23:16:04 +02:00
Kim Vandry fcfa26a7ee Documented --dns-* options in curl manpage 2013-09-20 23:09:39 +02:00
Steve Holme 18db743851 pop3: Added basic SASL XOAUTH2 support
Added the ability to use an XOAUTH2 bearer token [RFC6750] with POP3 for
authentication using RFC6749 "OAuth 2.0 Authorization Framework".

The bearer token is expected to be valid for the user specified in
conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has
an advertised auth mechanism of "XOAUTH2", the user and access token are
formatted as a base64 encoded string and sent to the server as
"AUTH XOAUTH2 <bearer token>".
2013-09-20 21:56:30 +01:00
Daniel Stenberg 0a691f8935 curl.1: detail how short/long options work
URL: http://curl.haxx.se/bug/view.cgi?id=1279
Suggested-by: Jerry Krinock
2013-09-13 23:14:41 +02:00
Daniel Stenberg 8a6dba520b curl_easy_setopt.3: mention RTMP URL quirks
URL: http://curl.haxx.se/bug/view.cgi?id=1278
Reported-by: Gorilla Maguila
2013-09-13 14:06:20 +02:00
Kim Vandry df69440d05 libcurl: New options to bind DNS to local interfaces or IP addresses 2013-09-12 21:11:47 +02:00
Daniel Stenberg 345955e87e libcurl.3: for multi interface connections are held in the multi handle
... and a few more cleanups/clarifications
2013-09-12 13:59:05 +02:00
Clemens Gruber 632b3d81d6 curl_easy_pause: suggest one way to unpause 2013-09-08 19:26:28 +02:00
Daniel Stenberg 01d7bbbebe --data: mention CRLF treatment when reading from file 2013-09-06 13:52:56 +02:00
Nick Zitzmann d2fe616e7e darwinssl: add support for PKCS#12 files for client authentication
I also documented the fact that the OpenSSL engine also supports them.
2013-09-05 18:57:06 -05:00
Daniel Stenberg 316ca865e3 symbols: added HTTP2 symbols and sorted list
CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 are new
2013-09-05 12:04:41 +02:00
Daniel Stenberg 2eabb7d590 curl: add --http1.1 and --http2.0 options 2013-09-04 22:29:38 +02:00
Daniel Stenberg f19efd07e7 -x: rephrased the --proxy section somewhat 2013-08-31 22:55:53 +02:00
Kyle L. Huff e848942505 docs: Added documentation for CURLOPT_BEARER 2013-08-30 21:43:13 +01:00
Kyle L. Huff 7e489c42f7 curl.1: Add usage of '--bearer' option 2013-08-30 21:34:20 +01:00
Daniel Stenberg a74b36af2a symbols-in-versions: add CURLOPT_XOAUTH2_BEARER 2013-08-28 09:31:37 +02:00
Daniel Stenberg 0192ad65bb KNOWN_BUGS: refer to bug numbers with the existing number series
The old numbers would still redirect but who knows for how long...
2013-08-26 00:29:33 +02:00
Daniel Stenberg 1a911f7ec4 FAQ: editorial updates
Several language fixes. Several reformats that should make the HTML
generation of this document look better.

Reported-by: Dave Thompson
2013-08-24 17:13:46 +02:00
Daniel Stenberg 19122c0768 CURLM_ADDED_ALREADY: new error code
Doing curl_multi_add_handle() on an easy handle that is already added to
a multi handle now returns this error code. It previously returned
CURLM_BAD_EASY_HANDLE for this condition.
2013-08-20 23:13:19 +02:00
Daniel Stenberg 70812c2f32 THANKS: added contributors from the 7.32.0 release notes 2013-08-11 23:43:32 +02:00
Daniel Stenberg 8c9236bb2c curl_multi_add_handle.3: ... that timer callback is for event-based 2013-08-09 23:53:51 +02:00
Daniel Stenberg 08adecc9a1 curl_multi_add_handle.3: mention the CURLMOPT_TIMERFUNCTION use 2013-08-09 23:27:43 +02:00
John E. Malmberg 015556d74c KNOWN_BUGS: 22 and 57 have been fixed and committed 2013-08-08 23:34:36 +02:00
Daniel Stenberg 0018d6830e mk-ca-bundle.1: don't install on make install
Since the mk-ca-bundle tool itself isn't installed with make install,
there's no point in installing its documentation.

Bug: http://curl.haxx.se/mail/lib-2013-08/0057.html
Reported-by: Guenter Knauf
2013-08-08 09:45:51 +02:00
Daniel Stenberg 96749554fd LIBCURL-STRUCTS: new document
This is the first version of this new document, detailing the seven
perhaps most important internal structs in libcurl source code:

  1.1 SessionHandle
  1.2 connectdata
  1.3 Curl_multi
  1.4 Curl_handler
  1.5 conncache
  1.6 Curl_share
  1.7 CookieInfo
2013-08-06 14:13:33 +02:00
Daniel Stenberg 785749405f CONTRIBUTE: minor language polish 2013-08-06 14:12:45 +02:00
Steve Holme 7da3caaf95 Revert "DOCS: Added IMAP URL example for listing new messages"
This reverts commit 82ab5f1b0c as this was the wrong place to
document the complexity of IMAP URLs and Custom Requests.
2013-08-02 14:25:21 +01:00
Steve Holme 82ab5f1b0c DOCS: Added IMAP URL example for listing new messages
In addition to listing the folder contents, in the URL examples, added
an example to list the new messages waiting in the user's inbox.
2013-08-02 10:08:55 +01:00
Daniel Stenberg b5478a0e03 curl_easy_pause: on unpause, trigger mulit-socket handling
When the multi-socket API is used, we need the handle to be checked
again when it gets unpaused.

Bug: http://curl.haxx.se/mail/lib-2013-07/0239.html
Reported-by: Justin Karneges
2013-07-29 14:37:08 +02:00
Daniel Stenberg 12d01cb6fa CURLOPT_XFERINFOFUNCTION: introducing a new progress callback
CURLOPT_XFERINFOFUNCTION is now the preferred progress callback function
and CURLOPT_PROGRESSFUNCTION is considered deprecated.

This new callback uses pure 'curl_off_t' arguments to pass on full
resolution sizes. It otherwise retains the same characteristics: the
same call rate, the same meanings for the arguments and the return code
is used the same way.

The progressfunc.c example is updated to show how to use the new
callback for newer libcurls while supporting the older one if built with
an older libcurl or even built with a newer libcurl while running with
an older.
2013-07-18 23:44:06 +02:00
Daniel Stenberg 7b115cc1e1 mk-ca-bundle.1: point out certdata.txt format docs 2013-07-17 00:06:16 +02:00
Dave Reisner d8c04909fa src/tool: allow timeouts to accept decimal values
Implement wrappers around strtod to convert the user argument to a
double with sane error checking. Use this to allow --max-time and
--connect-timeout to accept decimal values instead of strictly integers.

The manpage is updated to make mention of this feature and,
additionally, forewarn that the actual timeout of the operation can
vary in its precision (particularly as the value increases in its
decimal precision).
2013-07-14 23:04:05 +02:00
Dave Reisner c0a7a98aee curl.1: fix long line, found by checksrc.pl 2013-07-14 22:50:29 +02:00
Kamil Dudka 45339625bc Revert "curl.1: document the --time-cond option in the man page"
This reverts commit 3a0e931fc7 because
the documentation of --time-cond was duplicated by mistake.

Reported by: Dave Reisner
2013-07-09 15:46:49 +02:00
Kamil Dudka 20ff820ef2 curl.1: document the --sasl-ir option in the man page 2013-07-09 15:18:39 +02:00
Kamil Dudka 39e85d99fe curl.1: document the --post303 option in the man page 2013-07-09 15:18:39 +02:00
Kamil Dudka 3a0e931fc7 curl.1: document the --time-cond option in the man page 2013-07-09 15:18:39 +02:00
Guenter Knauf b7a933154a Added libmetalink URL; added Android versions. 2013-07-04 04:35:22 +02:00
Dan Fandrich 54f18e5427 examples: Moved usercertinmem.c to COMPLICATED_EXAMPLES
This prevents it from being built during a "make check" since it
depends on OpenSSL.
2013-07-03 21:13:12 +02:00
Daniel Stenberg 9c2853f2ae curl.1: fix typo in --xattr description
Bug: http://curl.haxx.se/bug/view.cgi?id=1252
Reported-by: Jean-Noël Rouvignac
2013-06-25 10:41:16 +02:00
Daniel Stenberg d23745f7c9 TODO: 1.8 Modified buffer size approach
Thoughts around buffer sizes and what might be possible to do...
2013-06-23 22:49:06 +02:00
Daniel Stenberg a2e0ce86ba KNOWN_BUGS: #83 unable to load non-default openssl engines 2013-06-22 22:24:36 +02:00
Alessandro Ghedini 832c195179 docs: fix typo in curl_easy_getinfo manpage 2013-06-22 18:28:18 +02:00
Daniel Stenberg 4846b5e9fe THANKS: added 24 new contributors from the 7.31.0 release 2013-06-22 13:52:27 +02:00
Guenter Knauf da0db499fd Use opened body.out file and write content to it. 2013-06-20 22:53:37 +02:00
Daniel Stenberg e305f5ec71 TODO: mention the DANE patch from March 2013-06-18 09:38:06 +02:00
Daniel Stenberg 5fc24a5297 TODO: HTTP2/SPDY support 2013-06-15 14:36:35 +02:00
Daniel Stenberg b1a295ac4e curl_easy_setopt.3: clarify CURLOPT_PROGRESSFUNCTION frequency
Make it clearer that the CURLOPT_PROGRESSFUNCTION callback will be
called more frequently than once per second when things are happening.
2013-06-14 23:17:14 +02:00
Daniel Stenberg 9c3e098259 curl_multi_wait.3: clarify the numfds counter 2013-06-13 22:38:53 +02:00
Daniel Stenberg 9b8df58169 KNOWN_BUGS: #82 failed build with Borland compiler 2013-06-11 00:21:16 +02:00
Peter Gal c53fb36b0c curl_easy_setopt.3: HTTP header with no content
Update the documentation on how to specify a HTTP header with no
content.
2013-06-08 00:15:40 +02:00
Dan Fandrich 159d34b58e libcurl-tutorial.3: added a section on IPv6
Also added a (correctly-escaped) backslash to the autoexec.bat
example file and a new Windows character device name with
a colon as examples of other characters that are special
and potentially dangerous (this reverts and reworks commit
7d8d2a54).
2013-06-03 22:44:05 +02:00
Daniel Stenberg 29bf0598aa curl_multi_wait: reduce timeout if the multi handle wants to
If the multi handle's pending timeout is less than what is passed into
this function, it will now opt to use the shorter time anyway since it
is a very good hint that the handle wants to process something in a
shorter time than what otherwise would happen.

curl_multi_wait.3 was updated accordingly to clarify

This is the reason for bug #1224

Bug: http://curl.haxx.se/bug/view.cgi?id=1224
Reported-by: Andrii Moiseiev
2013-06-03 20:27:08 +02:00
Daniel Stenberg 7d8d2a54ba libcurl-tutorial.3: remove incorrect backslash
A single backslash in the content is not legal nroff syntax.

Reported and fixed by: Eric S. Raymond
Bug: http://curl.haxx.se/bug/view.cgi?id=1234
2013-05-28 13:37:08 +02:00
Daniel Stenberg 9986c6cb2b curl_formadd.3: fixed wrong "end-marker" syntax
Reported and fixed by: Eric S. Raymond
Bug: http://curl.haxx.se/bug/view.cgi?id=1233
2013-05-28 13:35:13 +02:00
Daniel Stenberg ba9a66663a curl.1: clarify that --silent still outputs data 2013-05-28 11:37:58 +02:00
Daniel Stenberg 84f7991474 KNOWN_BUGS: curl -OJC- fails to resume
Bug: http://curl.haxx.se/bug/view.cgi?id=1169
2013-05-21 23:58:52 +02:00
Daniel Stenberg 7d4d4892d8 curl_easy_setopt.3: expand the PROGRESSFUNCTION section
Explain the callback and its arguments better and with more descriptive
text.
2013-05-20 10:50:51 +02:00
Daniel Stenberg ee84c47655 tarball: include the xmlstream example 2013-05-19 11:21:56 +02:00
David Strauss ce32176db7 xmlstream: XML stream parsing example source code
Add an XML stream parsing example using Expat. Add missing ignore for
the binary from an unrelated example.
2013-05-19 11:19:28 +02:00
Guenter Knauf ae26ee3489 Updated zlib version in build files. 2013-05-11 17:08:00 +02:00
Kamil Dudka 42e01cff9a curl.1: document escape sequences recognized by -E 2013-05-06 14:32:26 +02:00
Steve Holme f4e3cae8a7 TODO: Updated following the addition of CURLOPT_SASL_IR 2013-04-30 00:12:41 +01:00
Steve Holme 945246988d DOCS: Corrected line length of recent Secure Transport changes 2013-04-28 12:17:15 +01:00
Nick Zitzmann a5c0e20939 darwinssl: add TLS crypto authentication
Users using the Secure Transport (darwinssl) back-end can now use a
certificate and private key to authenticate with a site using TLS. Because
Apple's security system is based around the keychain and does not have any
non-public function to create a SecIdentityRef data structure from data
loaded outside of the Keychain, the certificate and private key have to be
loaded into the Keychain first (using the certtool command line tool or
the Security framework's C API) before we can find it and use it.
2013-04-27 23:15:07 -06:00
Steve Holme 128517649c Corrected version numbers after bump 2013-04-27 23:02:20 +01:00
Steve Holme f4e6e201b1 DOCS: Updated following the addition of CURLOPT_SASL_IR
Documented the the option in curl_easy_setopt() and added it to
symbols-in-versions.
2013-04-27 17:08:08 +01:00
Steve Holme 4dc2d965d6 TODO: Corrected copy/paste typo 2013-04-25 20:18:08 +01:00
Steve Holme 70bbbccc39 TODO: Added new ideas for future SMTP, POP3 and IMAP features 2013-04-25 20:10:09 +01:00
Steve Holme 0dd470fc61 TODO: Updated following the addition of ;auth=<MECH> support 2013-04-25 19:48:34 +01:00
Steve Holme 89acdf50fa DOCS: Minor rewording / clarification of host name protocol detection 2013-04-25 13:30:17 +01:00
Steve Holme a8c92cb608 DOCS: Added reference to IETF draft for SMTP URL Interface
...when mentioning login options. Additional minor clarification of
"Windows builds" to be "Windows builds with SSPI"as a way of enabling
NTLM as Windows builds may be built with OpenSSL to enable NTLM or
without NTLM support altogether.
2013-04-24 19:35:38 +01:00
Linus Nielsen Feltzing 53fda844cc HISTORY: Fix spelling error. 2013-04-23 21:41:38 +02:00
Steve Holme bbf63b0faa DOCS: Reworked the scheme calculation explanation under CURLOPT_URL 2013-04-23 19:57:58 +01:00
Daniel Stenberg 2c0d65785f HISTORY: correct some years/dates
Thanks to archive.org's wayback machine I updated this document with
some facts from the early httpget/urlget web page:

http://web.archive.org/web/19980216125115/http://www.inf.ufrgs.br/~sagula/urlget.html
2013-04-23 16:21:29 +02:00
Steve Holme 868d8e6831 DOCS: Added information about login options to CURLOPT_USERPWD 2013-04-22 20:22:12 +01:00
Steve Holme e3aca1b2ce DOCS: Added information about login options in the URL 2013-04-22 20:22:10 +01:00
Ishan SinghLevett 993cdcd6ee usercertinmem.c: add example showing user cert in memory
Relies on CURLOPT_SSL_CTX_FUNCTION, which is OpenSSL specific
2013-04-18 23:07:15 +02:00
Dave Reisner d9569720dd docs/libcurl: fix formatting in manpage
Commit c3ea3eb6 introduced some minor cosmetic errors in
curl_mutli_socket_action(3).
2013-04-16 09:52:12 +02:00
Dan Fandrich 31c6e7af6a FAQ: mention that the network connection can be monitored
Also note the prohibition on sharing handles across threads.
2013-04-15 22:26:18 +02:00
David Strauss 8ffbeeda80 libcurl-share.3: update what it does and does not share.
Update sharing interface documentation to provide exhaustive list of
what it does and does not share.
2013-04-12 13:35:29 +02:00
Daniel Stenberg 1d1ffaf912 THANKS: remove duplicated names 2013-04-12 12:37:47 +02:00
Daniel Stenberg 7fe95bb0d5 THANKS: added people from the 7.30.0 RELEASE-NOTES 2013-04-12 11:30:12 +02:00
Kamil Dudka 688124f0e9 curl_global_init.3: improve description of CURL_GLOBAL_ALL
Reported by: Tomas Mlcoch
2013-04-05 13:14:58 +02:00
Kamil Dudka 247b291b12 examples/multi-single.c: fix the order of destructions
... so that it adheres to the API documentation.

Reported by: Tomas Mlcoch
2013-04-05 13:10:41 +02:00
Daniel Stenberg 962eb3d9ed curl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD 2013-04-03 15:39:38 +02:00
Guenter Knauf cfb7e80991 Added dns and connect time to output. 2013-04-01 14:54:01 +02:00
Daniel Stenberg e839e7c61b BINDINGS: BBHTTP is a cocoa binding, Julia has a binding 2013-03-30 22:04:56 +01:00
Clemens Gruber b1ce7c5a6b multi-uv.c: remove unused variable 2013-03-27 15:39:42 +01:00
Clemens Gruber 142755fa5c Added libuv example multi-uv.c 2013-03-27 09:24:49 +01:00
Steve Holme 91ab2497c6 FEATURES: Small tidy up for constancy and grammar 2013-03-18 22:43:16 +00:00
Steve Holme 90110a9be0 TODO: Reordered the protocol and security sections
Moved SMTP, POP3, IMAP and New Protocol sections to be listed after the
other protocols (FTP, HTTP and TELNET) and SASL to be after SSL and
GnuTLS as these are all security related.

Additionally fixed numbering of the SSL and GnuTLS sections as they
weren't consecutive.
2013-03-18 21:43:34 +00:00
Steve Holme 2dd56991f7 FEATURES: Expanded the supported enhanced IMAP command list 2013-03-16 11:42:17 +00:00
Steve Holme ff3444c36d TODO: Corrected typo in TOC 2013-03-16 10:36:25 +00:00
Steve Holme 5e2ef3942f TODO: Added IMAP section and removed unused Other protocols section 2013-03-16 10:18:43 +00:00
Steve Holme f660fc4423 TODO: Added graceful base64 decoding failure to SMTP and POP3 2013-03-16 00:28:16 +00:00
Steve Holme 5d4e12bbea TODO: Corrected typo on section 10.2 heading 2013-03-16 00:02:40 +00:00
Steve Holme 2ba5f4bf1c TODO: Added section 10.2 Initial response to POP3 to do list 2013-03-15 23:55:31 +00:00
Linus Nielsen Feltzing 0f147887b0 Multiple pipelines and limiting the number of connections.
Introducing a number of options to the multi interface that
allows for multiple pipelines to the same host, in order to
optimize the balance between the penalty for opening new
connections and the potential pipelining latency.

Two new options for limiting the number of connections:

CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
to the same host. When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished, so we can reuse the connection.

CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished. The free connection will then be reused, if possible, or
closed if the pending handle can't reuse it.

Several new options for pipelining:

CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
pipeline is "full" when a connection is to be reused, a new connection
will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
If not, the handle will be put in a pending state until a connection is
ready (either free or a pipe got shorter).

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a transfer with a content
length that is larger than this.

CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a chunk larger than this.

CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
pipelining.

CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
pipelining.

See the curl_multi_setopt() man page for details.
2013-03-13 23:55:24 +01:00
Patrick Monnerat e60bf25107 OS400: synchronize RPG binding 2013-03-12 15:37:34 +01:00
Zdenek Pavlas 57ccdfa8d2 curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag
The flag can be used in pycurl-based applications where using the multi
interface would not be acceptable because of the performance lost caused
by implementing the select() loop in python.

Bug: http://curl.haxx.se/bug/view.cgi?id=1168
Downstream Bug: https://bugzilla.redhat.com/919127
2013-03-12 10:58:20 +01:00
Yang Tse 83a42ee20e curl.h: stricter CURL_EXTERN linkage decorations logic
No API change involved.

Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
2013-03-12 00:27:47 +01:00
Daniel Stenberg 90d7d1b727 THANKS: Latin-1'ified Jiri's name 2013-03-11 22:36:32 +01:00
Daniel Stenberg ad361d109b hiperfifo: updated to use current libevent API
Patch by: Myk Taylor
2013-03-10 19:46:19 +01:00
Cédric Deltheil 6645d2ae8f examples/getinmemory.c: abort the transfer if not enough memory
No more use exit(3) but instead tell libcurl that no byte has been
written to let it return a `CURLE_WRITE_ERROR`. In addition, check
curl easy handle return code.
2013-03-09 16:38:18 +01:00
Steve Holme b99c9f7c7f DOCS: Corrected the IMAP URL grammar of the UIDVALIDITY parameter 2013-03-07 20:53:15 +00:00
Steve Holme ad2920fa85 FEATURES: Provided a little clarity in some IMAP features 2013-03-07 18:31:48 +00:00
Steve Holme 3df1e35838 DOCS: Added the list command to the IMAP URL section
Added examples of the list command and clarified existing example URLs
following recent changes.
2013-03-07 11:51:40 +00:00
Steve Holme 7e6d2fe9ec FEATURES: Updated for recent imap additions
Updated the imap features list, corrected a typo in the smtp features
and clarified a pop3 feature.
2013-03-07 11:03:16 +00:00
Steve Holme f67bd1a344 DOCS: Added the IMAP UIDVALIDITY property to the CURLOPT_URL section 2013-02-26 22:22:26 +00:00
Steve Holme 94336d3c1e DOCS: Corrected IMAP URL examples according to RFC5092
URL examples that included the UID weren't technically correct although
would pass the curl parser.
2013-02-25 09:36:52 +00:00
Steve Holme e87a3ccc62 DOCS: Corrected layout of POP3 and IMAP URL examples
Corrected layout issues with the POP3 and IMAP URL examples introduced
in commit cb3ae6894f.
2013-02-24 00:47:38 +00:00
Steve Holme cb3ae6894f DOCS: Updated CURLOPT_URL section following recent POP3 and IMAP changes
Updated the POP3 sub-section to refer to message ID rather than mailbox.

Added an IMAP sub-section with example URLs depicting the specification
of mailbox, uid and section.
2013-02-23 23:14:12 +00:00
Steve Holme 04456a74d0 FEATURES: Updated following recent IMAP changes 2013-02-23 21:15:06 +00:00
Alexander Klauer 6b7cf6c72d Documentation: Typo in docs/CONTRIBUTE
Fixes a typo get → git in docs/CONTRIBUTE.
2013-02-22 23:22:22 +01:00
Alexander Klauer c3ea3eb6a3 libcurl documentation: clarifications and typos
* Elaborates on default values of some curl_easy_setopt() options.
* Reminds the user to cast variadic arguments to curl_easy_setopt() to
  'void *' where curl internally interprets them as such.
* Clarifies the working of the CURLOPT_SEEKFUNCTION option for
  curl_easy_setopt().
* Fixes typo 'forth' → 'fourth'.
* Elaborates on CURL_SOCKET_TIMEOUT.
* Adds some missing periods.
* Notes that the return value of curl_version() must not be passed to
  free().
2013-02-22 23:22:22 +01:00
Alexander Klauer 790abe3fbe libcurl documentation: updates HTML index
* Adds several links to documentation of library functions which were
  missing.
* Marks documentation of deprecated library functions "(deprecated)".
* Removes spurious .html suffixes.
2013-02-22 23:22:21 +01:00
Nick Zitzmann 44a3cdb9db FEATURES: why yes, we do support metalink
I just noticed Metalink support wasn't listed as a feature of the tool.
2013-02-19 19:15:32 -07:00
Nick Zitzmann 79f1bf32d0 docs: schannel and darwinssl documentation improvements
Schannel and darwinssl use the certificates built into the
OS to do vert verification instead of bundles. darwinssl
is thread-safe. Corrected typos in the NSS docs.
2013-02-18 16:27:30 -07:00
Daniel Stenberg 10c1b11f88 docs: refer to CURLOPT_ACCEPT_ENCODING instead of the old name 2013-02-17 19:30:12 +01:00
Daniel Stenberg d4703fa428 Guile-curl: a new libcurl binding 2013-02-16 14:26:28 +01:00
Yang Tse cc8fad9a7f move msvc IDE related files to 'vs' directory tree
Use 'vs' directory tree given that 'vc' intended one clashes
with an already existing build target in file Makefile.dist.
2013-02-13 17:14:21 +01:00
Alessandro Ghedini b333504327 htmltitle: fix suggested build command 2013-02-10 18:54:56 +01:00
Guenter Knauf 5be2499e16 Updated dependency libs. 2013-02-09 01:35:11 +01:00
Daniel Stenberg 07f97809b8 FAQ: refreshed some phrases 2013-02-08 09:58:23 +01:00
Daniel Stenberg 4ed469a56f Revert "vc: remove explicit MSVC6 IDE project file and documentation"
This reverts commit 0e66d5878e.
2013-02-07 14:58:01 +01:00
Daniel Stenberg 0e66d5878e vc: remove explicit MSVC6 IDE project file and documentation
VC6 is _very_ old and we provide working makefiles even for that
compiler. Users who build with the IDE never use that method and project
file anyway and it was just lingering in the root dir.
2013-02-06 23:30:41 +01:00
Daniel Stenberg 7be925aefc build: move Android.mk to packages/Android/ 2013-02-06 23:08:05 +01:00
Nick Zitzmann 12dbb8aedc FEATURES: More NTLM and SSL changes, added two others, fixed typo
Added IDN and HTTP data compression as they were left out of the
document until now.

Added notes for qssl, schannel and Secure Transport supporting SSLv2,
Secure Transport supports NTLM, and axTLS does not support SSLv3.

There was also a typo; "AUTH TSL" should be "AUTH TLS".
2013-02-06 19:42:44 +00:00
Daniel Stenberg 0a4bb75bc5 THANKS: 12 contributors from 7.29.0 2013-02-06 11:52:22 +01:00
Steve Holme add37cc49f FEATURES: Removed erroneous whitespace
Removed whitespace introduced in commit 5f8f20f5e6 that caused
formatting issues when generating the website docs.
2013-02-06 09:29:50 +00:00
Steve Holme 12f4ea50f7 FEATURES: Added SSPI to list of NTLM libraries 2013-02-06 00:36:54 +00:00
Steve Holme ae6b5f1772 FEATURES: Added Secure Transport and qssl to list of SSL libraries 2013-02-06 00:30:08 +00:00
Steve Holme 5f8f20f5e6 FEATURES: Added email feature set
Added SMTP, SMTPS, POP3, POP3S, IMAP and IMAPS features.
2013-02-06 00:28:50 +00:00
Daniel Stenberg 9ca812f386 FAQ: clarify 5.13 How do I stop an ongoing transfer
Rich Gray provided good feedback and we now clarify that you can in fact
stop a multi transfer at any point you like by removing the easy handle.
2013-02-04 22:46:51 +01:00
Guenter Knauf e243d80dea Updated date. 2013-01-30 18:14:00 +01:00
Guenter Knauf 3d7b7b6b84 Fixed debug.c to work again unchanged.
Added CURLOPT_FOLLOWLOCATION since example.com is now redirected.
2013-01-29 13:04:41 +01:00
Nick Zitzmann 23a47ef01b FAQ: "Darwinssl" is AKA "Secure Transport" and supports NTLM 2013-01-28 22:33:11 +01:00
Kamil Dudka 826e1b81fa docs: fix typos in man pages
Reported by: Jiri Jaburek
Bug: https://bugzilla.redhat.com/896544
2013-01-28 14:22:48 +01:00
Kamil Dudka 11dde6ac72 docs: update the comments about loading CA certs with NSS
Bug: https://bugzilla.redhat.com/696783
2013-01-28 14:12:57 +01:00
Guenter Knauf 0494da830b Updated dependency libs. 2013-01-28 01:25:39 +01:00
Guenter Knauf 5243b18f3d Fixed simple.c to work again unchanged.
Added CURLOPT_FOLLOWLOCATION since example.com is now redirected.
2013-01-28 00:42:16 +01:00
Daniel Stenberg 045c734e16 FAQ: update the SSL lib list and wording in question 2.2 2013-01-23 13:17:36 +01:00
Ulion 2698520aef formpost: support quotes, commas and semicolon in file names
- document the double-quote and backslash need be escaped if quoting.
- libcurl formdata escape double-quote in filename by backslash.
- curl formparse can parse filename both contains '"' and ',' or ';'.
- curl now can uploading file with ',' or ';' in filename.

Bug: http://curl.haxx.se/bug/view.cgi?id=1171
2013-01-22 15:43:29 +01:00
Daniel Stenberg 0ed4a0923c FAQ: 3.22 curl -X gives me HTTP problems 2013-01-21 14:34:54 +01:00
Daniel Stenberg 34ae007d4d curl_easy_send.3: document return codes
Reported by: Craig Davison
Bug: http://curl.haxx.se/mail/lib-2013-01/0234.html
2013-01-19 22:58:56 +01:00
Daniel Stenberg d90b9aee64 curl_easy_recv.3: document return codes
Reported by: Craig Davison
Bug: http://curl.haxx.se/mail/lib-2013-01/0234.html
2013-01-19 22:58:02 +01:00
Daniel Stenberg c43127414d always-multi: always use non-blocking internals
Remove internal separated behavior of the easy vs multi intercace.
curl_easy_perform() is now using the multi interface itself.

Several minor multi interface quirks and bugs have been fixed in the
process.

Much help with debugging this has been provided by: Yang Tse
2013-01-17 19:40:35 +01:00
Steve Holme 18e7c14f30 TODO: Updated following IMAP SASL additions 2013-01-14 18:34:32 +00:00
Daniel Stenberg 99229b74eb BUGS: update bug tracker URL
... and refresh number of lines of code
2013-01-13 23:16:11 +01:00
Nick Zitzmann 06558695d5 docs: the --with-darwinssl option is available on Apple OSes 2013-01-09 15:53:29 +01:00
Yang Tse 5a053ffe80 build: fix circular header inclusion with other packages
This commit renames lib/setup.h to lib/curl_setup.h and
renames lib/setup_once.h to lib/curl_setup_once.h.

Removes the need and usage of a header inclusion guard foreign
to libcurl. [1]

Removes the need and presence of an alarming notice we carried
in old setup_once.h [2]

----------------------------------------

1 - lib/setup_once.h used __SETUP_ONCE_H macro as header inclusion guard
    up to commit ec691ca3 which changed this to HEADER_CURL_SETUP_ONCE_H,
    this single inclusion guard is enough to ensure that inclusion of
    lib/setup_once.h done from lib/setup.h is only done once.

    Additionally lib/setup.h has always used __SETUP_ONCE_H macro to
    protect inclusion of setup_once.h even after commit ec691ca3, this
    was to avoid a circular header inclusion triggered when building a
    c-ares enabled version with c-ares sources available which also has
    a setup_once.h header. Commit ec691ca3 exposes the real nature of
    __SETUP_ONCE_H usage in lib/setup.h, it is a header inclusion guard
    foreign to libcurl belonging to c-ares's setup_once.h

    The renaming this commit does, fixes the circular header inclusion,
    and as such removes the need and usage of a header inclusion guard
    foreign to libcurl. Macro __SETUP_ONCE_H no longer used in libcurl.

2 - Due to the circular interdependency of old lib/setup_once.h and the
    c-ares setup_once.h header, old file lib/setup_once.h has carried
    back from 2006 up to now days an alarming and prominent notice about
    the need of keeping libcurl's and c-ares's setup_once.h in sync.

    Given that this commit fixes the circular interdependency, the need
    and presence of mentioned notice is removed.

    All mentioned interdependencies come back from now old days when
    the c-ares project lived inside a curl subdirectory. This commit
    removes last traces of such fact.
2013-01-09 00:49:50 +01:00
Daniel Stenberg 75fa3542d0 Revert "configure: update req to 2.59"
This reverts commit 7a6d8b1b1a.

URL: http://curl.haxx.se/mail/lib-2013-01/0103.html
2013-01-08 19:02:13 +01:00
Daniel Stenberg 7a6d8b1b1a configure: update req to 2.59
I ran the 2.59 version of autoupdate that updates obsoleted configure.ac
constructs to the 2.59 standard. With a little hands-on fiddling I
prevented it from ruining the quoting in AS_HELP_STRING() uses.

I subsequently also bumped the required autoconf version to 2.59
(released in December 2003) as I don't have an older autoconf version
around to test with and I can't be bothered to install one either...

Inspired by: Björn Stenberg
Related blog post: http://cazfi.livejournal.com/195108.html
2013-01-08 11:46:50 +01:00
Yang Tse 4a5aa6682d Revert changes relative to lib/*.[ch] recent renaming
This reverts renaming and usage of lib/*.h header files done
28-12-2012, reverting 2 commits:

  f871de0... build: make use of 76 lib/*.h renamed files
  ffd8e12... build: rename 76 lib/*.h files

This also reverts removal of redundant include guard (redundant thanks
to changes in above commits) done 2-12-2013, reverting 1 commit:

  c087374... curl_setup.h: remove redundant include guard

This also reverts renaming and usage of lib/*.c source files done
3-12-2013, reverting 3 commits:

  13606bb... build: make use of 93 lib/*.c renamed files
  5b6e792... build: rename 93 lib/*.c files
  7d83dff... build: commit 13606bbfde follow-up 1

Start of related discussion thread:

  http://curl.haxx.se/mail/lib-2013-01/0012.html

Asking for confirmation on pushing this revertion commit:

  http://curl.haxx.se/mail/lib-2013-01/0048.html

Confirmation summary:

  http://curl.haxx.se/mail/lib-2013-01/0079.html

NOTICE: The list of 2 files that have been modified by other
intermixed commits, while renamed, and also by at least one
of the 6 commits this one reverts follows below. These 2 files
will exhibit a hole in history unless git's '--follow' option
is used when viewing logs.

  lib/curl_imap.h
  lib/curl_smtp.h
2013-01-06 18:20:27 +01:00
Daniel Stenberg e0ba958e28 mk-ca-bundle.1: convert syntax to what's used elsewhere
... mostly to make sure roffit works better on it, but also to make our
man pages use a more unified style.
2013-01-06 00:15:36 +01:00
Daniel Stenberg 8f80f412fb mk-ca-bundle.1: mention new -f, fix outputfile output
also edited a few sentences to become more verbose
2013-01-05 23:51:12 +01:00
Daniel Stenberg 65e8ba8e1d writeout: -w now supports remote_ip/port and local_ip/port
Added mention to the curl.1 man page.

Test case 1223 verifies remote_ip/port.
2013-01-03 23:16:38 +01:00
Daniel Stenberg 8f13e3ddb9 INTERNALS: remove "footnote" never used 2013-01-03 13:00:12 +01:00
Daniel Stenberg dbf93a8973 FAQ: Can I write a server with libcurl? 2013-01-03 10:15:20 +01:00
Yang Tse 13606bbfde build: make use of 93 lib/*.c renamed files
93 *.c source files renamed to use our standard naming scheme.

This change affects 77 files in libcurl's source tree.
2013-01-03 05:50:26 +01:00
Daniel Stenberg 8f0171bdd4 INSTALL: unify the SSL library texts
Make them smaller and more similar for each separate SSL library
supported by the configure build
2013-01-03 00:04:08 +01:00
Yang Tse f947de4bb5 examples/certinfo.c: fix compiler warning 2012-12-29 22:17:06 +01:00
Yang Tse f871de0064 build: make use of 76 lib/*.h renamed files
76 private header files renamed to use our standard naming scheme.

This change affects 322 files in libcurl's source tree.
2012-12-28 19:37:11 +01:00
Daniel Stenberg 2ee2693a47 curl.1: extend the -X, --request description 2012-12-27 23:33:14 +01:00
Yang Tse ae2a2c9931 curl tool: renaming hugehelp files to tool_hugehelp 2012-12-26 23:30:54 +01:00
Yang Tse f4b60e7f14 examples/simplessl.c: fix compiler warning 2012-12-11 15:03:17 +01:00
Yang Tse 85b77209ae examples/externalsocket.c: fix SunPro compilation issue 2012-12-10 18:06:35 +01:00
Yang Tse e880680fb6 examples/simplessl.c: fix compiler warning 2012-12-10 17:55:18 +01:00
Yang Tse d758234ade examples/anyauthput.c: fix Tru64 compilation issue 2012-12-10 15:42:12 +01:00
Yang Tse fe2b2a3b9d examples: fix compilation issues - commit 7332a7cafb follow-up 2012-12-05 12:59:14 +01:00
Yang Tse 7332a7cafb examples: fix compilation issues - commit 23f8dca6fb follow-up 2012-12-05 11:43:40 +01:00
Yang Tse 23f8dca6fb examples: fix compilation issues 2012-12-05 00:37:57 +01:00
Yang Tse b908376bef build: explain current role of LIBS in our Makefile.am files
BLANK_AT_MAKETIME may be used in our Makefile.am files to blank
LIBS variable used in generated makefile at makefile processing
time. Doing this functionally prevents LIBS from being used for
all link targets in given makefile.
2012-12-04 23:32:05 +01:00
Yang Tse 6bd6b3a8a1 build: prevent global LIBS from influencing examples build targets 2012-11-30 19:12:18 +01:00
Daniel Stenberg 68e2c9a85f FAQ: clarify the 3.4 section
You can do custom commands to FTP without sending anything by using the
CURLOPT_NOBODY, which -I sets.
2012-11-25 19:44:49 +01:00
Lijo Antony 616a0099d1 examples: Updated asiohiper.cpp to remove connect from opensocket
Blocking connect on the socket has been removed from opensocket
callback. opensocket just opens a new socket and gives it back to
libcurl and libcurl will take care of the connect. sockopt_callback has
also been removed, as it is no longer required.
2012-11-25 18:37:07 +01:00
Steve Holme 91dc73ef44 DOCS: Updated CURLOPT_CONNECT_ONLY to reflect usage in other protocols 2012-11-23 13:43:53 +00:00
Daniel Stenberg f435d6699d htmltitle: use .cpp extension for C++ examples 2012-11-21 18:26:42 +01:00
Lijo Antony ba33665d1f examples: Added a c++ example of using multi with boost::asio
Added an example for demonstrating the usage of curl multi interface
with boost::asio in c++
2012-11-21 18:21:31 +01:00