]> git.ipfire.org Git - thirdparty/unbound.git/commit
DNS Error Reporting (RFC 9567) (#902)
authorWillem Toorop <willem@nlnetlabs.nl>
Mon, 7 Apr 2025 08:25:10 +0000 (10:25 +0200)
committerGitHub <noreply@github.com>
Mon, 7 Apr 2025 08:25:10 +0000 (10:25 +0200)
commita616437338fd3a61f38ed171aad5171f05abd3ec
treea9397be514f9ea76250816f92d5e163ac20de880
parenteb390dd0381b7f502c52664c7984c13cafbd62d4
DNS Error Reporting (RFC 9567) (#902)

* v1 EDER poc

* remove superfluous edns_list_get_option function

* create an EDER configurable

* Hackathon 114

* Fixes for version -04

* Generated configparser and configlexer are not versioned in master anymore

* Remove NOERROR DNS Error Reporting; not part of final RFC.
* Use assigned IANA EDNS0 Option Code for Report-Channel.

* Fix buffer protection and agent domain validity

* Use DNS Error Reporting instead of the eder nickname

* Update documentation.

* Fix typo.

* Bail out early if ede is not present.

* Forget previous EDNS options from upstream; this is what was
  implicitly happening but not deterministacally.

* Don't report LDNS_EDE_OTHER and bail early if there is no reporting
  agent.

* Only do DNS error reporting when a client asked for something that
  went wrong.

* Add an error reporting agent in the parent that should be ignored.

* review feedback.

* fixup for fast reload

* Add 'num.dns_error_reports' to stats and test for it.

---------

Co-authored-by: TCY16 <tom@nlnetlabs.nl>
Co-authored-by: Yorgos Thessalonikefs <yorgos@nlnetlabs.nl>
20 files changed:
daemon/remote.c
daemon/stats.c
doc/example.conf.in
doc/unbound-control.8.in
doc/unbound.conf.5.in
iterator/iterator.c
libunbound/unbound.h
services/mesh.c
services/mesh.h
sldns/rrdef.h
smallapp/unbound-control.c
testdata/dns_error_reporting.rpl [new file with mode: 0644]
testdata/stat_values.tdir/stat_values.conf
testdata/stat_values.tdir/stat_values.test
testdata/stat_values.tdir/stat_values.testns
testdata/stat_values.tdir/stat_values_discard_wait_limit.conf
util/config_file.c
util/config_file.h
util/configlexer.lex
util/configparser.y