Skip to content

Commit

Permalink
plugin/erratic: doc and zone transfer (coredns#3340)
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
miekg committed Oct 2, 2019
1 parent fa6718d commit 64f0345
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
17 changes: 7 additions & 10 deletions plugin/erratic/README.md
Expand Up @@ -6,15 +6,12 @@

## Description

*erratic* returns a static response to all queries, but the responses can be delayed, dropped or truncated.
The *erratic* plugin 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](https://tools.ietf.org/html/rfc5737),
for AAAA it returns 2001:DB8::53 (see [RFC 3849](https://tools.ietf.org/html/rfc3849)) and for an
AXFR request it will respond with a small zone transfer.

*erratic* can also be used in conjunction with the *autopath* plugin. This is mostly to aid in
testing.
*erratic* returns a static response to all queries, but the responses can be delayed,
dropped or truncated. The *erratic* plugin will respond to every A or AAAA query. For
any other type it will return a SERVFAIL response (except AXFR). The reply for A will return
192.0.2.53 ([RFC 5737](https://tools.ietf.org/html/rfc5737)), for AAAA it returns 2001:DB8::53 ([RFC
3849](https://tools.ietf.org/html/rfc3849)). For an AXFR request it will respond with a small
zone transfer.

## Syntax

Expand Down Expand Up @@ -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
example.org {
Expand Down
10 changes: 8 additions & 2 deletions plugin/erratic/xfr.go
Expand Up @@ -2,6 +2,7 @@ package erratic

import (
"strings"
"sync"

"github.com/coredns/coredns/plugin/test"
"github.com/coredns/coredns/request"
Expand Down Expand Up @@ -46,6 +47,11 @@ func xfr(state request.Request, truncate bool) {
close(ch)
}()

tr.Out(state.W, state.Req, ch)
state.W.Hijack()
wg := new(sync.WaitGroup)
wg.Add(1)
go func() {
tr.Out(state.W, state.Req, ch)
wg.Done()
}()
wg.Wait()
}

0 comments on commit 64f0345

Please sign in to comment.