dhcpd: imp code
This commit is contained in:
parent
fc3d0cdaeb
commit
9ebc246ed4
|
@ -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 = ""
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue