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.20.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.20.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,20,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 1546