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