Pull request 1755: imp-home-gocyclo

Updates .

Squashed commit of the following:

commit 9db0df757ef4e61a066264948436d465a720e2ec
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 1 13:24:12 2023 +0300

    home: imp docs

commit d1e419962d7b0fa2347e141f600c89854bf7ebb2
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 1 13:19:42 2023 +0300

    home: imp docs, names

commit 176368649729e6949ef2f7325aafa336f4725d88
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 28 20:45:50 2023 +0300

    all: imp cyclo, docs; use netip.Addr
This commit is contained in:
Ainar Garipov 2023-03-01 13:27:24 +03:00
parent bb226434f8
commit f13dc59bfa
12 changed files with 291 additions and 219 deletions
internal/dhcpd

View file

@ -200,20 +200,20 @@ func (s *v4Server) GetLeases(flags GetLeasesFlags) (leases []*Lease) {
return leases
}
// FindMACbyIP - find a MAC address by IP address in the currently active DHCP leases
func (s *v4Server) FindMACbyIP(ip net.IP) net.HardwareAddr {
// FindMACbyIP implements the [Interface] for *v4Server.
func (s *v4Server) FindMACbyIP(ip netip.Addr) (mac net.HardwareAddr) {
now := time.Now()
s.leasesLock.Lock()
defer s.leasesLock.Unlock()
ip4 := ip.To4()
if ip4 == nil {
if !ip.Is4() {
return nil
}
netIP := ip.AsSlice()
for _, l := range s.leases {
if l.IP.Equal(ip4) {
if l.IP.Equal(netIP) {
if l.Expiry.After(now) || l.IsStatic() {
return l.HWAddr
}