commit
679d613ec3
8 changed files with 39 additions and 56 deletions
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
|
@ -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 }}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@
|
|||
|
||||
## 0.8.0 (Unreleased)
|
||||
|
||||
## 0.7.1
|
||||
|
||||
- deps and patches
|
||||
|
||||
## 0.7.0
|
||||
|
||||
### Important Changes
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit c11410c76e738a62e62e7766b82f814547621f6f
|
||||
Subproject commit e7c7ab9d634ef73784d6cbc424a270dbaa4f1c99
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue