diff --git a/rpxy-lib/Cargo.toml b/rpxy-lib/Cargo.toml index df378cb..986a197 100644 --- a/rpxy-lib/Cargo.toml +++ b/rpxy-lib/Cargo.toml @@ -92,8 +92,8 @@ tracing = { version = "0.1.41" } # http/3 quinn = { version = "0.11.6", optional = true } -h3 = { version = "0.0.6", features = ["tracing"], optional = true } -h3-quinn = { version = "0.0.7", optional = true } +h3 = { version = "0.0.7", features = ["tracing"], optional = true } +h3-quinn = { version = "0.0.8", optional = true } s2n-quic = { version = "1.55.0", path = "../submodules/s2n-quic/quic/s2n-quic/", default-features = false, features = [ "provider-tls-rustls", ], optional = true } diff --git a/rpxy-lib/src/proxy/proxy_h3.rs b/rpxy-lib/src/proxy/proxy_h3.rs index 358dd9e..c1c293f 100644 --- a/rpxy-lib/src/proxy/proxy_h3.rs +++ b/rpxy-lib/src/proxy/proxy_h3.rs @@ -129,7 +129,7 @@ where } // trailers: use inner for work around. (directly get trailer) - let trailers = recv_stream.as_mut().recv_trailers().await?; + let trailers = futures_util::future::poll_fn(|cx| recv_stream.as_mut().poll_recv_trailers(cx)).await?; if trailers.is_some() { debug!("HTTP/3 incoming request trailers"); sender.send_trailers(trailers.unwrap()).await?; diff --git a/submodules/s2n-quic b/submodules/s2n-quic index 2d9b871..1142450 160000 --- a/submodules/s2n-quic +++ b/submodules/s2n-quic @@ -1 +1 @@ -Subproject commit 2d9b87175705d481cd1368b828ca9f3cc955c8c4 +Subproject commit 11424508afe1f3b84e6924b07142a5203aa7e14b