mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04:00 
			
		
		
		
	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.
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...]
- dbfilethe database file to read and parse.
- zoneszones 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]
}
- transferenables 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 *
}