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