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 ftello) are declared in stdio.h. */ 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 C89 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, Interix, z/OS. */ 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 C23 Annex F. */ 1100#ifndef __STDC_WANT_IEC_60559_EXT__ 1101# undef __STDC_WANT_IEC_60559_EXT__ 1102#endif 1103/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ 1104#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ 1105# undef __STDC_WANT_IEC_60559_FUNCS_EXT__ 1106#endif 1107/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ 1108#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ 1109# undef __STDC_WANT_IEC_60559_TYPES_EXT__ 1110#endif 1111/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ 1112#ifndef __STDC_WANT_LIB_EXT2__ 1113# undef __STDC_WANT_LIB_EXT2__ 1114#endif 1115/* Enable extensions specified by ISO/IEC 24747:2009. */ 1116#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ 1117# undef __STDC_WANT_MATH_SPEC_FUNCS__ 1118#endif 1119/* Enable extensions on HP NonStop. */ 1120#ifndef _TANDEM_SOURCE 1121# undef _TANDEM_SOURCE 1122#endif 1123/* Enable X/Open extensions. Define to 500 only if necessary 1124 to make mbstate_t available. */ 1125#ifndef _XOPEN_SOURCE 1126# undef _XOPEN_SOURCE 1127#endif 1128 1129 1130/* Define this to enable server TCP Fast Open. */ 1131#undef USE_TCP_FASTOPEN 1132 1133/* Whether the windows socket API is used */ 1134#undef USE_WINSOCK 1135 1136/* the version of the windows API enabled */ 1137#undef WINVER 1138 1139/* Define if you want dynlib module. */ 1140#undef WITH_DYNLIBMODULE 1141 1142/* Define if you want Python module. */ 1143#undef WITH_PYTHONMODULE 1144 1145/* Define if you want PyUnbound. */ 1146#undef WITH_PYUNBOUND 1147 1148/* Define to 1 if 'lex' declares 'yytext' as a 'char *' by default, not a 1149 'char[]'. */ 1150#undef YYTEXT_POINTER 1151 1152/* Number of bits in a file offset, on hosts where this is settable. */ 1153#undef _FILE_OFFSET_BITS 1154 1155/* Define to 1 if necessary to make fseeko visible. */ 1156#undef _LARGEFILE_SOURCE 1157 1158/* Define to 1 on platforms where this makes off_t a 64-bit type. */ 1159#undef _LARGE_FILES 1160 1161/* Enable for compile on Minix */ 1162#undef _NETBSD_SOURCE 1163 1164/* Number of bits in time_t, on hosts where this is settable. */ 1165#undef _TIME_BITS 1166 1167/* Define to 1 on platforms where this makes time_t a 64-bit type. */ 1168#undef __MINGW_USE_VC2005_COMPAT 1169 1170/* defined to use gcc ansi snprintf and sscanf that understands %lld when 1171 compiled for windows. */ 1172#undef __USE_MINGW_ANSI_STDIO 1173 1174/* Define to empty if 'const' does not conform to ANSI C. */ 1175#undef const 1176 1177/* Define as 'int' if <sys/types.h> doesn't define. */ 1178#undef gid_t 1179 1180/* in_addr_t */ 1181#undef in_addr_t 1182 1183/* in_port_t */ 1184#undef in_port_t 1185 1186/* Define to '__inline__' or '__inline' if that's what the C compiler 1187 calls it, or to nothing if 'inline' is not supported under any name. */ 1188#ifndef __cplusplus 1189#undef inline 1190#endif 1191 1192/* Define to 'short' if <sys/types.h> does not define. */ 1193#undef int16_t 1194 1195/* Define to 'int' if <sys/types.h> does not define. */ 1196#undef int32_t 1197 1198/* Define to 'long long' if <sys/types.h> does not define. */ 1199#undef int64_t 1200 1201/* Define to 'signed char' if <sys/types.h> does not define. */ 1202#undef int8_t 1203 1204/* Define if replacement function should be used. */ 1205#undef malloc 1206 1207/* Define to 'long int' if <sys/types.h> does not define. */ 1208#undef off_t 1209 1210/* Define as a signed integer type capable of holding a process identifier. */ 1211#undef pid_t 1212 1213/* Define to 'int' if not defined */ 1214#undef rlim_t 1215 1216/* Define as 'unsigned int' if <stddef.h> doesn't define. */ 1217#undef size_t 1218 1219/* Define to 'int' if not defined */ 1220#undef socklen_t 1221 1222/* Define to 'int' if <sys/types.h> does not define. */ 1223#undef ssize_t 1224 1225/* Define to 'unsigned char if not defined */ 1226#undef u_char 1227 1228/* Define as 'int' if <sys/types.h> doesn't define. */ 1229#undef uid_t 1230 1231/* Define to 'unsigned short' if <sys/types.h> does not define. */ 1232#undef uint16_t 1233 1234/* Define to 'unsigned int' if <sys/types.h> does not define. */ 1235#undef uint32_t 1236 1237/* Define to 'unsigned long long' if <sys/types.h> does not define. */ 1238#undef uint64_t 1239 1240/* Define to 'unsigned char' if <sys/types.h> does not define. */ 1241#undef uint8_t 1242 1243/* Define as 'fork' if 'vfork' does not work. */ 1244#undef vfork 1245 1246#if defined(OMITTED__D_GNU_SOURCE) && !defined(_GNU_SOURCE) 1247#define _GNU_SOURCE 1 1248#endif 1249 1250#if defined(OMITTED__D_BSD_SOURCE) && !defined(_BSD_SOURCE) 1251#define _BSD_SOURCE 1 1252#endif 1253 1254#if defined(OMITTED__D_DEFAULT_SOURCE) && !defined(_DEFAULT_SOURCE) 1255#define _DEFAULT_SOURCE 1 1256#endif 1257 1258#if defined(OMITTED__D__EXTENSIONS__) && !defined(__EXTENSIONS__) 1259#define __EXTENSIONS__ 1 1260#endif 1261 1262#if defined(OMITTED__D_POSIX_C_SOURCE_200112) && !defined(_POSIX_C_SOURCE) 1263#define _POSIX_C_SOURCE 200112 1264#endif 1265 1266#if defined(OMITTED__D_XOPEN_SOURCE_600) && !defined(_XOPEN_SOURCE) 1267#define _XOPEN_SOURCE 600 1268#endif 1269 1270#if defined(OMITTED__D_XOPEN_SOURCE_EXTENDED_1) && !defined(_XOPEN_SOURCE_EXTENDED) 1271#define _XOPEN_SOURCE_EXTENDED 1 1272#endif 1273 1274#if defined(OMITTED__D_ALL_SOURCE) && !defined(_ALL_SOURCE) 1275#define _ALL_SOURCE 1 1276#endif 1277 1278#if defined(OMITTED__D_LARGEFILE_SOURCE_1) && !defined(_LARGEFILE_SOURCE) 1279#define _LARGEFILE_SOURCE 1 1280#endif 1281 1282 1283 1284 1285#ifndef _OPENBSD_SOURCE 1286#define _OPENBSD_SOURCE 1 1287#endif 1288 1289#ifndef UNBOUND_DEBUG 1290# ifndef NDEBUG 1291# define NDEBUG 1292# endif 1293#endif 1294 1295/** Use small-ldns codebase */ 1296#define USE_SLDNS 1 1297#ifdef HAVE_SSL 1298# define LDNS_BUILD_CONFIG_HAVE_SSL 1 1299#endif 1300 1301#include <stdio.h> 1302#include <string.h> 1303#include <unistd.h> 1304#include <assert.h> 1305 1306#if STDC_HEADERS 1307#include <stdlib.h> 1308#include <stddef.h> 1309#endif 1310 1311#ifdef HAVE_STDARG_H 1312#include <stdarg.h> 1313#endif 1314 1315#ifdef HAVE_STDINT_H 1316#include <stdint.h> 1317#endif 1318 1319#include <errno.h> 1320 1321#if HAVE_SYS_PARAM_H 1322#include <sys/param.h> 1323#endif 1324 1325#ifdef HAVE_SYS_SOCKET_H 1326#include <sys/socket.h> 1327#endif 1328 1329#ifdef HAVE_SYS_UIO_H 1330#include <sys/uio.h> 1331#endif 1332 1333#ifdef HAVE_NETINET_IN_H 1334#include <netinet/in.h> 1335#endif 1336 1337#ifdef HAVE_NETINET_TCP_H 1338#include <netinet/tcp.h> 1339#endif 1340 1341#ifdef HAVE_ARPA_INET_H 1342#include <arpa/inet.h> 1343#endif 1344 1345#ifdef HAVE_WINSOCK2_H 1346#include <winsock2.h> 1347#endif 1348 1349#ifdef HAVE_WS2TCPIP_H 1350#include <ws2tcpip.h> 1351#endif 1352 1353#if !defined(USE_WINSOCK) || !defined(HAVE_SNPRINTF) || defined(SNPRINTF_RET_BROKEN) || defined(__USE_MINGW_ANSI_STDIO) 1354#define ARG_LL "%ll" 1355#else 1356#define ARG_LL "%I64" 1357#endif 1358 1359#ifndef AF_LOCAL 1360#define AF_LOCAL AF_UNIX 1361#endif 1362 1363 1364 1365#ifdef HAVE_ATTR_FORMAT 1366# define ATTR_FORMAT(archetype, string_index, first_to_check) \ 1367 __attribute__ ((format (archetype, string_index, first_to_check))) 1368#else /* !HAVE_ATTR_FORMAT */ 1369# define ATTR_FORMAT(archetype, string_index, first_to_check) /* empty */ 1370#endif /* !HAVE_ATTR_FORMAT */ 1371 1372 1373#if defined(DOXYGEN) 1374# define ATTR_UNUSED(x) x 1375#elif defined(__cplusplus) 1376# define ATTR_UNUSED(x) 1377#elif defined(HAVE_ATTR_UNUSED) 1378# define ATTR_UNUSED(x) x __attribute__((unused)) 1379#else /* !HAVE_ATTR_UNUSED */ 1380# define ATTR_UNUSED(x) x 1381#endif /* !HAVE_ATTR_UNUSED */ 1382 1383 1384#ifndef HAVE_FSEEKO 1385#define fseeko fseek 1386#define ftello ftell 1387#endif /* HAVE_FSEEKO */ 1388 1389 1390#ifndef MAXHOSTNAMELEN 1391#define MAXHOSTNAMELEN 256 1392#endif 1393 1394#if !defined(HAVE_SNPRINTF) || defined(SNPRINTF_RET_BROKEN) 1395#define snprintf snprintf_unbound 1396#define vsnprintf vsnprintf_unbound 1397#include <stdarg.h> 1398int snprintf (char *str, size_t count, const char *fmt, ...); 1399int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); 1400#endif /* HAVE_SNPRINTF or SNPRINTF_RET_BROKEN */ 1401 1402#ifndef HAVE_INET_PTON 1403#define inet_pton inet_pton_unbound 1404int inet_pton(int af, const char* src, void* dst); 1405#endif /* HAVE_INET_PTON */ 1406 1407 1408#ifndef HAVE_INET_NTOP 1409#define inet_ntop inet_ntop_unbound 1410const char *inet_ntop(int af, const void *src, char *dst, size_t size); 1411#endif 1412 1413 1414#ifndef HAVE_INET_ATON 1415#define inet_aton inet_aton_unbound 1416int inet_aton(const char *cp, struct in_addr *addr); 1417#endif 1418 1419 1420#ifndef HAVE_MEMMOVE 1421#define memmove memmove_unbound 1422void *memmove(void *dest, const void *src, size_t n); 1423#endif 1424 1425 1426#ifndef HAVE_STRLCAT 1427#define strlcat strlcat_unbound 1428size_t strlcat(char *dst, const char *src, size_t siz); 1429#endif 1430 1431 1432#ifndef HAVE_STRLCPY 1433#define strlcpy strlcpy_unbound 1434size_t strlcpy(char *dst, const char *src, size_t siz); 1435#endif 1436 1437 1438#ifndef HAVE_GMTIME_R 1439#define gmtime_r gmtime_r_unbound 1440struct tm *gmtime_r(const time_t *timep, struct tm *result); 1441#endif 1442 1443 1444#ifndef HAVE_REALLOCARRAY 1445#define reallocarray reallocarrayunbound 1446void* reallocarray(void *ptr, size_t nmemb, size_t size); 1447#endif 1448 1449 1450#if !defined(HAVE_SLEEP) || defined(HAVE_WINDOWS_H) 1451#define sleep(x) Sleep((x)*1000) /* on win32 */ 1452#endif /* HAVE_SLEEP */ 1453 1454 1455#ifndef HAVE_USLEEP 1456#define usleep(x) Sleep((x)/1000 + 1) /* on win32 */ 1457#endif /* HAVE_USLEEP */ 1458 1459 1460#ifndef HAVE_RANDOM 1461#define random rand /* on win32, for tests only (bad random) */ 1462#endif /* HAVE_RANDOM */ 1463 1464 1465#ifndef HAVE_SRANDOM 1466#define srandom(x) srand(x) /* on win32, for tests only (bad random) */ 1467#endif /* HAVE_SRANDOM */ 1468 1469 1470/* detect if we need to cast to unsigned int for FD_SET to avoid warnings */ 1471#ifdef HAVE_WINSOCK2_H 1472#define FD_SET_T (u_int) 1473#else 1474#define FD_SET_T 1475#endif 1476 1477 1478#ifndef IPV6_MIN_MTU 1479#define IPV6_MIN_MTU 1280 1480#endif /* IPV6_MIN_MTU */ 1481 1482 1483#ifdef MEMCMP_IS_BROKEN 1484#include "compat/memcmp.h" 1485#define memcmp memcmp_unbound 1486int memcmp(const void *x, const void *y, size_t n); 1487#endif 1488 1489 1490 1491#ifndef HAVE_CTIME_R 1492#define ctime_r unbound_ctime_r 1493char *ctime_r(const time_t *timep, char *buf); 1494#endif 1495 1496#ifndef HAVE_STRSEP 1497#define strsep unbound_strsep 1498char *strsep(char **stringp, const char *delim); 1499#endif 1500 1501#ifndef HAVE_ISBLANK 1502#define isblank unbound_isblank 1503int isblank(int c); 1504#endif 1505 1506#ifndef HAVE_EXPLICIT_BZERO 1507#define explicit_bzero unbound_explicit_bzero 1508void explicit_bzero(void* buf, size_t len); 1509#endif 1510 1511#if defined(HAVE_INET_NTOP) && !HAVE_DECL_INET_NTOP 1512const char *inet_ntop(int af, const void *src, char *dst, size_t size); 1513#endif 1514 1515#if defined(HAVE_INET_PTON) && !HAVE_DECL_INET_PTON 1516int inet_pton(int af, const char* src, void* dst); 1517#endif 1518 1519#if !defined(HAVE_STRPTIME) || !defined(STRPTIME_WORKS) 1520#define strptime unbound_strptime 1521struct tm; 1522char *strptime(const char *s, const char *format, struct tm *tm); 1523#endif 1524 1525#if !HAVE_DECL_REALLOCARRAY 1526void *reallocarray(void *ptr, size_t nmemb, size_t size); 1527#endif 1528 1529#ifdef HAVE_LIBBSD 1530#include <bsd/string.h> 1531#include <bsd/stdlib.h> 1532#endif 1533 1534#ifdef HAVE_LIBRESSL 1535# if !HAVE_DECL_STRLCPY 1536size_t strlcpy(char *dst, const char *src, size_t siz); 1537# endif 1538# if !HAVE_DECL_STRLCAT 1539size_t strlcat(char *dst, const char *src, size_t siz); 1540# endif 1541# if !HAVE_DECL_ARC4RANDOM && defined(HAVE_ARC4RANDOM) 1542uint32_t arc4random(void); 1543# endif 1544# if !HAVE_DECL_ARC4RANDOM_UNIFORM && defined(HAVE_ARC4RANDOM_UNIFORM) 1545uint32_t arc4random_uniform(uint32_t upper_bound); 1546# endif 1547#endif /* HAVE_LIBRESSL */ 1548#ifndef HAVE_ARC4RANDOM 1549int getentropy(void* buf, size_t len); 1550uint32_t arc4random(void); 1551void arc4random_buf(void* buf, size_t n); 1552void _ARC4_LOCK(void); 1553void _ARC4_UNLOCK(void); 1554void _ARC4_LOCK_DESTROY(void); 1555#endif 1556#ifndef HAVE_ARC4RANDOM_UNIFORM 1557uint32_t arc4random_uniform(uint32_t upper_bound); 1558#endif 1559#ifdef COMPAT_SHA512 1560#ifndef SHA512_DIGEST_LENGTH 1561#define SHA512_BLOCK_LENGTH 128 1562#define SHA512_DIGEST_LENGTH 64 1563#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1) 1564typedef struct _SHA512_CTX { 1565 uint64_t state[8]; 1566 uint64_t bitcount[2]; 1567 uint8_t buffer[SHA512_BLOCK_LENGTH]; 1568} SHA512_CTX; 1569#endif /* SHA512_DIGEST_LENGTH */ 1570void SHA512_Init(SHA512_CTX*); 1571void SHA512_Update(SHA512_CTX*, void*, size_t); 1572void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); 1573unsigned char *SHA512(void* data, unsigned int data_len, unsigned char *digest); 1574#endif /* COMPAT_SHA512 */ 1575 1576 1577 1578#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)) 1579 /* using version of libevent that is not threadsafe. */ 1580# define LIBEVENT_SIGNAL_PROBLEM 1 1581#endif 1582 1583#ifndef CHECKED_INET6 1584# define CHECKED_INET6 1585# ifdef AF_INET6 1586# define INET6 1587# else 1588# define AF_INET6 28 1589# endif 1590#endif /* CHECKED_INET6 */ 1591 1592#ifndef HAVE_GETADDRINFO 1593struct sockaddr_storage; 1594#include "compat/fake-rfc2553.h" 1595#endif 1596 1597#ifdef UNBOUND_ALLOC_STATS 1598# define malloc(s) unbound_stat_malloc_log(s, __FILE__, __LINE__, __func__) 1599# define calloc(n,s) unbound_stat_calloc_log(n, s, __FILE__, __LINE__, __func__) 1600# define free(p) unbound_stat_free_log(p, __FILE__, __LINE__, __func__) 1601# define realloc(p,s) unbound_stat_realloc_log(p, s, __FILE__, __LINE__, __func__) 1602# define strdup(s) unbound_stat_strdup_log(s, __FILE__, __LINE__, __func__) 1603#ifdef HAVE_REALLOCARRAY 1604# define reallocarray(p,n,s) unbound_stat_reallocarray_log(p, n, s, __FILE__, __LINE__, __func__) 1605#endif 1606void *unbound_stat_malloc(size_t size); 1607void *unbound_stat_calloc(size_t nmemb, size_t size); 1608void unbound_stat_free(void *ptr); 1609void *unbound_stat_realloc(void *ptr, size_t size); 1610void *unbound_stat_malloc_log(size_t size, const char* file, int line, 1611 const char* func); 1612void *unbound_stat_calloc_log(size_t nmemb, size_t size, const char* file, 1613 int line, const char* func); 1614void unbound_stat_free_log(void *ptr, const char* file, int line, 1615 const char* func); 1616void *unbound_stat_realloc_log(void *ptr, size_t size, const char* file, 1617 int line, const char* func); 1618void *unbound_stat_reallocarray_log(void *ptr, size_t nmemb, size_t size, 1619 const char* file, int line, const char* func); 1620char *unbound_stat_strdup_log(const char *s, const char* file, int line, 1621 const char* func); 1622#elif defined(UNBOUND_ALLOC_LITE) 1623# include "util/alloc.h" 1624#endif /* UNBOUND_ALLOC_LITE and UNBOUND_ALLOC_STATS */ 1625 1626/** default port for DNS traffic. */ 1627#define UNBOUND_DNS_PORT 53 1628/** default port for DNS over TLS traffic. */ 1629#define UNBOUND_DNS_OVER_TLS_PORT 853 1630/** default port for DNS over HTTPS traffic. */ 1631#define UNBOUND_DNS_OVER_HTTPS_PORT 443 1632/** default port for DNS over QUIC traffic. */ 1633#define UNBOUND_DNS_OVER_QUIC_PORT 853 1634/** default port for unbound control traffic, registered port with IANA, 1635 ub-dns-control 8953/tcp unbound dns nameserver control */ 1636#define UNBOUND_CONTROL_PORT 8953 1637/** the version of unbound-control that this software implements */ 1638#define UNBOUND_CONTROL_VERSION 1 1639 1640 1641