summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* system.h: Add sparcv8plus to oracle/sunpro 32-bit detectionDagobert Michelsen2018-04-151-1/+3
| | | | | | | | | | | With specific compiler options selecting the arch like -xarch=sparc on newer compilers like Oracle Studio 12.4 there is no definition of __sparcv8 but __sparcv8plus which means the V9 ISA, but limited to the 32ÎíÎñbit subset defined by the V8plus ISA specification, without the Visual Instruction Set (VIS), and without other implementation-specific ISA extensions. So it should be the same as __sparcv8. Closes https://github.com/curl/curl/pull/2491
* resolve: add CURLOPT_DNS_SHUFFLE_ADDRESSESRick Deist2018-03-171-0/+3
| | | | | | | | | | | This patch adds CURLOPT_DNS_SHUFFLE_ADDRESSES to explicitly request shuffling of IP addresses returned for a hostname when there is more than one. This is useful when the application knows that a round robin approach is appropriate and is willing to accept the consequences of potentially discarding some preference order returned by the system's implementation. Closes #1694
* CURLOPT_HAPROXYPROTOCOL: support the HAProxy PROXY protocolLawrence Matthews2018-03-171-0/+3
| | | | | | Add --haproxy-protocol for the command line tool Closes #2162
* RELEASE-NOTES: toward 7.60.0Daniel Stenberg2018-03-161-3/+3
|
* spelling fixesViktor Szakats2018-02-231-2/+2
| | | | | | | | Detected using the `codespell` tool. Also contains one URL protocol upgrade. Closes https://github.com/curl/curl/pull/2334
* url: Add option CURLOPT_RESOLVER_START_FUNCTIONFrancisco Sedano2018-02-212-1/+22
| | | | | | | | | | | | - Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that will be called every time before a new resolve request is started (ie before a host is resolved) with a pointer to backend-specific resolver data. Currently this is only useful for ares. - Add new option CURLOPT_RESOLVER_START_DATA to set a user pointer to pass to the resolver start callback. Closes https://github.com/curl/curl/pull/2311
* lib: CURLOPT_HAPPY_EYEBALLS_TIMEOUT => CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MSJay Satiro2018-02-211-2/+2
| | | | | | | | | | | | | | | | - In keeping with the naming of our other connect timeout options rename CURLOPT_HAPPY_EYEBALLS_TIMEOUT to CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS. This change adds the _MS suffix since the option expects milliseconds. This is more intuitive for our users since other connect timeout options that expect milliseconds use _MS such as CURLOPT_TIMEOUT_MS, CURLOPT_CONNECTTIMEOUT_MS, CURLOPT_ACCEPTTIMEOUT_MS. The tool option already uses an -ms suffix, --happy-eyeballs-timeout-ms. Follow-up to 2427d94 which added the lib and tool option yesterday. Ref: https://github.com/curl/curl/pull/2260
* url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUTAnders Bakken2018-02-201-0/+8
| | | | | | | | | | | | | | - Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy eyeball timeout value. - Add new optval macro CURL_HET_DEFAULT to represent the default happy eyeballs timeout value (currently 200 ms). - Add new tool option --happy-eyeballs-timeout-ms to expose CURLOPT_HAPPY_EYEBALLS_TIMEOUT. The -ms suffix is used because the other -timeout options in the tool expect seconds not milliseconds. Closes https://github.com/curl/curl/pull/2260
* TODO fixed: Detect when called from within callbacksBjörn Stenberg2018-02-152-0/+4
| | | | Closes #2302
* curlver: next release will be 7.59.0Daniel Stenberg2018-01-301-4/+4
|
* curl/curl.h: fix comment typo for CURLOPT_DNS_LOCAL_IP6Michał Janiszewski2018-01-301-1/+1
| | | | Closes #2275
* time: support > year 2038 time stamps for system with 32bit longDaniel Stenberg2018-01-301-1/+6
| | | | | | | | ... with the introduction of CURLOPT_TIMEVALUE_LARGE and CURLINFO_FILETIME_T. Fixes #2238 Closes #2264
* bump: towards 7.58.1Daniel Stenberg2018-01-251-5/+5
|
* system.h: Additionally check __LONG_MAX__ for defining curl_off_tDimitrios Apostolou2018-01-091-2/+4
| | | | | | | __SIZEOF_LONG__ was introduced in GCC 4.4, __LONG_MAX__ was introduced in GCC 3.3. Closes #2216
* Revert "curl/system.h: fix compilation with gcc on AIX PPC and IA64 HP-UX"Jay Satiro2018-01-021-2/+1
| | | | | | | | | | This reverts commit c97648b55080343bb371522bf4233e94a2a13a99. SIZEOF_LONG should not be checked in system.h since that macro is only defined when building libcurl. Ref: https://github.com/curl/curl/pull/2186#issuecomment-354767080 Ref: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
* curl/system.h: fix compilation with gcc on AIX PPC and IA64 HP-UXDimitrios Apostolou2017-12-221-1/+2
| | | | Closes https://github.com/curl/curl/pull/2186
* curl.h: remove incorrect comment about ERRORBUFFERDaniel Stenberg2017-12-081-1/+1
| | | | ... error messages are _not_ sent to stderr if this is not set.
* RELEASE-NOTES: synced with b261c44e8Daniel Stenberg2017-12-061-4/+4
| | | | ... and bump next release version to 7.58.0
* Added support for libssh SSH SCP back-endNikos Mavrogiannopoulos2017-12-011-1/+4
| | | | | | | | | | libssh is an alternative library to libssh2. https://www.libssh.org/ That patch set also introduces support for ECDSA ed25519 keys, as well as gssapi authentication. Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
* curlver: towards 7.57.1Daniel Stenberg2017-12-011-3/+3
|
* global_init: ignore CURL_GLOBAL_SSL's absenseDaniel Stenberg2017-11-271-1/+1
| | | | | | | | | | | | | | | | | This bit is no longer used. It is not clear what it meant for users to "init the TLS" in a world with different TLS backends and since the introduction of multissl, libcurl didn't properly work if inited without this bit set. Not a single user responded to the call for users of it: https://curl.haxx.se/mail/lib-2017-11/0072.html Reported-by: Evgeny Grin Assisted-by: Jay Satiro Fixes #2089 Fixes #2083 Closes #2107
* HTTP: implement Brotli content encodingPatrick Monnerat2017-11-051-1/+9
| | | | | | | | | | | | This uses the brotli external library (https://github.com/google/brotli). Brotli becomes a feature: additional curl_version_info() bit and structure fields are provided for it and CURLVERSION_NOW bumped. Tests 314 and 315 check Brotli content unencoding with correct and erroneous data. Some tests are updated to accomodate with the now configuration dependent parameters of the Accept-Encoding header.
* curlver.h: next expected release is 7.57.0Daniel Stenberg2017-10-081-3/+3
|
* curl.h: include <sys/select.h> on cygwin tooDaniel Stenberg2017-09-271-0/+1
| | | | | | | | | | | When building with -std=c++14 on cygwin, this header won't be automatically included as it otherwise is. The <sys/select.h> include decision should ideally be reversed and be avoided where that header file doesn't exist. Reported-by: Ian Fette Fixes #1925
* vtls: provide curl_global_sslset() even in non-SSL buildsDaniel Stenberg2017-09-221-1/+2
| | | | | | | | | ... it just returns error: Bug: https://github.com/curl/curl/commit/1328f69d53f2f2e937696ea954c480412b018451#commitcomment-24470367 Reported-by: Marcel Raad Closes #1906
* form/mime: field names are not allowed to contain zero-valued bytes.Patrick Monnerat2017-09-221-2/+1
| | | | | Also suppress length argument of curl_mime_name() (names are always zero-terminated).
* code style: remove wrong uses of multiple spacesDaniel Stenberg2017-09-121-2/+2
| | | | Closes #1878
* curl.h: use lower case curl_mime* as for all public symbolsDaniel Stenberg2017-09-051-3/+3
|
* curl.h: fix "unused checksrc ignore", remove dangling referenceDaniel Stenberg2017-09-041-4/+1
| | | | ... to a README file that doesn't exist anymore
* docs: Update to secure URL versionsViktor Szakats2017-09-041-1/+1
|
* curl.h: make the curl_strequal() protos use the same styleDaniel Stenberg2017-09-041-2/+2
| | | | ... as the other functions. Makes it easier to machine-parse!
* headers: move the global_sslset() proto from multi.h to curl.hDaniel Stenberg2017-09-032-61/+61
| | | | | | As it was added to multi.h simply to not break test 1135, which now has been disabled due to the mime API addition anyway and su we can now move the sslset stuff to where the other curl_global_* prototypes are.
* mime: use size_t instead of ssize_t in public API interface.Patrick Monnerat2017-09-031-2/+4
| | | | | | | | | To support telling a string is nul-terminated, symbol CURL_ZERO_TERMINATED has been introduced. Documentation updated accordingly. symbols in versions updated. Added form API symbols deprecation info.
* mime: new MIME API.Patrick Monnerat2017-09-022-0/+136
| | | | | | | Available in HTTP, SMTP and IMAP. Deprecates the FORM API. See CURLOPT_MIMEPOST. Lib code and associated documentation.
* polarssl: fix multissl breakageDaniel Stenberg2017-08-311-2/+2
| | | | | | Reported-by: Dan Fandrich Bug: https://curl.haxx.se/mail/lib-2017-08/0121.html Closes #1843
* curl.h: CURLSSLBACKEND_WOLFSSL used wrong valueDaniel Stenberg2017-08-301-3/+3
| | | | | | | | | | The CURLSSLBACKEND_WOLFSSL is supposed to be an alias for CURLSSLBACKEND_CYASSL, but used an erronous value. To reduce the risk for a similar mistake, define the backend aliases to use the enum values instead. Reported-by: Gisle Vanem Bug: https://curl.haxx.se/mail/lib-2017-08/0120.html
* curl/multi.h: remove duplicated closing c++ braceDaniel Stenberg2017-08-291-5/+1
| | | | | | | Regression since 1328f69d53f2f2e93 Fixes #1841 Reported-by: Andrei Karas
* version: add the CURL_VERSION_MULTI_SSL feature flagJohannes Schindelin2017-08-281-0/+1
| | | | | | | This new feature flag reports When cURL was built with multiple SSL backends. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* vtls: introduce curl_global_sslset()Johannes Schindelin2017-08-282-5/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's add a compile time safe API to select an SSL backend. This function needs to be called *before* curl_global_init(), and can be called only once. Side note: we do not explicitly test that it is called before curl_global_init(), but we do verify that it is not called multiple times (even implicitly). If SSL is used before the function was called, it will use whatever the CURL_SSL_BACKEND environment variable says (or default to the first available SSL backend), and if a subsequent call to curl_global_sslset() disagrees with the previous choice, it will fail with CURLSSLSET_TOO_LATE. The function also accepts an "avail" parameter to point to a (read-only) NULL-terminated list of available backends. This comes in real handy if an application wants to let the user choose between whatever SSL backends the currently available libcurl has to offer: simply call curl_global_sslset(-1, NULL, &avail); which will return CURLSSLSET_UNKNOWN_BACKEND and populate the avail variable to point to the relevant information to present to the user. Just like with the HTTP/2 push functions, we have to add the function declaration of curl_global_sslset() function to the header file *multi.h* because VMS and OS/400 require a stable order of functions declared in include/curl/*.h (where the header files are sorted alphabetically). This looks a bit funny, but it cannot be helped. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* vtls: refactor out essential information about the SSL backendsJohannes Schindelin2017-08-281-0/+5
| | | | | | | | | | | | | | | There is information about the compiled-in SSL backends that is really no concern of any code other than the SSL backend itself, such as which function (if any) implements SHA-256 summing. And there is information that is really interesting to the user, such as the name, or the curl_sslbackend value. Let's factor out the latter into a publicly visible struct. This information will be used in the upcoming API to set the SSL backend globally. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* system.h: include sys/poll.h for AIXDaniel Stenberg2017-08-271-0/+12
| | | | | | | | | ... to get the event/revent defines that might be used for the poll struct. Reported-by: Michael Smith Fixes #1828 Closes #1833
* curl/system.h: fix build for hppaDaniel Stenberg2017-08-201-1/+1
| | | | | Reported-by: John David Anglin Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872502#10
* curl/system.h: check for __ppc__ as wellDaniel Stenberg2017-08-181-2/+2
| | | | | | | | | | ... regression since issue #1774 (commit 10b3df10596a) since obviously some older gcc doesn't know __powerpc__ while some newer doesn't know __ppc__ ... Fixes #1797 Closes #1798 Reported-by: Ryan Schmidt
* system.h: remove all CURL_SIZEOF_* definesDaniel Stenberg2017-08-171-90/+0
| | | | | | | ... as they're not used externally and internally we check for the sizes already in configure etc. Closes #1767
* curl/system.h: checksrc complianceDaniel Stenberg2017-08-171-4/+6
|
* ssh: add the ability to enable compression (for SCP/SFTP)Viktor Szakats2017-08-171-0/+3
| | | | | | | | | | | | | | | | | | The required low-level logic was already available as part of `libssh2` (via `LIBSSH2_FLAG_COMPRESS` `libssh2_session_flag()`[1] option.) This patch adds the new `libcurl` option `CURLOPT_SSH_COMPRESSION` (boolean) and the new `curl` command-line option `--compressed-ssh` to request this `libssh2` feature. To have compression enabled, it is required that the SSH server supports a (zlib) compatible compression method and that `libssh2` was built with `zlib` support enabled. [1] https://www.libssh2.org/libssh2_session_flag.html Ref: https://github.com/curl/curl/issues/1732 Closes https://github.com/curl/curl/pull/1735
* curlver: toward 7.56.0?Daniel Stenberg2017-08-151-4/+4
|
* curl/system.h: GCC doesn't define __ppc__ on PowerPC, uses __powerpc__Alex Potapenko2017-08-131-1/+1
| | | | Closes #1774
* curl/system.h: add Oracle Solaris StudioDaniel Stenberg2017-08-121-1/+25
| | | | Fixes #1752
* curl/system.h: support more architecturesThomas Petazzoni2017-08-111-2/+3
| | | | | | | | | | | | | | | | | The long list of architectures in include/curl/system.h is annoying to maintain, and needs to be extended for each and every architecture to support. Instead, let's rely on the __SIZEOF_LONG__ define of the gcc compiler (we are in the GNUC condition anyway), which tells us if long is 4 bytes or 8 bytes. This fixes the build of libcurl 7.55.0 on architectures such as OpenRISC or ARC. Closes #1766 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>