diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-11-05 13:34:22 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-02-14 15:43:01 +0100 |
commit | 48662847ecd28f418a911a5fa0e7f2c71495cbaf (patch) | |
tree | d23148d2d343224dece543c7cb9381fce8822f1e /src/resolve/resolved-dns-answer.c | |
parent | 5b2d8ffb5a1ebbd1e7c5359a9b924454f9dac031 (diff) | |
download | systemd-48662847ecd28f418a911a5fa0e7f2c71495cbaf.tar.gz |
answer: minor refactor – move link local check into RR code
Diffstat (limited to 'src/resolve/resolved-dns-answer.c')
-rw-r--r-- | src/resolve/resolved-dns-answer.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/resolve/resolved-dns-answer.c b/src/resolve/resolved-dns-answer.c index 8591ed0f3b..7746cb08ea 100644 --- a/src/resolve/resolved-dns-answer.c +++ b/src/resolve/resolved-dns-answer.c @@ -713,10 +713,7 @@ void dns_answer_order_by_scope(DnsAnswer *a, bool prefer_link_local) { items = newa(DnsAnswerItem, a->n_rrs); for (i = 0; i < a->n_rrs; i++) { - - if (a->items[i].rr->key->class == DNS_CLASS_IN && - ((a->items[i].rr->key->type == DNS_TYPE_A && in_addr_is_link_local(AF_INET, (union in_addr_union*) &a->items[i].rr->a.in_addr) != prefer_link_local) || - (a->items[i].rr->key->type == DNS_TYPE_AAAA && in_addr_is_link_local(AF_INET6, (union in_addr_union*) &a->items[i].rr->aaaa.in6_addr) != prefer_link_local))) + if (dns_resource_record_is_link_local_address(a->items[i].rr) != prefer_link_local) /* Order address records that are not preferred to the end of the array */ items[end--] = a->items[i]; else |