Skip to content

Commit

Permalink
dnstap: uses pointer receiver for small response writer (coredns#6644)
Browse files Browse the repository at this point in the history
Signed-off-by: Takeshi Yoneda <[email protected]>
  • Loading branch information
mathetake authored Apr 26, 2024
1 parent 4531515 commit a7ed346
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
12 changes: 6 additions & 6 deletions plugin/dnstap/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ type Dnstap struct {
}

// TapMessage sends the message m to the dnstap interface, without populating "Extra" field.
func (h Dnstap) TapMessage(m *tap.Message) {
func (h *Dnstap) TapMessage(m *tap.Message) {
if h.ExtraFormat == "" {
h.tapWithExtra(m, nil)
} else {
Expand All @@ -36,7 +36,7 @@ func (h Dnstap) TapMessage(m *tap.Message) {
}

// TapMessageWithMetadata sends the message m to the dnstap interface, with "Extra" field being populated.
func (h Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, state request.Request) {
func (h *Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, state request.Request) {
if h.ExtraFormat == "" {
h.tapWithExtra(m, nil)
return
Expand All @@ -45,12 +45,12 @@ func (h Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, stat
h.tapWithExtra(m, []byte(extraStr))
}

func (h Dnstap) tapWithExtra(m *tap.Message, extra []byte) {
func (h *Dnstap) tapWithExtra(m *tap.Message, extra []byte) {
t := tap.Dnstap_MESSAGE
h.io.Dnstap(&tap.Dnstap{Type: &t, Message: m, Identity: h.Identity, Version: h.Version, Extra: extra})
}

func (h Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query *dns.Msg, queryTime time.Time) {
func (h *Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query *dns.Msg, queryTime time.Time) {
q := new(tap.Message)
msg.SetQueryTime(q, queryTime)
msg.SetQueryAddress(q, w.RemoteAddr())
Expand All @@ -65,7 +65,7 @@ func (h Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query *dns.M
}

// ServeDNS logs the client query and response to dnstap and passes the dnstap Context.
func (h Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
func (h *Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
rw := &ResponseWriter{
ResponseWriter: w,
Dnstap: h,
Expand All @@ -82,4 +82,4 @@ func (h Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
}

// Name implements the plugin.Plugin interface.
func (h Dnstap) Name() string { return "dnstap" }
func (h *Dnstap) Name() string { return "dnstap" }
2 changes: 1 addition & 1 deletion plugin/dnstap/writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type ResponseWriter struct {
query *dns.Msg
ctx context.Context
dns.ResponseWriter
Dnstap
*Dnstap
}

// WriteMsg writes back the response to the client and THEN works on logging the request and response to dnstap.
Expand Down

0 comments on commit a7ed346

Please sign in to comment.