From 31b3fb2910c3ae4fcc0a772361a50410c9b75294 Mon Sep 17 00:00:00 2001 From: Ian Laidlaw Date: Tue, 23 Feb 2021 14:47:34 -0500 Subject: [PATCH 1/2] Take the current header truncated bit into account --- crates/proto/src/op/message.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/proto/src/op/message.rs b/crates/proto/src/op/message.rs index 539f3a95ca..9cfa63d376 100644 --- a/crates/proto/src/op/message.rs +++ b/crates/proto/src/op/message.rs @@ -801,7 +801,8 @@ where nameserver_count: nameserver_count.0, additional_count: additional_count.0, }; - let was_truncated = answer_count.1 || nameserver_count.1 || additional_count.1; + let was_truncated = + header.truncated() || answer_count.1 || nameserver_count.1 || additional_count.1; place.replace(encoder, update_header_counts(header, was_truncated, counts))?; Ok(()) From e1b0c3e9cd94300f8b379919e5e2a466396a73bc Mon Sep 17 00:00:00 2001 From: Ian Laidlaw Date: Tue, 2 Mar 2021 16:30:56 -0500 Subject: [PATCH 2/2] Test that the truncate bit is encoded/decoded in the Message --- crates/proto/src/op/message.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/proto/src/op/message.rs b/crates/proto/src/op/message.rs index 9cfa63d376..fce95d823e 100644 --- a/crates/proto/src/op/message.rs +++ b/crates/proto/src/op/message.rs @@ -564,7 +564,7 @@ impl Message { pub fn update_counts(&mut self) -> &mut Self { self.header = update_header_counts( &self.header, - false, + self.truncated(), HeaderCounts { query_count: self.queries.len(), answer_count: self.answers.len(),