small-package/diy/patches/pdnsd-filter-aaaa.patch

22 lines
671 B
Diff
Executable File

--- /dev/null
+++ b/pdnsd-alt/patches/10-filter-aaaa.patch
@@ -0,0 +1,18 @@
+--- a/src/dns_answer.c
++++ b/src/dns_answer.c
+@@ -567,6 +567,7 @@ static int add_rrset(dns_msg_t **ans, size_t *sz, size_t *allocsz,
+ if (rnd_recs) b=first=randrr(crrset->rrs);
+
+ while (b) {
++ if (tp==T_AAAA) goto add_rrset_next;
+ if (!add_rr(ans, sz, allocsz, rrn, tp, ans_ttl(crrset,queryts),
+ b->rdlen, b->data, S_ANSWER, udp, cb))
+ return 0;
+@@ -584,6 +585,7 @@ static int add_rrset(dns_msg_t **ans, size_t *sz, size_t *allocsz,
+ break;
+ }
+ }
++add_rrset_next:
+ b=b->next;
+ if (rnd_recs) {
+ if(!b) b=crrset->rrs; /* wraparound */