1ldns(3)                    Library Functions Manual                    ldns(3)
2
3
4

NAME

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

SYNOPSIS

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

DESCRIPTION

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

AUTHOR

152       The ldns team at NLnet Labs. Which consists out of Jelte Jansen and
153       Miek Gieben.
154
155

REPORTING BUGS

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

SEE ALSO

169       ldns_dnssec_data_chain, ldns_dnssec_trust_tree.  And perldoc Net::DNS,
170       RFC1034, RFC1035, RFC4033, RFC4034  and RFC4035.
171

REMARKS

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)
Impressum