Skip to content

Release 2.15.0

Compare
Choose a tag to compare
@jelu jelu released this 09 Aug 11:33
· 29 commits to develop since this release

This release fixes DNS parsing w.r.t. EDNS, implements better loop detection during name decompression and adds a lot of EDNS indexers and filters.

Due to submodules in the repository please download this tarball:
https://www.dns-oarc.net/files/dsc/dsc-2.15.0.tar.gz
sha256: b89b168260577017c75d8c8fba4b0a99e3e87db5673999bffd7bce0b693383f7

Packages are available at: https://dev.dns-oarc.net/packages/

Previously the DNS parser expected the additional records to come straight after the question section. Meaning that if the DNS packet had any answer or authority records, they would be parsed as additional records for the OPT record and EDNS information.

Following new indexers has been added:

  • edns_cookie
  • edns_cookie_len
  • edns_cookie_client
  • edns_cookie_server
  • edns_ecs
  • edns_ecs_family
  • edns_ecs_source_prefix
  • edns_ecs_scope_prefix
  • edns_ecs_address
  • edns_ecs_subnet
  • edns_ede
  • edns_ede_code
  • edns_ede_textlen
  • edns_ede_text
  • edns_nsid
  • edns_nsid_len
  • edns_nsid_data
  • edns_nsid_text

Following new filters has been added:

  • edns0-only
  • edns0-cookie-only
  • edns0-nsid-only
  • edns0-ede-only
  • edns0-ecs-only

See man-page dsc.conf(5) for more information.

Other fixes/additions:

  • Only parse entire DNS message if EDNS indexers are used
  • dns_protocol: Implement proper loop detection during decompression
  • xmalloc: Check return of amalloc() before using memset()/memcpy() because it's undefined behavior on null pointers

8259f30 EDNS filters
41f3b9a strtohex, nsid text
a666c04 EDNS(0) Client Subnet
b5164fe EDNS
7cabfd9 EDNS0 parsing fixes and additional EDNS0 indexers.
46b1797 memcpy/memset fixes
8fd7b7a EDNS parsing
cee2bf7 EDNS0 parsing, multi RR test
a2c00c9 DNS compression loop detection
9875a3e RR parsing