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), 1009cf5bc93SCy Schubert int ATTR_UNUSED(nocaps), int ATTR_UNUSED(check_ratelimit), 1019cf5bc93SCy Schubert struct sockaddr_storage* ATTR_UNUSED(addr), 10239dd631aSDag-Erling Smørgrav socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone), 10324e36522SCy Schubert size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(tcp_upstream), int ATTR_UNUSED(ssl_upstream), 1049cf5bc93SCy Schubert char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q), 1059cf5bc93SCy Schubert int* ATTR_UNUSED(was_ratelimited)) 106b7579f77SDag-Erling Smørgrav { 107b7579f77SDag-Erling Smørgrav log_assert(0); 108b7579f77SDag-Erling Smørgrav return 0; 109b7579f77SDag-Erling Smørgrav } 110b7579f77SDag-Erling Smørgrav 111b7579f77SDag-Erling Smørgrav #ifdef UB_ON_WINDOWS 112b7579f77SDag-Erling Smørgrav void 113b7579f77SDag-Erling Smørgrav worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void* 114b7579f77SDag-Erling Smørgrav ATTR_UNUSED(arg)) { 115b7579f77SDag-Erling Smørgrav log_assert(0); 116b7579f77SDag-Erling Smørgrav } 117b7579f77SDag-Erling Smørgrav 118b7579f77SDag-Erling Smørgrav void 119b7579f77SDag-Erling Smørgrav wsvc_cron_cb(void* ATTR_UNUSED(arg)) 120b7579f77SDag-Erling Smørgrav { 121b7579f77SDag-Erling Smørgrav log_assert(0); 122b7579f77SDag-Erling Smørgrav } 123b7579f77SDag-Erling Smørgrav #endif /* UB_ON_WINDOWS */ 124b7579f77SDag-Erling Smørgrav 125b7579f77SDag-Erling Smørgrav void 126b7579f77SDag-Erling Smørgrav worker_alloc_cleanup(void* ATTR_UNUSED(arg)) 127b7579f77SDag-Erling Smørgrav { 128b7579f77SDag-Erling Smørgrav log_assert(0); 129b7579f77SDag-Erling Smørgrav } 130b7579f77SDag-Erling Smørgrav 131bc892140SDag-Erling Smørgrav struct outbound_entry* libworker_send_query( 132bc892140SDag-Erling Smørgrav struct query_info* ATTR_UNUSED(qinfo), uint16_t ATTR_UNUSED(flags), 133b7579f77SDag-Erling Smørgrav int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec), 1349cf5bc93SCy Schubert int ATTR_UNUSED(nocaps), int ATTR_UNUSED(check_ratelimit), 1359cf5bc93SCy Schubert struct sockaddr_storage* ATTR_UNUSED(addr), 13639dd631aSDag-Erling Smørgrav socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone), 13724e36522SCy Schubert size_t ATTR_UNUSED(zonelen), int ATTR_UNUSED(tcp_upstream), int ATTR_UNUSED(ssl_upstream), 1389cf5bc93SCy Schubert char* ATTR_UNUSED(tls_auth_name), struct module_qstate* ATTR_UNUSED(q), 1399cf5bc93SCy Schubert int* ATTR_UNUSED(was_ratelimited)) 140b7579f77SDag-Erling Smørgrav { 141b7579f77SDag-Erling Smørgrav log_assert(0); 142b7579f77SDag-Erling Smørgrav return 0; 143b7579f77SDag-Erling Smørgrav } 144b7579f77SDag-Erling Smørgrav 145b7579f77SDag-Erling Smørgrav int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c), 146b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 147b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(reply_info)) 148b7579f77SDag-Erling Smørgrav { 149b7579f77SDag-Erling Smørgrav log_assert(0); 150b7579f77SDag-Erling Smørgrav return 0; 151b7579f77SDag-Erling Smørgrav } 152b7579f77SDag-Erling Smørgrav 153b7579f77SDag-Erling Smørgrav void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube), 154b7579f77SDag-Erling Smørgrav uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len), 155b7579f77SDag-Erling Smørgrav int ATTR_UNUSED(error), void* ATTR_UNUSED(arg)) 156b7579f77SDag-Erling Smørgrav { 157b7579f77SDag-Erling Smørgrav log_assert(0); 158b7579f77SDag-Erling Smørgrav } 159b7579f77SDag-Erling Smørgrav 160b7579f77SDag-Erling Smørgrav void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 16117d15b25SDag-Erling Smørgrav struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 1624c75e3aaSDag-Erling Smørgrav char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited)) 163b7579f77SDag-Erling Smørgrav { 164b7579f77SDag-Erling Smørgrav log_assert(0); 165b7579f77SDag-Erling Smørgrav } 166b7579f77SDag-Erling Smørgrav 167b7579f77SDag-Erling Smørgrav void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 16817d15b25SDag-Erling Smørgrav struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 1694c75e3aaSDag-Erling Smørgrav char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited)) 17017d15b25SDag-Erling Smørgrav { 17117d15b25SDag-Erling Smørgrav log_assert(0); 17217d15b25SDag-Erling Smørgrav } 17317d15b25SDag-Erling Smørgrav 17417d15b25SDag-Erling Smørgrav void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 17517d15b25SDag-Erling Smørgrav struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 1764c75e3aaSDag-Erling Smørgrav char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited)) 177b7579f77SDag-Erling Smørgrav { 178b7579f77SDag-Erling Smørgrav log_assert(0); 179b7579f77SDag-Erling Smørgrav } 180b7579f77SDag-Erling Smørgrav 181b7579f77SDag-Erling Smørgrav int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b)) 182b7579f77SDag-Erling Smørgrav { 183b7579f77SDag-Erling Smørgrav log_assert(0); 184b7579f77SDag-Erling Smørgrav return 0; 185b7579f77SDag-Erling Smørgrav } 186b7579f77SDag-Erling Smørgrav 187b7579f77SDag-Erling Smørgrav void worker_stat_timer_cb(void* ATTR_UNUSED(arg)) 188b7579f77SDag-Erling Smørgrav { 189b7579f77SDag-Erling Smørgrav log_assert(0); 190b7579f77SDag-Erling Smørgrav } 191b7579f77SDag-Erling Smørgrav 192b7579f77SDag-Erling Smørgrav void worker_probe_timer_cb(void* ATTR_UNUSED(arg)) 193b7579f77SDag-Erling Smørgrav { 194b7579f77SDag-Erling Smørgrav log_assert(0); 195b7579f77SDag-Erling Smørgrav } 196b7579f77SDag-Erling Smørgrav 197b7579f77SDag-Erling Smørgrav void worker_start_accept(void* ATTR_UNUSED(arg)) 198b7579f77SDag-Erling Smørgrav { 199b7579f77SDag-Erling Smørgrav log_assert(0); 200b7579f77SDag-Erling Smørgrav } 201b7579f77SDag-Erling Smørgrav 202b7579f77SDag-Erling Smørgrav void worker_stop_accept(void* ATTR_UNUSED(arg)) 203b7579f77SDag-Erling Smørgrav { 204b7579f77SDag-Erling Smørgrav log_assert(0); 205b7579f77SDag-Erling Smørgrav } 206b7579f77SDag-Erling Smørgrav 207b7579f77SDag-Erling Smørgrav /** keep track of lock id in lock-verify application */ 208b7579f77SDag-Erling Smørgrav struct order_id { 209b7579f77SDag-Erling Smørgrav /** the thread id that created it */ 210b7579f77SDag-Erling Smørgrav int thr; 211b7579f77SDag-Erling Smørgrav /** the instance number of creation */ 212b7579f77SDag-Erling Smørgrav int instance; 213b7579f77SDag-Erling Smørgrav }; 214b7579f77SDag-Erling Smørgrav 215b7579f77SDag-Erling Smørgrav int order_lock_cmp(const void* e1, const void* e2) 216b7579f77SDag-Erling Smørgrav { 217b5663de9SDag-Erling Smørgrav const struct order_id* o1 = e1; 218b5663de9SDag-Erling Smørgrav const struct order_id* o2 = e2; 219b7579f77SDag-Erling Smørgrav if(o1->thr < o2->thr) return -1; 220b7579f77SDag-Erling Smørgrav if(o1->thr > o2->thr) return 1; 221b7579f77SDag-Erling Smørgrav if(o1->instance < o2->instance) return -1; 222b7579f77SDag-Erling Smørgrav if(o1->instance > o2->instance) return 1; 223b7579f77SDag-Erling Smørgrav return 0; 224b7579f77SDag-Erling Smørgrav } 225b7579f77SDag-Erling Smørgrav 226b7579f77SDag-Erling Smørgrav int 227b7579f77SDag-Erling Smørgrav codeline_cmp(const void* a, const void* b) 228b7579f77SDag-Erling Smørgrav { 229b5663de9SDag-Erling Smørgrav return strcmp(a, b); 230b7579f77SDag-Erling Smørgrav } 231b7579f77SDag-Erling Smørgrav 232b7579f77SDag-Erling Smørgrav int replay_var_compare(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b)) 233b7579f77SDag-Erling Smørgrav { 234b7579f77SDag-Erling Smørgrav log_assert(0); 235b7579f77SDag-Erling Smørgrav return 0; 236b7579f77SDag-Erling Smørgrav } 237b7579f77SDag-Erling Smørgrav 238b7579f77SDag-Erling Smørgrav void remote_get_opt_ssl(char* ATTR_UNUSED(str), void* ATTR_UNUSED(arg)) 239b7579f77SDag-Erling Smørgrav { 240b7579f77SDag-Erling Smørgrav log_assert(0); 241b7579f77SDag-Erling Smørgrav } 24225039b37SCy Schubert 24325039b37SCy Schubert #ifdef USE_DNSTAP 24425039b37SCy Schubert void dtio_tap_callback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), 24525039b37SCy Schubert void* ATTR_UNUSED(arg)) 24625039b37SCy Schubert { 24725039b37SCy Schubert log_assert(0); 24825039b37SCy Schubert } 24925039b37SCy Schubert #endif 25025039b37SCy Schubert 25125039b37SCy Schubert #ifdef USE_DNSTAP 25225039b37SCy Schubert void dtio_mainfdcallback(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), 25325039b37SCy Schubert void* ATTR_UNUSED(arg)) 25425039b37SCy Schubert { 25525039b37SCy Schubert log_assert(0); 25625039b37SCy Schubert } 25725039b37SCy Schubert #endif 25846d2f618SCy Schubert 259*be771a7bSCy Schubert void fast_reload_service_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), 260*be771a7bSCy Schubert void* ATTR_UNUSED(arg)) 261*be771a7bSCy Schubert { 262*be771a7bSCy Schubert log_assert(0); 263*be771a7bSCy Schubert } 264*be771a7bSCy Schubert 265*be771a7bSCy Schubert int fast_reload_client_callback(struct comm_point* ATTR_UNUSED(c), 266*be771a7bSCy Schubert void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 267*be771a7bSCy Schubert struct comm_reply* ATTR_UNUSED(repinfo)) 268*be771a7bSCy Schubert { 269*be771a7bSCy Schubert log_assert(0); 270*be771a7bSCy Schubert return 0; 271*be771a7bSCy Schubert } 272*be771a7bSCy Schubert 27346d2f618SCy Schubert #ifdef HAVE_NGTCP2 27446d2f618SCy Schubert void doq_client_event_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), 27546d2f618SCy Schubert void* ATTR_UNUSED(arg)) 27646d2f618SCy Schubert { 27746d2f618SCy Schubert log_assert(0); 27846d2f618SCy Schubert } 27946d2f618SCy Schubert #endif 28046d2f618SCy Schubert 28146d2f618SCy Schubert #ifdef HAVE_NGTCP2 28246d2f618SCy Schubert void doq_client_timer_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), 28346d2f618SCy Schubert void* ATTR_UNUSED(arg)) 28446d2f618SCy Schubert { 28546d2f618SCy Schubert log_assert(0); 28646d2f618SCy Schubert } 28746d2f618SCy Schubert #endif 288