aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-07-30 10:26:37 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-07-30 10:26:37 +0200
commitfa407eacc9b68399e74455088fc519a73d8bde84 (patch)
treed8212fb5f52c8cc387eb53efb083c59c9a3c7e87
parenta31c8053aeaa7c779f1ad71af4ff947131930092 (diff)
update ip_config
-rw-r--r--Cargo.lock8
-rw-r--r--Cargo.toml4
-rw-r--r--src/main.rs9
3 files changed, 12 insertions, 9 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 64fcbfb..552c75e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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",
diff --git a/Cargo.toml b/Cargo.toml
index 663fd70..d83ce58 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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()