vtls: fix ssl version "or later" behavior change for many backends

- Treat CURL_SSLVERSION_MAX_NONE the same as
  CURL_SSLVERSION_MAX_DEFAULT. Prior to this change NONE would mean use
  the minimum version also as the maximum.

This is a follow-up to 6015cef which changed the behavior of setting
the SSL version so that the requested version would only be the minimum
and not the maximum. It appears it was (mostly) implemented in OpenSSL
but not other backends. In other words CURL_SSLVERSION_TLSv1_0 used to
mean use just TLS v1.0 and now it means use TLS v1.0 *or later*.

- Fix CURL_SSLVERSION_MAX_DEFAULT for OpenSSL.

Prior to this change CURL_SSLVERSION_MAX_DEFAULT with OpenSSL was
erroneously treated as always TLS 1.3, and would cause an error if
OpenSSL was built without TLS 1.3 support.

Co-authored-by: Daniel Gustafsson

Fixes https://github.com/curl/curl/issues/2969
Closes https://github.com/curl/curl/pull/3012
8 files changed
tree: 65f4bd915f2efa2c975f9aa78e32020fb6a64feb
  1. .github/
  2. CMake/
  3. docs/
  4. include/
  5. lib/
  6. m4/
  7. packages/
  8. projects/
  9. scripts/
  10. src/
  11. tests/
  12. winbuild/
  13. .dir-locals.el
  14. .gitattributes
  15. .gitignore
  16. .lgtm.yml
  17. .mailmap
  18. .travis-iconv-env.sh
  19. .travis.yml
  20. acinclude.m4
  21. appveyor.yml
  22. buildconf
  23. buildconf.bat
  24. CHANGES
  25. CMakeLists.txt
  26. configure.ac
  27. COPYING
  28. curl-config.in
  29. GIT-INFO
  30. libcurl.pc.in
  31. MacOSX-Framework
  32. Makefile.am
  33. Makefile.dist
  34. maketgz
  35. README
  36. README.md
  37. RELEASE-NOTES
README.md

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Coverage Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms and similar. If you distribute curl binaries or other binaries that involve libcurl, you might enjoy the LICENSE-MIXING document.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Website

Visit the curl web site for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]