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