]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libunbound/config.h
Unbound: Manually update version strings
[FreeBSD/FreeBSD.git] / lib / libunbound / config.h
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.0"
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.0"
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,0,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