mirror of
https://github.com/Av0idD4rk/firegex.git
synced 2026-10-23 15:30:59 +00:00
34 lines
1.2 KiB
TOML
34 lines
1.2 KiB
TOML
[package]
|
|
name = "fgex-proxy"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Proxy datapath engine for firegex (fail-open spike)"
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[dependencies]
|
|
tokio = { version = "1", features = ["rt-multi-thread", "net", "io-util", "io-std", "macros", "time", "sync"] }
|
|
# Raw setsockopt: IP_TRANSPARENT and SO_ORIGINAL_DST have no safe wrapper.
|
|
libc = "0.2"
|
|
# Filter rules arrive as one JSON line on stdin
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
# TLS terminated by the engine, so the plaintext never leaves the process.
|
|
# `ring` rather than the default aws-lc-rs: it builds without cmake or nasm, which
|
|
# keeps the Docker stage a plain `cargo build`.
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12", "logging"] }
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "tls12", "std", "logging"] }
|
|
rustls-pemfile = "2"
|
|
|
|
[dev-dependencies]
|
|
# Test certificates are generated, never committed.
|
|
rcgen = "0.13"
|
|
|
|
# Catching a panicking filter is what keeps the datapath alive, so the binary
|
|
# must unwind rather than abort. This is not a tuning knob, it is load-bearing.
|
|
[profile.release]
|
|
panic = "unwind"
|
|
opt-level = 3
|
|
|
|
[profile.dev]
|
|
panic = "unwind"
|