chiark / gitweb /
If server sends answer with TC set via TCP, bail
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 24 May 2020 17:16:07 +0000 (18:16 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 26 May 2020 19:24:04 +0000 (20:24 +0100)
We shouldn't use the answer; it's corrupted.  But we don't have a
recovery strategy either.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/reply.c

index ca0de2f4a3af07c217585d2f8585ece00075803b..fbe4c95ecdde5ccaa52f638293253b80e3629d4a 100644 (file)
@@ -370,6 +370,11 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen,
     adns__query_fail(qu,adns_s_invalidresponse);
     return;
   }
+  if (qu->flags & adns_qf_usevc) {
+    adns__diag(ads,serv,qu,"server sent datagram with TC over TCP");
+    adns__query_fail(qu,adns_s_invalidresponse);
+    return;
+  }
   qu->flags |= adns_qf_usevc;
   
  x_restartquery: