mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 16:24:19 -04:00
plugin/erratic: doc and zone transfer (#3340)
Fix the documentation, remove autopath entry and fix the transfer by copying some bits from the file plugin. Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
@@ -6,15 +6,12 @@
|
|||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
*erratic* returns a static response to all queries, but the responses can be delayed, dropped or truncated.
|
*erratic* returns a static response to all queries, but the responses can be delayed,
|
||||||
The *erratic* plugin will respond to every A or AAAA query. For any other type it will return
|
dropped or truncated. The *erratic* plugin will respond to every A or AAAA query. For
|
||||||
a SERVFAIL response. The reply for A will return 192.0.2.53 (see [RFC
|
any other type it will return a SERVFAIL response (except AXFR). The reply for A will return
|
||||||
5737](https://tools.ietf.org/html/rfc5737),
|
192.0.2.53 ([RFC 5737](https://tools.ietf.org/html/rfc5737)), for AAAA it returns 2001:DB8::53 ([RFC
|
||||||
for AAAA it returns 2001:DB8::53 (see [RFC 3849](https://tools.ietf.org/html/rfc3849)) and for an
|
3849](https://tools.ietf.org/html/rfc3849)). For an AXFR request it will respond with a small
|
||||||
AXFR request it will respond with a small zone transfer.
|
zone transfer.
|
||||||
|
|
||||||
*erratic* can also be used in conjunction with the *autopath* plugin. This is mostly to aid in
|
|
||||||
testing.
|
|
||||||
|
|
||||||
## Syntax
|
## Syntax
|
||||||
|
|
||||||
@@ -47,7 +44,7 @@ example.org {
|
|||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Or even shorter if the defaults suits you. Note this only drops queries, it does not delay them.
|
Or even shorter if the defaults suit you. Note this only drops queries, it does not delay them.
|
||||||
|
|
||||||
~~~ corefile
|
~~~ corefile
|
||||||
example.org {
|
example.org {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package erratic
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
"sync"
|
||||||
|
|
||||||
"github.com/coredns/coredns/plugin/test"
|
"github.com/coredns/coredns/plugin/test"
|
||||||
"github.com/coredns/coredns/request"
|
"github.com/coredns/coredns/request"
|
||||||
@@ -46,6 +47,11 @@ func xfr(state request.Request, truncate bool) {
|
|||||||
close(ch)
|
close(ch)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
tr.Out(state.W, state.Req, ch)
|
wg := new(sync.WaitGroup)
|
||||||
state.W.Hijack()
|
wg.Add(1)
|
||||||
|
go func() {
|
||||||
|
tr.Out(state.W, state.Req, ch)
|
||||||
|
wg.Done()
|
||||||
|
}()
|
||||||
|
wg.Wait()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user