1 /*
2  * smallapp/worker_cb.c - fake callback routines to make fptr_wlist work
3  *
4  * Copyright (c) 2007, NLnet Labs. All rights reserved.
5  *
6  * This software is open source.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * Redistributions of source code must retain the above copyright notice,
13  * this list of conditions and the following disclaimer.
14  *
15  * Redistributions in binary form must reproduce the above copyright notice,
16  * this list of conditions and the following disclaimer in the documentation
17  * and/or other materials provided with the distribution.
18  *
19  * Neither the name of the NLNET LABS nor the names of its contributors may
20  * be used to endorse or promote products derived from this software without
21  * specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34  */
35 
36 /**
37  * \file
38  *
39  * This file contains fake callback functions, so that the symbols exist
40  * and the fptr_wlist continues to work even if the daemon/worker is not
41  * linked into the resulting program.
42  */
43 #include "config.h"
44 #include "libunbound/context.h"
45 #include "libunbound/worker.h"
46 #include "util/fptr_wlist.h"
47 #include "util/log.h"
48 #include "services/mesh.h"
49 #ifdef USE_DNSTAP
50 #include "dnstap/dtstream.h"
51 #endif
52 
53 void worker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
54 	uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len),
55 	int ATTR_UNUSED(error), void* ATTR_UNUSED(arg))
56 {
57 	log_assert(0);
58 }
59 
60 int worker_handle_request(struct comm_point* ATTR_UNUSED(c),
61 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
62         struct comm_reply* ATTR_UNUSED(repinfo))
63 {
64 	log_assert(0);
65 	return 0;
66 }
67 
68 int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
69 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
70         struct comm_reply* ATTR_UNUSED(reply_info))
71 {
72 	log_assert(0);
73 	return 0;
74 }
75 
76 int remote_accept_callback(struct comm_point* ATTR_UNUSED(c),
77 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
78         struct comm_reply* ATTR_UNUSED(repinfo))
79 {
80 	log_assert(0);
81 	return 0;
82 }
83 
84 int remote_control_callback(struct comm_point* ATTR_UNUSED(c),
85 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
86         struct comm_reply* ATTR_UNUSED(repinfo))
87 {
88 	log_assert(0);
89 	return 0;
90 }
91 
92 void worker_sighandler(int ATTR_UNUSED(sig), void* ATTR_UNUSED(arg))
93 {
94 	log_assert(0);
95 }
96 
97 struct outbound_entry* worker_send_query(
98 	struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags),
99 	int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
100 	int ATTR_UNUSED(nocaps), struct sockaddr_storage* ATTR_UNUSED(addr),
101 	socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
102 	size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(ssl_upstream),
103 	char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q))
104 {
105 	log_assert(0);
106 	return 0;
107 }
108 
109 #ifdef UB_ON_WINDOWS
110 void
111 worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void*
112 	ATTR_UNUSED(arg)) {
113 	log_assert(0);
114 }
115 
116 void
117 wsvc_cron_cb(void* ATTR_UNUSED(arg))
118 {
119 	log_assert(0);
120 }
121 #endif /* UB_ON_WINDOWS */
122 
123 void
124 worker_alloc_cleanup(void* ATTR_UNUSED(arg))
125 {
126 	log_assert(0);
127 }
128 
129 struct outbound_entry* libworker_send_query(
130 	struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags),
131 	int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
132 	int ATTR_UNUSED(nocaps), struct sockaddr_storage* ATTR_UNUSED(addr),
133 	socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
134 	size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(ssl_upstream),
135 	char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q))
136 {
137 	log_assert(0);
138 	return 0;
139 }
140 
141 int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
142 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
143         struct comm_reply* ATTR_UNUSED(reply_info))
144 {
145 	log_assert(0);
146 	return 0;
147 }
148 
149 void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
150         uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len),
151         int ATTR_UNUSED(error), void* ATTR_UNUSED(arg))
152 {
153         log_assert(0);
154 }
155 
156 void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
157 	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
158 	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
159 {
160 	log_assert(0);
161 }
162 
163 void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
164 	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
165 	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
166 {
167 	log_assert(0);
168 }
169 
170 void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
171 	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
172 	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
173 {
174 	log_assert(0);
175 }
176 
177 int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
178 {
179 	log_assert(0);
180 	return 0;
181 }
182 
183 void worker_stat_timer_cb(void* ATTR_UNUSED(arg))
184 {
185 	log_assert(0);
186 }
187 
188 void worker_probe_timer_cb(void* ATTR_UNUSED(arg))
189 {
190 	log_assert(0);
191 }
192 
193 void worker_start_accept(void* ATTR_UNUSED(arg))
194 {
195 	log_assert(0);
196 }
197 
198 void worker_stop_accept(void* ATTR_UNUSED(arg))
199 {
200 	log_assert(0);
201 }
202 
203 /** keep track of lock id in lock-verify application */
204 struct order_id {
205         /** the thread id that created it */
206         int thr;
207         /** the instance number of creation */
208         int instance;
209 };
210 
211 int order_lock_cmp(const void* e1, const void* e2)
212 {
213         const struct order_id* o1 = e1;
214         const struct order_id* o2 = e2;
215         if(o1->thr < o2->thr) return -1;
216         if(o1->thr > o2->thr) return 1;
217         if(o1->instance < o2->instance) return -1;
218         if(o1->instance > o2->instance) return 1;
219         return 0;
220 }
221 
222 int
223 codeline_cmp(const void* a, const void* b)
224 {
225         return strcmp(a, b);
226 }
227 
228 int replay_var_compare(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
229 {
230         log_assert(0);
231         return 0;
232 }
233 
234 void remote_get_opt_ssl(char* ATTR_UNUSED(str), void* ATTR_UNUSED(arg))
235 {
236         log_assert(0);
237 }
238 
239 #ifdef USE_DNSTAP
240 void dtio_tap_callback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev),
241 	void* ATTR_UNUSED(arg))
242 {
243 	log_assert(0);
244 }
245 #endif
246 
247 #ifdef USE_DNSTAP
248 void dtio_mainfdcallback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev),
249 	void* ATTR_UNUSED(arg))
250 {
251 	log_assert(0);
252 }
253 #endif
254