xref: /freebsd/contrib/unbound/smallapp/worker_cb.c (revision 24e365220007c415f495cf8dcb228ece6002b8b7)
1b7579f77SDag-Erling Smørgrav /*
25469a995SCy Schubert  * smallapp/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"
49f44e67d1SCy Schubert #ifdef USE_DNSTAP
50f44e67d1SCy Schubert #include "dnstap/dtstream.h"
51f44e67d1SCy Schubert #endif
52b7579f77SDag-Erling Smørgrav 
53b7579f77SDag-Erling Smørgrav void worker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
54b7579f77SDag-Erling Smørgrav 	uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len),
55b7579f77SDag-Erling Smørgrav 	int ATTR_UNUSED(error), void* ATTR_UNUSED(arg))
56b7579f77SDag-Erling Smørgrav {
57b7579f77SDag-Erling Smørgrav 	log_assert(0);
58b7579f77SDag-Erling Smørgrav }
59b7579f77SDag-Erling Smørgrav 
60b7579f77SDag-Erling Smørgrav int worker_handle_request(struct comm_point* ATTR_UNUSED(c),
61b7579f77SDag-Erling Smørgrav 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
62b7579f77SDag-Erling Smørgrav         struct comm_reply* ATTR_UNUSED(repinfo))
63b7579f77SDag-Erling Smørgrav {
64b7579f77SDag-Erling Smørgrav 	log_assert(0);
65b7579f77SDag-Erling Smørgrav 	return 0;
66b7579f77SDag-Erling Smørgrav }
67b7579f77SDag-Erling Smørgrav 
68b7579f77SDag-Erling Smørgrav int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
69b7579f77SDag-Erling Smørgrav 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
70b7579f77SDag-Erling Smørgrav         struct comm_reply* ATTR_UNUSED(reply_info))
71b7579f77SDag-Erling Smørgrav {
72b7579f77SDag-Erling Smørgrav 	log_assert(0);
73b7579f77SDag-Erling Smørgrav 	return 0;
74b7579f77SDag-Erling Smørgrav }
75b7579f77SDag-Erling Smørgrav 
76b7579f77SDag-Erling Smørgrav int remote_accept_callback(struct comm_point* ATTR_UNUSED(c),
77b7579f77SDag-Erling Smørgrav 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
78b7579f77SDag-Erling Smørgrav         struct comm_reply* ATTR_UNUSED(repinfo))
79b7579f77SDag-Erling Smørgrav {
80b7579f77SDag-Erling Smørgrav 	log_assert(0);
81b7579f77SDag-Erling Smørgrav 	return 0;
82b7579f77SDag-Erling Smørgrav }
83b7579f77SDag-Erling Smørgrav 
84b7579f77SDag-Erling Smørgrav int remote_control_callback(struct comm_point* ATTR_UNUSED(c),
85b7579f77SDag-Erling Smørgrav 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
86b7579f77SDag-Erling Smørgrav         struct comm_reply* ATTR_UNUSED(repinfo))
87b7579f77SDag-Erling Smørgrav {
88b7579f77SDag-Erling Smørgrav 	log_assert(0);
89b7579f77SDag-Erling Smørgrav 	return 0;
90b7579f77SDag-Erling Smørgrav }
91b7579f77SDag-Erling Smørgrav 
92b7579f77SDag-Erling Smørgrav void worker_sighandler(int ATTR_UNUSED(sig), void* ATTR_UNUSED(arg))
93b7579f77SDag-Erling Smørgrav {
94b7579f77SDag-Erling Smørgrav 	log_assert(0);
95b7579f77SDag-Erling Smørgrav }
96b7579f77SDag-Erling Smørgrav 
97bc892140SDag-Erling Smørgrav struct outbound_entry* worker_send_query(
98bc892140SDag-Erling Smørgrav 	struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags),
99b7579f77SDag-Erling Smørgrav 	int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
100bc892140SDag-Erling Smørgrav 	int ATTR_UNUSED(nocaps), struct sockaddr_storage* ATTR_UNUSED(addr),
10139dd631aSDag-Erling Smørgrav 	socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
102*24e36522SCy Schubert 	size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(tcp_upstream), int ATTR_UNUSED(ssl_upstream),
1030fb34990SDag-Erling Smørgrav 	char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q))
104b7579f77SDag-Erling Smørgrav {
105b7579f77SDag-Erling Smørgrav 	log_assert(0);
106b7579f77SDag-Erling Smørgrav 	return 0;
107b7579f77SDag-Erling Smørgrav }
108b7579f77SDag-Erling Smørgrav 
109b7579f77SDag-Erling Smørgrav #ifdef UB_ON_WINDOWS
110b7579f77SDag-Erling Smørgrav void
111b7579f77SDag-Erling Smørgrav worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void*
112b7579f77SDag-Erling Smørgrav 	ATTR_UNUSED(arg)) {
113b7579f77SDag-Erling Smørgrav 	log_assert(0);
114b7579f77SDag-Erling Smørgrav }
115b7579f77SDag-Erling Smørgrav 
116b7579f77SDag-Erling Smørgrav void
117b7579f77SDag-Erling Smørgrav wsvc_cron_cb(void* ATTR_UNUSED(arg))
118b7579f77SDag-Erling Smørgrav {
119b7579f77SDag-Erling Smørgrav 	log_assert(0);
120b7579f77SDag-Erling Smørgrav }
121b7579f77SDag-Erling Smørgrav #endif /* UB_ON_WINDOWS */
122b7579f77SDag-Erling Smørgrav 
123b7579f77SDag-Erling Smørgrav void
124b7579f77SDag-Erling Smørgrav worker_alloc_cleanup(void* ATTR_UNUSED(arg))
125b7579f77SDag-Erling Smørgrav {
126b7579f77SDag-Erling Smørgrav 	log_assert(0);
127b7579f77SDag-Erling Smørgrav }
128b7579f77SDag-Erling Smørgrav 
129bc892140SDag-Erling Smørgrav struct outbound_entry* libworker_send_query(
130bc892140SDag-Erling Smørgrav 	struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags),
131b7579f77SDag-Erling Smørgrav 	int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
132bc892140SDag-Erling Smørgrav 	int ATTR_UNUSED(nocaps), struct sockaddr_storage* ATTR_UNUSED(addr),
13339dd631aSDag-Erling Smørgrav 	socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
134*24e36522SCy Schubert 	size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(tcp_upstream), int ATTR_UNUSED(ssl_upstream),
1350fb34990SDag-Erling Smørgrav 	char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q))
136b7579f77SDag-Erling Smørgrav {
137b7579f77SDag-Erling Smørgrav 	log_assert(0);
138b7579f77SDag-Erling Smørgrav 	return 0;
139b7579f77SDag-Erling Smørgrav }
140b7579f77SDag-Erling Smørgrav 
141b7579f77SDag-Erling Smørgrav int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
142b7579f77SDag-Erling Smørgrav 	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
143b7579f77SDag-Erling Smørgrav         struct comm_reply* ATTR_UNUSED(reply_info))
144b7579f77SDag-Erling Smørgrav {
145b7579f77SDag-Erling Smørgrav 	log_assert(0);
146b7579f77SDag-Erling Smørgrav 	return 0;
147b7579f77SDag-Erling Smørgrav }
148b7579f77SDag-Erling Smørgrav 
149b7579f77SDag-Erling Smørgrav void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
150b7579f77SDag-Erling Smørgrav         uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len),
151b7579f77SDag-Erling Smørgrav         int ATTR_UNUSED(error), void* ATTR_UNUSED(arg))
152b7579f77SDag-Erling Smørgrav {
153b7579f77SDag-Erling Smørgrav         log_assert(0);
154b7579f77SDag-Erling Smørgrav }
155b7579f77SDag-Erling Smørgrav 
156b7579f77SDag-Erling Smørgrav void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
15717d15b25SDag-Erling Smørgrav 	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
1584c75e3aaSDag-Erling Smørgrav 	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
159b7579f77SDag-Erling Smørgrav {
160b7579f77SDag-Erling Smørgrav 	log_assert(0);
161b7579f77SDag-Erling Smørgrav }
162b7579f77SDag-Erling Smørgrav 
163b7579f77SDag-Erling Smørgrav void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
16417d15b25SDag-Erling Smørgrav 	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
1654c75e3aaSDag-Erling Smørgrav 	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
16617d15b25SDag-Erling Smørgrav {
16717d15b25SDag-Erling Smørgrav 	log_assert(0);
16817d15b25SDag-Erling Smørgrav }
16917d15b25SDag-Erling Smørgrav 
17017d15b25SDag-Erling Smørgrav void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
17117d15b25SDag-Erling Smørgrav 	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
1724c75e3aaSDag-Erling Smørgrav 	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
173b7579f77SDag-Erling Smørgrav {
174b7579f77SDag-Erling Smørgrav 	log_assert(0);
175b7579f77SDag-Erling Smørgrav }
176b7579f77SDag-Erling Smørgrav 
177b7579f77SDag-Erling Smørgrav int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
178b7579f77SDag-Erling Smørgrav {
179b7579f77SDag-Erling Smørgrav 	log_assert(0);
180b7579f77SDag-Erling Smørgrav 	return 0;
181b7579f77SDag-Erling Smørgrav }
182b7579f77SDag-Erling Smørgrav 
183b7579f77SDag-Erling Smørgrav void worker_stat_timer_cb(void* ATTR_UNUSED(arg))
184b7579f77SDag-Erling Smørgrav {
185b7579f77SDag-Erling Smørgrav 	log_assert(0);
186b7579f77SDag-Erling Smørgrav }
187b7579f77SDag-Erling Smørgrav 
188b7579f77SDag-Erling Smørgrav void worker_probe_timer_cb(void* ATTR_UNUSED(arg))
189b7579f77SDag-Erling Smørgrav {
190b7579f77SDag-Erling Smørgrav 	log_assert(0);
191b7579f77SDag-Erling Smørgrav }
192b7579f77SDag-Erling Smørgrav 
193b7579f77SDag-Erling Smørgrav void worker_start_accept(void* ATTR_UNUSED(arg))
194b7579f77SDag-Erling Smørgrav {
195b7579f77SDag-Erling Smørgrav 	log_assert(0);
196b7579f77SDag-Erling Smørgrav }
197b7579f77SDag-Erling Smørgrav 
198b7579f77SDag-Erling Smørgrav void worker_stop_accept(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 /** keep track of lock id in lock-verify application */
204b7579f77SDag-Erling Smørgrav struct order_id {
205b7579f77SDag-Erling Smørgrav         /** the thread id that created it */
206b7579f77SDag-Erling Smørgrav         int thr;
207b7579f77SDag-Erling Smørgrav         /** the instance number of creation */
208b7579f77SDag-Erling Smørgrav         int instance;
209b7579f77SDag-Erling Smørgrav };
210b7579f77SDag-Erling Smørgrav 
211b7579f77SDag-Erling Smørgrav int order_lock_cmp(const void* e1, const void* e2)
212b7579f77SDag-Erling Smørgrav {
213b5663de9SDag-Erling Smørgrav         const struct order_id* o1 = e1;
214b5663de9SDag-Erling Smørgrav         const struct order_id* o2 = e2;
215b7579f77SDag-Erling Smørgrav         if(o1->thr < o2->thr) return -1;
216b7579f77SDag-Erling Smørgrav         if(o1->thr > o2->thr) return 1;
217b7579f77SDag-Erling Smørgrav         if(o1->instance < o2->instance) return -1;
218b7579f77SDag-Erling Smørgrav         if(o1->instance > o2->instance) return 1;
219b7579f77SDag-Erling Smørgrav         return 0;
220b7579f77SDag-Erling Smørgrav }
221b7579f77SDag-Erling Smørgrav 
222b7579f77SDag-Erling Smørgrav int
223b7579f77SDag-Erling Smørgrav codeline_cmp(const void* a, const void* b)
224b7579f77SDag-Erling Smørgrav {
225b5663de9SDag-Erling Smørgrav         return strcmp(a, b);
226b7579f77SDag-Erling Smørgrav }
227b7579f77SDag-Erling Smørgrav 
228b7579f77SDag-Erling Smørgrav int replay_var_compare(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
229b7579f77SDag-Erling Smørgrav {
230b7579f77SDag-Erling Smørgrav         log_assert(0);
231b7579f77SDag-Erling Smørgrav         return 0;
232b7579f77SDag-Erling Smørgrav }
233b7579f77SDag-Erling Smørgrav 
234b7579f77SDag-Erling Smørgrav void remote_get_opt_ssl(char* ATTR_UNUSED(str), void* ATTR_UNUSED(arg))
235b7579f77SDag-Erling Smørgrav {
236b7579f77SDag-Erling Smørgrav         log_assert(0);
237b7579f77SDag-Erling Smørgrav }
23825039b37SCy Schubert 
23925039b37SCy Schubert #ifdef USE_DNSTAP
24025039b37SCy Schubert void dtio_tap_callback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev),
24125039b37SCy Schubert 	void* ATTR_UNUSED(arg))
24225039b37SCy Schubert {
24325039b37SCy Schubert 	log_assert(0);
24425039b37SCy Schubert }
24525039b37SCy Schubert #endif
24625039b37SCy Schubert 
24725039b37SCy Schubert #ifdef USE_DNSTAP
24825039b37SCy Schubert void dtio_mainfdcallback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev),
24925039b37SCy Schubert 	void* ATTR_UNUSED(arg))
25025039b37SCy Schubert {
25125039b37SCy Schubert 	log_assert(0);
25225039b37SCy Schubert }
25325039b37SCy Schubert #endif
254