summaryrefslogtreecommitdiff
path: root/include/curl
Commit message (Collapse)AuthorAgeFilesLines
* includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg2017-06-148-1546/+345
| | | | | | | | Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
* typecheck-gcc: allow CURLOPT_STDERR to be NULL tooDaniel Stenberg2017-06-051-2/+3
|
* typecheck-gcc.h: check CURLINFO_CERTINFODaniel Stenberg2017-06-011-0/+9
| | | | | | ... and update the certinfo.c example accordingly. Fixes https://github.com/curl/curl/issues/846
* typecheck-gcc.h: check CURLINFO_TLS_SSL_PTR and CURLINFO_TLS_SESSIONDaniel Stenberg2017-06-011-0/+10
| | | | | ... so that they get the required "struct curl_tlssessioninfo **" arguments.
* typecheck-gcc.h: separate getinfo slist checks from other pointersDaniel Stenberg2017-06-012-6/+7
| | | | Fixes #1524
* curl: show the libcurl release date in --version outputDaniel Stenberg2017-05-141-3/+3
| | | | | | | | | | | | | | | | | ... and support and additional "security patched" date for those who enhance older versions that way. Pass on the define CURL_PATCHSTAMP with a date for that. Building with non-release headers shows the date as [unreleased]. Also: this changes the date format generated in the curlver.h file to be "YYYY-MM-DD" (no name of the day or month, no time, no time zone) to make it easier on the eye and easier to parse. Example (new) date string: 2017-05-09 Suggested-by: Brian Childs Closes #1474
* typecheck-gcc: add support for CURLINFO_SOCKETMarcel Raad2017-05-031-0/+9
| | | | Closes https://github.com/curl/curl/pull/1452
* typecheck-gcc: add missing string optionsMarcel Raad2017-05-031-0/+14
| | | | Closes https://github.com/curl/curl/pull/1452
* typecheck-gcc: fix _curl_is_slist_infoMarcel Raad2017-04-251-1/+1
| | | | | | | | | | | | | | | | | Info values starting with CURLINFO_SOCKET expect a curl_socket_t, not a curl_slist argument. This fixes the following GCC warning when building the examples with --enable-optimize: ../../include/curl/typecheck-gcc.h:126:42: warning: call to ‘_curl_easy_getinfo_err_curl_slist’ declared with attribute warning: curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info [enabled by default] sendrecv.c:90:11: note: in expansion of macro ‘curl_easy_getinfo’ res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd); Closes https://github.com/curl/curl/pull/1447
* typecheck-gcc: handle function pointers properlyMarcel Raad2017-04-211-53/+54
| | | | | | | | | | | | | | | | | | | All the callbacks passed to curl_easy_setopt are defined as function pointers. The possibility to pass both functions and function pointers was handled for the callbacks that typecheck-gcc.h defined as compatible, but not for the public callback types themselves. This makes all compatible callback types defined in typecheck-gcc.h function pointers too and checks all functions uniformly with _curl_callback_compatible, which handles both functions and function pointers. A symptom of the problem was a warning in tool_operate.c with --disable-libcurl-option and without --enable-debug as that file passes the callback functions to curl_easy_setopt directly. Fixes https://github.com/curl/curl/issues/1403 Closes https://github.com/curl/curl/pull/1404
* bump: start working on next releaseDaniel Stenberg2017-04-191-3/+3
|
* system.h: fix mingw sectionDaniel Stenberg2017-04-111-1/+14
| | | | | | Reported-by: Marcel Raad Fixes #1408 Closes #1409
* system.h: add section for tccDaniel Stenberg2017-04-071-0/+13
| | | | Closes #1397
* system.h: set sizeof long to 4 on "default 32 bit" systemsDaniel Stenberg2017-04-061-0/+1
| | | | | Triggered a test failure on test 1541 for the build known as "Linux 4.4 i686 tcc 0.9.26 glibc 2.20"
* include: curl/system.h is a run-time version of curlbuild.hDaniel Stenberg2017-04-034-26/+461
| | | | | | | | | | | | | | | | | | system.h is aimed to replace curlbuild.h at a later point in time when we feel confident system.h works sufficiently well. curl/system.h is currently used in parallel with curl/curlbuild.h curl/system.h determines a data sizes, data types and include file status based on available preprocessor defines instead of getting generated at build-time. This, in order to avoid relying on a build-time generated file that makes it complicated to do 32 and 64 bit bields from the same installed set of headers. Test 1541 verifies that system.h comes to the same conclusion that curlbuild.h offers. Closes #1373
* spelling fixesklemens2017-03-262-3/+3
| | | | Closes #1356
* url: add option CURLOPT_SUPPRESS_CONNECT_HEADERSDesmond O. Chang2017-03-121-0/+3
| | | | | | | | | | | | | | - Add new option CURLOPT_SUPPRESS_CONNECT_HEADERS to allow suppressing proxy CONNECT response headers from the user callback functions CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION. - Add new tool option --suppress-connect-headers to expose CURLOPT_SUPPRESS_CONNECT_HEADERS and allow suppressing proxy CONNECT response headers from --dump-header and --include. Assisted-by: Jay Satiro Assisted-by: CarloCannas@users.noreply.github.com Closes https://github.com/curl/curl/pull/783
* bump: next release will be known as 7.54.0Daniel Stenberg2017-03-081-4/+4
| | | | ...due to the newly added CURL_SSLVERSION_MAX_* functionality
* vtls: add options to specify range of enabled TLS versionsJozef Kralik2017-03-081-0/+12
| | | | | | | This commit introduces the CURL_SSLVERSION_MAX_* constants as well as the --tls-max option of the curl tool. Closes https://github.com/curl/curl/pull/1166
* bump: work on the next releaseDaniel Stenberg2017-02-241-3/+3
|
* bump: 7.53.1 coming upDaniel Stenberg2017-02-231-3/+3
| | | | synced with df665f4df0f7a352
* CURLOPT_BUFFERSIZE: support enlarging receive bufferRichy Kim2017-01-191-0/+5
| | | | | | | | | | Replace use of fixed macro BUFSIZE to define the size of the receive buffer. Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive buffer size. Upon setting, resize buffer if larger than the current default size up to a MAX_BUFSIZE (512KB). This can benefit protocols like SFTP. Closes #1222
* bump: next release will be 7.53.0Daniel Stenberg2017-01-162-8/+8
|
* unix_socket: add support for abstract unix domain socketIsaac Boukris2017-01-132-1/+5
| | | | | | | | | | | | | | | | | | | | | In addition to unix domain sockets, Linux also supports an abstract namespace which is independent of the filesystem. In order to support it, add new CURLOPT_ABSTRACT_UNIX_SOCKET option which uses the same storage as CURLOPT_UNIX_SOCKET_PATH internally, along with a flag to specify abstract socket. On non-supporting platforms, the abstract address will be interpreted as an empty string and fail gracefully. Also add new --abstract-unix-socket tool parameter. Signed-off-by: Isaac Boukris <iboukris@gmail.com> Reported-by: Chungtsun Li (typeless) Reviewed-by: Daniel Stenberg Reviewed-by: Peter Wu Closes #1197 Fixes #1061
* curl.h: CURLE_FUNCTION_NOT_FOUND is no longer in useDaniel Stenberg2016-12-291-1/+1
| | | | | This error code was once introduced when some library was dynamically loaded and a funciton within said library couldn't be found.
* bump: toward next releaseDaniel Stenberg2016-12-231-3/+3
|
* bump: toward next releaseDaniel Stenberg2016-12-211-3/+3
|
* preproxy: renamed what was added as SOCKS_PROXYDaniel Stenberg2016-12-161-2/+2
| | | | | | | CURLOPT_SOCKS_PROXY -> CURLOPT_PRE_PROXY Added the corresponding --preroxy command line option. Sets a SOCKS proxy to connect to _before_ connecting to a HTTP(S) proxy.
* CURLOPT_SOCKS_PROXYTYPE: removedDaniel Stenberg2016-12-161-5/+1
| | | | | | This was added as part of the SOCKS+HTTPS proxy merge but there's no need to support this as we prefer to have the protocol specified as a prefix instead.
* checksrc: stricter no-space-before-paren enforcementDaniel Stenberg2016-12-133-6/+9
| | | | In order to make the code style more uniform everywhere
* curl_version_info: add CURL_VERSION_HTTPS_PROXYOkhin Vasilij2016-11-261-1/+2
| | | | Closes #1142
* HTTPS Proxy: Implement CURLOPT_PROXY_PINNEDPUBLICKEYThomas Glanzmann2016-11-251-0/+4
|
* add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme}Frank Gevaerts2016-11-251-1/+3
| | | | | | | | | | | | | | Adds access to the effectively used protocol/scheme to both libcurl and curl, both in string and numeric (CURLPROTO_*) form. Note that the string form will be uppercase, as it is just the internal string. As these strings are declared internally as const, and all other strings returned by curl_easy_getinfo() are de-facto const as well, string handling in getinfo.c got const-ified. Closes #1137
* checksrc: white space edits to comply to stricter checksrcDaniel Stenberg2016-11-241-18/+18
|
* checksrc: code style: use 'char *name' styleDaniel Stenberg2016-11-243-11/+12
|
* proxy: Support HTTPS proxy and SOCKS+HTTP(s)Alex Rousskov2016-11-241-2/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
* bump: next version will be 7.52.0Daniel Stenberg2016-11-091-4/+4
|
* vtls: support TLS 1.3 via CURL_SSLVERSION_TLSv1_3Kamil Dudka2016-11-071-0/+1
| | | | | | Fully implemented with the NSS backend only for now. Reviewed-by: Ray Satiro
* bump: start working on 7.51.1Daniel Stenberg2016-11-031-3/+3
|
* New libcurl option to keep sending on errorMichael Kaufmann2016-09-221-0/+4
| | | | | | | | | | | | Add the new option CURLOPT_KEEP_SENDING_ON_ERROR to control whether sending the request body shall be completed when the server responds early with an error status code. This is suitable for manual NTLM authentication. Reviewed-by: Jay Satiro Closes https://github.com/curl/curl/pull/904
* errors: new alias CURLE_WEIRD_SERVER_REPLY (8)Jay Satiro2016-09-071-1/+2
| | | | | | | | Since we're using CURLE_FTP_WEIRD_SERVER_REPLY in imap, pop3 and smtp as more of a generic "failed to parse" introduce an alias without FTP in the name. Closes https://github.com/curl/curl/pull/975
* bump: toward 7.51.0Daniel Stenberg2016-09-071-4/+4
|
* curl.h: make CURL_NO_OLDIES define CURL_STRICTERDaniel Stenberg2016-08-091-0/+4
|
* bump: start working toward 7.50.2Daniel Stenberg2016-08-031-3/+3
|
* include: revert 9adf3c4 and make public types void * againDaniel Stenberg2016-07-312-1/+10
| | | | | | | | | | | | | | | | | Many applications assume the actual contents of the public types and use that do for example forward declarations (saving them from including our public header) which then breaks when we switch from void * to a struct *. I'm not convinced we were wrong, but since this practise seems widespread enough I'm willing to (partly) step down. Now libcurl uses the struct itself when it is built and it allows applications to use the struct type if CURL_STRICTER is defined at the time of the #include. Reported-by: Peter Frühberger Fixes #926
* bump: start working on 7.50.1Daniel Stenberg2016-07-211-3/+3
|
* internals: rename the SessionHandle struct to Curl_easyDaniel Stenberg2016-06-221-1/+1
|
* headers: forward declare CURL, CURLM and CURLSH as structsDaniel Stenberg2016-06-222-4/+4
| | | | | | | Instead of typedef'ing to void, typedef to their corresponding actual struct names to allow compilers to type-check. Assisted-by: Reinhard Max
* http: add CURLINFO_HTTP_VERSION and %{http_version}Frank Gevaerts2016-05-301-1/+2
| | | | | | | Adds access to the effectively used http version to both libcurl and curl. Closes #799
* bump: start the journey toward 7.50.0Daniel Stenberg2016-05-301-4/+4
|