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, 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

SYNOPSIS

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

DESCRIPTION

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

AUTHOR

151       The ldns team at NLnet Labs.
152
153

REPORTING BUGS

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

SEE ALSO

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

REMARKS

171       This manpage was automatically generated from the ldns source code.
172
173
174
175                                  30 May 2006                          ldns(3)
Impressum