diff --git a/internal/dhcpd/v4_unix.go b/internal/dhcpd/v4_unix.go index fd8ee586..188e06f4 100644 --- a/internal/dhcpd/v4_unix.go +++ b/internal/dhcpd/v4_unix.go @@ -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 = "" } } diff --git a/internal/dhcpd/v6_unix.go b/internal/dhcpd/v6_unix.go index b0499413..2655a343 100644 --- a/internal/dhcpd/v6_unix.go +++ b/internal/dhcpd/v6_unix.go @@ -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 } }