From f0a6e7aa77e3a5098177c5495e74ab6a6b57ff96 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 09:44:57 +0900 Subject: [PATCH 1/7] deps --- Cargo.lock | 51 ++++++++++++++++++++++++++++++++++++++++---- rpxy-acme/Cargo.toml | 2 +- rpxy-lib/Cargo.toml | 2 +- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3a12577..34df687 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -375,9 +375,9 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.1" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ "async-channel", "async-task", @@ -1210,10 +1210,11 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" +checksum = "7f66d5bd4c6f02bf0542fad85d626775bab9258cf795a4256dcaf3161114d1df" dependencies = [ + "base64", "bytes", "futures-channel", "futures-core", @@ -1221,12 +1222,16 @@ dependencies = [ "http", "http-body", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -1396,6 +1401,12 @@ dependencies = [ "libc", ] +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -2783,6 +2794,27 @@ dependencies = [ "syn", ] +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tempfile" version = "3.20.0" @@ -3408,6 +3440,17 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-registry" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" +dependencies = [ + "windows-link", + "windows-result", + "windows-strings", +] + [[package]] name = "windows-result" version = "0.3.4" diff --git a/rpxy-acme/Cargo.toml b/rpxy-acme/Cargo.toml index 5cca92e..0023c26 100644 --- a/rpxy-acme/Cargo.toml +++ b/rpxy-acme/Cargo.toml @@ -23,7 +23,7 @@ base64 = "0.22.1" aws-lc-rs = { version = "1.13.1", default-features = false, features = [ "aws-lc-sys", ] } -blocking = "1.6.1" +blocking = "1.6.2" rustls = { version = "0.23.28", default-features = false, features = [ "std", "aws_lc_rs", diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index 55109d8..f20df69 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -61,7 +61,7 @@ thiserror = "2.0.12" http = "1.3.1" http-body-util = "0.1.3" hyper = { version = "1.6.0", default-features = false } -hyper-util = { version = "0.1.14", features = ["full"] } +hyper-util = { version = "0.1.15", features = ["full"] } futures-util = { version = "0.3.31", default-features = false } futures-channel = { version = "0.3.31", default-features = false } From f93892a45824250bd1c156859015375ca015f647 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 10:33:09 +0900 Subject: [PATCH 2/7] fix: bug for forwarded proto param --- rpxy-lib/src/message_handler/utils_headers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpxy-lib/src/message_handler/utils_headers.rs b/rpxy-lib/src/message_handler/utils_headers.rs index ddc68ba..21e26ce 100644 --- a/rpxy-lib/src/message_handler/utils_headers.rs +++ b/rpxy-lib/src/message_handler/utils_headers.rs @@ -129,7 +129,7 @@ pub(super) fn apply_upstream_options_to_header( UpstreamOption::ForwardedHeader => { // This is called after X-Forwarded-For is added // Generate RFC 7239 Forwarded header - let tls = upstream_base_uri.scheme_str() == Some("https"); + let tls = original_uri.scheme_str() == Some("https"); match generate_forwarded_header(headers, tls, original_uri) { Ok(forwarded_value) => { From 850aff11ff8f1924aff510ccc994b94e5c6749bf Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 10:38:44 +0900 Subject: [PATCH 3/7] deps: socket2 --- Cargo.lock | 22 ++++++++++++++++------ rpxy-lib/Cargo.toml | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 34df687..ce827e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1226,7 +1226,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.5.10", "system-configuration", "tokio", "tower-service", @@ -1913,7 +1913,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls", - "socket2", + "socket2 0.5.10", "thiserror 2.0.12", "tokio", "tracing", @@ -1952,7 +1952,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2", + "socket2 0.5.10", "tracing", "windows-sys 0.59.0", ] @@ -2212,7 +2212,7 @@ dependencies = [ "s2n-quic-h3", "s2n-quic-rustls", "sha2", - "socket2", + "socket2 0.6.0", "thiserror 2.0.12", "tokio", "tokio-rustls", @@ -2509,7 +2509,7 @@ dependencies = [ "lazy_static", "libc", "s2n-quic-core", - "socket2", + "socket2 0.5.10", "tokio", ] @@ -2754,6 +2754,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -2956,7 +2966,7 @@ dependencies = [ "mio", "pin-project-lite", "slab", - "socket2", + "socket2 0.5.10", "tokio-macros", "windows-sys 0.52.0", ] diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index f20df69..a2cd673 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -104,7 +104,7 @@ s2n-quic-h3 = { path = "../submodules/s2n-quic/quic/s2n-quic-h3/", features = [ ], optional = true } ########## # for UDP socket wit SO_REUSEADDR when h3 with quinn -socket2 = { version = "0.5.10", features = ["all"], optional = true } +socket2 = { version = "0.6.0", features = ["all"], optional = true } # cache http-cache-semantics = { path = "../submodules/rusty-http-cache-semantics", default-features = false, optional = true } From 1843fffcc9b971dcf153ef7621e1dd50d229b70f Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 10:44:54 +0900 Subject: [PATCH 4/7] lock --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ce827e8..72b8fea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -157,9 +157,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c74e56284d2188cabb6ad99603d1ace887a5d7e7b695d01b728155ed9ed427" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", "event-listener-strategy", @@ -412,9 +412,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.2.28" +version = "1.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad45f4f74e4e20eaa392913b7b33a7091c87e59628f4dd27888205ad888843c" +checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" dependencies = [ "jobserver", "libc", @@ -2565,9 +2565,9 @@ dependencies = [ [[package]] name = "s2n-tls" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c23a50f9733440df3a1e8c94d71026b02e5080395f080f4f66d1fecc2fca86" +checksum = "7e308991b00044b6ad1ac863966d746f801be6646903d6b47ae7f7ac08d355cc" dependencies = [ "errno", "hex", @@ -2578,9 +2578,9 @@ dependencies = [ [[package]] name = "s2n-tls-sys" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00d42ff433e7a1267cc7105ee1aa8f8785473cee48376ddbb13e2d9f23e2291d" +checksum = "de2a2655c52dd59715c60a331ce840d90397192c49debfba60e0b16ecd61b35a" dependencies = [ "aws-lc-rs", "cc", From de4148b1d59e37ed71236e99ec433e28e6d7e46e Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 10:54:27 +0900 Subject: [PATCH 5/7] bump --- CHANGELOG.md | 8 +++++++- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9909283..7494fd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # CHANGELOG -## 0.10.2 or 0.11.0 (Unreleased) +## 0.10.3 or 0.11.0 (Unreleased) + +## 0.10.2 + +### Bugfix + +- Fix: Fix the bug that the `forwarded_header` option does not work properly (`proto` param) ## 0.10.1 diff --git a/Cargo.lock b/Cargo.lock index 72b8fea..71a0118 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2115,7 +2115,7 @@ dependencies = [ [[package]] name = "rpxy" -version = "0.10.1" +version = "0.10.2" dependencies = [ "ahash", "anyhow", @@ -2138,7 +2138,7 @@ dependencies = [ [[package]] name = "rpxy-acme" -version = "0.10.1" +version = "0.10.2" dependencies = [ "ahash", "async-trait", @@ -2159,7 +2159,7 @@ dependencies = [ [[package]] name = "rpxy-certs" -version = "0.10.1" +version = "0.10.2" dependencies = [ "ahash", "async-trait", @@ -2177,7 +2177,7 @@ dependencies = [ [[package]] name = "rpxy-lib" -version = "0.10.1" +version = "0.10.2" dependencies = [ "ahash", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 9b7841f..cda555b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "0.10.1" +version = "0.10.2" authors = ["Jun Kurihara"] homepage = "https://github.com/junkurihara/rust-rpxy" repository = "https://github.com/junkurihara/rust-rpxy" From c92709c7967bbbac9060e1ba2dd2fca4a9c1bec2 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 12:06:05 +0900 Subject: [PATCH 6/7] submodule rustls-acme --- Cargo.lock | 3 +-- submodules/rustls-acme | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 71a0118..28d2577 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2292,7 +2292,7 @@ dependencies = [ [[package]] name = "rustls-acme" -version = "0.13.0" +version = "0.14.0" dependencies = [ "async-io", "async-trait", @@ -2310,7 +2310,6 @@ dependencies = [ "serde", "serde_json", "thiserror 2.0.12", - "webpki-roots 0.26.11", "x509-parser", ] diff --git a/submodules/rustls-acme b/submodules/rustls-acme index cc7aeb8..d68ff64 160000 --- a/submodules/rustls-acme +++ b/submodules/rustls-acme @@ -1 +1 @@ -Subproject commit cc7aeb870a62cd8d4b962de35927a241525ea30d +Subproject commit d68ff647f67fed84ffa1c4b98fed8e7b150bb226 From cbad82cb89b973a6ab6100898d3ce113b614d360 Mon Sep 17 00:00:00 2001 From: Jun Kurihara Date: Tue, 8 Jul 2025 12:11:14 +0900 Subject: [PATCH 7/7] fix rustls-acme --- Cargo.lock | 1 + rpxy-acme/Cargo.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 28d2577..e907acb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2310,6 +2310,7 @@ dependencies = [ "serde", "serde_json", "thiserror 2.0.12", + "webpki-roots 1.0.1", "x509-parser", ] diff --git a/rpxy-acme/Cargo.toml b/rpxy-acme/Cargo.toml index 0023c26..e2cf113 100644 --- a/rpxy-acme/Cargo.toml +++ b/rpxy-acme/Cargo.toml @@ -31,6 +31,7 @@ rustls = { version = "0.23.28", default-features = false, features = [ rustls-platform-verifier = { version = "0.6.0" } rustls-acme = { path = "../submodules/rustls-acme/", default-features = false, features = [ "aws-lc-rs", + "webpki-roots", ] } rustls-post-quantum = { version = "0.2.2", optional = true } tokio = { version = "1.46.1", default-features = false, features = [