summaryrefslogtreecommitdiff
path: root/docs/RUSTLS.md
diff options
context:
space:
mode:
authorJacob Hoffman-Andrews <github@hoffman-andrews.com>2021-03-16 17:09:47 -0700
committerDaniel Stenberg <daniel@haxx.se>2021-03-21 00:16:32 +0100
commit2e444a17d4ae3976ea69865dd2a63ba0fb40267f (patch)
treef65bf4f9626b3fc2383a99505f81d8e3b1120efc /docs/RUSTLS.md
parent7488ef296015f3a1b90f9743903221e154d339cf (diff)
downloadcurl-2e444a17d4ae3976ea69865dd2a63ba0fb40267f.tar.gz
docs: document version of crustls dependency
This also pins a specific release in the Travis test so future API-breaking changins in crustls won't break curl builds. Add RUSTLS documentation to release tarball. Enable running tests for rustls, minus FTP tests (require connect_blocking, which rustls doesn't implement) and 313 (requires CRL handling). Closes #6763
Diffstat (limited to 'docs/RUSTLS.md')
-rw-r--r--docs/RUSTLS.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/RUSTLS.md b/docs/RUSTLS.md
new file mode 100644
index 000000000..39d96ab60
--- /dev/null
+++ b/docs/RUSTLS.md
@@ -0,0 +1,26 @@
+# Rustls
+
+[Rustls is a TLS backend written in Rust.](https://docs.rs/rustls/). Curl can
+be built to use it as an alternative to OpenSSL or other TLS backends. We use
+the [crustls C bindings](https://github.com/abetterinternet/crustls/). This
+version of curl depends on version v0.4.0 of crustls.
+
+# Building with rustls
+
+First, [install Rust](https://rustup.rs/).
+
+Next, check out, build, and install the appropriate version of crustls:
+
+ % cargo install cbindgen
+ % git clone https://github.com/abetterinternet/crustls/ -b v0.4.0
+ % cd crustls
+ % make
+ % make DESTDIR=${HOME}/crustls-built/ install
+
+Now configure and build curl with rustls:
+
+ % git clone https://github.com/curl/curl
+ % cd curl
+ % ./buildconf
+ % ./configure --without-ssl --with-rustls=${HOME}/crustls-built
+ % make