From 94e21e69af4ffc6db84e66b736bcd6b9553a545d Mon Sep 17 00:00:00 2001 From: Eugene Burkov Date: Thu, 11 Mar 2021 14:01:48 +0300 Subject: [PATCH] Pull request: 2582 invalid hostname vol.3 Merge in DNS/adguard-home from 2582-zero-byte to master Updates #2582. Squashed commit of the following: commit 88db23f26cd6ee9978310c7030f6866b9ef58785 Author: Eugene Burkov Date: Thu Mar 11 13:01:02 2021 +0300 dhcpd: rm temporary workaround --- go.mod | 2 +- go.sum | 4 ++-- internal/dhcpd/v4.go | 12 +----------- internal/dhcpd/v6.go | 3 ++- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index b007e7e3..e138ea44 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/gobuffalo/packr/v2 v2.8.1 // indirect github.com/google/go-cmp v0.5.5 // indirect github.com/hugelgupf/socketpair v0.0.0-20190730060125-05d35a94e714 - github.com/insomniacslk/dhcp v0.0.0-20210306224058-018caddcb1eb + github.com/insomniacslk/dhcp v0.0.0-20210310193751-cfd4d47082c2 github.com/kardianos/service v1.2.0 github.com/karrick/godirwalk v1.16.1 // indirect github.com/lucas-clemente/quic-go v0.19.3 diff --git a/go.sum b/go.sum index 9dd8b6c6..88e38993 100644 --- a/go.sum +++ b/go.sum @@ -216,8 +216,8 @@ github.com/hugelgupf/socketpair v0.0.0-20190730060125-05d35a94e714/go.mod h1:2Go github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/insomniacslk/dhcp v0.0.0-20210306224058-018caddcb1eb h1:IlbQi/Y9BmwqtsT+IfctERmRQcNsw4HvLAOSx16GseY= -github.com/insomniacslk/dhcp v0.0.0-20210306224058-018caddcb1eb/go.mod h1:TKl4jN3Voofo4UJIicyNhWGp/nlQqQkFxmwIFTvBkKI= +github.com/insomniacslk/dhcp v0.0.0-20210310193751-cfd4d47082c2 h1:NpTIlXznCStsY88jU+Gh1Dy5dt/jYV4z4uU8h2TUOt4= +github.com/insomniacslk/dhcp v0.0.0-20210310193751-cfd4d47082c2/go.mod h1:TKl4jN3Voofo4UJIicyNhWGp/nlQqQkFxmwIFTvBkKI= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= diff --git a/internal/dhcpd/v4.go b/internal/dhcpd/v4.go index 38c0a90d..7d24699e 100644 --- a/internal/dhcpd/v4.go +++ b/internal/dhcpd/v4.go @@ -7,7 +7,6 @@ import ( "encoding/binary" "fmt" "net" - "strings" "sync" "time" @@ -464,16 +463,7 @@ func (s *v4Server) processRequest(req, resp *dhcpv4.DHCPv4) (*Lease, bool) { } if lease.Expiry.Unix() != leaseExpireStatic { - // The trimming is required since some devices include trailing - // zero-byte in DHCP option length calculation. - // - // See https://github.com/AdguardTeam/AdGuardHome/issues/2582. - // - // TODO(e.burkov): Remove after the trimming for hostname option - // will be added into github.com/insomniacslk/dhcp module. - hostnameStr := strings.TrimRight(string(hostname), "\x00") - - lease.Hostname = hostnameStr + lease.Hostname = string(hostname) s.commitLease(lease) } else if len(lease.Hostname) != 0 { o := &optFQDN{ diff --git a/internal/dhcpd/v6.go b/internal/dhcpd/v6.go index 0b43d6d1..b47387e7 100644 --- a/internal/dhcpd/v6.go +++ b/internal/dhcpd/v6.go @@ -46,7 +46,8 @@ func ip6InRange(start, ip net.IP) bool { if len(start) != 16 { return false } - //lint:ignore SA1021 TODO(e.burkov): Ignore this for now, think about using masks. + //lint:ignore SA1021 TODO(e.burkov): Ignore this for now, think about + // using masks. if !bytes.Equal(start[:15], ip[:15]) { return false }