summaryrefslogtreecommitdiff
path: root/src/linux/routes.rs
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2026-10-30 03:32:00 +0400
committerAndrew Guschin <guschin@altlinux.org>2026-10-30 03:32:00 +0400
commitfc3c1d51b1be9db6ba6ad286584fbc34bb305f38 (patch)
treed23628e0534f0a4646c111c2ef6dd1501f18ae17 /src/linux/routes.rs
parentd608ffeeda1a479c9dc0e5f6ad269ba07a510d7f (diff)
Fix protected activation ordering and diagnostic review findings
Diffstat (limited to 'src/linux/routes.rs')
-rw-r--r--src/linux/routes.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/linux/routes.rs b/src/linux/routes.rs
index 07083bb..4212183 100644
--- a/src/linux/routes.rs
+++ b/src/linux/routes.rs
@@ -84,6 +84,9 @@ fn owned_rule(rule: &rtnetlink::packet_route::rule::RuleMessage) -> bool {
}
pub async fn capture(interface: u32) -> Result<()> {
+ // Only the product-owned TUN changes this setting. Loose reverse-path
+ // validation accepts proxied replies whose ordinary reverse route is uplink.
+ std::fs::write("/proc/sys/net/ipv4/conf/roentgen0/rp_filter", "2")?;
let handle = connection()?;
for route in [
RouteMessageBuilder::<Ipv4Addr>::new()