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
53void 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
60int 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
68int 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
76int 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
84int 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
92void worker_sighandler(int ATTR_UNUSED(sig), void* ATTR_UNUSED(arg))
93{
94	log_assert(0);
95}
96
97struct 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), int ATTR_UNUSED(check_ratelimit),
101	struct sockaddr_storage* ATTR_UNUSED(addr),
102	socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
103	size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(tcp_upstream), int ATTR_UNUSED(ssl_upstream),
104	char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q),
105	int* ATTR_UNUSED(was_ratelimited))
106{
107	log_assert(0);
108	return 0;
109}
110
111#ifdef UB_ON_WINDOWS
112void
113worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void*
114	ATTR_UNUSED(arg)) {
115	log_assert(0);
116}
117
118void
119wsvc_cron_cb(void* ATTR_UNUSED(arg))
120{
121	log_assert(0);
122}
123#endif /* UB_ON_WINDOWS */
124
125void
126worker_alloc_cleanup(void* ATTR_UNUSED(arg))
127{
128	log_assert(0);
129}
130
131struct outbound_entry* libworker_send_query(
132	struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags),
133	int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
134	int ATTR_UNUSED(nocaps), int ATTR_UNUSED(check_ratelimit),
135	struct sockaddr_storage* ATTR_UNUSED(addr),
136	socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
137	size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(tcp_upstream), int ATTR_UNUSED(ssl_upstream),
138	char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q),
139	int* ATTR_UNUSED(was_ratelimited))
140{
141	log_assert(0);
142	return 0;
143}
144
145int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
146	void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
147        struct comm_reply* ATTR_UNUSED(reply_info))
148{
149	log_assert(0);
150	return 0;
151}
152
153void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
154        uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len),
155        int ATTR_UNUSED(error), void* ATTR_UNUSED(arg))
156{
157        log_assert(0);
158}
159
160void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
161	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
162	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
163{
164	log_assert(0);
165}
166
167void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
168	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
169	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
170{
171	log_assert(0);
172}
173
174void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
175	struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
176	char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
177{
178	log_assert(0);
179}
180
181int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
182{
183	log_assert(0);
184	return 0;
185}
186
187void worker_stat_timer_cb(void* ATTR_UNUSED(arg))
188{
189	log_assert(0);
190}
191
192void worker_probe_timer_cb(void* ATTR_UNUSED(arg))
193{
194	log_assert(0);
195}
196
197void worker_start_accept(void* ATTR_UNUSED(arg))
198{
199	log_assert(0);
200}
201
202void worker_stop_accept(void* ATTR_UNUSED(arg))
203{
204	log_assert(0);
205}
206
207/** keep track of lock id in lock-verify application */
208struct order_id {
209        /** the thread id that created it */
210        int thr;
211        /** the instance number of creation */
212        int instance;
213};
214
215int order_lock_cmp(const void* e1, const void* e2)
216{
217        const struct order_id* o1 = e1;
218        const struct order_id* o2 = e2;
219        if(o1->thr < o2->thr) return -1;
220        if(o1->thr > o2->thr) return 1;
221        if(o1->instance < o2->instance) return -1;
222        if(o1->instance > o2->instance) return 1;
223        return 0;
224}
225
226int
227codeline_cmp(const void* a, const void* b)
228{
229        return strcmp(a, b);
230}
231
232int replay_var_compare(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b))
233{
234        log_assert(0);
235        return 0;
236}
237
238void remote_get_opt_ssl(char* ATTR_UNUSED(str), void* ATTR_UNUSED(arg))
239{
240        log_assert(0);
241}
242
243#ifdef USE_DNSTAP
244void dtio_tap_callback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev),
245	void* ATTR_UNUSED(arg))
246{
247	log_assert(0);
248}
249#endif
250
251#ifdef USE_DNSTAP
252void dtio_mainfdcallback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev),
253	void* ATTR_UNUSED(arg))
254{
255	log_assert(0);
256}
257#endif
258