plugin/forward: fix broken tap plugins when dnstap plugins specified (#5890)

* plugin/forward: fix broken tap plugins when dnstap plugins specified

---------

Signed-off-by: Gerhard Tan <gwohau.tan@gmail.com>
This commit is contained in:
Gerhard Tan
2023-01-31 03:38:15 +08:00
committed by GitHub
parent 68b2aa6708
commit b7279d1f66
5 changed files with 60 additions and 13 deletions

View File

@@ -66,6 +66,14 @@ func (f *Forward) SetProxy(p *Proxy) {
p.start(f.hcInterval)
}
// SetTapPlugin appends one or more dnstap plugins to the tap plugin list.
func (f *Forward) SetTapPlugin(tapPlugin *dnstap.Dnstap) {
f.tapPlugins = append(f.tapPlugins, tapPlugin)
if nextPlugin, ok := tapPlugin.Next.(*dnstap.Dnstap); ok {
f.SetTapPlugin(nextPlugin)
}
}
// Len returns the number of configured proxies.
func (f *Forward) Len() int { return len(f.proxies) }