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 }} 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 4ad5d1ce..4b915945 100644 --- a/rpxy-bin/Cargo.toml +++ b/rpxy-bin/Cargo.toml @@ -26,24 +26,24 @@ rpxy-lib = { path = "../rpxy-lib/", default-features = false, features = [ "sticky-cookie", ] } -anyhow = "1.0.79" +anyhow = "1.0.81" 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 = [ +tokio = { version = "1.37.0", default-features = false, features = [ "net", "rt-multi-thread", "time", "sync", "macros", ] } -async-trait = "0.1.77" +async-trait = "0.1.79" rustls-pemfile = "1.0.4" mimalloc = { version = "*", default-features = false } # config -clap = { version = "4.5.0", features = ["std", "cargo", "wrap_help"] } -toml = { version = "0.8.10", 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 65fb9e24..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,17 +42,17 @@ tokio = { version = "1.36.0", default-features = false, features = [ "macros", "fs", ] } -pin-project-lite = "0.2.13" -async-trait = "0.1.77" +pin-project-lite = "0.2.14" +async-trait = "0.1.79" # Error handling -anyhow = "1.0.79" -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" -hyper = { version = "1.1.0", default-features = false } +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 } futures-channel = { version = "0.3.30", default-features = false } @@ -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" } @@ -83,28 +83,28 @@ 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.36.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.36.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.36.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.37", default-features = false, features = [ "unstable-locales", "alloc", "clock", ], optional = true } -base64 = { version = "0.21.7", optional = true } +base64 = { version = "0.22.0", optional = true } [dev-dependencies] -tokio-test = "0.4.3" +tokio-test = "0.4.4" 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 c11410c7..e7c7ab9d 160000 --- a/submodules/h3 +++ b/submodules/h3 @@ -1 +1 @@ -Subproject commit c11410c76e738a62e62e7766b82f814547621f6f +Subproject commit e7c7ab9d634ef73784d6cbc424a270dbaa4f1c99 diff --git a/submodules/s2n-quic-h3/Cargo.toml b/submodules/s2n-quic-h3/Cargo.toml index 59a54034..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.33.0" -s2n-quic-core = "0.33.0" +s2n-quic = "1.36.0" +s2n-quic-core = "0.36.0"