aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-05-07 14:59:47 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-05-07 14:59:47 +0200
commitc1a336ce8f9ed347ad63edb90d3bce94db96300d (patch)
tree97577c72e5c2985fbcdf712dc0ff954757b9cdde
parentf83638f859d833029f01dc5ce452ebf10880c3f5 (diff)
don't always (unrightfully) drop traffic from IPv4-mapped IPv6 addresses
-rw-r--r--src/main.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index b899f3a..984c4b6 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -109,7 +109,14 @@ fn main() -> Result<()> {
let is_local = match raddr.ip() {
IpAddr::V4(addr) => addr.is_private(),
IpAddr::V6(addr) => {
- he.tn64.contains(&addr) || he.rt64.contains(&addr) || he.rt48.contains(&addr)
+ he.tn64.contains(&addr)
+ || he.rt64.contains(&addr)
+ || he.rt48.contains(&addr)
+ || if let Some(addr) = addr.to_ipv4_mapped() {
+ addr.is_private()
+ } else {
+ false
+ }
}
};