aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/shibari_packet_tdb_answer_query.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shibari_packet_tdb_answer_query.c')
-rw-r--r--src/server/shibari_packet_tdb_answer_query.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/shibari_packet_tdb_answer_query.c b/src/server/shibari_packet_tdb_answer_query.c
index 74b08a2..a57eb79 100644
--- a/src/server/shibari_packet_tdb_answer_query.c
+++ b/src/server/shibari_packet_tdb_answer_query.c
@@ -62,7 +62,7 @@ unsigned int shibari_packet_tdb_answer_query (shibari_packet *pkt, cdb const *td
int r = shibari_tdb_read_entry(tdb, &state, &entry, ql.s + wildpos, ql.len - wildpos, qtype, !!wildpos, loc, stamp, &flagyxdomain) ;
if (r == -1) return 2 ;
if (!r) break ;
- if (!shibari_packet_add_rr(pkt, &entry, 0, wildpos, 2))
+ if (!shibari_packet_add_rr(pkt, &entry, 0, 0, 2))
{
pkt->hdr.tc = 1 ;
return 0 ;
@@ -77,8 +77,8 @@ unsigned int shibari_packet_tdb_answer_query (shibari_packet *pkt, cdb const *td
default : break ;
}
}
- if (pkt->hdr.counts.an || flagyxdomain) break ;
- wildpos += 1 + q->s[wildpos] ;
+ if (pkt->hdr.counts.an || flagyxdomain || (ql.s[wildpos] == 1 && ql.s[wildpos+1] == '*')) break ;
+ wildpos += 1 + ql.s[wildpos] ;
}
got: