dhcpd: imp code

This commit is contained in:
Stanislav Chzhen 2023-04-05 13:11:25 +03:00
parent fc3d0cdaeb
commit 9ebc246ed4
2 changed files with 4 additions and 6 deletions

View File

@ -211,7 +211,7 @@ func (s *v4Server) FindMACbyIP(ip netip.Addr) (mac net.HardwareAddr) {
for _, l := range s.leases {
if l.IP == ip {
if l.Expiry.After(now) || l.IsStatic {
if l.IsStatic || l.Expiry.After(now) {
return l.HWAddr
}
}
@ -259,10 +259,8 @@ func (s *v4Server) rmLeaseByIndex(i int) {
// Return error if a static lease is found
func (s *v4Server) rmDynamicLease(lease *Lease) (err error) {
for i, l := range s.leases {
isStatic := l.IsStatic
if bytes.Equal(l.HWAddr, lease.HWAddr) || l.IP == lease.IP {
if isStatic {
if l.IsStatic {
return errors.Error("static lease already exists")
}
@ -274,7 +272,7 @@ func (s *v4Server) rmDynamicLease(lease *Lease) (err error) {
l = s.leases[i]
}
if !isStatic && l.Hostname == lease.Hostname {
if !l.IsStatic && l.Hostname == lease.Hostname {
l.Hostname = ""
}
}

View File

@ -121,7 +121,7 @@ func (s *v6Server) FindMACbyIP(ip netip.Addr) (mac net.HardwareAddr) {
for _, l := range s.leases {
if l.IP == ip {
if l.Expiry.After(now) || l.IsStatic {
if l.IsStatic || l.Expiry.After(now) {
return l.HWAddr
}
}