From 17d9359b603b186b8e7dbee80bd7764a7b4c922a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 26 Mar 2022 10:38:01 +0100 Subject: [PATCH] backend: switch over from the hyphenated spelling On popular demand. Closes #191 --- SUMMARY.md | 4 ++-- badwords.txt | 2 +- get/linux.md | 2 +- get/win-msys2.md | 2 +- internals.md | 2 +- internals/backends.md | 14 +++++++------- libcurl/callbacks/sslcontext.md | 2 +- libcurl/names.md | 8 ++++---- project/users.md | 4 ++-- source/build/deps.md | 2 +- source/build/fromsource.md | 8 ++++---- source/layout.md | 2 +- usingcurl/connections/name.md | 4 ++-- usingcurl/tls.md | 2 +- usingcurl/tls/backends.md | 16 ++++++++-------- usingcurl/tls/clientcert.md | 2 +- usingcurl/tls/pinning.md | 2 +- usingcurl/tls/stapling.md | 2 +- usingcurl/version.md | 10 +++++----- 19 files changed, 45 insertions(+), 45 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index fdcebf412c..17817ebd37 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -120,7 +120,7 @@ * [OCSP stapling](usingcurl/tls/stapling.md) * [Client certificates](usingcurl/tls/clientcert.md) * [TLS auth](usingcurl/tls/auth.md) - * [TLS back-ends](usingcurl/tls/backends.md) + * [TLS backends](usingcurl/tls/backends.md) * [SSLKEYLOGFILE](usingcurl/tls/sslkeylogfile.md) * [Copy as curl](usingcurl/copyas.md) * [HTTP with curl](http.md) @@ -241,7 +241,7 @@ * [Everything is multi](internals/multi.md) * [State machines](internals/statemachines.md) * [Protocol handler](internals/handler.md) - * [Back-ends](internals/backends.md) + * [Backends](internals/backends.md) * [Windows vs Unix](internals/windows-vs-unix.md) * [Memory debugging](internals/memory-debugging.md) * [Content Encoding](internals/content-encoding.md) diff --git a/badwords.txt b/badwords.txt index 1212053ca7..5fb2533025 100644 --- a/badwords.txt +++ b/badwords.txt @@ -1,4 +1,4 @@ -backend +back-end e-mail runtime set-up diff --git a/get/linux.md b/get/linux.md index f0785ddeb5..231cddf34d 100644 --- a/get/linux.md +++ b/get/linux.md @@ -18,7 +18,7 @@ libcurl is then also installed as an individual package. If you want to build applications against libcurl, you need a development package installed to get the include headers and some additional -documentation, etc. You can then select a libcurl with the TLS back-end you +documentation, etc. You can then select a libcurl with the TLS backend you prefer: apt install libcurl4-openssl-dev diff --git a/get/win-msys2.md b/get/win-msys2.md index 66d8ef3135..ae418d981d 100644 --- a/get/win-msys2.md +++ b/get/win-msys2.md @@ -14,7 +14,7 @@ Current information about the [`mingw-w64-curl`](https://github.com/msys2/MINGW- pacman -Sy mingw-w64-x86_64-curl -This package contains both the `curl` command line tool as well as libcurl headers and shared libraries. The default `curl` packages are built with the OpenSSL back-end and hence depend on `mingw-w64-x86_64-openssl`. There are also `mingw-w64-x86_64-curl-gnutls` and `mingw-w64-x86_64-curl-gnutls` packages, refer to the [msys2 website](https://packages.msys2.org/base/mingw-w64-curl) for more details. +This package contains both the `curl` command line tool as well as libcurl headers and shared libraries. The default `curl` packages are built with the OpenSSL backend and hence depend on `mingw-w64-x86_64-openssl`. There are also `mingw-w64-x86_64-curl-gnutls` and `mingw-w64-x86_64-curl-gnutls` packages, refer to the [msys2 website](https://packages.msys2.org/base/mingw-w64-curl) for more details. Just like on Linux, we can use `pkg-config` to query the flags needed to build against libcurl. Start msys2 using the mingw64 shell (which automatically sets the path to include `/mingw64`) and run: diff --git a/internals.md b/internals.md index fb8107f197..6795c9cc05 100644 --- a/internals.md +++ b/internals.md @@ -13,7 +13,7 @@ library do something new. * [Everything is multi](internals/multi.md) * [State machines](internals/statemachines.md) * [Protocol handler](internals/handler.md) - * [Back-ends](internals/backends.md) + * [Backends](internals/backends.md) * [Windows vs Unix](internals/windows-vs-unix.md) * [Memory debugging](internals/memory-debugging.md) * [Content Encoding](internals/content-encoding.md) diff --git a/internals/backends.md b/internals/backends.md index 6756a1e4a8..7ba2cd1fa2 100644 --- a/internals/backends.md +++ b/internals/backends.md @@ -1,19 +1,19 @@ -# Back-ends +# Backends -A back-end in curl is a **build-time selectable alternative implementation**. +A backend in curl is a **build-time selectable alternative implementation**. When you build curl, you can select alternative implementations for several different things. Different providers of the same feature set. You select -which back-end or back-ends (plural) to use when you build curl. +which backend or backends (plural) to use when you build curl. -- Back-ends are selectable and deselectable +- Backends are selectable and deselectable - Often platform dependent - Can differ in features - Can differ in 3rd party licenses - Can differ in maturity - The internal APIs are never exposed externally -## Different back-ends +## Different backends In the libcurl source code, there are internal APIs for providing functionality. In these different areas there are multiple different providers: @@ -26,9 +26,9 @@ functionality. In these different areas there are multiple different providers: 6. HTTP/3 7. HTTP content encoding -## Back-ends visualized +## Backends visualized -![libcurl back-ends](slide-libcurl-backends.jpg) +![libcurl backends](slide-libcurl-backends.jpg) Applications (in the upper yellow cloud) access libcurl through the public API. The API is fixed and stable. diff --git a/libcurl/callbacks/sslcontext.md b/libcurl/callbacks/sslcontext.md index 640aa0f188..abf3503fb1 100644 --- a/libcurl/callbacks/sslcontext.md +++ b/libcurl/callbacks/sslcontext.md @@ -3,7 +3,7 @@ libcurl offers a special TLS related callback called `CURLOPT_SSL_CTX_FUNCTION`. This option only works for libcurl powered by OpenSSL, wolfSSL or mbedTLS and it does nothing if libcurl is built with -another TLS back-end. +another TLS backend. This callback gets called by libcurl just before the initialization of a TLS connection after having processed all other TLS related options to give a last diff --git a/libcurl/names.md b/libcurl/names.md index 8b0dda3b42..a068a447c9 100644 --- a/libcurl/names.md +++ b/libcurl/names.md @@ -23,13 +23,13 @@ only use IPv6 addresses: curl_easy_setopt(easy, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); -## Name resolver back-ends +## Name resolver backends libcurl can be built to do name resolves in one out of these three different -ways and depending on which back-end way that is used, it gets a slightly +ways and depending on which backend way that is used, it gets a slightly different feature set and sometimes modified behavior. -1. The default back-end is invoking the "normal" libc resolver functions in a +1. The default backend is invoking the "normal" libc resolver functions in a new helper-thread, so that it can still do fine-grained timeouts if wanted and there will be no blocking calls involved. @@ -44,7 +44,7 @@ compatible with the native name resolver functionality. ### DNS over HTTPS -Independently of what resolver back-end that libcurl is built to use, since +Independently of what resolver backend that libcurl is built to use, since 7.62.0 it also provides a way for the user to ask a specific DoH (DNS over HTTPS) server for the address of a name. This will avoid using the normal, native resolver method and server and instead asks a dedicated separate one. diff --git a/project/users.md b/project/users.md index 11818f815a..b63d884bea 100644 --- a/project/users.md +++ b/project/users.md @@ -63,7 +63,7 @@ game consoles. ![different devices, tool, applications and services that all run curl](curl-runs-in-all-your-devices.jpg) -### In website back-ends +### In website backends The libcurl binding for PHP was one of, if not the, first bindings for libcurl to really catch on and get used widely. It quickly got adopted as a default @@ -73,7 +73,7 @@ Internet (recent numbers indicated that something like a quarter of all sites on the Internet uses PHP). A few really high-demand sites are using PHP and are using libcurl in the -back-end. Facebook and Yahoo are two such sites. +backend. Facebook and Yahoo are two such sites. ## Famous users diff --git a/source/build/deps.md b/source/build/deps.md index 6025d998ae..208c5353c2 100644 --- a/source/build/deps.md +++ b/source/build/deps.md @@ -28,7 +28,7 @@ https://c-ares.org/ curl can be built with c-ares to be able to do asynchronous name resolution. Another option to enable asynchronous name resolution is to build curl with the -threaded name resolver back-end, which will then instead create a separate +threaded name resolver backend, which will then instead create a separate helper thread for each name resolve. c-ares does it all within the same thread. diff --git a/source/build/fromsource.md b/source/build/fromsource.md index 58e1d70e8f..3d029859ad 100644 --- a/source/build/fromsource.md +++ b/source/build/fromsource.md @@ -110,7 +110,7 @@ keep up with or know all possible dependencies for all the libraries it can be made to build with, so users wanting to build with static libs mostly need to provide that list of libraries to link with. -### Select TLS back-end +### Select TLS backend The configure-based build offers the user to select from a wide variety of different TLS libraries when building. You select them by using the correct @@ -142,13 +142,13 @@ this: You can opt to build with support for **multiple** TLS libraries by specifying multiple `--with-*` options on the configure command line. Pick which one to -make the default TLS back-end with `--with-default-ssl-backend=[NAME]`. For +make the default TLS backend with `--with-default-ssl-backend=[NAME]`. For example, build with support for both GnuTLS and OpenSSL and default to OpenSSL: ./configure --with-openssl --with-gnutls --with-default-ssl-backend=openssl -### Select SSH back-end +### Select SSH backend The configure-based build offers the user to select from a variety of different SSH libraries when building. You select them by using the @@ -164,7 +164,7 @@ this: ./configure --with-libssh2=/home/user/custom-libssh2 -### Select HTTP/3 back-end +### Select HTTP/3 backend The configure-based build offers the user to select different HTTP/3 libraries when building. You select them by using the correct command-line options. diff --git a/source/layout.md b/source/layout.md index 3cb4b07295..f71742b674 100644 --- a/source/layout.md +++ b/source/layout.md @@ -43,7 +43,7 @@ source files may contain code that is not used in your particular build. ### lib/vtls -The VTLS sub section within libcurl is the home of all the TLS back-ends +The VTLS sub section within libcurl is the home of all the TLS backends libcurl can be built to support. The "virtual" TLS internal API is a backend agnostic API used internally to access TLS and crypto functions without the main code knowing which specific TLS library is used. This allows the person diff --git a/usingcurl/connections/name.md b/usingcurl/connections/name.md index c260420058..4d9f78f3bd 100644 --- a/usingcurl/connections/name.md +++ b/usingcurl/connections/name.md @@ -93,9 +93,9 @@ connect, but in all other ways still assume it is talking to ## Name resolve tricks with c-ares As should be detailed elsewhere in this book, curl may be built with several -different name resolving back-ends. One of those back-ends is powered by the +different name resolving backends. One of those backends is powered by the c-ares library and when curl is built to use c-ares, it gets a few extra -superpowers that curl built to use other name resolve back-ends do not get. +superpowers that curl built to use other name resolve backends do not get. Namely, it gains the ability to more specifically instruct what DNS servers to use and how that DNS traffic is using the network. diff --git a/usingcurl/tls.md b/usingcurl/tls.md index 0021af95ae..031d38679d 100644 --- a/usingcurl/tls.md +++ b/usingcurl/tls.md @@ -17,5 +17,5 @@ cryptography and digital signatures. * [OCSP stapling](tls/stapling.md) * [Client certificates](tls/clientcert.md) * [TLS auth](tls/auth.md) -* [TLS back-ends](tls/backends.md) +* [TLS backends](tls/backends.md) * [SSLKEYLOGFILE](tls/sslkeylogfile.md) diff --git a/usingcurl/tls/backends.md b/usingcurl/tls/backends.md index 7153907672..8ea2e1dc01 100644 --- a/usingcurl/tls/backends.md +++ b/usingcurl/tls/backends.md @@ -1,27 +1,27 @@ -# TLS back-ends +# TLS backends When curl is built, it gets told to use a specific TLS library. That TLS library is the engine that provides curl with the powers to speak TLS over the -wire. We often refer to them as different "back-ends" as they can be seen as +wire. We often refer to them as different "backends" as they can be seen as different pluggable pieces into the curl machine. curl can be built to be able -to use one or more of these back-ends. +to use one or more of these backends. Sometimes features and behaviors differ slightly when curl is built with -different TLS back-ends, but the developers work hard on making those +different TLS backends, but the developers work hard on making those differences as small and unnoticeable as possible. Showing the curl version information with [curl --version](../version.md) will always include the TLS library and version in the first line of output. -## Multiple TLS back-ends +## Multiple TLS backends -When curl is built with *multiple* TLS back-ends, it can be told which one to +When curl is built with *multiple* TLS backends, it can be told which one to use each time it is started. It is always built to use a specific one by default unless one is asked for. -If you invoke `curl --version` for a curl with multiple back-ends it will +If you invoke `curl --version` for a curl with multiple backends it will mention `MultiSSL` as a feature in the last line. The first line will then -include all the supported TLS back-ends with the non-default ones within +include all the supported TLS backends with the non-default ones within parentheses. To set a specific one to get used, set the environment variable diff --git a/usingcurl/tls/clientcert.md b/usingcurl/tls/clientcert.md index 270a11a0f7..a579e883e9 100644 --- a/usingcurl/tls/clientcert.md +++ b/usingcurl/tls/clientcert.md @@ -20,7 +20,7 @@ specify the key file independently with `--key`: curl --cert mycert:mypassword https://example.com curl --cert mycert:mypassword --key mykey https://example.com -For some TLS back-ends you can also pass in the key and certificate using +For some TLS backends you can also pass in the key and certificate using different types: curl --cert mycert:mypassword --cert-type PEM \ diff --git a/usingcurl/tls/pinning.md b/usingcurl/tls/pinning.md index 295ef8e335..7e30e14971 100644 --- a/usingcurl/tls/pinning.md +++ b/usingcurl/tls/pinning.md @@ -14,4 +14,4 @@ can specify one or more hashes like that, separated with semicolons (;). curl --pinnedpubkey "sha256//83d34tasd3rt…" https://example.com/ -This feature is not supported by all TLS back-ends. +This feature is not supported by all TLS backends. diff --git a/usingcurl/tls/stapling.md b/usingcurl/tls/stapling.md index d592d53797..46f7b0b2f8 100644 --- a/usingcurl/tls/stapling.md +++ b/usingcurl/tls/stapling.md @@ -13,4 +13,4 @@ Ask for the handshake to use the status request like this: curl --cert-status https://example.com/ -This feature is only supported by the OpenSSL, GnuTLS and NSS back-ends. +This feature is only supported by the OpenSSL, GnuTLS and NSS backends. diff --git a/usingcurl/version.md b/usingcurl/version.md index 2c9e7148ea..1c733aa455 100644 --- a/usingcurl/version.md +++ b/usingcurl/version.md @@ -41,17 +41,17 @@ released and "blessed" version. The rest of this line contains names of third party components this build of curl uses, often with their individual version number next to it with a slash separator. Like `OpenSSL/1.1.1g` and `nghttp2/1.41.0`. This can for example -tell you which TLS back-ends this curl uses. +tell you which TLS backends this curl uses. ### Line 1: TLS versions Line 1 may contain one or more TLS libraries. curl can be built to support more than one TLS library which then makes curl - at start-up - select which -particular back-end to use for this invoke. +particular backend to use for this invoke. If curl supports more than one TLS library like this, the ones that are *not* selected by default will be listed within parentheses. Thus, if you do not -specify which back-end to use use (with the `CURL_SSL_BACKEND` environment +specify which backend to use use (with the `CURL_SSL_BACKEND` environment variable) the one listed without parentheses will be used. ## Line 2: Release-Date @@ -85,7 +85,7 @@ Features that can be present there: - **alt-svc** - Support for the alt-svc: header - **AsynchDNS** - This curl uses asynchronous name resolves. Asynchronous name resolves can be done using either the c-ares or the threaded resolver - back-ends. + backends. - **brotli** - support for automatic brotli compression over HTTP(S) - **CharConv** - curl was built with support for character set conversions (like EBCDIC) @@ -104,7 +104,7 @@ Features that can be present there: supported. - **Metalink** - This curl supports Metalink. In modern curl versions this option is never available. - - **MultiSSL** - This curl supports multiple TLS back-ends. The first line + - **MultiSSL** - This curl supports multiple TLS backends. The first line will detail exactly which TLS libraries. - **NTLM** - NTLM authentication is supported. - **NTLM_WB** - NTLM authentication is supported.