summaryrefslogtreecommitdiff
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.xz
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)