mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
With the introduction of `snownet`, we temporarily duplicated the `IpPacket` abstraction from `firezone-tunnel` because there was no common place to put it. Overtime, these have grown in size and we needed to convert back and forth between time. Lately, we've also been adding more tests to both `snownet` and `firezone-tunnel` that needed to create `IpPacket`s as test data. This seems like an appropriate time to do away with this duplication by introducing a dedicated crate that acts as a facade for the `pnet_packet` crate, extending it with the functionality that we need. Resolves: #3926. --------- Signed-off-by: Thomas Eizinger <thomas@eizinger.io> Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
95 lines
3.2 KiB
TOML
95 lines
3.2 KiB
TOML
[workspace]
|
|
members = [
|
|
"connlib/clients/android",
|
|
"connlib/clients/apple",
|
|
"connlib/clients/shared",
|
|
"connlib/shared",
|
|
"connlib/tunnel",
|
|
"connlib/snownet",
|
|
"gateway",
|
|
"firezone-cli-utils",
|
|
"headless-client",
|
|
"linux-client",
|
|
"snownet-tests",
|
|
"phoenix-channel",
|
|
"relay",
|
|
"gui-client/src-tauri",
|
|
"http-health-check",
|
|
"http-test-server",
|
|
"ip-packet",
|
|
]
|
|
|
|
resolver = "2"
|
|
|
|
[workspace.dependencies]
|
|
boringtun = { version = "0.6", default-features = false }
|
|
chrono = { version = "0.4", default-features = false, features = ["std", "clock", "oldtime", "serde"] }
|
|
swift-bridge = "0.1.53"
|
|
backoff = { version = "0.4", features = ["tokio"] }
|
|
tracing = { version = "0.1.40" }
|
|
tracing-subscriber = { version = "0.3.17", features = ["parking_lot"] }
|
|
secrecy = "0.8"
|
|
hickory-resolver = { git = "https://github.com/hickory-dns/hickory-dns", rev="a3669bd80f3f7b97f0c301c15f1cba6368d97b63", features = ["tokio-runtime"] }
|
|
str0m = { version = "0.5", default-features = false }
|
|
futures-bounded = "0.2.1"
|
|
domain = { version = "0.9", features = ["serde"] }
|
|
dns-lookup = "2.0"
|
|
tokio-tungstenite = "0.21"
|
|
rtnetlink = { version = "0.14.1", default-features = false, features = ["tokio_socket"] }
|
|
|
|
connlib-client-android = { path = "connlib/clients/android"}
|
|
connlib-client-apple = { path = "connlib/clients/apple"}
|
|
connlib-client-shared = { path = "connlib/clients/shared"}
|
|
firezone-gateway = { path = "gateway"}
|
|
firezone-headless-client = { path = "headless-client"}
|
|
firezone-gui-client = { path = "gui-client/src-tauri"}
|
|
firezone-cli-utils = { path = "firezone-cli-utils"}
|
|
snownet = { path = "connlib/snownet"}
|
|
firezone-relay = { path = "relay"}
|
|
connlib-shared = { path = "connlib/shared"}
|
|
firezone-tunnel = { path = "connlib/tunnel"}
|
|
phoenix-channel = { path = "phoenix-channel"}
|
|
http-health-check = { path = "http-health-check"}
|
|
ip-packet = { path = "ip-packet"}
|
|
|
|
[workspace.lints]
|
|
clippy.dbg_macro = "warn"
|
|
clippy.print_stdout = "warn"
|
|
clippy.print_stderr = "warn"
|
|
clippy.unnecessary_wraps = "warn"
|
|
clippy.unused_async = "warn"
|
|
clippy.wildcard_enum_match_arm = "warn" # Ensures we match on all combinations of `Poll`, preventing erroneous suspensions.
|
|
clippy.redundant_else = "warn"
|
|
clippy.redundant_clone = "warn"
|
|
|
|
[patch.crates-io]
|
|
boringtun = { git = "https://github.com/cloudflare/boringtun", branch = "master" }
|
|
str0m = { git = "https://github.com/firezone/str0m", branch = "main" }
|
|
ip_network_table = { git = "https://github.com/edmonds/ip_network_table", branch = "some-useful-traits" } # For `Debug` and `Clone`
|
|
|
|
[profile.release]
|
|
strip = true
|
|
|
|
# Full link-time optimization. Reduces binaries by up to 3x on some platforms.
|
|
lto = "fat"
|
|
|
|
# Increases the compiler's ability to produce smaller, optimized code
|
|
# at the expense of compilation time
|
|
codegen-units = 1
|
|
|
|
# Override build settings just for the GUI client, so we get a pdb/dwp
|
|
# Cargo ignores profile settings if they're not in the workspace's Cargo.toml
|
|
[profile.dev.package.firezone-gui-client]
|
|
debug = "full"
|
|
split-debuginfo = "packed"
|
|
strip = "none"
|
|
|
|
[profile.release.package.firezone-gui-client]
|
|
debug = "full"
|
|
split-debuginfo = "packed"
|
|
strip = "none"
|
|
|
|
# Override build settings for the relay, so we can capture flamegraphs
|
|
[profile.release.package.firezone-relay]
|
|
debug = "full"
|