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