Miek Gieben fc667b98e0
Fix EDNS0 compliance (#2357)
* 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>
2018-12-06 21:18:11 +00:00
..
2018-11-13 16:46:48 -05:00
2018-10-18 21:42:53 +00:00
2018-07-19 16:23:06 +01:00
2018-11-01 19:37:13 +00:00
2018-12-06 21:18:11 +00:00
2018-07-19 16:23:06 +01:00
2018-12-06 21:18:11 +00:00
2018-09-19 08:16:04 +01:00
2018-12-06 21:18:11 +00:00
2018-11-09 20:32:43 +00:00
2018-12-06 21:18:11 +00:00
2018-11-30 13:05:49 -05:00
2018-12-06 21:18:11 +00:00
2018-12-05 21:20:20 +00:00
2018-08-14 08:55:55 -07:00
2018-07-19 16:23:06 +01:00
2018-12-06 21:18:11 +00:00
2018-07-19 16:23:06 +01:00
2018-08-14 08:55:55 -07:00
2018-12-06 21:18:11 +00:00
2018-08-14 08:55:55 -07:00
2018-11-21 07:44:17 -08:00
2018-07-28 10:32:13 +01:00
2018-07-19 16:23:06 +01:00
2018-12-06 21:18:11 +00:00
2018-12-06 21:18:11 +00:00
2018-07-19 16:23:06 +01:00
2017-10-24 10:16:03 +01:00
2018-09-19 08:16:04 +01:00
2018-11-05 05:59:24 -08:00