github semihalev/sdns v1.5.1

latest releases: v1.6.0, v1.5.3, v1.5.2...
2 months ago

What's Changed

Critical Bug Fixes

  • Fixed NSEC validation for non-existent TLDs (e.g., random TLD queries)
  • Fixed NXDOMAIN responses being incorrectly returned as NOERROR from cache
  • Fixed goroutine leak in DNS resolver's singleflight operations
  • Fixed SERVFAIL cache TTL from 5 seconds to 30 seconds to prevent repeated queries to failed servers

DNSSEC Improvements

  • Implemented RFC 8914 Extended DNS Errors (EDE) support for better diagnostics
  • Fixed RRSIG expiration handling in cache TTL calculations
  • Improved NSEC/NSEC3 validation for better RFC compliance
  • Fixed AD flag handling for authenticated responses

Performance Improvements

  • Zero-allocation cache key generation using sync.Pool (~25% faster)
  • Zero-allocation logging with migration to zlog v1.2.3
  • Optimized NSEC coverage checks for better performance

Other Changes

  • Migrated from log to zlog v1.2.3 for better performance
  • Improved error messages with typed errors
  • Better handling of single-name zones and edge cases
  • Updated various dependencies for security and performance

What's Fixed

This release primarily addresses critical bugs discovered after v1.5.0, with a focus on DNSSEC validation correctness and cache performance. The SERVFAIL caching fix significantly improves performance when dealing with unreachable or failing authoritative servers.

Docker

docker pull ghcr.io/semihalev/sdns:v1.5.1

Checksums

Checksums will be automatically added by the release workflow.

Full Changelog: v1.5.0...v1.5.1

Don't miss a new sdns release

NewReleases is sending notifications on new releases.