summaryrefslogtreecommitdiff
path: root/lib/curl_setup.h
Commit message (Collapse)AuthorAgeFilesLines
* config: fix detection of restricted Windows App environmentMarc Hoersken2021-03-151-11/+10
| | | | | | | | | | Move the detection of the restricted Windows App environment in curl_setup.h before the definition of USE_WIN32_CRYPTO via included config-win32.h in case no build system is used. Reviewed-by: Marcel Raad Part of #6277
* config: remove CURL_SIZEOF_CURL_OFF_T use only SIZEOF_CURL_OFF_TDaniel Stenberg2021-03-111-4/+2
| | | | | | | Make the code consistently use a single name for the size of the "curl_off_t" type. Closes #6702
* vtls: initial implementation of rustls backendJacob Hoffman-Andrews2021-02-091-1/+1
| | | | | | | | | | | | | | | | | This adds a new TLS backend, rustls. It uses the C-to-rustls bindings from https://github.com/abetterinternet/crustls. Rustls is at https://github.com/ctz/rustls/. There is still a fair bit to be done, like sending CloseNotify on connection shutdown, respecting CAPATH, and properly indicating features like "supports TLS 1.3 ciphersuites." But it works well enough to make requests and receive responses. Blog post for context: https://www.abetterinternet.org/post/memory-safe-curl/ Closes #6350
* file: Support unicode urls on windowsStephan Szabo2021-02-091-0/+4
| | | | Closes https://github.com/curl/curl/pull/6501
* curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver useDaniel Stenberg2020-11-261-1/+1
| | | | ... so don't define it when instructed to use c-ares!
* curl: add compatibility for Amiga and GCC 6.5Oliver Urbann2020-11-201-0/+6
| | | | | | | Changes are mainly reordering and adding of includes required to compile with a more recent version of GCC. Closes #6220
* curl.se: new homeDaniel Stenberg2020-11-041-1/+1
| | | | Closes #6172
* symbian: drop supportDaniel Stenberg2020-09-221-6/+1
| | | | | | | | | The OS is deprecated. I see no traces of anyone having actually built curl for Symbian after 2012. The public headers are unmodified. Closes #5989
* win32: drop support for WinSock version 1, require version 2Marc Hoersken2020-09-021-9/+1
| | | | | | | | | | | | | | | IPv6, telnet and now also the multi API require WinSock version 2 which is available starting with Windows 95. Therefore we think it is time to drop support for version 1. Reviewed-by: Marcel Raad Reviewed-by: Jay Satiro Reviewed-by: Daniel Stenberg Reviewed-by: Viktor Szakats Follow up to #5634 Closes #5854
* ntlm: fix condition for curl_ntlm_core usageMarcel Raad2020-08-291-3/+6
| | | | | | | | | | | | `USE_WINDOWS_SSPI` without `USE_WIN32_CRYPTO` but with any other DES backend is fine, but was excluded before. This also fixes test 1013 as the condition for SMB support in configure.ac didn't match the condition in the source code. Now it does. Fixes https://github.com/curl/curl/issues/1262 Closes https://github.com/curl/curl/pull/5771
* configure: cleanup wolfssl + pkg-config conflicts when cross compiling.Ehren Bendler2020-07-271-1/+1
| | | | | | | Also choose a different wolfSSL function to test for NTLM support. Fixes #5605 Closes #5682
* multibyte: Fixed access-> waccess to file for Windows PlarformValentyn Korniienko2020-06-211-0/+4
| | | | | Reviewed-by: Marcel Raad Closes #5580
* ntlm: enable NTLM support with wolfSSLRuurd Beerstra2020-06-161-4/+5
| | | | | | | | | When wolfSSL is built with its OpenSSL API layer, it fetures the same DES* functions that OpenSSL has. This change take advantage of that. Co-authored-by: Daniel Stenberg Closes #5556 Fixes #5548
* curl_setup: support Unicode functions to open files on WindowsMarcel Raad2020-05-141-2/+8
| | | | | | | Use them only if `_UNICODE` is defined, in which case command-line arguments have been converted to UTF-8. Closes https://github.com/curl/curl/pull/3784
* lib/curl_setup: adjust the copyright year rangeDaniel Stenberg2020-03-211-1/+1
| | | | Follow-up from d820224b8
* curl_setup: define _WIN32_WINNT_[OS] symbolsJay Satiro2020-03-211-51/+7
| | | | | | | | | | | | | | | | .. because not all Windows build systems have those symbols, and even those that do may be missing newer symbols (eg the Windows 7 SDK does not define _WIN32_WINNT_WIN10). Those symbols are used in build-time logic to decide which API to use and prior to this change if the symbols were missing it would have resulted in deprecated API being used when more recent functions were available (eg GetVersionEx used instead of VerifyVersionInfo). Reported-by: FuccDucc@users.noreply.github.com Probably fixes https://github.com/curl/curl/issues/4995 Closes https://github.com/curl/curl/pull/5057
* curl_setup: fix `CURLRES_IPV6` conditionMarcel Raad2019-12-051-6/+6
| | | | | | | | | Move the definition of `CURLRES_IPV6` to before undefining `HAVE_GETADDRINFO`. Regression from commit 67a08dca27a which caused some tests to fail and others to be skipped with c-ares. Fixes https://github.com/curl/curl/issues/4673 Closes https://github.com/curl/curl/pull/4677
* curl_setup: disable IPv6 resolver without `getaddrinfo`Marcel Raad2019-12-031-1/+1
| | | | | | | | | | Also, use `CURLRES_IPV6` only for actual DNS resolution, not for IPv6 address support. This makes it possible to connect to IPv6 literals by setting `ENABLE_IPV6` even without `getaddrinfo` support. It also fixes the CMake build when using the synchronous resolver without `getaddrinfo` support. Closes https://github.com/curl/curl/pull/4662
* build: Disable Visual Studio warning "conditional expression is constant"Jay Satiro2019-12-011-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Disable warning C4127 "conditional expression is constant" globally in curl_setup.h for when building with Microsoft's compiler. This mainly affects building with the Visual Studio project files found in the projects dir. Prior to this change the cmake and winbuild build systems already disabled 4127 globally for when building with Microsoft's compiler. Also, 4127 was already disabled for all build systems in the limited circumstance of the WHILE_FALSE macro which disabled the warning specifically for while(0). This commit removes the WHILE_FALSE macro and all other cruft in favor of disabling globally in curl_setup. Background: We have various macros that cause 0 or 1 to be evaluated, which would cause warning C4127 in Visual Studio. For example this causes it: #define Curl_resolver_asynch() 1 Full behavior is not clearly defined and inconsistent across versions. However it is documented that since VS 2015 Update 3 Microsoft has addressed this somewhat but not entirely, not warning on while(true) for example. Prior to this change some C4127 warnings occurred when I built with Visual Studio using the generated projects in the projects dir. Closes https://github.com/curl/curl/pull/4658
* TLS: add BearSSL vtls implementationMichael Forney2019-11-261-1/+2
| | | | Closes #4597
* cleanup: remove DOT_CHAR completelyDaniel Stenberg2019-08-201-9/+0
| | | | | | | | | | | | Follow-up to f9c7ba9096ec The use of DOT_CHAR for ".ssh" was probably a mistake and is removed now. Pointed-out-by: Gisle Vanem Bug: https://github.com/curl/curl/pull/4230#issuecomment-522960638 Closes #4247
* plan9: add support for running on Plan 9lufia2019-07-311-0/+4
| | | | Closes #3701
* HTTP3: initial (experimental) supportDaniel Stenberg2019-07-211-0/+4
| | | | | | | | | USe configure --with-ngtcp2 or --with-quiche Using either option will enable a HTTP3 build. Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me> Closes #3500
* wolfssl: refer to it as wolfSSL onlyDaniel Stenberg2019-06-101-1/+1
| | | | | | | | | | Remove support for, references to and use of "cyaSSL" from the source and docs. wolfSSL is the current name and there's no point in keeping references to ancient history. Assisted-by: Daniel Gustafsson Closes #3903
* PolarSSL: deprecate support step 1. Removed from configure.Daniel Stenberg2019-05-221-1/+1
| | | | | | | | Also removed mentions from most docs. Discussed: https://curl.haxx.se/mail/lib-2019-05/0045.html Closes #3888
* ssh: define USE_SSH if SSH is enabled (any backend)Daniel Stenberg2019-05-061-0/+4
| | | | Closes #3846
* configure: add --with-amisslChris Young2019-03-151-5/+6
| | | | | | | | | | AmiSSL is an Amiga native library which provides a wrapper over OpenSSL. It also requires all programs using it to use bsdsocket.library directly, rather than accessing socket functions through clib, which libcurl was not necessarily doing previously. Configure will now check for the headers and ensure they are included if found. Closes #3677
* Secure Transport: no more "darwinssl"Daniel Stenberg2019-02-281-2/+2
| | | | | | | | Everyone calls it Secure Transport, now we do too. Reviewed-by: Nick Zitzmann Closes #3619
* cleanup: make local functions staticDaniel Stenberg2019-02-101-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | urlapi: turn three local-only functions into statics conncache: make conncache_find_first_connection static multi: make detach_connnection static connect: make getaddressinfo static curl_ntlm_core: make hmac_md5 static http2: make two functions static http: make http_setup_conn static connect: make tcpnodelay static tests: make UNITTEST a thing to mark functions with, so they can be static for normal builds and non-static for unit test builds ... and mark Curl_shuffle_addr accordingly. url: make up_free static setopt: make vsetopt static curl_endian: make write32_le static rtsp: make rtsp_connisdead static warnless: remove unused functions memdebug: remove one unused function, made another static
* axtls: removedDaniel Stenberg2018-11-011-1/+1
| | | | | | | | | | As has been outlined in the DEPRECATE.md document, the axTLS code has been disabled for 6 months and is hereby removed. Use a better supported TLS library! Assisted-by: Daniel Gustafsson Closes #3194
* curl_setup: define NOGDI on WindowsMarcel Raad2018-10-091-0/+3
| | | | | | | This avoids an ERROR macro clash between <wingdi.h> and <arpa/tftp.h> on MinGW. Closes https://github.com/curl/curl/pull/3113
* vtls: add a MesaLink vtls backendYiming Jing2018-09-131-1/+1
| | | | Closes #2984
* http: fix for tiny "HTTP/0.9" responseDaniel Stenberg2018-08-131-0/+5
| | | | | | | | | | | Deal with tiny "HTTP/0.9" (header-less) responses by checking the status-line early, even before a full "HTTP/" is received to allow detecting 0.9 properly. Test 1266 and 1267 added to verify. Fixes #2420 Closes #2872
* lib/curl_setup.h: remove unicode characterJay Satiro2018-07-091-1/+1
| | | | | | Follow-up to 82ce416. Ref: https://github.com/curl/curl/commit/8272ec5#commitcomment-29646818
* lib/curl_setup.h: remove unicode bom from 8272ec50f02Daniel Stenberg2018-07-091-1/+1
|
* curl_setup: include <winerror.h> before <windows.h>Marcel Raad2018-07-091-1/+2
| | | | | | | | Otherwise, only part of it gets pulled in through <windows.h> on original MinGW. Fixes https://github.com/curl/curl/issues/2361 Closes https://github.com/curl/curl/pull/2721
* configure: check for declaration of getpwuid_rBernhard Walle2018-05-311-0/+7
| | | | | | | | | | | | | On our x86 Android toolchain, getpwuid_r is implemented but the header is missing: netrc.c:81:7: error: implicit declaration of function 'getpwuid_r' [-Werror=implicit-function-declaration] Unfortunately, the function is used in curl_ntlm_wb.c, too, so I moved the prototype to curl_setup.h. Signed-off-by: Bernhard Walle <bernhard@bwalle.de> Closes #2609
* curl_setup: provide a CURL_SA_FAMILY_T type if none existsDaniel Stenberg2018-04-071-0/+5
| | | | | | | ... and use this type instead of 'sa_family_t' in the code since several platforms don't have it. Closes #2463
* vauth/cleartext: fix integer overflow checkDaniel Stenberg2018-03-201-0/+9
| | | | | | | | Make the integer overflow check not rely on the undefined behavior that a size_t wraps around on overflow. Detected by lgtm.com Closes #2408
* curl_setup: move the precautionary define of SIZEOF_TIME_TDaniel Stenberg2018-01-311-5/+5
| | | | | | ... up to before it may be used for the TIME_T_MAX/MIN logic. Reported-by: Michael Kaufmann
* time: support > year 2038 time stamps for system with 32bit longDaniel Stenberg2018-01-301-1/+1
| | | | | | | | ... with the introduction of CURLOPT_TIMEVALUE_LARGE and CURLINFO_FILETIME_T. Fixes #2238 Closes #2264
* parsedate: fix date parsing for systems with 32 bit longDaniel Stenberg2018-01-251-0/+18
| | | | | | | | | | | Make curl_getdate() handle dates before 1970 as well (returning negative values). Make test 517 test dates for 64 bit time_t. This fixes bug (3) mentioned in #2238 Closes #2250
* Fix small typo.Gisle Vanem2018-01-241-2/+2
|
* progress: calculate transfer speed on milliseconds if possibleDaniel Stenberg2018-01-081-1/+9
| | | | | | | to increase accuracy for quick transfers Fixes #2200 Closes #2206
* curl_setup.h: oops, shorten the too long lineDaniel Stenberg2017-10-271-2/+3
|
* curl_setup: Improve detection of CURL_WINDOWS_APPMartin Storsjo2017-10-271-1/+1
| | | | | | | | | | If WINAPI_FAMILY is defined, it should be safe to try to include winapifamily.h to check what the define evaluates to. This should fix detection of CURL_WINDOWS_APP if building with _WIN32_WINNT set to 0x0600. Closes #2025
* openssl: Integrate Peter Wu's SSLKEYLOGFILE implementationJay Satiro2017-09-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an adaptation of 2 of Peter Wu's SSLKEYLOGFILE implementations. The first one, written for old OpenSSL versions: https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/sslkeylog.c The second one, written for BoringSSL and new OpenSSL versions: https://github.com/curl/curl/pull/1346 Note the first one is GPL licensed but the author gave permission to waive that license for libcurl. As of right now this feature is disabled by default, and does not have a configure option to enable it. To enable this feature define ENABLE_SSLKEYLOGFILE when building libcurl and set environment variable SSLKEYLOGFILE to a pathname that will receive the keys. And in Wireshark change your preferences to point to that key file: Edit > Preferences > Protocols > SSL > Master-Secret Co-authored-by: Peter Wu Ref: https://github.com/curl/curl/pull/1030 Ref: https://github.com/curl/curl/pull/1346 Closes https://github.com/curl/curl/pull/1866
* system.h: remove all CURL_SIZEOF_* definesDaniel Stenberg2017-08-171-8/+1
| | | | | | | ... as they're not used externally and internally we check for the sizes already in configure etc. Closes #1767
* cmake: remove dead code for CURL_DISABLE_RTMPBenbuck Nason2017-08-151-3/+0
| | | | Closes #1785
* curl_setup: Define CURL_NO_OLDIES for building libcurlJay Satiro2017-08-011-0/+4
| | | | | | .. to catch accidental use of deprecated error codes. Ref: https://github.com/curl/curl/issues/1688#issuecomment-316764237