aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-05-04 19:31:29 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-05-04 19:31:59 +0200
commit8f420dacf26870b995874c34bb807bc89e589411 (patch)
tree4aa3ca7dcdda80a4141fc4c440eed800d3307151
parent88d3ed503412fb909545d7d606b312daa470c880 (diff)
fix unreadable lease files automatically in case of untimely loss of power0.1.3
especially important since there is no reboot api yet
-rw-r--r--Cargo.lock2
-rw-r--r--Cargo.toml2
-rw-r--r--src/lease.rs14
3 files changed, 15 insertions, 3 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 6a8e6ff..a300f02 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -627,7 +627,7 @@ dependencies = [
[[package]]
name = "rsdsl_dhcp4d"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"dhcproto",
"ipnet",
diff --git a/Cargo.toml b/Cargo.toml
index 23cab79..2f640cf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rsdsl_dhcp4d"
-version = "0.1.2"
+version = "0.1.3"
authors = ["HimbeerserverDE <himbeerserverde@gmail.com>"]
license = "MIT"
edition = "2021"
diff --git a/src/lease.rs b/src/lease.rs
index faa8a3c..8ff017a 100644
--- a/src/lease.rs
+++ b/src/lease.rs
@@ -270,7 +270,19 @@ impl LeaseFileManager {
leases: Vec::new(),
};
- mgr.load()?;
+ match mgr.load() {
+ Ok(_) => {}
+ Err(e) => {
+ println!(
+ "[dhcp4d] reset broken lease file for subnet {}: {}",
+ mgr.config.range.0.octets()[2],
+ e
+ );
+
+ mgr.save()?;
+ }
+ }
+
Ok(mgr)
}