From: Ian Jackson Date: Sun, 22 Aug 2021 00:33:00 +0000 (+0100) Subject: server messages X-Git-Tag: hippotat/1.0.0~114 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=hippotat.git;a=commitdiff_plain;h=2e16801071d6ef7688ae5d5e7735c04b67cb6e47 server messages Signed-off-by: Ian Jackson --- diff --git a/server/slocal.rs b/server/slocal.rs index 09e6aba..130df23 100644 --- a/server/slocal.rs +++ b/server/slocal.rs @@ -30,20 +30,26 @@ pub async fn run(global: Arc, match checkn(SlipNoConv, global.config.mtu, &data, |header|{ let saddr = ip_packet_addr::(header)?; let daddr = ip_packet_addr::(header)?; - if ! global.config.vnetwork.iter().any(|n| n.contains(&saddr)) { - throw!(PE::Src(saddr)) + Ok((saddr,daddr)) + }, |(data, (saddr, daddr))| { + let global = &global; + let may_route = &may_route; + async move { + if ! global.config.vnetwork.iter().any(|n| n.contains(&saddr)) { + trace!( "ipif local discard outside-vnets saddr={:?}", + saddr); + return Ok(()) + } + + route_packet( + &global, "ipif", None, + data, daddr, may_route.clone() + ).await; + + Ok(()) } - Ok(daddr) - }, |(data, daddr)| route_packet( - &global, "ipif", None, - data, daddr, may_route.clone() - ).map(Ok), |pe| Ok(match pe { + }, |pe| Ok(match pe { PE::Empty => { }, - PE::Src(saddr) => trace!( - target: "hippotatd", - "ipif local discard outside-vnets saddr={:?}", - saddr - ), other => throw!(other), })).await { Ok(()) => goodness += 1, diff --git a/server/sweb.rs b/server/sweb.rs index 4998bd9..d4e825e 100644 --- a/server/sweb.rs +++ b/server/sweb.rs @@ -178,8 +178,7 @@ pub async fn handle( // boundary, start, &comp.name, &client.ic); let (reply_to, reply_recv) = oneshot::channel(); - trace!(target: "hippotatd", - "{} {} request, Content-Length={}", + trace!("{} {} request, Content-Length={}", &conn, &client_name, length_hint); let wreq = WebRequest { initial,