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, ldns_dnssec_de‐
11 rive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset,
12 ldns_dnssec_derive_trust_tree_no_sig - functions for
13 ldns_dnssec_trust_tree
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(void);
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 de‐
119 rive_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 de‐
127 rive_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 de‐
136 rive_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 de‐
144 rive_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.
152
153
155 Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at
156 http://www.nlnetlabs.nl/bugs/index.html
157
158
160 Copyright (c) 2004 - 2006 NLnet Labs.
161
162 Licensed under the BSD License. There is NO warranty; not even for MER‐
163 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
164
165
167 ldns_dnssec_data_chain, ldns_dnssec_trust_tree. And perldoc Net::DNS,
168 RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.
169
171 This manpage was automatically generated from the ldns source code.
172
173
174
175 30 May 2006 ldns(3)