Skip to content

Commit 1b16756

Browse files
committed
backend/udp-server: accept forwarded connections
1 parent 2287a11 commit 1b16756

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

backend/src/udp_server/multiplex.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,20 @@ async fn create_tunn(
100100
.filter(chargers::id.eq_any(device_ids))
101101
.select(Charger::as_select())
102102
.load(&mut conn)?
103-
} else {
103+
} else if Ipv4Network::new(std::env::var("FORWARD_HOST")?.parse()?, 32)? == ip {
104+
log::info!("Found forwarded management connection");
105+
let mut device_ids: Vec<uuid::Uuid> = Vec::new();
106+
for (_, devices) in map.iter() {
107+
for device in devices.iter() {
108+
device_ids.push(device.id);
109+
}
110+
}
111+
chargers::chargers
112+
.filter(chargers::id.eq_any(device_ids))
113+
.select(Charger::as_select())
114+
.load(&mut conn)?
115+
}
116+
else {
104117
log::info!("Could not find charger for ip '{subnet}'");
105118
return Err(anyhow::Error::msg(Error::UnknownPeer));
106119
}

0 commit comments

Comments
 (0)