1ldns(3) Library Functions Manual ldns(3)
2
3
4
6 ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free,
7 ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree,
8 ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print,
9 ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent,
10 ldns_dnssec_derive_trust_tree_normal_rrset,
11 ldns_dnssec_derive_trust_tree_dnskey_rrset,
12 ldns_dnssec_derive_trust_tree_ds_rrset,
13 ldns_dnssec_derive_trust_tree_no_sig
14
15
17 #include <stdint.h>
18 #include <stdbool.h>
19
20 #include <ldns/ldns.h>
21
22 ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new();
23
24 void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree);
25
26 size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree);
27
28 ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree(
29 ldns_dnssec_data_chain *data_chain, ldns_rr *rr);
30
31 ldns_status ldns_dnssec_trust_tree_contains_keys(
32 ldns_dnssec_trust_tree *tree, ldns_rr_list *keys);
33
34 void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree
35 *tree, size_t tabs, bool extended);
36
37 ldns_dnssec_trust_tree_print_sm();
38
39 ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree
40 *tree, const ldns_dnssec_trust_tree *parent, const ldns_rr *parent_sig‐
41 nature, const ldns_status parent_status);
42
43 void ldns_dnssec_derive_trust_tree_normal_rrset( ldns_dnssec_trust_tree
44 *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_sig_rr);
45
46 void ldns_dnssec_derive_trust_tree_dnskey_rrset( ldns_dnssec_trust_tree
47 *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr, ldns_rr
48 *cur_sig_rr);
49
50 void ldns_dnssec_derive_trust_tree_ds_rrset( ldns_dnssec_trust_tree
51 *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr);
52
53 void ldns_dnssec_derive_trust_tree_no_sig( ldns_dnssec_trust_tree
54 *new_tree, ldns_dnssec_data_chain *data_chain);
55
57 ldns_dnssec_trust_tree_new() Creates a new (empty) dnssec_trust_tree
58 structure
59
60 Returns ldns_dnssec_trust_tree *
61
62 ldns_dnssec_trust_tree_free() Frees the dnssec_trust_tree recursively
63
64 There is no deep free; all data in the trust tree consists of
65 pointers to a data_chain
66
67 tree: The tree to free
68
69 ldns_dnssec_trust_tree_depth() returns the depth of the trust tree
70
71 tree: tree to calculate the depth of
72 Returns The depth of the tree
73
74 ldns_dnssec_derive_trust_tree() Generates a dnssec_trust_tree for the
75 given rr from the given data_chain
76
77 This does not clone the actual data; Don't free the data_chain
78 before you are done with this tree
79
80 *data_chain: The chain to derive the trust tree from
81 *rr: The RR this tree will be about
82 Returns ldns_dnssec_trust_tree *
83
84 ldns_dnssec_trust_tree_contains_keys() Returns OK if there is a trusted
85 path in the tree to one of the DNSKEY or DS RRs in the given
86 list
87
88 \param *tree The trust tree so search \param *keys A
89 ldns_rr_list of DNSKEY and DS rrs to look for
90
91 Returns LDNS_STATUS_OK if there is a trusted path to one of the
92 keys, or the *first* error encountered if there were no paths
93
94 ldns_dnssec_trust_tree_print() Prints the dnssec_trust_tree structure
95 to the given file stream.
96
97 If a link status is not LDNS_STATUS_OK; the status and relevant
98 signatures are printed too
99
100 *out: The file stream to print to
101 tree: The trust tree to print
102 tabs: Prepend each line with tabs*2 spaces
103 extended: If true, add little explanation lines to the output
104
105 ldns_dnssec_trust_tree_print_sm()
106
107 ldns_dnssec_trust_tree_add_parent() Adds a trust tree as a parent for
108 the given trust tree
109
110 *tree: The tree to add the parent to
111 *parent: The parent tree to add
112 *parent_signature: The RRSIG relevant to this parent/child con‐
113 nection
114 parent_status: The DNSSEC status for this parent, child and
115 RRSIG
116 Returns LDNS_STATUS_OK if the addition succeeds, error otherwise
117
118 ldns_dnssec_derive_trust_tree_normal_rrset() Sub function for
119 derive_trust_tree that is used for a 'normal' rrset
120
121 new_tree: The trust tree that we are building
122 data_chain: The data chain containing the data for the trust
123 tree
124 cur_sig_rr: The currently relevant signature
125
126 ldns_dnssec_derive_trust_tree_dnskey_rrset() Sub function for
127 derive_trust_tree that is used for DNSKEY rrsets
128
129 new_tree: The trust tree that we are building
130 data_chain: The data chain containing the data for the trust
131 tree
132 cur_rr: The currently relevant DNSKEY RR
133 cur_sig_rr: The currently relevant signature
134
135 ldns_dnssec_derive_trust_tree_ds_rrset() Sub function for
136 derive_trust_tree that is used for DS rrsets
137
138 new_tree: The trust tree that we are building
139 data_chain: The data chain containing the data for the trust
140 tree
141 cur_rr: The currently relevant DS RR
142
143 ldns_dnssec_derive_trust_tree_no_sig() Sub function for
144 derive_trust_tree that is used when there are no signatures
145
146 new_tree: The trust tree that we are building
147 data_chain: The data chain containing the data for the trust
148 tree
149
151 The ldns team at NLnet Labs. Which consists out of Jelte Jansen and
152 Miek Gieben.
153
154
156 Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
157 http://www.nlnetlabs.nl/bugs/index.html
158
159
161 Copyright (c) 2004 - 2006 NLnet Labs.
162
163 Licensed under the BSD License. There is NO warranty; not even for MER‐
164 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
165
166
168 ldns_dnssec_data_chain, ldns_dnssec_trust_tree. And perldoc Net::DNS,
169 RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.
170
172 This manpage was automaticly generated from the ldns source code by use
173 of Doxygen and some perl.
174
175
176
177 30 May 2006 ldns(3)