1 /*------------------------------------------------------------------------------
2 *
3 * Copyright (c) 2011-2021, EURid vzw. All rights reserved.
4 * The YADIFA TM software product is provided under the BSD 3-clause license:
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * * Neither the name of EURid nor the names of its contributors may be
16 * used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 *
31 *------------------------------------------------------------------------------
32 *
33 */
34
35 /** @defgroup dnsdbupdate Dynamic update functions
36 * @ingroup dnsdb
37 * @brief
38 *
39 * @{
40 */
41 /*------------------------------------------------------------------------------
42 *
43 * USE INCLUDES */
44 #include "dnsdb/dnsdb-config.h"
45
46 #include "dnsdb/dynupdate-diff.h"
47
dnssec_chain_node_nochain_fqdn_is_covered(const zone_diff_fqdn * diff_fqdn)48 static bool dnssec_chain_node_nochain_fqdn_is_covered(const zone_diff_fqdn *diff_fqdn)
49 {
50 (void)diff_fqdn;
51 return FALSE;
52 }
53
dnssec_chain_node_nochain_fqdn_was_covered(const zone_diff_fqdn * diff_fqdn)54 static bool dnssec_chain_node_nochain_fqdn_was_covered(const zone_diff_fqdn *diff_fqdn)
55 {
56 (void)diff_fqdn;
57 return FALSE;
58 }
59
dnssec_chain_node_nochain_new(const u8 * fqdn,dnssec_chain_head_t chain)60 static dnssec_chain_node_t dnssec_chain_node_nochain_new(const u8 *fqdn, dnssec_chain_head_t chain)
61 {
62 (void)fqdn;
63 (void)chain;
64 return NULL;
65 }
66
dnssec_chain_node_nochain_delete(dnssec_chain_node_t node_)67 static void dnssec_chain_node_nochain_delete(dnssec_chain_node_t node_)
68 {
69 (void)node_;
70 }
71
dnssec_chain_node_nochain_compare(const void * a_,const void * b_)72 static int dnssec_chain_node_nochain_compare(const void *a_, const void *b_)
73 {
74 (void)a_;
75 (void)b_;
76
77 return 0;
78 }
79
dnssec_chain_node_nochain_prev(const dnssec_chain_node_t node_)80 static dnssec_chain_node_t dnssec_chain_node_nochain_prev(const dnssec_chain_node_t node_)
81 {
82 (void)node_;
83 return NULL;
84 }
85
dnssec_chain_node_nochain_next(const dnssec_chain_node_t node_)86 static dnssec_chain_node_t dnssec_chain_node_nochain_next(const dnssec_chain_node_t node_)
87 {
88 (void)node_;
89 return NULL;
90 }
91
dnssec_chain_node_nochain_state_get(const dnssec_chain_node_t node_)92 static u8 dnssec_chain_node_nochain_state_get(const dnssec_chain_node_t node_)
93 {
94 (void)node_;
95 return 0;
96 }
97
dnssec_chain_node_nochain_state_set(dnssec_chain_node_t node_,u8 value)98 static void dnssec_chain_node_nochain_state_set(dnssec_chain_node_t node_, u8 value)
99 {
100 (void)node_;
101 (void)value;
102 }
103
dnssec_chain_node_nochain_merge(dnssec_chain_node_t node_,dnssec_chain_node_t with_)104 static void dnssec_chain_node_nochain_merge(dnssec_chain_node_t node_, dnssec_chain_node_t with_)
105 {
106 (void)node_;
107 (void)with_;
108 }
109
dnssec_chain_node_nochain_publish_log(dnssec_chain_node_t from_,dnssec_chain_node_t to_)110 static void dnssec_chain_node_nochain_publish_log(dnssec_chain_node_t from_, dnssec_chain_node_t to_)
111 {
112 (void)from_;
113 (void)to_;
114 }
115
dnssec_chain_node_nochain_publish_add(dnssec_chain_head_t chain_,dnssec_chain_node_t from_,dnssec_chain_node_t to_,zone_diff * diff,ptr_vector * collection)116 static void dnssec_chain_node_nochain_publish_add(dnssec_chain_head_t chain_, dnssec_chain_node_t from_, dnssec_chain_node_t to_, zone_diff *diff, ptr_vector *collection)
117 {
118 (void)chain_;
119 (void)from_;
120 (void)to_;
121 (void)diff;
122 (void)collection;
123 }
124
dnssec_chain_node_nochain_publish_delete(dnssec_chain_head_t chain_,dnssec_chain_node_t from_,dnssec_chain_node_t to_,zone_diff * diff,ptr_vector * collection)125 static void dnssec_chain_node_nochain_publish_delete(dnssec_chain_head_t chain_, dnssec_chain_node_t from_, dnssec_chain_node_t to_, zone_diff *diff, ptr_vector *collection)
126 {
127 (void)chain_;
128 (void)from_;
129 (void)to_;
130 (void)diff;
131 (void)collection;
132 }
133
dnssec_chain_nochain_isempty(dnssec_chain_head_t chain_)134 static bool dnssec_chain_nochain_isempty(dnssec_chain_head_t chain_)
135 {
136 (void)chain_;
137 return TRUE;
138 }
139
dnssec_chain_nochain_finalize_delete_callback(ptr_node * node)140 static void dnssec_chain_nochain_finalize_delete_callback(ptr_node *node)
141 {
142 (void)node;
143 }
144
dnssec_chain_node_nochain_format_writer_init(dnssec_chain_node_t node_,format_writer * outfw)145 static void dnssec_chain_node_nochain_format_writer_init(dnssec_chain_node_t node_, format_writer *outfw)
146 {
147 (void)node_;
148 (void)outfw;
149 }
150
dnssec_chain_node_rrset_should_be_signed(const zone_diff_fqdn * diff_fqdn,const zone_diff_fqdn_rr_set * rr_set)151 static bool dnssec_chain_node_rrset_should_be_signed(const zone_diff_fqdn *diff_fqdn, const zone_diff_fqdn_rr_set *rr_set)
152 {
153 (void)diff_fqdn;
154 (void)rr_set;
155 return FALSE;
156 }
157
158 static dnssec_chain_node_vtbl dnssec_chain_node_nochain_vtbl =
159 {
160 dnssec_chain_node_nochain_fqdn_is_covered,
161 dnssec_chain_node_nochain_fqdn_was_covered,
162 dnssec_chain_node_nochain_new,
163 dnssec_chain_node_nochain_prev,
164 dnssec_chain_node_nochain_merge,
165 dnssec_chain_node_nochain_next,
166 dnssec_chain_node_nochain_state_set,
167 dnssec_chain_node_nochain_state_get,
168 dnssec_chain_node_nochain_delete,
169 dnssec_chain_node_nochain_publish_delete,
170 dnssec_chain_node_nochain_publish_add,
171 dnssec_chain_node_nochain_publish_log,
172 dnssec_chain_node_nochain_compare,
173 dnssec_chain_nochain_finalize_delete_callback,
174 dnssec_chain_nochain_isempty,
175 dnssec_chain_node_nochain_format_writer_init,
176 dnssec_chain_node_rrset_should_be_signed,
177 "nosec"
178 };
179
180 const dnssec_chain_node_vtbl *
dynupdate_nosec_chain_get_vtbl()181 dynupdate_nosec_chain_get_vtbl()
182 {
183 return &dnssec_chain_node_nochain_vtbl;
184 }
185