diff options
Diffstat (limited to 'request')
-rw-r--r-- | request/request.go | 8 | ||||
-rw-r--r-- | request/request_test.go | 10 | ||||
-rw-r--r-- | request/writer.go | 4 |
3 files changed, 9 insertions, 13 deletions
diff --git a/request/request.go b/request/request.go index c4e4eea3c..f560612c8 100644 --- a/request/request.go +++ b/request/request.go @@ -226,11 +226,7 @@ func (r *Request) SizeAndDo(m *dns.Msg) bool { return true } -// Scrub is a noop function, added for backwards compatibility reasons. The original Scrub is now called -// automatically by the server on writing the reply. See ScrubWriter. -func (r *Request) Scrub(reply *dns.Msg) (*dns.Msg, int) { return reply, 0 } - -// scrub scrubs the reply message so that it will fit the client's buffer. It will first +// Scrub scrubs the reply message so that it will fit the client's buffer. It will first // check if the reply fits without compression and then *with* compression. // Scrub will then use binary search to find a save cut off point in the additional section. // If even *without* the additional section the reply still doesn't fit we @@ -238,7 +234,7 @@ func (r *Request) Scrub(reply *dns.Msg) (*dns.Msg, int) { return reply, 0 } // we set the TC bit on the reply; indicating the client should retry over TCP. // Note, the TC bit will be set regardless of protocol, even TCP message will // get the bit, the client should then retry with pigeons. -func (r *Request) scrub(reply *dns.Msg) *dns.Msg { +func (r *Request) Scrub(reply *dns.Msg) *dns.Msg { size := r.Size() reply.Compress = false diff --git a/request/request_test.go b/request/request_test.go index 6685ad3b3..bfc95bc5e 100644 --- a/request/request_test.go +++ b/request/request_test.go @@ -73,7 +73,7 @@ func TestRequestScrubAnswer(t *testing.T) { fmt.Sprintf("large.example.com. 10 IN SRV 0 0 80 10-0-0-%d.default.pod.k8s.example.com.", i))) } - req.scrub(reply) + req.Scrub(reply) if want, got := req.Size(), reply.Len(); want < got { t.Errorf("Want scrub to reduce message length below %d bytes, got %d bytes", want, got) } @@ -94,7 +94,7 @@ func TestRequestScrubExtra(t *testing.T) { fmt.Sprintf("large.example.com. 10 IN SRV 0 0 80 10-0-0-%d.default.pod.k8s.example.com.", i))) } - req.scrub(reply) + req.Scrub(reply) if want, got := req.Size(), reply.Len(); want < got { t.Errorf("Want scrub to reduce message length below %d bytes, got %d bytes", want, got) } @@ -116,7 +116,7 @@ func TestRequestScrubExtraEdns0(t *testing.T) { fmt.Sprintf("large.example.com. 10 IN SRV 0 0 80 10-0-0-%d.default.pod.k8s.example.com.", i))) } - req.scrub(reply) + req.Scrub(reply) if want, got := req.Size(), reply.Len(); want < got { t.Errorf("Want scrub to reduce message length below %d bytes, got %d bytes", want, got) } @@ -146,7 +146,7 @@ func TestRequestScrubExtraRegression(t *testing.T) { fmt.Sprintf("10-0-0-%d.default.pod.k8s.example.com. 10 IN A 10.0.0.%d", i, i))) } - reply = req.scrub(reply) + reply = req.Scrub(reply) if want, got := req.Size(), reply.Len(); want < got { t.Errorf("Want scrub to reduce message length below %d bytes, got %d bytes", want, got) } @@ -171,7 +171,7 @@ func TestRequestScrubAnswerExact(t *testing.T) { reply.Answer = append(reply.Answer, test.A(fmt.Sprintf("large.example.com. 10 IN A 127.0.0.%d", i))) } - req.scrub(reply) + req.Scrub(reply) if want, got := req.Size(), reply.Len(); want < got { t.Errorf("Want scrub to reduce message length below %d bytes, got %d bytes", want, got) } diff --git a/request/writer.go b/request/writer.go index ef0c14417..ffbbe93e3 100644 --- a/request/writer.go +++ b/request/writer.go @@ -15,6 +15,6 @@ func NewScrubWriter(req *dns.Msg, w dns.ResponseWriter) *ScrubWriter { return &S // scrub on the message m and will then write it to the client. func (s *ScrubWriter) WriteMsg(m *dns.Msg) error { state := Request{Req: s.req, W: s.ResponseWriter} - new, _ := state.Scrub(m) - return s.ResponseWriter.WriteMsg(new) + n := state.Scrub(m) + return s.ResponseWriter.WriteMsg(n) } |