bdb571799a
PLAN.md describes the first client flow as entering a relay domain and room code, but the client and gateway CLIs only accepted socket-address literals. Add a small shared RelayEndpoint parser so bare hosts default to UDP/443 while IP literals and explicit host:port values stay supported. The runtime configs still store resolved SocketAddr values. That keeps the Windows route-pinning path on a concrete relay IP before TAP activation while avoiding duplicated endpoint grammar between client and gateway. The relay listen config reuses the same default port constant so UDP/443 has one source. README examples now use lanparty-relay.local and document the shared endpoint syntax. Test Plan: - cargo fmt --check - cargo test -p lanparty-net - cargo test -p lanparty-client-win \ accepts_relay_domain_with_default_port -- --nocapture - cargo test -p lanparty-gateway \ accepts_iface_alias_for_gateway_interface -- --nocapture - cargo test -p lanparty-net -p lanparty-client-win -p lanparty-gateway - cargo clippy -p lanparty-net -p lanparty-client-win -p lanparty-gateway \ --all-targets -- -D warnings - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - git diff --check Refs: PLAN.md
35 lines
868 B
TOML
35 lines
868 B
TOML
[workspace]
|
|
resolver = "3"
|
|
members = [
|
|
"crates/lanparty-client-core",
|
|
"crates/lanparty-client-route",
|
|
"crates/lanparty-client-tap",
|
|
"crates/lanparty-client-win",
|
|
"crates/lanparty-ctrl",
|
|
"crates/lanparty-gateway",
|
|
"crates/lanparty-net",
|
|
"crates/lanparty-obs",
|
|
"crates/lanparty-proto",
|
|
"crates/lanparty-relay",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1"
|
|
bytes = "1"
|
|
clap = { version = "4.6.1", features = ["derive"] }
|
|
getrandom = "0.3.4"
|
|
libc = "0.2"
|
|
quinn = "0.11.9"
|
|
rcgen = "0.14.8"
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "2"
|
|
tokio = { version = "1.52.3", features = ["macros", "net", "rt-multi-thread", "signal", "sync", "time"] }
|
|
tracing = "0.1"
|
|
windows-sys = "0.61.2"
|