From c6527643a3c215e20050c95212db902af40734aa Mon Sep 17 00:00:00 2001 From: houseme Date: Thu, 3 Jul 2025 17:35:02 +0800 Subject: [PATCH] merge --- Cargo.lock | 108 +++++++++++++++++++++++++++++++++++++++++++++- Cargo.toml | 3 +- rustfs/Cargo.toml | 27 ++++++------ 3 files changed, 123 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6287dda01..d4cce293e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -458,6 +458,45 @@ dependencies = [ "zbus 5.7.1", ] +[[package]] +name = "asn1-rs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" +dependencies = [ + "asn1-rs-derive", + "asn1-rs-impl", + "displaydoc", + "nom 7.1.3", + "num-traits", + "rusticata-macros", + "thiserror 2.0.12", + "time", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "synstructure", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "async-broadcast" version = "0.7.2" @@ -2831,6 +2870,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "der-parser" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" +dependencies = [ + "asn1-rs", + "displaydoc", + "nom 7.1.3", + "num-bigint", + "num-traits", + "rusticata-macros", +] + [[package]] name = "deranged" version = "0.4.0" @@ -4948,6 +5001,17 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "libc", +] + [[package]] name = "ipnet" version = "2.11.0" @@ -6330,6 +6394,15 @@ dependencies = [ "walkdir", ] +[[package]] +name = "oid-registry" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" +dependencies = [ + "asn1-rs", +] + [[package]] name = "once_cell" version = "1.21.3" @@ -7874,6 +7947,7 @@ dependencies = [ "rustfs-utils", "rustfs-zip", "rustls 0.23.28", + "rustls-pki-types", "s3s", "serde", "serde_json", @@ -7894,6 +7968,7 @@ dependencies = [ "tracing", "urlencoding", "uuid", + "x509-parser", "zip", ] @@ -8372,6 +8447,15 @@ dependencies = [ "tokio-tar", ] +[[package]] +name = "rusticata-macros" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +dependencies = [ + "nom 7.1.3", +] + [[package]] name = "rustix" version = "0.38.44" @@ -9834,17 +9918,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "tracing", @@ -11441,6 +11527,24 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "x509-parser" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" +dependencies = [ + "asn1-rs", + "data-encoding", + "der-parser", + "lazy_static", + "nom 7.1.3", + "oid-registry", + "ring", + "rusticata-macros", + "thiserror 2.0.12", + "time", +] + [[package]] name = "xattr" version = "1.5.0" diff --git a/Cargo.toml b/Cargo.toml index 791b9c476..f9855c51f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -225,7 +225,7 @@ time = { version = "0.3.41", features = [ "macros", "serde", ] } -tokio = { version = "1.45.1", features = ["fs", "rt-multi-thread"] } +tokio = { version = "1.46.0", features = ["fs", "rt-multi-thread"] } tokio-rustls = { version = "0.26.2", default-features = false } tokio-stream = { version = "0.1.17" } tokio-tar = "0.3.1" @@ -250,6 +250,7 @@ uuid = { version = "1.17.0", features = [ ] } wildmatch = { version = "2.4.0", features = ["serde"] } winapi = { version = "0.3.9" } +x509-parser = "0.17.0" xxhash-rust = { version = "0.8.15", features = ["xxh64", "xxh3"] } zip = "2.2.0" zstd = "0.13.3" diff --git a/rustfs/Cargo.toml b/rustfs/Cargo.toml index 68cceeb54..3f19adac2 100644 --- a/rustfs/Cargo.toml +++ b/rustfs/Cargo.toml @@ -30,13 +30,21 @@ workspace = true [dependencies] rustfs-zip = { workspace = true } -tokio-tar = { workspace = true } rustfs-madmin = { workspace = true } rustfs-s3select-api = { workspace = true } rustfs-appauth = { workspace = true } rustfs-ecstore = { workspace = true } rustfs-policy = { workspace = true } rustfs-common = { workspace = true } +rustfs-iam = { workspace = true } +rustfs-filemeta.workspace = true +rustfs-rio.workspace = true +rustfs-config = { workspace = true, features = ["constants", "notify"] } +rustfs-notify = { workspace = true } +rustfs-obs = { workspace = true } +rustfs-utils = { workspace = true, features = ["full"] } +rustfs-protos.workspace = true +rustfs-s3select-query = { workspace = true } atoi = { workspace = true } atomic_enum = { workspace = true } axum.workspace = true @@ -53,20 +61,15 @@ hyper.workspace = true hyper-util.workspace = true http.workspace = true http-body.workspace = true -rustfs-iam = { workspace = true } +lazy_static.workspace = true matchit = { workspace = true } mime_guess = { workspace = true } opentelemetry = { workspace = true } percent-encoding = { workspace = true } pin-project-lite.workspace = true -rustfs-protos.workspace = true -rustfs-s3select-query = { workspace = true } reqwest = { workspace = true } -rustfs-config = { workspace = true, features = ["constants", "notify"] } -rustfs-notify = { workspace = true } -rustfs-obs = { workspace = true } -rustfs-utils = { workspace = true, features = ["full"] } rustls.workspace = true +rustls-pki-types = { workspace = true } rust-embed = { workspace = true, features = ["interpolate-folder-path"] } s3s.workspace = true serde.workspace = true @@ -84,9 +87,9 @@ tokio = { workspace = true, features = [ "net", "signal", ] } -tokio-rustls.workspace = true -lazy_static.workspace = true tokio-stream.workspace = true +tokio-rustls = { workspace = true, features = ["default"] } +tokio-tar = { workspace = true } tonic = { workspace = true } tower.workspace = true tower-http = { workspace = true, features = [ @@ -98,9 +101,9 @@ tower-http = { workspace = true, features = [ ] } urlencoding = { workspace = true } uuid = { workspace = true } -rustfs-filemeta.workspace = true -rustfs-rio.workspace = true zip = { workspace = true } +x509-parser = { workspace = true, features = ["verify", "validate"] } + [target.'cfg(target_os = "linux")'.dependencies] libsystemd.workspace = true