From bd61e7a54e167a329e66b02b59549d42cb197d72 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Thu, 22 Feb 2024 15:35:24 +0900 Subject: [PATCH 1/8] deps --- rpxy-bin/Cargo.toml | 6 +++--- rpxy-lib/Cargo.toml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rpxy-bin/Cargo.toml b/rpxy-bin/Cargo.toml index 4ad5d1ce..248b4d5e 100644 --- a/rpxy-bin/Cargo.toml +++ b/rpxy-bin/Cargo.toml @@ -26,9 +26,9 @@ rpxy-lib = { path = "../rpxy-lib/", default-features = false, features = [ "sticky-cookie", ] } -anyhow = "1.0.79" +anyhow = "1.0.80" rustc-hash = "1.1.0" -serde = { version = "1.0.196", default-features = false, features = ["derive"] } +serde = { version = "1.0.197", default-features = false, features = ["derive"] } derive_builder = "0.20.0" tokio = { version = "1.36.0", default-features = false, features = [ "net", @@ -42,7 +42,7 @@ rustls-pemfile = "1.0.4" mimalloc = { version = "*", default-features = false } # config -clap = { version = "4.5.0", features = ["std", "cargo", "wrap_help"] } +clap = { version = "4.5.1", features = ["std", "cargo", "wrap_help"] } toml = { version = "0.8.10", default-features = false, features = ["parse"] } hot_reload = "0.1.5" diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index 65fb9e24..dbeddecd 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -46,13 +46,13 @@ pin-project-lite = "0.2.13" async-trait = "0.1.77" # Error handling -anyhow = "1.0.79" +anyhow = "1.0.80" thiserror = "1.0.57" # http for both server and client http = "1.0.0" http-body-util = "0.1.0" -hyper = { version = "1.1.0", default-features = false } +hyper = { version = "1.2.0", default-features = false } hyper-util = { version = "0.1.3", features = ["full"] } futures-util = { version = "0.3.30", default-features = false } futures-channel = { version = "0.3.30", default-features = false } From d5300ebea34cba526e94dfac36693fc2f0cac798 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 22:33:09 +0000 Subject: [PATCH 2/8] chore(deps): bump softprops/action-gh-release from 1 to 2 Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ddf4a554..8c0dca69 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -135,7 +135,7 @@ jobs: - name: release if: ${{ steps.regex-match.outputs.match != ''}} - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: files: /tmp/assets/*.tar.gz name: ${{ github.event.client_payload.pull_request.title }} From 30a229ed7fbd1577416b2f1ccf39c5d31adeff47 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Sun, 17 Mar 2024 10:27:17 +0900 Subject: [PATCH 3/8] deps --- submodules/h3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/h3 b/submodules/h3 index c11410c7..e4c683e4 160000 --- a/submodules/h3 +++ b/submodules/h3 @@ -1 +1 @@ -Subproject commit c11410c76e738a62e62e7766b82f814547621f6f +Subproject commit e4c683e478aa4e93cde4164166b58a8174ee173e From 3deadaee4d277b294523ea4555d7f4f877a98c5d Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Sun, 17 Mar 2024 11:33:37 +0900 Subject: [PATCH 4/8] deps --- rpxy-bin/Cargo.toml | 8 ++++---- rpxy-lib/Cargo.toml | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/rpxy-bin/Cargo.toml b/rpxy-bin/Cargo.toml index 248b4d5e..7ee5e7e9 100644 --- a/rpxy-bin/Cargo.toml +++ b/rpxy-bin/Cargo.toml @@ -26,7 +26,7 @@ rpxy-lib = { path = "../rpxy-lib/", default-features = false, features = [ "sticky-cookie", ] } -anyhow = "1.0.80" +anyhow = "1.0.81" rustc-hash = "1.1.0" serde = { version = "1.0.197", default-features = false, features = ["derive"] } derive_builder = "0.20.0" @@ -37,13 +37,13 @@ tokio = { version = "1.36.0", default-features = false, features = [ "sync", "macros", ] } -async-trait = "0.1.77" +async-trait = "0.1.78" rustls-pemfile = "1.0.4" mimalloc = { version = "*", default-features = false } # config -clap = { version = "4.5.1", features = ["std", "cargo", "wrap_help"] } -toml = { version = "0.8.10", default-features = false, features = ["parse"] } +clap = { version = "4.5.3", features = ["std", "cargo", "wrap_help"] } +toml = { version = "0.8.11", default-features = false, features = ["parse"] } hot_reload = "0.1.5" # logging diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index dbeddecd..6b610a88 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -43,15 +43,15 @@ tokio = { version = "1.36.0", default-features = false, features = [ "fs", ] } pin-project-lite = "0.2.13" -async-trait = "0.1.77" +async-trait = "0.1.78" # Error handling -anyhow = "1.0.80" -thiserror = "1.0.57" +anyhow = "1.0.81" +thiserror = "1.0.58" # http for both server and client -http = "1.0.0" -http-body-util = "0.1.0" +http = "1.1.0" +http-body-util = "0.1.1" hyper = { version = "1.2.0", default-features = false } hyper-util = { version = "0.1.3", features = ["full"] } futures-util = { version = "0.3.30", default-features = false } @@ -83,22 +83,22 @@ tracing = { version = "0.1.40" } quinn = { version = "0.10.2", optional = true } h3 = { path = "../submodules/h3/h3/", optional = true } h3-quinn = { path = "../submodules/h3/h3-quinn/", optional = true } -s2n-quic = { version = "1.33.0", default-features = false, features = [ +s2n-quic = { version = "1.34.0", default-features = false, features = [ "provider-tls-rustls", ], optional = true } s2n-quic-core = { version = "0.33.0", default-features = false, optional = true } s2n-quic-h3 = { path = "../submodules/s2n-quic-h3/", optional = true } s2n-quic-rustls = { version = "0.33.0", optional = true } # for UDP socket wit SO_REUSEADDR when h3 with quinn -socket2 = { version = "0.5.5", features = ["all"], optional = true } +socket2 = { version = "0.5.6", features = ["all"], optional = true } # cache http-cache-semantics = { path = "../submodules/rusty-http-cache-semantics/", optional = true } -lru = { version = "0.12.2", optional = true } +lru = { version = "0.12.3", optional = true } sha2 = { version = "0.10.8", default-features = false, optional = true } # cookie handling for sticky cookie -chrono = { version = "0.4.34", default-features = false, features = [ +chrono = { version = "0.4.35", default-features = false, features = [ "unstable-locales", "alloc", "clock", @@ -107,4 +107,4 @@ base64 = { version = "0.21.7", optional = true } [dev-dependencies] -tokio-test = "0.4.3" +tokio-test = "0.4.4" From 64e8f551728d75f290177eb1da1055296ae1a593 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Sun, 17 Mar 2024 12:33:39 +0900 Subject: [PATCH 5/8] deps: s2n --- rpxy-lib/Cargo.toml | 8 ++++---- submodules/s2n-quic-h3/Cargo.toml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index 6b610a88..f2c5666b 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -74,7 +74,7 @@ hot_reload = "0.1.5" rustls = { version = "0.21.10", default-features = false } tokio-rustls = { version = "0.24.1", features = ["early-data"] } webpki = "0.22.4" -x509-parser = "0.15.1" +x509-parser = "0.16.0" # logging tracing = { version = "0.1.40" } @@ -86,9 +86,9 @@ h3-quinn = { path = "../submodules/h3/h3-quinn/", optional = true } s2n-quic = { version = "1.34.0", default-features = false, features = [ "provider-tls-rustls", ], optional = true } -s2n-quic-core = { version = "0.33.0", default-features = false, optional = true } +s2n-quic-core = { version = "0.34.0", default-features = false, optional = true } s2n-quic-h3 = { path = "../submodules/s2n-quic-h3/", optional = true } -s2n-quic-rustls = { version = "0.33.0", optional = true } +s2n-quic-rustls = { version = "0.34.0", optional = true } # for UDP socket wit SO_REUSEADDR when h3 with quinn socket2 = { version = "0.5.6", features = ["all"], optional = true } @@ -103,7 +103,7 @@ chrono = { version = "0.4.35", default-features = false, features = [ "alloc", "clock", ], optional = true } -base64 = { version = "0.21.7", optional = true } +base64 = { version = "0.22.0", optional = true } [dev-dependencies] diff --git a/submodules/s2n-quic-h3/Cargo.toml b/submodules/s2n-quic-h3/Cargo.toml index 59a54034..18f57fcf 100644 --- a/submodules/s2n-quic-h3/Cargo.toml +++ b/submodules/s2n-quic-h3/Cargo.toml @@ -13,5 +13,5 @@ publish = false bytes = { version = "1", default-features = false } futures = { version = "0.3", default-features = false } h3 = { path = "../h3/h3/" } -s2n-quic = "1.33.0" -s2n-quic-core = "0.33.0" +s2n-quic = "1.34.0" +s2n-quic-core = "0.34.0" From 9898869aa509f7d81482fb89b133da24215092ca Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Wed, 10 Apr 2024 11:44:54 +0900 Subject: [PATCH 6/8] chore: deps --- rpxy-bin/Cargo.toml | 8 ++++---- rpxy-lib/Cargo.toml | 16 ++++++++-------- submodules/h3 | 2 +- submodules/s2n-quic-h3/Cargo.toml | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/rpxy-bin/Cargo.toml b/rpxy-bin/Cargo.toml index 7ee5e7e9..4b915945 100644 --- a/rpxy-bin/Cargo.toml +++ b/rpxy-bin/Cargo.toml @@ -30,20 +30,20 @@ anyhow = "1.0.81" rustc-hash = "1.1.0" serde = { version = "1.0.197", default-features = false, features = ["derive"] } derive_builder = "0.20.0" -tokio = { version = "1.36.0", default-features = false, features = [ +tokio = { version = "1.37.0", default-features = false, features = [ "net", "rt-multi-thread", "time", "sync", "macros", ] } -async-trait = "0.1.78" +async-trait = "0.1.79" rustls-pemfile = "1.0.4" mimalloc = { version = "*", default-features = false } # config -clap = { version = "4.5.3", features = ["std", "cargo", "wrap_help"] } -toml = { version = "0.8.11", default-features = false, features = ["parse"] } +clap = { version = "4.5.4", features = ["std", "cargo", "wrap_help"] } +toml = { version = "0.8.12", default-features = false, features = ["parse"] } hot_reload = "0.1.5" # logging diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index f2c5666b..d1bc34f4 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -31,10 +31,10 @@ webpki-roots = ["rustls-backend", "hyper-rustls/webpki-tokio"] [dependencies] rand = "0.8.5" rustc-hash = "1.1.0" -bytes = "1.5.0" +bytes = "1.6.0" derive_builder = "0.20.0" futures = { version = "0.3.30", features = ["alloc", "async-await"] } -tokio = { version = "1.36.0", default-features = false, features = [ +tokio = { version = "1.37.0", default-features = false, features = [ "net", "rt-multi-thread", "time", @@ -42,8 +42,8 @@ tokio = { version = "1.36.0", default-features = false, features = [ "macros", "fs", ] } -pin-project-lite = "0.2.13" -async-trait = "0.1.78" +pin-project-lite = "0.2.14" +async-trait = "0.1.79" # Error handling anyhow = "1.0.81" @@ -83,12 +83,12 @@ tracing = { version = "0.1.40" } quinn = { version = "0.10.2", optional = true } h3 = { path = "../submodules/h3/h3/", optional = true } h3-quinn = { path = "../submodules/h3/h3-quinn/", optional = true } -s2n-quic = { version = "1.34.0", default-features = false, features = [ +s2n-quic = { version = "1.36.0", default-features = false, features = [ "provider-tls-rustls", ], optional = true } -s2n-quic-core = { version = "0.34.0", default-features = false, optional = true } +s2n-quic-core = { version = "0.36.0", default-features = false, optional = true } s2n-quic-h3 = { path = "../submodules/s2n-quic-h3/", optional = true } -s2n-quic-rustls = { version = "0.34.0", optional = true } +s2n-quic-rustls = { version = "0.36.0", optional = true } # for UDP socket wit SO_REUSEADDR when h3 with quinn socket2 = { version = "0.5.6", features = ["all"], optional = true } @@ -98,7 +98,7 @@ lru = { version = "0.12.3", optional = true } sha2 = { version = "0.10.8", default-features = false, optional = true } # cookie handling for sticky cookie -chrono = { version = "0.4.35", default-features = false, features = [ +chrono = { version = "0.4.37", default-features = false, features = [ "unstable-locales", "alloc", "clock", diff --git a/submodules/h3 b/submodules/h3 index e4c683e4..b44edeb6 160000 --- a/submodules/h3 +++ b/submodules/h3 @@ -1 +1 @@ -Subproject commit e4c683e478aa4e93cde4164166b58a8174ee173e +Subproject commit b44edeb60d234d49c45828395108f7519a048d4b diff --git a/submodules/s2n-quic-h3/Cargo.toml b/submodules/s2n-quic-h3/Cargo.toml index 18f57fcf..bdf0de5a 100644 --- a/submodules/s2n-quic-h3/Cargo.toml +++ b/submodules/s2n-quic-h3/Cargo.toml @@ -13,5 +13,5 @@ publish = false bytes = { version = "1", default-features = false } futures = { version = "0.3", default-features = false } h3 = { path = "../h3/h3/" } -s2n-quic = "1.34.0" -s2n-quic-core = "0.34.0" +s2n-quic = "1.36.0" +s2n-quic-core = "0.36.0" From a4741127a56e9cd05ca117a36ffe78ec8c8e5405 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Wed, 10 Apr 2024 13:30:31 +0900 Subject: [PATCH 7/8] chore: refactor --- CHANGELOG.md | 4 ++++ Cargo.toml | 2 +- rpxy-bin/Cargo.toml | 3 ++- rpxy-lib/Cargo.toml | 3 ++- rpxy-lib/src/crypto/service.rs | 33 ++++++--------------------------- submodules/h3 | 2 +- 6 files changed, 16 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13653ad2..83a099f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.8.0 (Unreleased) +## 0.7.1 + +- deps and patches + ## 0.7.0 ### Important Changes diff --git a/Cargo.toml b/Cargo.toml index 982f81d2..6cc24f7f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "0.7.0" +version = "0.7.1" authors = ["Jun Kurihara"] homepage = "https://github.com/junkurihara/rust-rpxy" repository = "https://github.com/junkurihara/rust-rpxy" diff --git a/rpxy-bin/Cargo.toml b/rpxy-bin/Cargo.toml index 4b915945..2a3e51d4 100644 --- a/rpxy-bin/Cargo.toml +++ b/rpxy-bin/Cargo.toml @@ -13,7 +13,8 @@ publish.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -default = ["http3-quinn", "cache", "rustls-backend"] +# default = ["http3-quinn", "cache", "rustls-backend"] +default = ["http3-s2n", "cache", "native-tls-backend"] http3-quinn = ["rpxy-lib/http3-quinn"] http3-s2n = ["rpxy-lib/http3-s2n"] native-tls-backend = ["rpxy-lib/native-tls-backend"] diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index d1bc34f4..5cd345ec 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -13,7 +13,8 @@ publish.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -default = ["http3-quinn", "sticky-cookie", "cache", "rustls-backend"] +# default = ["http3-quinn", "sticky-cookie", "cache", "rustls-backend"] +default = ["http3-s2n", "sticky-cookie", "cache", "rustls-backend"] http3-quinn = ["socket2", "quinn", "h3", "h3-quinn"] http3-s2n = [ "h3", diff --git a/rpxy-lib/src/crypto/service.rs b/rpxy-lib/src/crypto/service.rs index 8eda27a6..cd198cb7 100644 --- a/rpxy-lib/src/crypto/service.rs +++ b/rpxy-lib/src/crypto/service.rs @@ -99,11 +99,7 @@ impl ServerCryptoBase { // add server certificate and key if let Err(e) = resolver_local.add(server_name.as_str(), certified_key.to_owned()) { - error!( - "{}: Failed to read some certificates and keys {}", - server_name.as_str(), - e - ) + error!("{}: Failed to read some certificates and keys {}", server_name.as_str(), e) } // add client certificate if specified @@ -114,11 +110,7 @@ impl ServerCryptoBase { client_ca_roots_local.add_trust_anchors(owned_trust_anchors.into_iter()); } Err(e) => { - warn!( - "Failed to add client CA certificate for {}: {}", - server_name.as_str(), - e - ); + warn!("Failed to add client CA certificate for {}: {}", server_name.as_str(), e); } } } @@ -174,11 +166,7 @@ impl ServerCryptoBase { if certs_and_keys.client_ca_certs.is_none() { // aggregated server config for no client auth server for http3 if let Err(e) = resolver_global.add(server_name.as_str(), certified_key) { - error!( - "{}: Failed to read some certificates and keys {}", - server_name.as_str(), - e - ) + error!("{}: Failed to read some certificates and keys {}", server_name.as_str(), e) } } } @@ -216,15 +204,11 @@ impl ServerCryptoBase { if certs_and_keys.client_ca_certs.is_none() { // aggregated server config for no client auth server for http3 if let Err(e) = resolver_global.add(server_name.as_str(), certified_key) { - error!( - "{}: Failed to read some certificates and keys {}", - server_name.as_str(), - e - ) + error!("{}: Failed to read some certificates and keys {}", server_name.as_str(), e) } } } - let alpn = vec![ + let alpn = [ b"h3".to_vec(), b"hq-29".to_vec(), // TODO: remove later? b"h2".to_vec(), @@ -257,12 +241,7 @@ fn parse_server_certs_and_keys_s2n( None } }) - .ok_or_else(|| { - std::io::Error::new( - std::io::ErrorKind::InvalidInput, - "Unable to find a valid certificate and key", - ) - })?; + .ok_or_else(|| std::io::Error::new(std::io::ErrorKind::InvalidInput, "Unable to find a valid certificate and key"))?; let certs: Vec<_> = certs_and_keys .certs .iter() diff --git a/submodules/h3 b/submodules/h3 index b44edeb6..e7c7ab9d 160000 --- a/submodules/h3 +++ b/submodules/h3 @@ -1 +1 @@ -Subproject commit b44edeb60d234d49c45828395108f7519a048d4b +Subproject commit e7c7ab9d634ef73784d6cbc424a270dbaa4f1c99 From 20f95d5005412df827e3a6f51005a0eb4c3c7787 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Wed, 10 Apr 2024 13:32:06 +0900 Subject: [PATCH 8/8] chore: change default compile option --- rpxy-bin/Cargo.toml | 3 +-- rpxy-lib/Cargo.toml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/rpxy-bin/Cargo.toml b/rpxy-bin/Cargo.toml index 2a3e51d4..4b915945 100644 --- a/rpxy-bin/Cargo.toml +++ b/rpxy-bin/Cargo.toml @@ -13,8 +13,7 @@ publish.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -# default = ["http3-quinn", "cache", "rustls-backend"] -default = ["http3-s2n", "cache", "native-tls-backend"] +default = ["http3-quinn", "cache", "rustls-backend"] http3-quinn = ["rpxy-lib/http3-quinn"] http3-s2n = ["rpxy-lib/http3-s2n"] native-tls-backend = ["rpxy-lib/native-tls-backend"] diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index 5cd345ec..d1bc34f4 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -13,8 +13,7 @@ publish.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -# default = ["http3-quinn", "sticky-cookie", "cache", "rustls-backend"] -default = ["http3-s2n", "sticky-cookie", "cache", "rustls-backend"] +default = ["http3-quinn", "sticky-cookie", "cache", "rustls-backend"] http3-quinn = ["socket2", "quinn", "h3", "h3-quinn"] http3-s2n = [ "h3",