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_ttree 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 Returns LDNS_STATUS_OK if there is a trusted path to one of
91 the keys, or the *first* error encoun‐
92 tered
93 if there were no paths
94
95 ldns_dnssec_trust_tree_print() Prints the dnssec_trust_tree structure
96 to the given file stream.
97
98 If a link status is not LDNS_STATUS_OK; the status and relevant
99 signatures are printed too
100
101 *out: The file stream to print to
102 tree: The trust tree to print
103 tabs: Prepend each line with tabs*2 spaces
104 extended: If true, add little explanation lines to the output
105
106 ldns_dnssec_trust_tree_print_sm()
107
108 ldns_dnssec_trust_tree_add_parent() Adds a trust tree as a parent for
109 the given trust tree
110
111 *tree: The tree to add the parent to
112 *parent: The parent tree to add
113 *parent_signature: The RRSIG relevant to this parent/child
114 connection
115 parent_status: The DNSSEC status for this parent, child and
116 RRSIG
117 Returns LDNS_STATUS_OK if the addition succeeds, error otherwise
118
119 ldns_dnssec_derive_trust_tree_normal_rrset() Sub function for
120 derive_trust_tree that is used for a 'normal' rrset
121
122 new_tree: The trust tree that we are building
123 data_chain: The data chain containing the data for the trust
124 tree
125 cur_sig_rr: The currently relevant signature
126
127 ldns_dnssec_derive_trust_tree_dnskey_rrset() Sub function for
128 derive_trust_tree that is used for DNSKEY rrsets
129
130 new_tree: The trust tree that we are building
131 data_chain: The data chain containing the data for the trust
132 tree
133 cur_rr: The currently relevant DNSKEY RR
134 cur_sig_rr: The currently relevant signature
135
136 ldns_dnssec_derive_trust_tree_ds_rrset() Sub function for
137 derive_trust_tree that is used for DS rrsets
138
139 new_tree: The trust tree that we are building
140 data_chain: The data chain containing the data for the trust
141 tree
142 cur_rr: The currently relevant DS RR
143
144 ldns_dnssec_derive_trust_tree_no_sig() Sub function for
145 derive_trust_tree that is used when there are no signatures
146
147 new_tree: The trust tree that we are building
148 data_chain: The data chain containing the data for the trust
149 tree
150
152 The ldns team at NLnet Labs. Which consists out of Jelte Jansen and
153 Miek Gieben.
154
155
157 Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
158 http://www.nlnetlabs.nl/bugs/index.html
159
160
162 Copyright (c) 2004 - 2006 NLnet Labs.
163
164 Licensed under the BSD License. There is NO warranty; not even for MER‐
165 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
166
167
169 ldns_dnssec_data_chain, ldns_dnssec_trust_tree. And perldoc Net::DNS,
170 RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.
171
173 This manpage was automaticly generated from the ldns source code by use
174 of Doxygen and some perl.
175
176
177
178 30 May 2006 ldns(3)