xref: /openbsd/sbin/unwind/libunbound/config.h (revision 19b65b99)
1 /* config.h.  Generated from config.h.in by configure.  */
2 /* config.h.in.  Generated from configure.ac by autoheader.  */
3 
4 /* apply the fallthrough attribute. */
5 #if defined(__clang__)
6 #define ATTR_FALLTHROUGH __attribute__((fallthrough));
7 #else
8 #define ATTR_FALLTHROUGH
9 #endif
10 
11 /* apply the noreturn attribute to a function that exits the program */
12 #define ATTR_NORETURN __attribute__((__noreturn__))
13 
14 /* apply the weak attribute to a symbol */
15 #define ATTR_WEAK __attribute__((weak))
16 
17 /* Directory to chroot to */
18 #define CHROOT_DIR "/var/unbound"
19 
20 /* Define this to enable client subnet option. */
21 /* #undef CLIENT_SUBNET */
22 
23 /* Do sha512 definitions in config.h */
24 /* #undef COMPAT_SHA512 */
25 
26 /* Command line arguments used with configure */
27 #define CONFCMDLINE "--enable-allsymbols --with-ssl=/usr --with-libevent=/usr --with-libexpat=/usr --without-pythonmodule --with-chroot-dir=/var/unbound --with-pidfile= --with-rootkey-file=/var/unbound/db/root.key --with-conf-file=/var/unbound/etc/unbound.conf --with-username=_unbound --disable-shared --disable-explicit-port-randomisation --without-pthreads"
28 
29 /* Pathname to the Unbound configuration file */
30 #define CONFIGFILE "/var/unbound/etc/unbound.conf"
31 
32 /* Define this if on macOSX10.4-darwin8 and setreuid and setregid do not work
33    */
34 /* #undef DARWIN_BROKEN_SETREUID */
35 
36 /* Whether daemon is deprecated */
37 /* #undef DEPRECATED_DAEMON */
38 
39 /* Deprecate RSA 1024 bit length, makes that an unsupported key */
40 /* #undef DEPRECATE_RSA_1024 */
41 
42 /* Define this to enable kernel based UDP source port randomization. */
43 #define DISABLE_EXPLICIT_PORT_RANDOMISATION 1
44 
45 /* default dnstap socket path */
46 /* #undef DNSTAP_SOCKET_PATH */
47 
48 /* Define if you want to use debug lock checking (slow). */
49 /* #undef ENABLE_LOCK_CHECKS */
50 
51 /* Define this if you enabled-allsymbols from libunbound to link binaries to
52    it for smaller install size, but the libunbound export table is polluted by
53    internal symbols */
54 #define EXPORT_ALL_SYMBOLS 1
55 
56 /* Define to 1 if you have the `accept4' function. */
57 #define HAVE_ACCEPT4 1
58 
59 /* Define to 1 if you have the `arc4random' function. */
60 #define HAVE_ARC4RANDOM 1
61 
62 /* Define to 1 if you have the `arc4random_uniform' function. */
63 #define HAVE_ARC4RANDOM_UNIFORM 1
64 
65 /* Define to 1 if you have the <arpa/inet.h> header file. */
66 #define HAVE_ARPA_INET_H 1
67 
68 /* Whether the C compiler accepts the "fallthrough" attribute */
69 #define HAVE_ATTR_FALLTHROUGH 1
70 
71 /* Whether the C compiler accepts the "format" attribute */
72 #define HAVE_ATTR_FORMAT 1
73 
74 /* Whether the C compiler accepts the "noreturn" attribute */
75 #define HAVE_ATTR_NORETURN 1
76 
77 /* Whether the C compiler accepts the "unused" attribute */
78 #define HAVE_ATTR_UNUSED 1
79 
80 /* Whether the C compiler accepts the "weak" attribute */
81 #define HAVE_ATTR_WEAK 1
82 
83 /* If we have be64toh */
84 #define HAVE_BE64TOH 1
85 
86 /* Define to 1 if you have the `BIO_set_callback_ex' function. */
87 #define HAVE_BIO_SET_CALLBACK_EX 1
88 
89 /* Define to 1 if you have the <bsd/stdlib.h> header file. */
90 /* #undef HAVE_BSD_STDLIB_H */
91 
92 /* Define to 1 if you have the <bsd/string.h> header file. */
93 /* #undef HAVE_BSD_STRING_H */
94 
95 /* Define to 1 if you have the `chown' function. */
96 #define HAVE_CHOWN 1
97 
98 /* Define to 1 if you have the `chroot' function. */
99 #define HAVE_CHROOT 1
100 
101 /* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
102 #define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
103 
104 /* Define to 1 if you have the `CRYPTO_THREADID_set_callback' function. */
105 #define HAVE_CRYPTO_THREADID_SET_CALLBACK 1
106 
107 /* Define to 1 if you have the `ctime_r' function. */
108 #define HAVE_CTIME_R 1
109 
110 /* Define to 1 if you have the `daemon' function. */
111 #define HAVE_DAEMON 1
112 
113 /* Define to 1 if you have the declaration of `arc4random', and to 0 if you
114    don't. */
115 #define HAVE_DECL_ARC4RANDOM 1
116 
117 /* Define to 1 if you have the declaration of `arc4random_uniform', and to 0
118    if you don't. */
119 #define HAVE_DECL_ARC4RANDOM_UNIFORM 1
120 
121 /* Define to 1 if you have the declaration of `evsignal_assign', and to 0 if
122    you don't. */
123 #define HAVE_DECL_EVSIGNAL_ASSIGN 0
124 
125 /* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you
126    don't. */
127 #define HAVE_DECL_INET_NTOP 1
128 
129 /* Define to 1 if you have the declaration of `inet_pton', and to 0 if you
130    don't. */
131 #define HAVE_DECL_INET_PTON 1
132 
133 /* Define to 1 if you have the declaration of `nghttp2_session_server_new',
134    and to 0 if you don't. */
135 /* #undef HAVE_DECL_NGHTTP2_SESSION_SERVER_NEW */
136 
137 /* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you
138    don't. */
139 #define HAVE_DECL_NID_ED25519 1
140 
141 /* Define to 1 if you have the declaration of `NID_ED448', and to 0 if you
142    don't. */
143 #define HAVE_DECL_NID_ED448 0
144 
145 /* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you
146    don't. */
147 #define HAVE_DECL_NID_SECP384R1 1
148 
149 /* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0
150    if you don't. */
151 #define HAVE_DECL_NID_X9_62_PRIME256V1 1
152 
153 /* Define to 1 if you have the declaration of `reallocarray', and to 0 if you
154    don't. */
155 #define HAVE_DECL_REALLOCARRAY 1
156 
157 /* Define to 1 if you have the declaration of `redisConnect', and to 0 if you
158    don't. */
159 /* #undef HAVE_DECL_REDISCONNECT */
160 
161 /* Define to 1 if you have the declaration of `sk_SSL_COMP_pop_free', and to 0
162    if you don't. */
163 #define HAVE_DECL_SK_SSL_COMP_POP_FREE 1
164 
165 /* Define to 1 if you have the declaration of
166    `SSL_COMP_get_compression_methods', and to 0 if you don't. */
167 #define HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS 1
168 
169 /* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to
170    0 if you don't. */
171 #define HAVE_DECL_SSL_CTX_SET_ECDH_AUTO 1
172 
173 /* Define to 1 if you have the declaration of `strlcat', and to 0 if you
174    don't. */
175 #define HAVE_DECL_STRLCAT 1
176 
177 /* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
178    don't. */
179 #define HAVE_DECL_STRLCPY 1
180 
181 /* Define to 1 if you have the declaration of `XML_StopParser', and to 0 if
182    you don't. */
183 #define HAVE_DECL_XML_STOPPARSER 1
184 
185 /* Define to 1 if you have the <dlfcn.h> header file. */
186 #define HAVE_DLFCN_H 1
187 
188 /* Define to 1 if you have the `DSA_SIG_set0' function. */
189 #define HAVE_DSA_SIG_SET0 1
190 
191 /* Define to 1 if you have the <endian.h> header file. */
192 #define HAVE_ENDIAN_H 1
193 
194 /* Define to 1 if you have the `endprotoent' function. */
195 #define HAVE_ENDPROTOENT 1
196 
197 /* Define to 1 if you have the `endpwent' function. */
198 #define HAVE_ENDPWENT 1
199 
200 /* Define to 1 if you have the `endservent' function. */
201 #define HAVE_ENDSERVENT 1
202 
203 /* Define to 1 if you have the `ENGINE_cleanup' function. */
204 #define HAVE_ENGINE_CLEANUP 1
205 
206 /* Define to 1 if you have the `ERR_free_strings' function. */
207 #define HAVE_ERR_FREE_STRINGS 1
208 
209 /* Define to 1 if you have the `ERR_load_crypto_strings' function. */
210 #define HAVE_ERR_LOAD_CRYPTO_STRINGS 1
211 
212 /* Define to 1 if you have the `event_assign' function. */
213 /* #undef HAVE_EVENT_ASSIGN */
214 
215 /* Define to 1 if you have the `event_base_free' function. */
216 #define HAVE_EVENT_BASE_FREE 1
217 
218 /* Define to 1 if you have the `event_base_get_method' function. */
219 #define HAVE_EVENT_BASE_GET_METHOD 1
220 
221 /* Define to 1 if you have the `event_base_new' function. */
222 #define HAVE_EVENT_BASE_NEW 1
223 
224 /* Define to 1 if you have the `event_base_once' function. */
225 #define HAVE_EVENT_BASE_ONCE 1
226 
227 /* Define to 1 if you have the <event.h> header file. */
228 #define HAVE_EVENT_H 1
229 
230 /* Define to 1 if you have the `EVP_aes_256_cbc' function. */
231 #define HAVE_EVP_AES_256_CBC 1
232 
233 /* Define to 1 if you have the `EVP_cleanup' function. */
234 #define HAVE_EVP_CLEANUP 1
235 
236 /* Define to 1 if you have the `EVP_default_properties_is_fips_enabled'
237    function. */
238 /* #undef HAVE_EVP_DEFAULT_PROPERTIES_IS_FIPS_ENABLED */
239 
240 /* Define to 1 if you have the `EVP_DigestVerify' function. */
241 #define HAVE_EVP_DIGESTVERIFY 1
242 
243 /* Define to 1 if you have the `EVP_dss1' function. */
244 /* #undef HAVE_EVP_DSS1 */
245 
246 /* Define to 1 if you have the `EVP_EncryptInit_ex' function. */
247 #define HAVE_EVP_ENCRYPTINIT_EX 1
248 
249 /* Define to 1 if you have the `EVP_MAC_CTX_set_params' function. */
250 /* #undef HAVE_EVP_MAC_CTX_SET_PARAMS */
251 
252 /* Define to 1 if you have the `EVP_MD_CTX_new' function. */
253 #define HAVE_EVP_MD_CTX_NEW 1
254 
255 /* Define to 1 if you have the `EVP_sha1' function. */
256 #define HAVE_EVP_SHA1 1
257 
258 /* Define to 1 if you have the `EVP_sha256' function. */
259 #define HAVE_EVP_SHA256 1
260 
261 /* Define to 1 if you have the `EVP_sha512' function. */
262 #define HAVE_EVP_SHA512 1
263 
264 /* Define to 1 if you have the `ev_default_loop' function. */
265 /* #undef HAVE_EV_DEFAULT_LOOP */
266 
267 /* Define to 1 if you have the `ev_loop' function. */
268 /* #undef HAVE_EV_LOOP */
269 
270 /* Define to 1 if you have the <expat.h> header file. */
271 #define HAVE_EXPAT_H 1
272 
273 /* Define to 1 if you have the `explicit_bzero' function. */
274 #define HAVE_EXPLICIT_BZERO 1
275 
276 /* Define to 1 if you have the `fcntl' function. */
277 #define HAVE_FCNTL 1
278 
279 /* Define to 1 if you have the `FIPS_mode' function. */
280 #define HAVE_FIPS_MODE 1
281 
282 /* Define to 1 if you have the `fork' function. */
283 #define HAVE_FORK 1
284 
285 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
286 #define HAVE_FSEEKO 1
287 
288 /* Define to 1 if you have the `fsync' function. */
289 #define HAVE_FSYNC 1
290 
291 /* Whether getaddrinfo is available */
292 #define HAVE_GETADDRINFO 1
293 
294 /* Define to 1 if you have the `getauxval' function. */
295 /* #undef HAVE_GETAUXVAL */
296 
297 /* Define to 1 if you have the `getentropy' function. */
298 /* #undef HAVE_GETENTROPY */
299 
300 /* Define to 1 if you have the `getifaddrs' function. */
301 #define HAVE_GETIFADDRS 1
302 
303 /* Define to 1 if you have the <getopt.h> header file. */
304 #define HAVE_GETOPT_H 1
305 
306 /* Define to 1 if you have the `getpwnam' function. */
307 #define HAVE_GETPWNAM 1
308 
309 /* Define to 1 if you have the `getrlimit' function. */
310 #define HAVE_GETRLIMIT 1
311 
312 /* Define to 1 if you have the `gettid' function. */
313 /* #undef HAVE_GETTID */
314 
315 /* Define to 1 if you have the `glob' function. */
316 #define HAVE_GLOB 1
317 
318 /* Define to 1 if you have the <glob.h> header file. */
319 #define HAVE_GLOB_H 1
320 
321 /* Define to 1 if you have the `gmtime_r' function. */
322 #define HAVE_GMTIME_R 1
323 
324 /* Define to 1 if you have the <grp.h> header file. */
325 #define HAVE_GRP_H 1
326 
327 /* Define to 1 if you have the <hiredis/hiredis.h> header file. */
328 /* #undef HAVE_HIREDIS_HIREDIS_H */
329 
330 /* Define to 1 if you have the `HMAC_Init_ex' function. */
331 #define HAVE_HMAC_INIT_EX 1
332 
333 /* If we have htobe64 */
334 #define HAVE_HTOBE64 1
335 
336 /* Define to 1 if you have the <ifaddrs.h> header file. */
337 #define HAVE_IFADDRS_H 1
338 
339 /* Define to 1 if you have the `if_nametoindex' function. */
340 #define HAVE_IF_NAMETOINDEX 1
341 
342 /* Define to 1 if you have the `inet_aton' function. */
343 #define HAVE_INET_ATON 1
344 
345 /* Define to 1 if you have the `inet_ntop' function. */
346 #define HAVE_INET_NTOP 1
347 
348 /* Define to 1 if you have the `inet_pton' function. */
349 #define HAVE_INET_PTON 1
350 
351 /* Define to 1 if you have the `initgroups' function. */
352 #define HAVE_INITGROUPS 1
353 
354 /* Define to 1 if you have the <inttypes.h> header file. */
355 #define HAVE_INTTYPES_H 1
356 
357 /* if the function 'ioctlsocket' is available */
358 /* #undef HAVE_IOCTLSOCKET */
359 
360 /* Define to 1 if you have the <iphlpapi.h> header file. */
361 /* #undef HAVE_IPHLPAPI_H */
362 
363 /* Define to 1 if you have the `isblank' function. */
364 #define HAVE_ISBLANK 1
365 
366 /* Define to 1 if you have the `kill' function. */
367 #define HAVE_KILL 1
368 
369 /* Use portable libbsd functions */
370 /* #undef HAVE_LIBBSD */
371 
372 /* Define to 1 if you have the <libkern/OSByteOrder.h> header file. */
373 /* #undef HAVE_LIBKERN_OSBYTEORDER_H */
374 
375 /* Define if we have LibreSSL */
376 #define HAVE_LIBRESSL 1
377 
378 /* Define to 1 if you have the <linux/net_tstamp.h> header file. */
379 /* #undef HAVE_LINUX_NET_TSTAMP_H */
380 
381 /* Define to 1 if you have the `localtime_r' function. */
382 #define HAVE_LOCALTIME_R 1
383 
384 /* Define to 1 if you have the <login_cap.h> header file. */
385 #define HAVE_LOGIN_CAP_H 1
386 
387 /* If have GNU libc compatible malloc */
388 #define HAVE_MALLOC 1
389 
390 /* Define to 1 if you have the `memmove' function. */
391 #define HAVE_MEMMOVE 1
392 
393 /* Define to 1 if you have the <minix/config.h> header file. */
394 /* #undef HAVE_MINIX_CONFIG_H */
395 
396 /* Define to 1 if you have the <netdb.h> header file. */
397 #define HAVE_NETDB_H 1
398 
399 /* Define to 1 if you have the <netinet/in.h> header file. */
400 #define HAVE_NETINET_IN_H 1
401 
402 /* Define to 1 if you have the <netinet/tcp.h> header file. */
403 #define HAVE_NETINET_TCP_H 1
404 
405 /* Define to 1 if you have the <netioapi.h> header file. */
406 /* #undef HAVE_NETIOAPI_H */
407 
408 /* Use libnettle for crypto */
409 /* #undef HAVE_NETTLE */
410 
411 /* Define to 1 if you have the <nettle/dsa-compat.h> header file. */
412 /* #undef HAVE_NETTLE_DSA_COMPAT_H */
413 
414 /* Define to 1 if you have the <nettle/eddsa.h> header file. */
415 /* #undef HAVE_NETTLE_EDDSA_H */
416 
417 /* Define to 1 if you have the <net/if.h> header file. */
418 #define HAVE_NET_IF_H 1
419 
420 /* Define to 1 if you have the <net/pfvar.h> header file. */
421 /* #undef HAVE_NET_PFVAR_H */
422 
423 /* Define this to use nghttp2 client. */
424 /* #undef HAVE_NGHTTP2 */
425 
426 /* Define to 1 if you have the <nghttp2/nghttp2.h> header file. */
427 /* #undef HAVE_NGHTTP2_NGHTTP2_H */
428 
429 /* Use libnss for crypto */
430 /* #undef HAVE_NSS */
431 
432 /* Define to 1 if you have the `OpenSSL_add_all_digests' function. */
433 #define HAVE_OPENSSL_ADD_ALL_DIGESTS 1
434 
435 /* Define to 1 if you have the <openssl/bn.h> header file. */
436 #define HAVE_OPENSSL_BN_H 1
437 
438 /* Define to 1 if you have the `OPENSSL_config' function. */
439 #define HAVE_OPENSSL_CONFIG 1
440 
441 /* Define to 1 if you have the <openssl/conf.h> header file. */
442 #define HAVE_OPENSSL_CONF_H 1
443 
444 /* Define to 1 if you have the <openssl/core_names.h> header file. */
445 /* #undef HAVE_OPENSSL_CORE_NAMES_H */
446 
447 /* Define to 1 if you have the <openssl/dh.h> header file. */
448 #define HAVE_OPENSSL_DH_H 1
449 
450 /* Define to 1 if you have the <openssl/dsa.h> header file. */
451 #define HAVE_OPENSSL_DSA_H 1
452 
453 /* Define to 1 if you have the <openssl/engine.h> header file. */
454 #define HAVE_OPENSSL_ENGINE_H 1
455 
456 /* Define to 1 if you have the <openssl/err.h> header file. */
457 #define HAVE_OPENSSL_ERR_H 1
458 
459 /* Define to 1 if you have the `OPENSSL_init_crypto' function. */
460 #define HAVE_OPENSSL_INIT_CRYPTO 1
461 
462 /* Define to 1 if you have the `OPENSSL_init_ssl' function. */
463 #define HAVE_OPENSSL_INIT_SSL 1
464 
465 /* Define to 1 if you have the <openssl/param_build.h> header file. */
466 /* #undef HAVE_OPENSSL_PARAM_BUILD_H */
467 
468 /* Define to 1 if you have the <openssl/rand.h> header file. */
469 #define HAVE_OPENSSL_RAND_H 1
470 
471 /* Define to 1 if you have the <openssl/rsa.h> header file. */
472 #define HAVE_OPENSSL_RSA_H 1
473 
474 /* Define to 1 if you have the <openssl/ssl.h> header file. */
475 #define HAVE_OPENSSL_SSL_H 1
476 
477 /* Define to 1 if you have the `OSSL_PARAM_BLD_new' function. */
478 /* #undef HAVE_OSSL_PARAM_BLD_NEW */
479 
480 /* Define to 1 if you have the `poll' function. */
481 #define HAVE_POLL 1
482 
483 /* Define to 1 if you have the <poll.h> header file. */
484 #define HAVE_POLL_H 1
485 
486 /* Define if you have POSIX threads libraries and header files. */
487 /* #undef HAVE_PTHREAD */
488 
489 /* Have PTHREAD_PRIO_INHERIT. */
490 /* #undef HAVE_PTHREAD_PRIO_INHERIT */
491 
492 /* Define to 1 if the system has the type `pthread_rwlock_t'. */
493 /* #undef HAVE_PTHREAD_RWLOCK_T */
494 
495 /* Define to 1 if the system has the type `pthread_spinlock_t'. */
496 /* #undef HAVE_PTHREAD_SPINLOCK_T */
497 
498 /* Define to 1 if you have the <pwd.h> header file. */
499 #define HAVE_PWD_H 1
500 
501 /* Define if you have Python libraries and header files. */
502 /* #undef HAVE_PYTHON */
503 
504 /* Define to 1 if you have the `random' function. */
505 #define HAVE_RANDOM 1
506 
507 /* Define to 1 if you have the `RAND_cleanup' function. */
508 #define HAVE_RAND_CLEANUP 1
509 
510 /* If we have reallocarray(3) */
511 #define HAVE_REALLOCARRAY 1
512 
513 /* Define to 1 if you have the `recvmsg' function. */
514 #define HAVE_RECVMSG 1
515 
516 /* Define to 1 if you have the `sendmsg' function. */
517 #define HAVE_SENDMSG 1
518 
519 /* Define to 1 if you have the `setregid' function. */
520 /* #undef HAVE_SETREGID */
521 
522 /* Define to 1 if you have the `setresgid' function. */
523 #define HAVE_SETRESGID 1
524 
525 /* Define to 1 if you have the `setresuid' function. */
526 #define HAVE_SETRESUID 1
527 
528 /* Define to 1 if you have the `setreuid' function. */
529 /* #undef HAVE_SETREUID */
530 
531 /* Define to 1 if you have the `setrlimit' function. */
532 #define HAVE_SETRLIMIT 1
533 
534 /* Define to 1 if you have the `setsid' function. */
535 #define HAVE_SETSID 1
536 
537 /* Define to 1 if you have the `setusercontext' function. */
538 #define HAVE_SETUSERCONTEXT 1
539 
540 /* Define to 1 if you have the `SHA512_Update' function. */
541 /* #undef HAVE_SHA512_UPDATE */
542 
543 /* Define to 1 if you have the `shmget' function. */
544 #define HAVE_SHMGET 1
545 
546 /* Define to 1 if you have the `sigprocmask' function. */
547 #define HAVE_SIGPROCMASK 1
548 
549 /* Define to 1 if you have the `sleep' function. */
550 #define HAVE_SLEEP 1
551 
552 /* Define to 1 if you have the `snprintf' function. */
553 #define HAVE_SNPRINTF 1
554 
555 /* Define to 1 if you have the `socketpair' function. */
556 #define HAVE_SOCKETPAIR 1
557 
558 /* Using Solaris threads */
559 /* #undef HAVE_SOLARIS_THREADS */
560 
561 /* Define to 1 if you have the `srandom' function. */
562 #define HAVE_SRANDOM 1
563 
564 /* Define if you have the SSL libraries installed. */
565 #define HAVE_SSL /**/
566 
567 /* Define to 1 if you have the `SSL_CTX_set_alpn_protos' function. */
568 #define HAVE_SSL_CTX_SET_ALPN_PROTOS 1
569 
570 /* Define to 1 if you have the `SSL_CTX_set_alpn_select_cb' function. */
571 #define HAVE_SSL_CTX_SET_ALPN_SELECT_CB 1
572 
573 /* Define to 1 if you have the `SSL_CTX_set_ciphersuites' function. */
574 #define HAVE_SSL_CTX_SET_CIPHERSUITES 1
575 
576 /* Define to 1 if you have the `SSL_CTX_set_security_level' function. */
577 #define HAVE_SSL_CTX_SET_SECURITY_LEVEL 1
578 
579 /* Define to 1 if you have the `SSL_CTX_set_tlsext_ticket_key_evp_cb'
580    function. */
581 /* #undef HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_EVP_CB */
582 
583 /* Define to 1 if you have the `SSL_CTX_set_tmp_ecdh' function. */
584 /* #undef HAVE_SSL_CTX_SET_TMP_ECDH */
585 
586 /* Define to 1 if you have the `SSL_get0_alpn_selected' function. */
587 #define HAVE_SSL_GET0_ALPN_SELECTED 1
588 
589 /* Define to 1 if you have the `SSL_get0_peername' function. */
590 #define HAVE_SSL_GET0_PEERNAME 1
591 
592 /* Define to 1 if you have the `SSL_get1_peer_certificate' function. */
593 /* #undef HAVE_SSL_GET1_PEER_CERTIFICATE */
594 
595 /* Define to 1 if you have the `SSL_set1_host' function. */
596 #define HAVE_SSL_SET1_HOST 1
597 
598 /* Define to 1 if you have the <stdarg.h> header file. */
599 #define HAVE_STDARG_H 1
600 
601 /* Define to 1 if you have the <stdbool.h> header file. */
602 #define HAVE_STDBOOL_H 1
603 
604 /* Define to 1 if you have the <stdint.h> header file. */
605 #define HAVE_STDINT_H 1
606 
607 /* Define to 1 if you have the <stdio.h> header file. */
608 #define HAVE_STDIO_H 1
609 
610 /* Define to 1 if you have the <stdlib.h> header file. */
611 #define HAVE_STDLIB_H 1
612 
613 /* Define to 1 if you have the `strftime' function. */
614 #define HAVE_STRFTIME 1
615 
616 /* Define to 1 if you have the <strings.h> header file. */
617 #define HAVE_STRINGS_H 1
618 
619 /* Define to 1 if you have the <string.h> header file. */
620 #define HAVE_STRING_H 1
621 
622 /* Define to 1 if you have the `strlcat' function. */
623 #define HAVE_STRLCAT 1
624 
625 /* Define to 1 if you have the `strlcpy' function. */
626 #define HAVE_STRLCPY 1
627 
628 /* Define to 1 if you have the `strptime' function. */
629 #define HAVE_STRPTIME 1
630 
631 /* Define to 1 if you have the `strsep' function. */
632 #define HAVE_STRSEP 1
633 
634 /* Define to 1 if `ipi_spec_dst' is a member of `struct in_pktinfo'. */
635 /* #undef HAVE_STRUCT_IN_PKTINFO_IPI_SPEC_DST */
636 
637 /* Define to 1 if `sun_len' is a member of `struct sockaddr_un'. */
638 #define HAVE_STRUCT_SOCKADDR_UN_SUN_LEN 1
639 
640 /* Define if you have Swig libraries and header files. */
641 /* #undef HAVE_SWIG */
642 
643 /* Define to 1 if you have the <syslog.h> header file. */
644 #define HAVE_SYSLOG_H 1
645 
646 /* Define to 1 if systemd should be used */
647 /* #undef HAVE_SYSTEMD */
648 
649 /* Define to 1 if you have the <sys/endian.h> header file. */
650 #define HAVE_SYS_ENDIAN_H 1
651 
652 /* Define to 1 if you have the <sys/ipc.h> header file. */
653 #define HAVE_SYS_IPC_H 1
654 
655 /* Define to 1 if you have the <sys/param.h> header file. */
656 #define HAVE_SYS_PARAM_H 1
657 
658 /* Define to 1 if you have the <sys/resource.h> header file. */
659 #define HAVE_SYS_RESOURCE_H 1
660 
661 /* Define to 1 if you have the <sys/select.h> header file. */
662 #define HAVE_SYS_SELECT_H 1
663 
664 /* Define to 1 if you have the <sys/sha2.h> header file. */
665 /* #undef HAVE_SYS_SHA2_H */
666 
667 /* Define to 1 if you have the <sys/shm.h> header file. */
668 #define HAVE_SYS_SHM_H 1
669 
670 /* Define to 1 if you have the <sys/socket.h> header file. */
671 #define HAVE_SYS_SOCKET_H 1
672 
673 /* Define to 1 if you have the <sys/stat.h> header file. */
674 #define HAVE_SYS_STAT_H 1
675 
676 /* Define to 1 if you have the <sys/sysctl.h> header file. */
677 /* #undef HAVE_SYS_SYSCTL_H */
678 
679 /* Define to 1 if you have the <sys/types.h> header file. */
680 #define HAVE_SYS_TYPES_H 1
681 
682 /* Define to 1 if you have the <sys/uio.h> header file. */
683 #define HAVE_SYS_UIO_H 1
684 
685 /* Define to 1 if you have the <sys/un.h> header file. */
686 #define HAVE_SYS_UN_H 1
687 
688 /* Define to 1 if you have the <sys/wait.h> header file. */
689 #define HAVE_SYS_WAIT_H 1
690 
691 /* Define to 1 if you have the <TargetConditionals.h> header file. */
692 /* #undef HAVE_TARGETCONDITIONALS_H */
693 
694 /* Define to 1 if you have the <time.h> header file. */
695 #define HAVE_TIME_H 1
696 
697 /* Define to 1 if you have the `tzset' function. */
698 #define HAVE_TZSET 1
699 
700 /* Define to 1 if you have the <unistd.h> header file. */
701 #define HAVE_UNISTD_H 1
702 
703 /* Define to 1 if you have the `usleep' function. */
704 #define HAVE_USLEEP 1
705 
706 /* Define to 1 if you have the `vfork' function. */
707 #define HAVE_VFORK 1
708 
709 /* Define to 1 if you have the <vfork.h> header file. */
710 /* #undef HAVE_VFORK_H */
711 
712 /* Define to 1 if you have the <wchar.h> header file. */
713 #define HAVE_WCHAR_H 1
714 
715 /* Define to 1 if you have the <windows.h> header file. */
716 /* #undef HAVE_WINDOWS_H */
717 
718 /* Using Windows threads */
719 /* #undef HAVE_WINDOWS_THREADS */
720 
721 /* Define to 1 if you have the <winsock2.h> header file. */
722 /* #undef HAVE_WINSOCK2_H */
723 
724 /* Define to 1 if `fork' works. */
725 #define HAVE_WORKING_FORK 1
726 
727 /* Define to 1 if `vfork' works. */
728 #define HAVE_WORKING_VFORK 1
729 
730 /* Define to 1 if you have the `writev' function. */
731 #define HAVE_WRITEV 1
732 
733 /* Define to 1 if you have the <ws2tcpip.h> header file. */
734 /* #undef HAVE_WS2TCPIP_H */
735 
736 /* Define to 1 if you have the `X509_VERIFY_PARAM_set1_host' function. */
737 #define HAVE_X509_VERIFY_PARAM_SET1_HOST 1
738 
739 /* Define to 1 if you have the `_beginthreadex' function. */
740 /* #undef HAVE__BEGINTHREADEX */
741 
742 /* If HMAC_Init_ex() returns void */
743 /* #undef HMAC_INIT_EX_RETURNS_VOID */
744 
745 /* if lex has yylex_destroy */
746 #define LEX_HAS_YYLEX_DESTROY 1
747 
748 /* Define to the sub-directory where libtool stores uninstalled libraries. */
749 #define LT_OBJDIR ".libs/"
750 
751 /* Define to the maximum message length to pass to syslog. */
752 #define MAXSYSLOGMSGLEN 10240
753 
754 /* Define if memcmp() does not compare unsigned bytes */
755 /* #undef MEMCMP_IS_BROKEN */
756 
757 /* Define if mkdir has one argument. */
758 /* #undef MKDIR_HAS_ONE_ARG */
759 
760 /* Define if the network stack does not fully support nonblocking io (causes
761    lower performance). */
762 /* #undef NONBLOCKING_IS_BROKEN */
763 
764 /* Put -D_ALL_SOURCE define in config.h */
765 /* #undef OMITTED__D_ALL_SOURCE */
766 
767 /* Put -D_BSD_SOURCE define in config.h */
768 /* #undef OMITTED__D_BSD_SOURCE */
769 
770 /* Put -D_DEFAULT_SOURCE define in config.h */
771 /* #undef OMITTED__D_DEFAULT_SOURCE */
772 
773 /* Put -D_GNU_SOURCE define in config.h */
774 /* #undef OMITTED__D_GNU_SOURCE */
775 
776 /* Put -D_LARGEFILE_SOURCE=1 define in config.h */
777 /* #undef OMITTED__D_LARGEFILE_SOURCE_1 */
778 
779 /* Put -D_POSIX_C_SOURCE=200112 define in config.h */
780 /* #undef OMITTED__D_POSIX_C_SOURCE_200112 */
781 
782 /* Put -D_XOPEN_SOURCE=600 define in config.h */
783 /* #undef OMITTED__D_XOPEN_SOURCE_600 */
784 
785 /* Put -D_XOPEN_SOURCE_EXTENDED=1 define in config.h */
786 /* #undef OMITTED__D_XOPEN_SOURCE_EXTENDED_1 */
787 
788 /* Put -D__EXTENSIONS__ define in config.h */
789 /* #undef OMITTED__D__EXTENSIONS__ */
790 
791 /* Define to the address where bug reports for this package should be sent. */
792 #define PACKAGE_BUGREPORT "unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues"
793 
794 /* Define to the full name of this package. */
795 #define PACKAGE_NAME "unbound"
796 
797 /* Define to the full name and version of this package. */
798 #define PACKAGE_STRING "unbound 1.21.0"
799 
800 /* Define to the one symbol short name of this package. */
801 #define PACKAGE_TARNAME "unbound"
802 
803 /* Define to the home page for this package. */
804 #define PACKAGE_URL ""
805 
806 /* Define to the version of this package. */
807 #define PACKAGE_VERSION "1.21.0"
808 
809 /* default pidfile location */
810 #define PIDFILE ""
811 
812 /* Define to necessary symbol if this constant uses a non-standard name on
813    your system. */
814 /* #undef PTHREAD_CREATE_JOINABLE */
815 
816 /* Return type of signal handlers, but autoconf 2.70 says 'your code may
817    safely assume C89 semantics that RETSIGTYPE is void.' */
818 #define RETSIGTYPE void
819 
820 /* if REUSEPORT is enabled by default */
821 #define REUSEPORT_DEFAULT 0
822 
823 /* default rootkey location */
824 #define ROOT_ANCHOR_FILE "/var/unbound/db/root.key"
825 
826 /* default rootcert location */
827 #define ROOT_CERT_FILE "/var/unbound/etc/icannbundle.pem"
828 
829 /* version number for resource files */
830 #define RSRC_PACKAGE_VERSION 1,21,0,0
831 
832 /* Directory to chdir to */
833 #define RUN_DIR "/var/unbound/etc"
834 
835 /* Shared data */
836 #define SHARE_DIR "/var/unbound/etc"
837 
838 /* The size of `pthread_t', as computed by sizeof. */
839 /* #undef SIZEOF_PTHREAD_T */
840 
841 /* The size of `size_t', as computed by sizeof. */
842 #define SIZEOF_SIZE_T 8
843 
844 /* The size of `time_t', as computed by sizeof. */
845 #define SIZEOF_TIME_T 8
846 
847 /* The size of `unsigned long', as computed by sizeof. */
848 /* #undef SIZEOF_UNSIGNED_LONG */
849 
850 /* define if (v)snprintf does not return length needed, (but length used) */
851 /* #undef SNPRINTF_RET_BROKEN */
852 
853 /* Define to 1 if libsodium supports sodium_set_misuse_handler */
854 /* #undef SODIUM_MISUSE_HANDLER */
855 
856 /* Define to 1 if all of the C90 standard headers exist (not just the ones
857    required in a freestanding environment). This macro is provided for
858    backward compatibility; new code need not use it. */
859 #define STDC_HEADERS 1
860 
861 /* use default strptime. */
862 #define STRPTIME_WORKS 1
863 
864 /* Use win32 resources and API */
865 /* #undef UB_ON_WINDOWS */
866 
867 /* the SYSLOG_FACILITY to use, default LOG_DAEMON */
868 #define UB_SYSLOG_FACILITY LOG_DAEMON
869 
870 /* default username */
871 #define UB_USERNAME "_unbound"
872 
873 /* use to enable lightweight alloc assertions, for debug use */
874 /* #undef UNBOUND_ALLOC_LITE */
875 
876 /* use malloc not regions, for debug use */
877 /* #undef UNBOUND_ALLOC_NONREGIONAL */
878 
879 /* use statistics for allocs and frees, for debug use */
880 /* #undef UNBOUND_ALLOC_STATS */
881 
882 /* define this to enable debug checks. */
883 /* #undef UNBOUND_DEBUG */
884 
885 /* Define to 1 to use cachedb support */
886 /* #undef USE_CACHEDB */
887 
888 /* Define to 1 to enable dnscrypt support */
889 /* #undef USE_DNSCRYPT */
890 
891 /* Define to 1 to enable dnscrypt with xchacha20 support */
892 /* #undef USE_DNSCRYPT_XCHACHA20 */
893 
894 /* Define to 1 to enable dnstap support */
895 /* #undef USE_DNSTAP */
896 
897 /* Define this to enable DSA support. */
898 /* #undef USE_DSA */
899 
900 /* Define this to enable ECDSA support. */
901 #define USE_ECDSA 1
902 
903 /* Define this to enable an EVP workaround for older openssl */
904 /* #undef USE_ECDSA_EVP_WORKAROUND */
905 
906 /* Define this to enable ED25519 support. */
907 #define USE_ED25519 1
908 
909 /* Define this to enable ED448 support. */
910 /* #undef USE_ED448 */
911 
912 /* Define this to enable GOST support. */
913 /* #undef USE_GOST */
914 
915 /* Define to 1 to use ipsecmod support. */
916 /* #undef USE_IPSECMOD */
917 
918 /* Define to 1 to use ipset support */
919 /* #undef USE_IPSET */
920 
921 /* Define if you enable libevent */
922 #define USE_LIBEVENT 1
923 
924 /* Define this to enable use of /proc/sys/net/ipv4/ip_local_port_range as a
925    default outgoing port range. This is only for the libunbound on Linux and
926    does not affect unbound resolving daemon itself. This may severely limit
927    the number of available outgoing ports and thus decrease randomness. Define
928    this only when the target system restricts (e.g. some of SELinux enabled
929    distributions) the use of non-ephemeral ports. */
930 /* #undef USE_LINUX_IP_LOCAL_PORT_RANGE */
931 
932 /* Define if you want to use internal select based events */
933 /* #undef USE_MINI_EVENT */
934 
935 /* Define this to enable client TCP Fast Open. */
936 /* #undef USE_MSG_FASTOPEN */
937 
938 /* Define this to enable client TCP Fast Open. */
939 /* #undef USE_OSX_MSG_FASTOPEN */
940 
941 /* Define this to use hiredis client. */
942 /* #undef USE_REDIS */
943 
944 /* Define this to enable SHA1 support. */
945 #define USE_SHA1 1
946 
947 /* Define this to enable SHA256 and SHA512 support. */
948 #define USE_SHA2 1
949 
950 /* Enable extensions on AIX 3, Interix.  */
951 #ifndef _ALL_SOURCE
952 # define _ALL_SOURCE 1
953 #endif
954 /* Enable general extensions on macOS.  */
955 #ifndef _DARWIN_C_SOURCE
956 # define _DARWIN_C_SOURCE 1
957 #endif
958 /* Enable general extensions on Solaris.  */
959 #ifndef __EXTENSIONS__
960 # define __EXTENSIONS__ 1
961 #endif
962 /* Enable GNU extensions on systems that have them.  */
963 #ifndef _GNU_SOURCE
964 # define _GNU_SOURCE 1
965 #endif
966 /* Enable X/Open compliant socket functions that do not require linking
967    with -lxnet on HP-UX 11.11.  */
968 #ifndef _HPUX_ALT_XOPEN_SOCKET_API
969 # define _HPUX_ALT_XOPEN_SOCKET_API 1
970 #endif
971 /* Identify the host operating system as Minix.
972    This macro does not affect the system headers' behavior.
973    A future release of Autoconf may stop defining this macro.  */
974 #ifndef _MINIX
975 /* # undef _MINIX */
976 #endif
977 /* Enable general extensions on NetBSD.
978    Enable NetBSD compatibility extensions on Minix.  */
979 #ifndef _NETBSD_SOURCE
980 # define _NETBSD_SOURCE 1
981 #endif
982 /* Enable OpenBSD compatibility extensions on NetBSD.
983    Oddly enough, this does nothing on OpenBSD.  */
984 #ifndef _OPENBSD_SOURCE
985 # define _OPENBSD_SOURCE 1
986 #endif
987 /* Define to 1 if needed for POSIX-compatible behavior.  */
988 #ifndef _POSIX_SOURCE
989 /* # undef _POSIX_SOURCE */
990 #endif
991 /* Define to 2 if needed for POSIX-compatible behavior.  */
992 #ifndef _POSIX_1_SOURCE
993 /* # undef _POSIX_1_SOURCE */
994 #endif
995 /* Enable POSIX-compatible threading on Solaris.  */
996 #ifndef _POSIX_PTHREAD_SEMANTICS
997 # define _POSIX_PTHREAD_SEMANTICS 1
998 #endif
999 /* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
1000 #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
1001 # define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
1002 #endif
1003 /* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
1004 #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
1005 # define __STDC_WANT_IEC_60559_BFP_EXT__ 1
1006 #endif
1007 /* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
1008 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
1009 # define __STDC_WANT_IEC_60559_DFP_EXT__ 1
1010 #endif
1011 /* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
1012 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
1013 # define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
1014 #endif
1015 /* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
1016 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
1017 # define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
1018 #endif
1019 /* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
1020 #ifndef __STDC_WANT_LIB_EXT2__
1021 # define __STDC_WANT_LIB_EXT2__ 1
1022 #endif
1023 /* Enable extensions specified by ISO/IEC 24747:2009.  */
1024 #ifndef __STDC_WANT_MATH_SPEC_FUNCS__
1025 # define __STDC_WANT_MATH_SPEC_FUNCS__ 1
1026 #endif
1027 /* Enable extensions on HP NonStop.  */
1028 #ifndef _TANDEM_SOURCE
1029 # define _TANDEM_SOURCE 1
1030 #endif
1031 /* Enable X/Open extensions.  Define to 500 only if necessary
1032    to make mbstate_t available.  */
1033 #ifndef _XOPEN_SOURCE
1034 /* # undef _XOPEN_SOURCE */
1035 #endif
1036 
1037 
1038 /* Define this to enable server TCP Fast Open. */
1039 /* #undef USE_TCP_FASTOPEN */
1040 
1041 /* Whether the windows socket API is used */
1042 /* #undef USE_WINSOCK */
1043 
1044 /* the version of the windows API enabled */
1045 #define WINVER 0x0502
1046 
1047 /* Define if you want dynlib module. */
1048 /* #undef WITH_DYNLIBMODULE */
1049 
1050 /* Define if you want Python module. */
1051 /* #undef WITH_PYTHONMODULE */
1052 
1053 /* Define if you want PyUnbound. */
1054 /* #undef WITH_PYUNBOUND */
1055 
1056 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
1057    `char[]'. */
1058 #define YYTEXT_POINTER 1
1059 
1060 /* Number of bits in a file offset, on hosts where this is settable. */
1061 /* #undef _FILE_OFFSET_BITS */
1062 
1063 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
1064 /* #undef _LARGEFILE_SOURCE */
1065 
1066 /* Define for large files, on AIX-style hosts. */
1067 /* #undef _LARGE_FILES */
1068 
1069 /* Enable for compile on Minix */
1070 #define _NETBSD_SOURCE 1
1071 
1072 /* defined to use gcc ansi snprintf and sscanf that understands %lld when
1073    compiled for windows. */
1074 /* #undef __USE_MINGW_ANSI_STDIO */
1075 
1076 /* Define to empty if `const' does not conform to ANSI C. */
1077 /* #undef const */
1078 
1079 /* Define to `int' if <sys/types.h> doesn't define. */
1080 /* #undef gid_t */
1081 
1082 /* in_addr_t */
1083 /* #undef in_addr_t */
1084 
1085 /* in_port_t */
1086 /* #undef in_port_t */
1087 
1088 /* Define to `__inline__' or `__inline' if that's what the C compiler
1089    calls it, or to nothing if 'inline' is not supported under any name.  */
1090 #ifndef __cplusplus
1091 /* #undef inline */
1092 #endif
1093 
1094 /* Define to `short' if <sys/types.h> does not define. */
1095 /* #undef int16_t */
1096 
1097 /* Define to `int' if <sys/types.h> does not define. */
1098 /* #undef int32_t */
1099 
1100 /* Define to `long long' if <sys/types.h> does not define. */
1101 /* #undef int64_t */
1102 
1103 /* Define to `signed char' if <sys/types.h> does not define. */
1104 /* #undef int8_t */
1105 
1106 /* Define if replacement function should be used. */
1107 /* #undef malloc */
1108 
1109 /* Define to `long int' if <sys/types.h> does not define. */
1110 /* #undef off_t */
1111 
1112 /* Define as a signed integer type capable of holding a process identifier. */
1113 /* #undef pid_t */
1114 
1115 /* Define to 'int' if not defined */
1116 /* #undef rlim_t */
1117 
1118 /* Define to `unsigned int' if <sys/types.h> does not define. */
1119 /* #undef size_t */
1120 
1121 /* Define to 'int' if not defined */
1122 /* #undef socklen_t */
1123 
1124 /* Define to `int' if <sys/types.h> does not define. */
1125 /* #undef ssize_t */
1126 
1127 /* Define to 'unsigned char if not defined */
1128 /* #undef u_char */
1129 
1130 /* Define to `int' if <sys/types.h> doesn't define. */
1131 /* #undef uid_t */
1132 
1133 /* Define to `unsigned short' if <sys/types.h> does not define. */
1134 /* #undef uint16_t */
1135 
1136 /* Define to `unsigned int' if <sys/types.h> does not define. */
1137 /* #undef uint32_t */
1138 
1139 /* Define to `unsigned long long' if <sys/types.h> does not define. */
1140 /* #undef uint64_t */
1141 
1142 /* Define to `unsigned char' if <sys/types.h> does not define. */
1143 /* #undef uint8_t */
1144 
1145 /* Define as `fork' if `vfork' does not work. */
1146 /* #undef vfork */
1147 
1148 #if defined(OMITTED__D_GNU_SOURCE) && !defined(_GNU_SOURCE)
1149 #define _GNU_SOURCE 1
1150 #endif
1151 
1152 #if defined(OMITTED__D_BSD_SOURCE) && !defined(_BSD_SOURCE)
1153 #define _BSD_SOURCE 1
1154 #endif
1155 
1156 #if defined(OMITTED__D_DEFAULT_SOURCE) && !defined(_DEFAULT_SOURCE)
1157 #define _DEFAULT_SOURCE 1
1158 #endif
1159 
1160 #if defined(OMITTED__D__EXTENSIONS__) && !defined(__EXTENSIONS__)
1161 #define __EXTENSIONS__ 1
1162 #endif
1163 
1164 #if defined(OMITTED__D_POSIX_C_SOURCE_200112) && !defined(_POSIX_C_SOURCE)
1165 #define _POSIX_C_SOURCE 200112
1166 #endif
1167 
1168 #if defined(OMITTED__D_XOPEN_SOURCE_600) && !defined(_XOPEN_SOURCE)
1169 #define _XOPEN_SOURCE 600
1170 #endif
1171 
1172 #if defined(OMITTED__D_XOPEN_SOURCE_EXTENDED_1) && !defined(_XOPEN_SOURCE_EXTENDED)
1173 #define _XOPEN_SOURCE_EXTENDED 1
1174 #endif
1175 
1176 #if defined(OMITTED__D_ALL_SOURCE) && !defined(_ALL_SOURCE)
1177 #define _ALL_SOURCE 1
1178 #endif
1179 
1180 #if defined(OMITTED__D_LARGEFILE_SOURCE_1) && !defined(_LARGEFILE_SOURCE)
1181 #define _LARGEFILE_SOURCE 1
1182 #endif
1183 
1184 
1185 
1186 
1187 #ifndef _OPENBSD_SOURCE
1188 #define _OPENBSD_SOURCE 1
1189 #endif
1190 
1191 #ifndef UNBOUND_DEBUG
1192 # ifndef NDEBUG
1193 #  define NDEBUG
1194 # endif
1195 #endif
1196 
1197 /** Use small-ldns codebase */
1198 #define USE_SLDNS 1
1199 #ifdef HAVE_SSL
1200 #  define LDNS_BUILD_CONFIG_HAVE_SSL 1
1201 #endif
1202 
1203 #include <stdio.h>
1204 #include <string.h>
1205 #include <unistd.h>
1206 #include <assert.h>
1207 
1208 #if STDC_HEADERS
1209 #include <stdlib.h>
1210 #include <stddef.h>
1211 #endif
1212 
1213 #ifdef HAVE_STDARG_H
1214 #include <stdarg.h>
1215 #endif
1216 
1217 #ifdef HAVE_STDINT_H
1218 #include <stdint.h>
1219 #endif
1220 
1221 #include <errno.h>
1222 
1223 #if HAVE_SYS_PARAM_H
1224 #include <sys/param.h>
1225 #endif
1226 
1227 #ifdef HAVE_SYS_SOCKET_H
1228 #include <sys/socket.h>
1229 #endif
1230 
1231 #ifdef HAVE_SYS_UIO_H
1232 #include <sys/uio.h>
1233 #endif
1234 
1235 #ifdef HAVE_NETINET_IN_H
1236 #include <netinet/in.h>
1237 #endif
1238 
1239 #ifdef HAVE_NETINET_TCP_H
1240 #include <netinet/tcp.h>
1241 #endif
1242 
1243 #ifdef HAVE_ARPA_INET_H
1244 #include <arpa/inet.h>
1245 #endif
1246 
1247 #ifdef HAVE_WINSOCK2_H
1248 #include <winsock2.h>
1249 #endif
1250 
1251 #ifdef HAVE_WS2TCPIP_H
1252 #include <ws2tcpip.h>
1253 #endif
1254 
1255 #if !defined(USE_WINSOCK) || !defined(HAVE_SNPRINTF) || defined(SNPRINTF_RET_BROKEN) || defined(__USE_MINGW_ANSI_STDIO)
1256 #define ARG_LL "%ll"
1257 #else
1258 #define ARG_LL "%I64"
1259 #endif
1260 
1261 #ifndef AF_LOCAL
1262 #define AF_LOCAL AF_UNIX
1263 #endif
1264 
1265 
1266 
1267 #ifdef HAVE_ATTR_FORMAT
1268 #  define ATTR_FORMAT(archetype, string_index, first_to_check) \
1269     __attribute__ ((format (archetype, string_index, first_to_check)))
1270 #else /* !HAVE_ATTR_FORMAT */
1271 #  define ATTR_FORMAT(archetype, string_index, first_to_check) /* empty */
1272 #endif /* !HAVE_ATTR_FORMAT */
1273 
1274 
1275 #if defined(DOXYGEN)
1276 #  define ATTR_UNUSED(x)  x
1277 #elif defined(__cplusplus)
1278 #  define ATTR_UNUSED(x)
1279 #elif defined(HAVE_ATTR_UNUSED)
1280 #  define ATTR_UNUSED(x)  x __attribute__((unused))
1281 #else /* !HAVE_ATTR_UNUSED */
1282 #  define ATTR_UNUSED(x)  x
1283 #endif /* !HAVE_ATTR_UNUSED */
1284 
1285 
1286 #ifndef HAVE_FSEEKO
1287 #define fseeko fseek
1288 #define ftello ftell
1289 #endif /* HAVE_FSEEKO */
1290 
1291 
1292 #ifndef MAXHOSTNAMELEN
1293 #define MAXHOSTNAMELEN 256
1294 #endif
1295 
1296 #if !defined(HAVE_SNPRINTF) || defined(SNPRINTF_RET_BROKEN)
1297 #define snprintf snprintf_unbound
1298 #define vsnprintf vsnprintf_unbound
1299 #include <stdarg.h>
1300 int snprintf (char *str, size_t count, const char *fmt, ...);
1301 int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
1302 #endif /* HAVE_SNPRINTF or SNPRINTF_RET_BROKEN */
1303 
1304 #ifndef HAVE_INET_PTON
1305 #define inet_pton inet_pton_unbound
1306 int inet_pton(int af, const char* src, void* dst);
1307 #endif /* HAVE_INET_PTON */
1308 
1309 
1310 #ifndef HAVE_INET_NTOP
1311 #define inet_ntop inet_ntop_unbound
1312 const char *inet_ntop(int af, const void *src, char *dst, size_t size);
1313 #endif
1314 
1315 
1316 #ifndef HAVE_INET_ATON
1317 #define inet_aton inet_aton_unbound
1318 int inet_aton(const char *cp, struct in_addr *addr);
1319 #endif
1320 
1321 
1322 #ifndef HAVE_MEMMOVE
1323 #define memmove memmove_unbound
1324 void *memmove(void *dest, const void *src, size_t n);
1325 #endif
1326 
1327 
1328 #ifndef HAVE_STRLCAT
1329 #define strlcat strlcat_unbound
1330 size_t strlcat(char *dst, const char *src, size_t siz);
1331 #endif
1332 
1333 
1334 #ifndef HAVE_STRLCPY
1335 #define strlcpy strlcpy_unbound
1336 size_t strlcpy(char *dst, const char *src, size_t siz);
1337 #endif
1338 
1339 
1340 #ifndef HAVE_GMTIME_R
1341 #define gmtime_r gmtime_r_unbound
1342 struct tm *gmtime_r(const time_t *timep, struct tm *result);
1343 #endif
1344 
1345 
1346 #ifndef HAVE_REALLOCARRAY
1347 #define reallocarray reallocarrayunbound
1348 void* reallocarray(void *ptr, size_t nmemb, size_t size);
1349 #endif
1350 
1351 
1352 #if !defined(HAVE_SLEEP) || defined(HAVE_WINDOWS_H)
1353 #define sleep(x) Sleep((x)*1000) /* on win32 */
1354 #endif /* HAVE_SLEEP */
1355 
1356 
1357 #ifndef HAVE_USLEEP
1358 #define usleep(x) Sleep((x)/1000 + 1) /* on win32 */
1359 #endif /* HAVE_USLEEP */
1360 
1361 
1362 #ifndef HAVE_RANDOM
1363 #define random rand /* on win32, for tests only (bad random) */
1364 #endif /* HAVE_RANDOM */
1365 
1366 
1367 #ifndef HAVE_SRANDOM
1368 #define srandom(x) srand(x) /* on win32, for tests only (bad random) */
1369 #endif /* HAVE_SRANDOM */
1370 
1371 
1372 /* detect if we need to cast to unsigned int for FD_SET to avoid warnings */
1373 #ifdef HAVE_WINSOCK2_H
1374 #define FD_SET_T (u_int)
1375 #else
1376 #define FD_SET_T
1377 #endif
1378 
1379 
1380 #ifndef IPV6_MIN_MTU
1381 #define IPV6_MIN_MTU 1280
1382 #endif /* IPV6_MIN_MTU */
1383 
1384 
1385 #ifdef MEMCMP_IS_BROKEN
1386 #include "compat/memcmp.h"
1387 #define memcmp memcmp_unbound
1388 int memcmp(const void *x, const void *y, size_t n);
1389 #endif
1390 
1391 
1392 
1393 #ifndef HAVE_CTIME_R
1394 #define ctime_r unbound_ctime_r
1395 char *ctime_r(const time_t *timep, char *buf);
1396 #endif
1397 
1398 #ifndef HAVE_STRSEP
1399 #define strsep unbound_strsep
1400 char *strsep(char **stringp, const char *delim);
1401 #endif
1402 
1403 #ifndef HAVE_ISBLANK
1404 #define isblank unbound_isblank
1405 int isblank(int c);
1406 #endif
1407 
1408 #ifndef HAVE_EXPLICIT_BZERO
1409 #define explicit_bzero unbound_explicit_bzero
1410 void explicit_bzero(void* buf, size_t len);
1411 #endif
1412 
1413 #if defined(HAVE_INET_NTOP) && !HAVE_DECL_INET_NTOP
1414 const char *inet_ntop(int af, const void *src, char *dst, size_t size);
1415 #endif
1416 
1417 #if defined(HAVE_INET_PTON) && !HAVE_DECL_INET_PTON
1418 int inet_pton(int af, const char* src, void* dst);
1419 #endif
1420 
1421 #if !defined(HAVE_STRPTIME) || !defined(STRPTIME_WORKS)
1422 #define strptime unbound_strptime
1423 struct tm;
1424 char *strptime(const char *s, const char *format, struct tm *tm);
1425 #endif
1426 
1427 #if !HAVE_DECL_REALLOCARRAY
1428 void *reallocarray(void *ptr, size_t nmemb, size_t size);
1429 #endif
1430 
1431 #ifdef HAVE_LIBBSD
1432 #include <bsd/string.h>
1433 #include <bsd/stdlib.h>
1434 #endif
1435 
1436 #ifdef HAVE_LIBRESSL
1437 #  if !HAVE_DECL_STRLCPY
1438 size_t strlcpy(char *dst, const char *src, size_t siz);
1439 #  endif
1440 #  if !HAVE_DECL_STRLCAT
1441 size_t strlcat(char *dst, const char *src, size_t siz);
1442 #  endif
1443 #  if !HAVE_DECL_ARC4RANDOM && defined(HAVE_ARC4RANDOM)
1444 uint32_t arc4random(void);
1445 #  endif
1446 #  if !HAVE_DECL_ARC4RANDOM_UNIFORM && defined(HAVE_ARC4RANDOM_UNIFORM)
1447 uint32_t arc4random_uniform(uint32_t upper_bound);
1448 #  endif
1449 #endif /* HAVE_LIBRESSL */
1450 #ifndef HAVE_ARC4RANDOM
1451 int getentropy(void* buf, size_t len);
1452 uint32_t arc4random(void);
1453 void arc4random_buf(void* buf, size_t n);
1454 void _ARC4_LOCK(void);
1455 void _ARC4_UNLOCK(void);
1456 void _ARC4_LOCK_DESTROY(void);
1457 #endif
1458 #ifndef HAVE_ARC4RANDOM_UNIFORM
1459 uint32_t arc4random_uniform(uint32_t upper_bound);
1460 #endif
1461 #ifdef COMPAT_SHA512
1462 #ifndef SHA512_DIGEST_LENGTH
1463 #define SHA512_BLOCK_LENGTH		128
1464 #define SHA512_DIGEST_LENGTH		64
1465 #define SHA512_DIGEST_STRING_LENGTH	(SHA512_DIGEST_LENGTH * 2 + 1)
1466 typedef struct _SHA512_CTX {
1467 	uint64_t	state[8];
1468 	uint64_t	bitcount[2];
1469 	uint8_t	buffer[SHA512_BLOCK_LENGTH];
1470 } SHA512_CTX;
1471 #endif /* SHA512_DIGEST_LENGTH */
1472 void SHA512_Init(SHA512_CTX*);
1473 void SHA512_Update(SHA512_CTX*, void*, size_t);
1474 void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*);
1475 unsigned char *SHA512(void* data, unsigned int data_len, unsigned char *digest);
1476 #endif /* COMPAT_SHA512 */
1477 
1478 
1479 
1480 #if defined(HAVE_EVENT_H) && !defined(HAVE_EVENT_BASE_ONCE) && !(defined(HAVE_EV_LOOP) || defined(HAVE_EV_DEFAULT_LOOP)) && (defined(HAVE_PTHREAD) || defined(HAVE_SOLARIS_THREADS))
1481    /* using version of libevent that is not threadsafe. */
1482 #  define LIBEVENT_SIGNAL_PROBLEM 1
1483 #endif
1484 
1485 #ifndef CHECKED_INET6
1486 #  define CHECKED_INET6
1487 #  ifdef AF_INET6
1488 #    define INET6
1489 #  else
1490 #    define AF_INET6        28
1491 #  endif
1492 #endif /* CHECKED_INET6 */
1493 
1494 #ifndef HAVE_GETADDRINFO
1495 struct sockaddr_storage;
1496 #include "compat/fake-rfc2553.h"
1497 #endif
1498 
1499 #ifdef UNBOUND_ALLOC_STATS
1500 #  define malloc(s) unbound_stat_malloc_log(s, __FILE__, __LINE__, __func__)
1501 #  define calloc(n,s) unbound_stat_calloc_log(n, s, __FILE__, __LINE__, __func__)
1502 #  define free(p) unbound_stat_free_log(p, __FILE__, __LINE__, __func__)
1503 #  define realloc(p,s) unbound_stat_realloc_log(p, s, __FILE__, __LINE__, __func__)
1504 #  define strdup(s) unbound_stat_strdup_log(s, __FILE__, __LINE__, __func__)
1505 void *unbound_stat_malloc(size_t size);
1506 void *unbound_stat_calloc(size_t nmemb, size_t size);
1507 void unbound_stat_free(void *ptr);
1508 void *unbound_stat_realloc(void *ptr, size_t size);
1509 void *unbound_stat_malloc_log(size_t size, const char* file, int line,
1510 	const char* func);
1511 void *unbound_stat_calloc_log(size_t nmemb, size_t size, const char* file,
1512 	int line, const char* func);
1513 void unbound_stat_free_log(void *ptr, const char* file, int line,
1514 	const char* func);
1515 void *unbound_stat_realloc_log(void *ptr, size_t size, const char* file,
1516 	int line, const char* func);
1517 char *unbound_stat_strdup_log(const char *s, const char* file, int line,
1518 	const char* func);
1519 #elif defined(UNBOUND_ALLOC_LITE)
1520 #  include "util/alloc.h"
1521 #endif /* UNBOUND_ALLOC_LITE and UNBOUND_ALLOC_STATS */
1522 
1523 /** default port for DNS traffic. */
1524 #define UNBOUND_DNS_PORT 53
1525 /** default port for DNS over TLS traffic. */
1526 #define UNBOUND_DNS_OVER_TLS_PORT 853
1527 /** default port for DNS over HTTPS traffic. */
1528 #define UNBOUND_DNS_OVER_HTTPS_PORT 443
1529 /** default port for unbound control traffic, registered port with IANA,
1530     ub-dns-control  8953/tcp    unbound dns nameserver control */
1531 #define UNBOUND_CONTROL_PORT 8953
1532 /** the version of unbound-control that this software implements */
1533 #define UNBOUND_CONTROL_VERSION 1
1534 
1535 
1536