feat(dnssec): query the authoritative servers directly

This commit is contained in:
2025-09-04 18:11:39 +01:00
parent 1f2703df19
commit 234b1dcc86
17 changed files with 2218 additions and 4 deletions

35
common/dnssec/errors.go Normal file
View File

@@ -0,0 +1,35 @@
package dnssec
// CODE ADAPTED FROM THIS
// ISC License
//
// Copyright (c) 2012-2016 Peter Banik <peter@froggle.org>
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
import "errors"
var (
ErrResourceNotSigned = errors.New("resource is not signed with RRSIG")
ErrNoResult = errors.New("requested RR not found")
ErrDnskeyNotAvailable = errors.New("DNSKEY RR does not exist")
ErrDsNotAvailable = errors.New("DS RR does not exist")
ErrInvalidRRsig = errors.New("invalid RRSIG")
ErrForgedRRsig = errors.New("forged RRSIG header")
ErrRrsigValidationError = errors.New("RR doesn't validate against RRSIG")
ErrRrsigValidityPeriod = errors.New("invalid RRSIG validity period")
ErrUnknownDsDigestType = errors.New("unknown DS digest type")
ErrDsInvalid = errors.New("DS RR does not match DNSKEY")
ErrInvalidQuery = errors.New("invalid query input")
)