diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-07-30 10:26:37 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-07-30 10:26:37 +0200 |
commit | fa407eacc9b68399e74455088fc519a73d8bde84 (patch) | |
tree | d8212fb5f52c8cc387eb53efb083c59c9a3c7e87 | |
parent | a31c8053aeaa7c779f1ad71af4ff947131930092 (diff) |
update ip_config
-rw-r--r-- | Cargo.lock | 8 | ||||
-rw-r--r-- | Cargo.toml | 4 | ||||
-rw-r--r-- | src/main.rs | 9 |
3 files changed, 12 insertions, 9 deletions
@@ -956,16 +956,16 @@ dependencies = [ [[package]] name = "rsdsl_ip_config" -version = "0.1.0" -source = "git+https://github.com/rsdsl/ip_config.git#e13adb9cc9367ad93f1e947335b0d56108015999" +version = "0.2.1" +source = "git+https://github.com/rsdsl/ip_config.git#26c15096a1f4b69c6c06b5373b507c9dbbfc54c5" dependencies = [ "serde", ] [[package]] name = "rsdsl_netlinkd" -version = "0.3.2" -source = "git+https://github.com/rsdsl/netlinkd.git#e5641588803c096312fb271afa0c7f6ddc4516c0" +version = "0.4.0" +source = "git+https://github.com/rsdsl/netlinkd.git#5b1bde77629611ae44f7f0070b757ffba4564165" dependencies = [ "futures-util", "netlink-packet-route", @@ -11,8 +11,8 @@ libc = "0.2.143" notify = "5.1.0" reqwest = { version = "0.11.17", default-features = false, features = ["blocking", "rustls-tls"] } rsdsl_he_config = { git = "https://github.com/rsdsl/he_config.git", version = "0.1.0" } -rsdsl_ip_config = { git = "https://github.com/rsdsl/ip_config.git", version = "0.1.0" } -rsdsl_netlinkd = { git = "https://github.com/rsdsl/netlinkd.git", version = "0.3.2" } +rsdsl_ip_config = { git = "https://github.com/rsdsl/ip_config.git", version = "0.2.1" } +rsdsl_netlinkd = { git = "https://github.com/rsdsl/netlinkd.git", version = "0.4.0" } serde_json = "1.0" socket2 = { version = "0.5.2", features = ["all"] } thiserror = "1.0" diff --git a/src/main.rs b/src/main.rs index ad00f63..9e29fcb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,7 +13,7 @@ use byteorder::{ByteOrder, NetworkEndian as NE}; use notify::event::{CreateKind, ModifyKind}; use notify::{Event, EventKind, RecursiveMode, Watcher}; use rsdsl_he_config::{Config, UsableConfig}; -use rsdsl_ip_config::IpConfig; +use rsdsl_ip_config::DsConfig; use rsdsl_netlinkd::error::Result; use rsdsl_netlinkd::{addr, link, route}; use socket2::{Socket, Type}; @@ -22,6 +22,9 @@ use tun_tap::{Iface, Mode}; #[derive(Debug, Error)] enum Error { + #[error("no native ipv4 connection")] + NoNativeIpv4, + #[error("io: {0}")] Io(#[from] io::Error), #[error("reqwest: {0}")] @@ -231,9 +234,9 @@ fn configure_local( local: Arc<Mutex<Ipv4Addr>>, ) -> std::result::Result<(), Error> { let mut file = File::open(rsdsl_ip_config::LOCATION)?; - let ip_config: IpConfig = serde_json::from_reader(&mut file)?; + let ds_config: DsConfig = serde_json::from_reader(&mut file)?; - *local.lock().unwrap() = ip_config.addr; + *local.lock().unwrap() = ds_config.v4.ok_or(Error::NoNativeIpv4)?.addr; for i in 0..3 { match reqwest::blocking::Client::builder() |