diff --git a/wg-event-gen/Cargo.lock b/wg-event-gen/Cargo.lock index 8eb493a..05274a0 100644 --- a/wg-event-gen/Cargo.lock +++ b/wg-event-gen/Cargo.lock @@ -1,3 +1,5 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. [[package]] name = "ansi_term" version = "0.11.0" diff --git a/wg-event-gen/src/controller.rs b/wg-event-gen/src/controller.rs index 61430cb..43b7b8d 100644 --- a/wg-event-gen/src/controller.rs +++ b/wg-event-gen/src/controller.rs @@ -34,6 +34,7 @@ impl WireguardController for Userspace { let mut peer: Option = None; let build_peer = |peer: &mut Option, builder: &mut PeerBuilder| -> Result<()> { if builder.has_key() { + //Threat as uninitialized otherwise let built: Result = parse_err(builder.build()); *peer = Some(built?); *builder = PeerBuilder::default(); diff --git a/wg-event-gen/src/main.rs b/wg-event-gen/src/main.rs index 4712636..8a96683 100644 --- a/wg-event-gen/src/main.rs +++ b/wg-event-gen/src/main.rs @@ -19,7 +19,7 @@ use opts::Opts; use std::collections::HashMap; use std::io; use std::thread::sleep; -use std::time::{Duration, Instant}; +use std::time::{Duration, SystemTime,Instant, UNIX_EPOCH}; use structopt::StructOpt; fn listeners(opts: &Opts) -> Vec> { @@ -46,6 +46,7 @@ fn main() -> io::Result<()> { interval ); let mut peers_last: Option> = None; + let start = SystemTime::now(); loop { let now = Instant::now(); let peers = controller.peers()?; @@ -63,10 +64,18 @@ fn main() -> io::Result<()> { let peers = peers .map(|peer| peer.map(|peer_ok| (peer_ok.key.clone(), peer_ok))) .collect::>>()?; + for (k, p) in peers.iter() { + if let Some(shake) = p.last_handshake { + println!( + "{} {:?}", + k.to_string()[0..5].to_string(), + shake.duration_since(start).unwrap() + ); + } + } if let Some(ref mut peers_last) = peers_last { - - gen_events(&peers, &peers_last, &listeners, timeout, interval); - + gen_events(&peers, &peers_last, &listeners, timeout, interval); + *peers_last = peers; } else { peers_last = Some(peers); diff --git a/wg-event-gen/upload.sh b/wg-event-gen/upload.sh index d276d25..b8e1a9f 100755 --- a/wg-event-gen/upload.sh +++ b/wg-event-gen/upload.sh @@ -1 +1 @@ -cargo build --release && cat target/release/wg-event-gen | ssh core@ks1 "sudo bash -c 'cat > /srv/vpn/wireguard/event-gen'" +cargo +nightly build && cat target/release/wg-event-gen | ssh core@ks1 "sudo bash -c 'rm -f /srv/vpn/wireguard/event-gen; cat > /srv/vpn/wireguard/event-gen; chmod +x /srv/vpn/wireguard/event-gen'"