DNS response for SRV queries look like this:
- query dname looks like '_http._tcp.red.default.svc.cluster.local'
- answer record dname looks like
'
3336633266663038.red.default.svc.cluster.local.'
Of course, it never matches... and it triggers many false positive in
the current code (which is suitable for A/AAAA/CNAME).
This patch simply ignores this dname matching in the case of SRV query
type.
/* check if the current record dname is valid.
* previous_dname points either to queried dname or last CNAME target
*/
- if (memcmp(previous_dname, tmpname, len) != 0) {
+ if (dns_query->type != DNS_RTYPE_SRV && memcmp(previous_dname, tmpname, len) != 0) {
free_dns_answer_item(dns_answer_record);
if (i == 0) {
/* first record, means a mismatch issue between queried dname