aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-11-18 23:33:06 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-11-18 23:33:06 +0100
commit80314d87d176bbee63521f487d0dfd032a9cbffd (patch)
treee59f27e5ed0d8a52de5b2869d74fdd20cc21cb83 /src
parent9a00d1ba2c2c821b397a29fabd9ebec38a968e23 (diff)
fix renew/rebind spam on successful renewal0.3.4
This fixes the state not being updated correctly when a Reply to a Renew or Rebind packet is received. It also fixes renewals not being written to disk.
Diffstat (limited to 'src')
-rw-r--r--src/client.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client.rs b/src/client.rs
index 5d2fcdb..c5806dd 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -325,7 +325,11 @@ impl Dhcp6c {
fn rr(&mut self, t1: Duration, t2: Duration, valid_lifetime: Duration) {
match self.state {
Dhcp6cState::Starting | Dhcp6cState::Opened => {} // illegal
- Dhcp6cState::Soliciting | Dhcp6cState::Requesting | Dhcp6cState::Rerouting => {
+ Dhcp6cState::Soliciting
+ | Dhcp6cState::Requesting
+ | Dhcp6cState::Renewing
+ | Dhcp6cState::Rebinding
+ | Dhcp6cState::Rerouting => {
self.upper_status_tx
.send(true)
.expect("upper status channel is closed");
@@ -339,7 +343,6 @@ impl Dhcp6c {
self.state = Dhcp6cState::Opened;
}
- Dhcp6cState::Renewing | Dhcp6cState::Rebinding => self.state = Dhcp6cState::Opened,
}
}
}