diff --git a/conn.go b/conn.go index 4fc4dd6..3c0dd62 100644 --- a/conn.go +++ b/conn.go @@ -65,10 +65,13 @@ const ( ) var ( - errNoPositiveMTUFound = errors.New("no positive MTU found") - errNoPacketConn = errors.New("must supply at least a multicast IPv4 or IPv6 PacketConn") - errNoUsableInterfaces = errors.New("no usable interfaces found for mDNS") - errFailedToClose = errors.New("failed to close mDNS Conn") + errNoPositiveMTUFound = errors.New("no positive MTU found") + errNoPacketConn = errors.New("must supply at least a multicast IPv4 or IPv6 PacketConn") + errNoUsableInterfaces = errors.New("no usable interfaces found for mDNS") + errFailedToClose = errors.New("failed to close mDNS Conn") + errFailedToDecodeAddrFromAResource = errors.New("failed to decode netip.Addr from A type Resource") + errFailedToDecodeAddrFromAAAAResource = errors.New("failed to decode netip.Addr from AAAA type Resource") + errUnhandledAnswerHeaderType = errors.New("header for Answer had unhandled type") ) type netInterface struct { @@ -1163,7 +1166,6 @@ func (c *Conn) start(started chan<- struct{}, inboundBufferSize int, config *Con } } -//nolint:all func addrFromAnswerHeader(answer dnsmessage.Resource) (*netip.Addr, error) { switch answer.Header.Type { case dnsmessage.TypeA: @@ -1175,7 +1177,7 @@ func addrFromAnswerHeader(answer dnsmessage.Resource) (*netip.Addr, error) { } } - return nil, fmt.Errorf("failed to create netip.Addr from TypeA resource") + return nil, errFailedToDecodeAddrFromAResource case dnsmessage.TypeAAAA: if a, ok := answer.Body.(*dnsmessage.AAAAResource); ok { addr, ok := netip.AddrFromSlice(a.AAAA[:]) @@ -1184,9 +1186,9 @@ func addrFromAnswerHeader(answer dnsmessage.Resource) (*netip.Addr, error) { } } - return nil, fmt.Errorf("failed to create netip.Addr from TypeAAAA resource") + return nil, errFailedToDecodeAddrFromAAAAResource default: - return nil, fmt.Errorf("unhandled resource type in answer") + return nil, errUnhandledAnswerHeaderType } }