You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by mn...@apache.org on 2023/11/08 15:00:47 UTC
(arrow-rs) branch master updated: refactor: change `object_store` CA handling (#5056)
This is an automated email from the ASF dual-hosted git repository.
mneumann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 0cb30bb51e refactor: change `object_store` CA handling (#5056)
0cb30bb51e is described below
commit 0cb30bb51e39e36e95870dbd6caa92ce47b73e5b
Author: Marco Neumann <ma...@crepererum.net>
AuthorDate: Wed Nov 8 16:00:41 2023 +0100
refactor: change `object_store` CA handling (#5056)
Closes #4870.
---
object_store/Cargo.toml | 3 ++-
object_store/src/lib.rs | 11 +++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/object_store/Cargo.toml b/object_store/Cargo.toml
index 7fcb6ce9e3..bf8301557d 100644
--- a/object_store/Cargo.toml
+++ b/object_store/Cargo.toml
@@ -50,7 +50,7 @@ quick-xml = { version = "0.31.0", features = ["serialize", "overlapped-lists"],
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
serde_json = { version = "1.0", default-features = false, optional = true }
rand = { version = "0.8", default-features = false, features = ["std", "std_rng"], optional = true }
-reqwest = { version = "0.11", default-features = false, features = ["rustls-tls"], optional = true }
+reqwest = { version = "0.11", default-features = false, features = ["rustls-tls-native-roots"], optional = true }
ring = { version = "0.17", default-features = false, features = ["std"], optional = true }
rustls-pemfile = { version = "1.0", default-features = false, optional = true }
tokio = { version = "1.25.0", features = ["sync", "macros", "rt", "time", "io-util"] }
@@ -64,6 +64,7 @@ azure = ["cloud"]
gcp = ["cloud", "rustls-pemfile"]
aws = ["cloud"]
http = ["cloud"]
+tls-webpki-roots = ["reqwest?/rustls-tls-webpki-roots"]
[dev-dependencies] # In alphabetical order
tempfile = "3.1.0"
diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs
index cdd572dd9b..f791e65b38 100644
--- a/object_store/src/lib.rs
+++ b/object_store/src/lib.rs
@@ -86,6 +86,17 @@
doc = "* [`http`]: [HTTP/WebDAV Storage](https://datatracker.ietf.org/doc/html/rfc2518). See [`HttpBuilder`](http::HttpBuilder)"
)]
//!
+//! # TLS Certificates
+//!
+//! Stores that use HTTPS/TLS (this is true for most cloud stores) can choose the source of their [CA]
+//! certificates. By default the system-bundled certificates are used (see
+//! [`rustls-native-certs`]). The `tls-webpki-roots` feature switch can be used to also bundle Mozilla's
+//! root certificates with the library/application (see [`webpki-roots`]).
+//!
+//! [CA]: https://en.wikipedia.org/wiki/Certificate_authority
+//! [`rustls-native-certs`]: https://crates.io/crates/rustls-native-certs/
+//! [`webpki-roots`]: https://crates.io/crates/webpki-roots
+//!
//! # Why not a Filesystem Interface?
//!
//! Whilst this crate does provide a [`BufReader`], the [`ObjectStore`] interface mirrors the APIs