diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2026-10-30 03:32:00 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2026-10-30 03:32:00 +0400 |
| commit | fc3c1d51b1be9db6ba6ad286584fbc34bb305f38 (patch) | |
| tree | d23628e0534f0a4646c111c2ef6dd1501f18ae17 /src/linux/routes.rs | |
| parent | d608ffeeda1a479c9dc0e5f6ad269ba07a510d7f (diff) | |
Fix protected activation ordering and diagnostic review findings
Diffstat (limited to 'src/linux/routes.rs')
| -rw-r--r-- | src/linux/routes.rs | 3 |
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() |