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