diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-05-04 19:31:29 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-05-04 19:31:59 +0200 |
commit | 8f420dacf26870b995874c34bb807bc89e589411 (patch) | |
tree | 4aa3ca7dcdda80a4141fc4c440eed800d3307151 | |
parent | 88d3ed503412fb909545d7d606b312daa470c880 (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.lock | 2 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/lease.rs | 14 |
3 files changed, 15 insertions, 3 deletions
@@ -627,7 +627,7 @@ dependencies = [ [[package]] name = "rsdsl_dhcp4d" -version = "0.1.2" +version = "0.1.3" dependencies = [ "dhcproto", "ipnet", @@ -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) } |