Files
coredns/middleware/file
Miek Gieben 84dfdab584 Cache elements of State
Cache the size and the do bit whenever someone asked for it. We can

probably add more:



PASS

BenchmarkStateDo-4  	100000000	        11.9 ns/op

BenchmarkStateSize-4	 5000000	       265 ns/op

ok  	github.com/miekg/coredns/middleware	2.828s



PASS

BenchmarkStateDo-4  	1000000000	         2.86 ns/op

BenchmarkStateSize-4	500000000	         3.10 ns/op

ok  	github.com/miekg/coredns/middleware	5.032s



This PR also includes some testing cleanups as well.
2016-04-04 08:19:06 +01:00
..
2016-04-02 17:49:13 +01:00
2016-04-02 17:49:13 +01:00
2016-04-02 17:49:13 +01:00
2016-04-04 08:19:06 +01:00
2016-04-04 08:19:06 +01:00
2016-04-02 16:56:16 +01:00
2016-04-03 09:02:34 +01:00
2016-04-04 08:19:06 +01:00
2016-04-02 17:49:13 +01:00
2016-04-03 09:02:34 +01:00
2016-04-03 09:02:34 +01:00
2016-04-03 15:52:23 +01:00
2016-04-04 08:19:06 +01:00
2016-03-28 18:23:17 +01:00
2016-04-03 09:02:34 +01:00
2016-04-02 16:56:16 +01:00
2016-04-03 09:02:34 +01:00

file

file enables serving zone data from a RFC-1035 styled file.

The file middleware is used for "old-style" DNS server. It serves from a preloaded file that exists on disk.

Syntax

file dbfile [zones...]
  • dbfile the database file to read and parse.
  • zones zones it should be authoritative for. If empty the zones from the configuration block are used.

If you want to round robin A and AAAA responses look at the loadbalance middleware.

TSIG key configuration is TODO; directive format for transfer will probably be extended with TSIG key information, something like transfer out [address] key [name] [base64]

file dbfile [zones... ] {
    transfer out [address...]
    transfer to [address]
}
  • transfer enables zone transfers. It may be specified multiples times. To or from signals the direction. Address must be denoted in CIDR notation (127.0.0.1/32 etc.). The special wildcard "*" means: the entire internet.

Examples

Load the miek.nl zone from miek.nl.signed and allow transfers to the internet.

file miek.nl.signed miek.nl {
    transfer to *
}