* Fix EDNS0 compliance Do SizeAndDo in the server (ScrubWriter) and remove all uses of this from the plugins. Also *always* do it. This is to get into compliance for https://dnsflagday.net/. The pkg/edns0 now exports the EDNS0 options we understand; this is exported to allow plugins add things there. The *rewrite* plugin used this to add custom EDNS0 option codes that the server needs to understand. This also needs a new release of miekg/dns because it triggered a race-condition that was basicly there forever. See: * https://github.com/miekg/dns/issues/857 * https://github.com/miekg/dns/pull/859 Running a test instance and pointing the https://ednscomp.isc.org/ednscomp to it shows the tests are now fixed: ~~~ EDNS Compliance Tester Checking: 'miek.nl' as at 2018-12-01T17:53:15Z miek.nl. @147.75.204.203 (drone.coredns.io.): dns=ok edns=ok edns1=ok edns@512=ok ednsopt=ok edns1opt=ok do=ok ednsflags=ok docookie=ok edns512tcp=ok optlist=ok miek.nl. @2604:1380:2002:a000::1 (drone.coredns.io.): dns=ok edns=ok edns1=ok edns@512=ok ednsopt=ok edns1opt=ok do=ok ednsflags=ok docookie=ok edns512tcp=ok optlist=ok All Ok Codes ok - test passed. ~~~ Signed-off-by: Miek Gieben <miek@miek.nl> Signed-off-by: Miek Gieben <miek@miek.nl> * typos in comments Signed-off-by: Miek Gieben <miek@miek.nl> |
||
---|---|---|
.. | ||
chaos.go | ||
chaos_test.go | ||
log_test.go | ||
OWNERS | ||
README.md | ||
setup.go | ||
setup_test.go |
chaos
Name
chaos - allows for responding to TXT queries in the CH class.
Description
This is useful for retrieving version or author information from the server by querying a TXT record for a special domainname in the CH class.
Syntax
chaos [VERSION] [AUTHORS...]
- VERSION is the version to return. Defaults to
CoreDNS-<version>
, if not set. - AUTHORS is what authors to return. No default.
Note that you have to make sure that this plugin will get actual queries for the
following zones: version.bind
, version.server
, authors.bind
, hostname.bind
and
id.server
.
Examples
Specify all the zones in full.
version.bind version.server authors.bind hostname.bind id.server {
chaos CoreDNS-001 info@coredns.io
}
Or just default to .
:
. {
chaos CoreDNS-001 info@coredns.io
}
And test with dig
:
% dig @localhost CH TXT version.bind
...
;; ANSWER SECTION:
version.bind. 0 CH TXT "CoreDNS-001"
...