From 05710c455f1c759cf9bc1a1eaa6307fe564f15cc Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Fri, 15 Nov 2019 15:32:36 +0100 Subject: Update UAPI semantics for remove --- src/main.rs | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 4d34b39..e17a127 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,21 +10,35 @@ mod configuration; mod platform; mod wireguard; -use platform::tun; +use platform::tun::PlatformTun; +use platform::uapi::PlatformUAPI; +use platform::*; -use configuration::WireguardConfig; +use std::sync::Arc; +use std::thread; +use std::time::Duration; fn main() { - /* - let (mut readers, writer, mtu) = platform::TunInstance::create("test").unwrap(); - let wg = wireguard::Wireguard::new(readers, writer, mtu); - */ -} + let name = "wg0"; + + let _ = env_logger::builder().is_test(true).try_init(); + + // create UAPI socket + let uapi = plt::UAPI::bind(name).unwrap(); + + // create TUN device + let (readers, writer, mtu) = plt::Tun::create(name).unwrap(); + + // create WireGuard device + let wg: wireguard::Wireguard = + wireguard::Wireguard::new(readers, writer, mtu); -/* -fn test_wg_configuration() { - let (mut readers, writer, mtu) = platform::dummy:: + // wrap in configuration interface and start UAPI server + let cfg = configuration::WireguardConfig::new(wg); + loop { + let mut stream = uapi.accept().unwrap(); + configuration::uapi::handle(&mut stream.0, &cfg); + } - let wg = wireguard::Wireguard::new(readers, writer, mtu); + thread::sleep(Duration::from_secs(600)); } -*/ -- cgit v1.2.3-59-g8ed1b