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 - functions for
14 ldns_dnssec_trust_tree
15
16
18 #include <stdint.h>
19 #include <stdbool.h>
20
21 #include <ldns/ldns.h>
22
23 ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(void);
24
25 void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree);
26
27 size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree);
28
29 ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree(
30 ldns_dnssec_data_chain *data_chain, ldns_rr *rr);
31
32 ldns_status ldns_dnssec_trust_tree_contains_keys(
33 ldns_dnssec_trust_tree *tree, ldns_rr_list *keys);
34
35 void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree
36 *tree, size_t tabs, bool extended);
37
38 ldns_dnssec_trust_tree_print_sm();
39
40 ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree
41 *tree, const ldns_dnssec_trust_tree *parent, const ldns_rr *parent_sig‐
42 nature, const ldns_status parent_status);
43
44 void ldns_dnssec_derive_trust_tree_normal_rrset( ldns_dnssec_trust_tree
45 *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_sig_rr);
46
47 void ldns_dnssec_derive_trust_tree_dnskey_rrset( ldns_dnssec_trust_tree
48 *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr, ldns_rr
49 *cur_sig_rr);
50
51 void ldns_dnssec_derive_trust_tree_ds_rrset( ldns_dnssec_trust_tree
52 *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr);
53
54 void ldns_dnssec_derive_trust_tree_no_sig( ldns_dnssec_trust_tree
55 *new_tree, ldns_dnssec_data_chain *data_chain);
56
58 ldns_dnssec_trust_tree_new() Creates a new (empty) dnssec_trust_tree
59 structure
60
61 Returns ldns_dnssec_trust_tree *
62
63 ldns_dnssec_trust_tree_free() Frees the dnssec_trust_tree recursively
64
65 There is no deep free; all data in the trust tree consists of
66 pointers to a data_chain
67
68 tree: The tree to free
69
70 ldns_dnssec_trust_tree_depth() returns the depth of the trust tree
71
72 tree: tree to calculate the depth of
73 Returns The depth of the tree
74
75 ldns_dnssec_derive_trust_tree() Generates a dnssec_trust_tree for the
76 given rr from the given data_chain
77
78 This does not clone the actual data; Don't free the data_chain
79 before you are done with this tree
80
81 *data_chain: The chain to derive the trust tree from
82 *rr: The RR this tree will be about
83 Returns ldns_dnssec_trust_tree *
84
85 ldns_dnssec_trust_tree_contains_keys() Returns OK if there is a trusted
86 path in the tree to one of the DNSKEY or DS RRs in the given
87 list
88
89 \param *tree The trust tree so search \param *keys A
90 ldns_rr_list of DNSKEY and DS rrs to look for
91
92 Returns LDNS_STATUS_OK if there is a trusted path to one of the
93 keys, or the *first* error encountered 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 con‐
114 nection
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 automatically generated from the ldns source code by
174 use of Doxygen and some perl.
175
176
177
178 30 May 2006 ldns(3)