From a4bd7f2d003b39614e9d801c06224d33244c73c2 Mon Sep 17 00:00:00 2001 From: Michael Gmelin Date: Mon, 4 Sep 2023 22:21:52 +0200 Subject: [PATCH] Bring back redis-over-tls (rediss) support This bumps opendal and reqsign (required to support rusttls) --- Cargo.lock | 73 ++++++++++++++++++++++++++++++------------------------ Cargo.toml | 7 +++--- 2 files changed, 44 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7cae75c143..c048efe24f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,13 +145,13 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backon" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34fac4d7cdaefa2deded0eda2d5d59dbfd43370ff3f856209e72340ae84c294" +checksum = "0c1a6197b2120bb2185a267f6515038558b019e92b832bb0320e96d66268dcf9" dependencies = [ - "futures", + "fastrand", + "futures-core", "pin-project", - "rand", "tokio", ] @@ -734,9 +734,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1119,7 +1119,7 @@ checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" dependencies = [ "http", "hyper", - "rustls 0.21.1", + "rustls 0.21.7", "tokio", "tokio-rustls 0.24.0", ] @@ -1636,9 +1636,9 @@ checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opendal" -version = "0.37.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37de9fe637d53550bf3f76d5c731f69cb6f9685ada6afd390ada98994a3f91" +checksum = "1ad95e460e5976ab1b74f398ab856c59f8417b3dd32202329e3491dcbe3a6b84" dependencies = [ "anyhow", "async-compat", @@ -1658,7 +1658,7 @@ dependencies = [ "parking_lot", "percent-encoding", "pin-project", - "quick-xml 0.27.1", + "quick-xml", "redis", "reqsign", "reqwest", @@ -1929,19 +1929,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "quick-xml" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c1a97b1bc42b1d550bfb48d4262153fe400a12bab1511821736f7eac76d7e2" +checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" dependencies = [ "memchr", "serde", @@ -1988,9 +1978,9 @@ dependencies = [ [[package]] name = "redis" -version = "0.22.1" +version = "0.23.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513b3649f1a111c17954296e4a3b9eecb108b766c803e2b99f179ebe27005985" +checksum = "4f49cdc0bb3f412bf8e7d1bd90fe1d9eb10bc5c399ba90973c14662a27b3f8ba" dependencies = [ "arc-swap", "async-trait", @@ -2001,9 +1991,14 @@ dependencies = [ "itoa", "percent-encoding", "pin-project-lite", + "rustls 0.21.7", + "rustls-native-certs", "ryu", "sha1_smol", + "socket2", "tokio", + "tokio-retry", + "tokio-rustls 0.24.0", "tokio-util", "url", ] @@ -2053,9 +2048,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "reqsign" -version = "0.13.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cb65eb3405f9c2de5c18bfc37338d6bbdb2c35eb8eb0e946208cbb564e4833" +checksum = "3228e570df74d69d3d3236a71371f1edd748a3e4eb728ea1f29d403bc10fc727" dependencies = [ "anyhow", "async-trait", @@ -2070,7 +2065,7 @@ dependencies = [ "log", "once_cell", "percent-encoding", - "quick-xml 0.28.1", + "quick-xml", "rand", "reqwest", "rsa", @@ -2107,7 +2102,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.1", + "rustls 0.21.7", "rustls-native-certs", "rustls-pemfile", "serde", @@ -2279,9 +2274,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.1" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring", @@ -2312,9 +2307,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.100.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" dependencies = [ "ring", "untrusted", @@ -2349,6 +2344,7 @@ dependencies = [ "ar", "assert_cmd", "async-trait", + "backon", "base64 0.21.0", "bincode", "blake3", @@ -2984,6 +2980,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.23.4" @@ -3001,7 +3008,7 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0d409377ff5b1e3ca6437aa86c1eb7d40c134bfec254e44c830defa92669db5" dependencies = [ - "rustls 0.21.1", + "rustls 0.21.7", "tokio", ] diff --git a/Cargo.toml b/Cargo.toml index 343028049a..52d3ac4b0f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,7 @@ strip = true anyhow = { version = "1.0", features = ["backtrace"] } ar = "0.9" async-trait = "0.1" +backon = "0.4.1" base64 = "0.21" bincode = "1" blake3 = "1" @@ -56,11 +57,11 @@ log = "0.4" num_cpus = "1.15" number_prefix = "0.4" once_cell = "1.17" -opendal = { version = "0.37.0", optional = true } +opendal = { version = "0.39.0", optional = true } openssl = { version = "0.10.55", optional = true } rand = "0.8.4" regex = "1.7.3" -reqsign = { version = "0.13.0", optional = true } +reqsign = { version = "0.14.1", optional = true } reqwest = { version = "0.11", features = [ "json", "blocking", @@ -151,7 +152,7 @@ gcs = ["opendal", "reqsign", "url", "reqwest/blocking"] gha = ["opendal"] memcached = ["opendal/services-memcached"] native-zlib = [] -redis = ["url", "opendal/services-redis"] +redis = ["url", "opendal/services-redis", "opendal/services-redis-rustls"] s3 = ["opendal", "reqsign"] webdav = ["opendal"] # Enable features that will build a vendored version of openssl and