]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/resolve/resolved-dns-trust-anchor.h
640aa4cb8b091a7ad6f1c7c046609387d84956ed
[thirdparty/systemd.git] / src / resolve / resolved-dns-trust-anchor.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include "resolved-forward.h"
5
6 /* This contains a fixed database mapping domain names to DS or DNSKEY records. */
7
8 typedef struct DnsTrustAnchor {
9 Hashmap *positive_by_key;
10 Set *negative_by_name;
11 Set *revoked_by_rr;
12 } DnsTrustAnchor;
13
14 int dns_trust_anchor_load(DnsTrustAnchor *d);
15 void dns_trust_anchor_flush(DnsTrustAnchor *d);
16
17 int dns_trust_anchor_lookup_positive(DnsTrustAnchor *d, const DnsResourceKey* key, DnsAnswer **answer);
18 int dns_trust_anchor_lookup_negative(DnsTrustAnchor *d, const char *name);
19
20 int dns_trust_anchor_check_revoked(DnsTrustAnchor *d, DnsResourceRecord *dnskey, DnsAnswer *rrs);
21 int dns_trust_anchor_is_revoked(DnsTrustAnchor *d, DnsResourceRecord *rr);