]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: add dns_answer_contains() helper
authorLennart Poettering <lennart@poettering.net>
Wed, 28 Oct 2020 19:50:44 +0000 (20:50 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 9 Feb 2021 16:52:36 +0000 (17:52 +0100)
src/resolve/resolved-dns-answer.c
src/resolve/resolved-dns-answer.h

index a2878ec2bb87127eb4d665468addedc2bb7748cd..52ba05644f03f83e439660c3413b8000f8e460a3 100644 (file)
@@ -284,6 +284,16 @@ int dns_answer_contains_zone_nsec3(DnsAnswer *answer, const char *zone) {
         return false;
 }
 
+int dns_answer_contains(DnsAnswer *answer, DnsResourceRecord *rr) {
+        DnsResourceRecord *i;
+
+        DNS_ANSWER_FOREACH(i, answer)
+                if (dns_resource_record_equal(i, rr))
+                        return true;
+
+        return false;
+}
+
 int dns_answer_find_soa(DnsAnswer *a, const DnsResourceKey *key, DnsResourceRecord **ret, DnsAnswerFlags *flags) {
         DnsResourceRecord *rr, *soa = NULL;
         DnsAnswerFlags rr_flags, soa_flags = 0;
index d73525cedd211b47b7975e5d2fe295b34bfbdbb6..88043081c2cdb6d00cf784de4f7f876743e15ed3 100644 (file)
@@ -47,6 +47,7 @@ int dns_answer_add_soa(DnsAnswer *a, const char *name, uint32_t ttl, int ifindex
 int dns_answer_match_key(DnsAnswer *a, const DnsResourceKey *key, DnsAnswerFlags *combined_flags);
 int dns_answer_contains_nsec_or_nsec3(DnsAnswer *a);
 int dns_answer_contains_zone_nsec3(DnsAnswer *answer, const char *zone);
+int dns_answer_contains(DnsAnswer *answer, DnsResourceRecord *rr);
 
 int dns_answer_find_soa(DnsAnswer *a, const DnsResourceKey *key, DnsResourceRecord **ret, DnsAnswerFlags *flags);
 int dns_answer_find_cname_or_dname(DnsAnswer *a, const DnsResourceKey *key, DnsResourceRecord **ret, DnsAnswerFlags *flags);