chiark / gitweb /
response plumbing
[hippotat.git] / server / server.rs
index 70311643b62be2efa9ea65e12b6b2b7c6af10cf2..dcadd54118f83b4b5124579e5da20650fb25d07c 100644 (file)
@@ -8,7 +8,7 @@ mod suser;
 mod slocal;
 mod sweb;
 
-pub use sweb::{WebRequest, WebResponse};
+pub use sweb::{WebRequest, WebResponse, WebResponseBody};
 pub use suser::User;
 
 #[derive(StructOpt,Debug)]
@@ -32,7 +32,7 @@ pub struct Global {
 
 pub struct RoutedPacket {
   pub data: RoutedPacketData,
-  pub source: Option<ClientName>, // for eh, tracing, etc.
+//  pub source: Option<ClientName>, // for eh, tracing, etc.
 }
 
 // not MIME data, valid SLIP (checked)
@@ -61,33 +61,33 @@ pub async fn route_packet(global: &Global,
   let c = &global.config;
   let len = packet.len();
   let trace = |how: &str, why: &str| {
-    trace!("{} {} {} {} daddr={:?} len={}",
-           transport_conn,
+    trace!("{} to={:?} came=={} user={} len={} {}",
+           how, daddr, transport_conn,
            match source {
              Some(s) => (s as &dyn Display),
              None => &"local",
            },
-           how, why, daddr, len);
+           len, why);
   };
 
   let (dest, why) =
     if daddr == c.vaddr || ! c.vnetwork.iter().any(|n| n.contains(&daddr)) {
-      (None, "ipif-inbound-xxx")
+      (Some(&global.local_rx), "via=local")
     } else if daddr == c.vrelay {
-      (None, "vrelay")
+      (None, " vrelay")
     } else if let Some(client) = global.all_clients.get(&ClientName(daddr)) {
-      (Some(&client.route), "client")
+      (Some(&client.route), "via=client")
     } else {
       (None, "no-client")
     };
 
   let dest = if let Some(d) = dest { d } else {
-    trace("discard", why); return;
+    trace("discard ", why); return;
   };
 
   let packet = RoutedPacket {
     data: packet,
-    source: source.cloned(),
+//    source: source.cloned(),
   };
   match dest.send(packet).await {
     Ok(()) => trace("forward", why),