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