1 /* 2 * checkconf/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 LIMITED 25 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 26 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33 * 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 50 void worker_handle_control_cmd(struct tube* ATTR_UNUSED(tube), 51 uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len), 52 int ATTR_UNUSED(error), void* ATTR_UNUSED(arg)) 53 { 54 log_assert(0); 55 } 56 57 int worker_handle_request(struct comm_point* ATTR_UNUSED(c), 58 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 59 struct comm_reply* ATTR_UNUSED(repinfo)) 60 { 61 log_assert(0); 62 return 0; 63 } 64 65 int worker_handle_reply(struct comm_point* ATTR_UNUSED(c), 66 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 67 struct comm_reply* ATTR_UNUSED(reply_info)) 68 { 69 log_assert(0); 70 return 0; 71 } 72 73 int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c), 74 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 75 struct comm_reply* ATTR_UNUSED(reply_info)) 76 { 77 log_assert(0); 78 return 0; 79 } 80 81 int remote_accept_callback(struct comm_point* ATTR_UNUSED(c), 82 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 83 struct comm_reply* ATTR_UNUSED(repinfo)) 84 { 85 log_assert(0); 86 return 0; 87 } 88 89 int remote_control_callback(struct comm_point* ATTR_UNUSED(c), 90 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 91 struct comm_reply* ATTR_UNUSED(repinfo)) 92 { 93 log_assert(0); 94 return 0; 95 } 96 97 void worker_sighandler(int ATTR_UNUSED(sig), void* ATTR_UNUSED(arg)) 98 { 99 log_assert(0); 100 } 101 102 struct outbound_entry* worker_send_query(uint8_t* ATTR_UNUSED(qname), 103 size_t ATTR_UNUSED(qnamelen), uint16_t ATTR_UNUSED(qtype), 104 uint16_t ATTR_UNUSED(qclass), uint16_t ATTR_UNUSED(flags), 105 int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec), 106 struct sockaddr_storage* ATTR_UNUSED(addr), 107 socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone), 108 size_t ATTR_UNUSED(zonelen), struct module_qstate* ATTR_UNUSED(q)) 109 { 110 log_assert(0); 111 return 0; 112 } 113 114 #ifdef UB_ON_WINDOWS 115 void 116 worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void* 117 ATTR_UNUSED(arg)) { 118 log_assert(0); 119 } 120 121 void 122 wsvc_cron_cb(void* ATTR_UNUSED(arg)) 123 { 124 log_assert(0); 125 } 126 #endif /* UB_ON_WINDOWS */ 127 128 void 129 worker_alloc_cleanup(void* ATTR_UNUSED(arg)) 130 { 131 log_assert(0); 132 } 133 134 struct outbound_entry* libworker_send_query(uint8_t* ATTR_UNUSED(qname), 135 size_t ATTR_UNUSED(qnamelen), uint16_t ATTR_UNUSED(qtype), 136 uint16_t ATTR_UNUSED(qclass), uint16_t ATTR_UNUSED(flags), 137 int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec), 138 struct sockaddr_storage* ATTR_UNUSED(addr), 139 socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone), 140 size_t ATTR_UNUSED(zonelen), struct module_qstate* ATTR_UNUSED(q)) 141 { 142 log_assert(0); 143 return 0; 144 } 145 146 int libworker_handle_reply(struct comm_point* ATTR_UNUSED(c), 147 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 148 struct comm_reply* ATTR_UNUSED(reply_info)) 149 { 150 log_assert(0); 151 return 0; 152 } 153 154 int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c), 155 void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 156 struct comm_reply* ATTR_UNUSED(reply_info)) 157 { 158 log_assert(0); 159 return 0; 160 } 161 162 void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube), 163 uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len), 164 int ATTR_UNUSED(error), void* ATTR_UNUSED(arg)) 165 { 166 log_assert(0); 167 } 168 169 void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 170 ldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 171 char* ATTR_UNUSED(why_bogus)) 172 { 173 log_assert(0); 174 } 175 176 void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 177 ldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 178 char* ATTR_UNUSED(why_bogus)) 179 { 180 log_assert(0); 181 } 182 183 int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b)) 184 { 185 log_assert(0); 186 return 0; 187 } 188 189 void worker_stat_timer_cb(void* ATTR_UNUSED(arg)) 190 { 191 log_assert(0); 192 } 193 194 void worker_probe_timer_cb(void* ATTR_UNUSED(arg)) 195 { 196 log_assert(0); 197 } 198 199 void worker_start_accept(void* ATTR_UNUSED(arg)) 200 { 201 log_assert(0); 202 } 203 204 void worker_stop_accept(void* ATTR_UNUSED(arg)) 205 { 206 log_assert(0); 207 } 208 209 /** keep track of lock id in lock-verify application */ 210 struct order_id { 211 /** the thread id that created it */ 212 int thr; 213 /** the instance number of creation */ 214 int instance; 215 }; 216 217 int order_lock_cmp(const void* e1, const void* e2) 218 { 219 struct order_id* o1 = (struct order_id*)e1; 220 struct order_id* o2 = (struct order_id*)e2; 221 if(o1->thr < o2->thr) return -1; 222 if(o1->thr > o2->thr) return 1; 223 if(o1->instance < o2->instance) return -1; 224 if(o1->instance > o2->instance) return 1; 225 return 0; 226 } 227 228 int 229 codeline_cmp(const void* a, const void* b) 230 { 231 return strcmp((const char*)a, (const char*)b); 232 } 233 234 int replay_var_compare(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b)) 235 { 236 log_assert(0); 237 return 0; 238 } 239 240 void remote_get_opt_ssl(char* ATTR_UNUSED(str), void* ATTR_UNUSED(arg)) 241 { 242 log_assert(0); 243 } 244