Files
softlan-vpn/crates/lanparty-client-core/Cargo.toml
T
ddidderr a3d24a1173 feat(client): persist virtual MAC identity
Remote clients need a stable locally administered MAC address so the relay,
gateway, DHCP lease, and LAN peers keep seeing the same tunnel identity across
runs. Requiring users to pass `--virtual-mac` made that responsibility manual.

Add a platform-neutral client identity store that loads a JSON identity file or
generates a new valid virtual MAC with OS randomness and persists it. The file
stores the MAC in the same string form shown by the CLI. The Windows client now
uses `lanparty-client-identity.json` by default while keeping `--virtual-mac` as
a manual test override.

TAP binding still remains future work; this slice only owns the client identity
that will be assigned to the TAP adapter.

Test Plan:
- cargo fmt --check
- cargo test --workspace
- cargo clippy --workspace --all-targets -- -D warnings
- git diff --check

Refs: PLAN.md MAC identity
2026-05-21 18:35:20 +02:00

20 lines
438 B
TOML

[package]
name = "lanparty-client-core"
version.workspace = true
edition.workspace = true
[dependencies]
anyhow.workspace = true
bytes.workspace = true
getrandom.workspace = true
lanparty-ctrl = { path = "../lanparty-ctrl" }
lanparty-proto = { path = "../lanparty-proto" }
quinn.workspace = true
rustls.workspace = true
serde.workspace = true
serde_json.workspace = true
[dev-dependencies]
rcgen.workspace = true
tokio.workspace = true