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