about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2023-12-16 23:20:12 +0000
committerLaurent Bercot <ska@appnovation.com>2023-12-16 23:20:12 +0000
commit8f525220efdc796133f67b4bccc70583141e6396 (patch)
tree1d243c5a49c161cbed67e3b0d226445343347a74
parent3764e6bfe73507819db9c06ff5130a72e2d762ad (diff)
downloadshibari-8f525220efdc796133f67b4bccc70583141e6396.tar.gz
shibari-8f525220efdc796133f67b4bccc70583141e6396.tar.xz
shibari-8f525220efdc796133f67b4bccc70583141e6396.zip
wtf tinydns-data? specialcase SOA query, only return one
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--src/server/shibari_packet_tdb_answer_query.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/server/shibari_packet_tdb_answer_query.c b/src/server/shibari_packet_tdb_answer_query.c
index a22927f..2627efb 100644
--- a/src/server/shibari_packet_tdb_answer_query.c
+++ b/src/server/shibari_packet_tdb_answer_query.c
@@ -64,6 +64,7 @@ unsigned int shibari_packet_tdb_answer_query (shibari_packet *pkt, cdb const *td
       }
       switch (entry.type)
       {
+        case SHIBARI_T_SOA : goto got ;  /* wtf tinydns-data putting several SOA */
         case SHIBARI_T_NS :
         case SHIBARI_T_MX :
         case SHIBARI_T_CNAME :  /* we're not supposed to but meh */
@@ -75,6 +76,7 @@ unsigned int shibari_packet_tdb_answer_query (shibari_packet *pkt, cdb const *td
     wildpos += 1 + q->s[wildpos] ;
   }
 
+ got:
   if (!flagyxdomain) pkt->hdr.rcode = 3 ;
 
   if (!pkt->hdr.counts.an)