mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -04:00
* core: add listening for other protocols
Allow CoreDNS to listen for TLS request coming over port 853. This can
be enabled with `tls://` in the config file.
Implement listening for grps:// as well.
a Corefile like:
~~~
. tls://.:1853 {
whoami
tls
}
~~~
Means we listen on 1853 for tls requests, the `tls` config item allows
configuration for TLS parameters. We *might* be tempted to use Caddy's
Let's Encrypt implementation here.
* Refactor coredns/grpc into CoreDNS
This makes gRPC a first class citizen in CoreDNS. Add defines as being
just another server.
* some cleanups
* unexport the servers
* Move protobuf dir
* Hook up TLS properly
* Fix test
* listen for TLS as well. README updates
* disable test, fix package
* fix test
* Fix tests
* Fix remaining test
* Some tests
* Make the test work
* Add grpc test from #580
* fix crash
* Fix tests
* Close conn
* README cleanups
* README
* link RFC
erratic
erratic is a middleware useful for testing client behavior. It returns a static response to all queries, but the responses can be delayed by a random amount of time or dropped all together, i.e. no answer at all.
._<transport>.qname. 0 IN SRV 0 0 <port> .
The erratic middleware will respond to every A or AAAA query. For any other type it will return a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737), for AAAA it returns 2001:DB8::53 (see RFC 3849).
Syntax
erratic {
drop AMOUNT
}
- AMOUNT drop 1 per AMOUNT of the queries, the default is 2.
Examples
.:53 {
erratic {
drop 3
}
}
Or even shorter if the defaults suits you:
. {
erratic
}
Bugs
Delaying answers is not implemented.