diff --git a/nsecx.go b/nsecx.go index b98ee130..8afe133f 100644 --- a/nsecx.go +++ b/nsecx.go @@ -52,68 +52,3 @@ func HashName(label string, ha uint8, iter uint16, salt string) string { } return unpackBase32(nsec3) } - -// Implement the HashNames method of Denialer -func (rr *NSEC3) HashNames(domain string) { - rr.Header().Name = strings.ToLower(HashName(rr.Header().Name, rr.Hash, rr.Iterations, rr.Salt)) + "." + domain - rr.NextDomain = HashName(rr.NextDomain, rr.Hash, rr.Iterations, rr.Salt) -} - -// Implement the Match method of Denialer -func (rr *NSEC3) Match(domain string) bool { - return strings.ToUpper(SplitDomainName(rr.Header().Name)[0]) == strings.ToUpper(HashName(domain, rr.Hash, rr.Iterations, rr.Salt)) -} - -// Implement the Match method of Denialer -func (rr *NSEC) Match(domain string) bool { - return strings.ToUpper(rr.Header().Name) == strings.ToUpper(domain) -} - -func (rr *NSEC3) MatchType(rrtype uint16) bool { - for _, t := range rr.TypeBitMap { - if t == rrtype { - return true - } - if t > rrtype { - return false - } - } - return false -} - -func (rr *NSEC) MatchType(rrtype uint16) bool { - for _, t := range rr.TypeBitMap { - if t == rrtype { - return true - } - if t > rrtype { - return false - } - } - return false -} - -// Cover checks if domain is covered by the NSEC3 record. Domain must be given in plain text (i.e. not hashed) -// TODO(mg): this doesn't loop around -// TODO(mg): make a CoverHashed variant? -func (rr *NSEC3) Cover(domain string) bool { - hashdom := strings.ToUpper(HashName(domain, rr.Hash, rr.Iterations, rr.Salt)) - nextdom := strings.ToUpper(rr.NextDomain) - owner := strings.ToUpper(SplitDomainName(rr.Header().Name)[0]) // The hashed part - apex := strings.ToUpper(HashName(strings.Join(SplitDomainName(rr.Header().Name)[1:], "."), rr.Hash, rr.Iterations, rr.Salt)) + "." // The name of the zone - // if nextdomain equals the apex, it is considered The End. So in that case hashdom is always less then nextdomain - if hashdom > owner && nextdom == apex { - return true - } - - if hashdom > owner && hashdom <= nextdom { - return true - } - - return false -} - -// Cover checks if domain is covered by the NSEC record. Domain must be given in plain text. -func (rr *NSEC) Cover(domain string) bool { - return false -}