/* src/config.h.in. Generated from configure.ac by autoheader. */ /* Define this enable printing of anchor debugging messages. */ #undef ANCHOR_DEBUG /* Define this to enable printing of daemon debugging messages. */ #undef DAEMON_DEBUG /* Define this to disable recursing resolution type. */ #undef DISABLE_RESOLUTION_RECURSING /* Define this to enable the experimental dnssec roadblock avoidance. */ #undef DNSSEC_ROADBLOCK_AVOIDANCE /* Define this to enable all rrtypes in gldns. */ #undef DRAFT_RRTYPES /* Define this to enable the experimental edns cookies. */ #undef EDNS_COOKIES /* The edns cookie option code. */ #undef EDNS_COOKIE_OPCODE /* How often the edns client cookie is refreshed. */ #undef EDNS_COOKIE_ROLLOVER_TIME /* The edns padding option code. */ #undef EDNS_PADDING_OPCODE /* Alternate value for the FD_SETSIZE */ #undef FD_SETSIZE /* Path to static table lookup for hostnames */ #undef GETDNS_FN_HOSTS /* Path to resolver configuration file */ #undef GETDNS_FN_RESOLVCONF /* Define this to enable Windows build. */ #undef GETDNS_ON_WINDOWS /* Define to 1 if you have the `arc4random' function. */ #undef HAVE_ARC4RANDOM /* Define to 1 if you have the `arc4random_uniform' function. */ #undef HAVE_ARC4RANDOM_UNIFORM /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Whether the C compiler accepts the "format" attribute */ #undef HAVE_ATTR_FORMAT /* Whether the C compiler accepts the "unused" attribute */ #undef HAVE_ATTR_UNUSED /* Define to 1 if you have the declaration of `arc4random', and to 0 if you don't. */ #undef HAVE_DECL_ARC4RANDOM /* Define to 1 if you have the declaration of `arc4random_uniform', and to 0 if you don't. */ #undef HAVE_DECL_ARC4RANDOM_UNIFORM /* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you don't. */ #undef HAVE_DECL_INET_NTOP /* Define to 1 if you have the declaration of `inet_pton', and to 0 if you don't. */ #undef HAVE_DECL_INET_PTON /* Define to 1 if you have the declaration of `MSG_FASTOPEN', and to 0 if you don't. */ #undef HAVE_DECL_MSG_FASTOPEN /* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you don't. */ #undef HAVE_DECL_NID_ED25519 /* Define to 1 if you have the declaration of `NID_ED448', and to 0 if you don't. */ #undef HAVE_DECL_NID_ED448 /* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you don't. */ #undef HAVE_DECL_NID_SECP384R1 /* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0 if you don't. */ #undef HAVE_DECL_NID_X9_62_PRIME256V1 /* Define to 1 if you have the declaration of `sk_SSL_COMP_pop_free', and to 0 if you don't. */ #undef HAVE_DECL_SK_SSL_COMP_POP_FREE /* Define to 1 if you have the declaration of `SSL_COMP_get_compression_methods', and to 0 if you don't. */ #undef HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS /* Define to 1 if you have the declaration of `SSL_CTX_set1_curves_list', and to 0 if you don't. */ #undef HAVE_DECL_SSL_CTX_SET1_CURVES_LIST /* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to 0 if you don't. */ #undef HAVE_DECL_SSL_CTX_SET_ECDH_AUTO /* Define to 1 if you have the declaration of `SSL_get_min_proto_version', and to 0 if you don't. */ #undef HAVE_DECL_SSL_GET_MIN_PROTO_VERSION /* Define to 1 if you have the declaration of `SSL_set1_curves_list', and to 0 if you don't. */ #undef HAVE_DECL_SSL_SET1_CURVES_LIST /* Define to 1 if you have the declaration of `SSL_set_min_proto_version', and to 0 if you don't. */ #undef HAVE_DECL_SSL_SET_MIN_PROTO_VERSION /* Define to 1 if you have the declaration of `strlcpy', and to 0 if you don't. */ #undef HAVE_DECL_STRLCPY /* Define to 1 if you have the declaration of `TCP_FASTOPEN', and to 0 if you don't. */ #undef HAVE_DECL_TCP_FASTOPEN /* Define to 1 if you have the declaration of `TCP_FASTOPEN_CONNECT', and to 0 if you don't. */ #undef HAVE_DECL_TCP_FASTOPEN_CONNECT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the `DSA_set0_key' function. */ #undef HAVE_DSA_SET0_KEY /* Define to 1 if you have the `DSA_set0_pqg' function. */ #undef HAVE_DSA_SET0_PQG /* Define to 1 if you have the `DSA_SIG_set0' function. */ #undef HAVE_DSA_SIG_SET0 /* Define to 1 if you have the `ECDSA_SIG_get0' function. */ #undef HAVE_ECDSA_SIG_GET0 /* Define to 1 if you have the header file. */ #undef HAVE_ENDIAN_H /* Define to 1 if you have the `ENGINE_load_cryptodev' function. */ #undef HAVE_ENGINE_LOAD_CRYPTODEV /* Define to 1 if you have the header file. */ #undef HAVE_EVENT2_EVENT_H /* Define to 1 if you have the `event_base_free' function. */ #undef HAVE_EVENT_BASE_FREE /* Define to 1 if you have the `event_base_new' function. */ #undef HAVE_EVENT_BASE_NEW /* Define to 1 if you have the header file. */ #undef HAVE_EVENT_H /* Define to 1 if you have the `EVP_DigestVerify' function. */ #undef HAVE_EVP_DIGESTVERIFY /* Define to 1 if you have the `EVP_dss1' function. */ #undef HAVE_EVP_DSS1 /* Define to 1 if you have the `EVP_md5' function. */ #undef HAVE_EVP_MD5 /* Define to 1 if you have the `EVP_MD_CTX_new' function. */ #undef HAVE_EVP_MD_CTX_NEW /* Define to 1 if you have the `EVP_PKEY_base_id' function. */ #undef HAVE_EVP_PKEY_BASE_ID /* Define to 1 if you have the `EVP_PKEY_keygen' function. */ #undef HAVE_EVP_PKEY_KEYGEN /* Define to 1 if you have the `EVP_sha1' function. */ #undef HAVE_EVP_SHA1 /* Define to 1 if you have the `EVP_sha224' function. */ #undef HAVE_EVP_SHA224 /* Define to 1 if you have the `EVP_sha256' function. */ #undef HAVE_EVP_SHA256 /* Define to 1 if you have the `EVP_sha384' function. */ #undef HAVE_EVP_SHA384 /* Define to 1 if you have the `EVP_sha512' function. */ #undef HAVE_EVP_SHA512 /* Define to 1 if you have the header file. */ #undef HAVE_EV_H /* Define to 1 if you have the `fcntl' function. */ #undef HAVE_FCNTL /* Define to 1 if you have the `FIPS_mode' function. */ #undef HAVE_FIPS_MODE /* Whether getaddrinfo is available */ #undef HAVE_GETADDRINFO /* Define to 1 if you have the `getauxval' function. */ #undef HAVE_GETAUXVAL /* Define this to enable getdns_yaml2dict function. */ #undef HAVE_GETDNS_YAML2DICT /* Define to 1 if you have the `getentropy' function. */ #undef HAVE_GETENTROPY /* Define to 1 if you have the `HMAC_CTX_free' function. */ #undef HAVE_HMAC_CTX_FREE /* Define to 1 if you have the `HMAC_CTX_new' function. */ #undef HAVE_HMAC_CTX_NEW /* If you have HMAC_Update */ #undef HAVE_HMAC_UPDATE /* Define to 1 if you have the `inet_ntop' function. */ #undef HAVE_INET_NTOP /* Define to 1 if you have the `inet_pton' function. */ #undef HAVE_INET_PTON /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* if the function 'ioctlsocket' is available */ #undef HAVE_IOCTLSOCKET /* Define to 1 if you have the `crypto' library (-lcrypto). */ #undef HAVE_LIBCRYPTO /* Define to 1 if you have the header file. */ #undef HAVE_LIBEV_EV_H /* Define to 1 if you have the `idn' library (-lidn). */ #undef HAVE_LIBIDN /* Define to 1 if you have the `idn2' library (-lidn). */ #undef HAVE_LIBIDN2 /* Define to 1 if you have the `unbound' library (-lunbound). */ #undef HAVE_LIBUNBOUND /* Define to 1 if you have the `yaml' library (-lyaml). */ #undef HAVE_LIBYAML /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* Define this to enable the draft mdns client support. */ #undef HAVE_MDNS_SUPPORT /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_TCP_H /* Use libnettle for crypto */ #undef HAVE_NETTLE /* Define to 1 if you have the header file. */ #undef HAVE_NETTLE_DSA_COMPAT_H /* Define to 1 if you have the header file. */ #undef HAVE_NETTLE_EDDSA_H /* Define to 1 if you have the header file. */ #undef HAVE_NETTLE_NETTLE_META_H /* Does libuv have the new uv_time_cb signature */ #undef HAVE_NEW_UV_TIMER_CB /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_BN_H /* Define to 1 if you have the `OPENSSL_config' function. */ #undef HAVE_OPENSSL_CONFIG /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_CONF_H /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_DSA_H /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_ENGINE_H /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_ERR_H /* Define to 1 if you have the `OPENSSL_init_crypto' function. */ #undef HAVE_OPENSSL_INIT_CRYPTO /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_RAND_H /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_RSA_H /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_SSL_H /* Define to 1 if you have the `OpenSSL_version' function. */ #undef HAVE_OPENSSL_VERSION /* Define to 1 if you have the `OpenSSL_version_num' function. */ #undef HAVE_OPENSSL_VERSION_NUM /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_X509_H /* Define to 1 if you have the header file. */ #undef HAVE_POLL_H /* Have pthreads library */ #undef HAVE_PTHREAD /* Define to 1 if you have the `RSA_set0_key' function. */ #undef HAVE_RSA_SET0_KEY /* Define to 1 if you have the `SHA512_Update' function. */ #undef HAVE_SHA512_UPDATE /* Define to 1 if you have the `sigaddset' function. */ #undef HAVE_SIGADDSET /* Define to 1 if you have the `sigemptyset' function. */ #undef HAVE_SIGEMPTYSET /* Define to 1 if you have the `sigfillset' function. */ #undef HAVE_SIGFILLSET /* Define to 1 if you have the header file. */ #undef HAVE_SIGNAL_H /* Define to 1 if the system has the type `sigset_t'. */ #undef HAVE_SIGSET_T /* Define if you have the SSL libraries installed. */ #undef HAVE_SSL /* Define to 1 if you have the `SSL_CTX_dane_enable' function. */ #undef HAVE_SSL_CTX_DANE_ENABLE /* Define to 1 if you have the `SSL_CTX_set_ciphersuites' function. */ #undef HAVE_SSL_CTX_SET_CIPHERSUITES /* Define to 1 if you have the `SSL_dane_enable' function. */ #undef HAVE_SSL_DANE_ENABLE /* Define to 1 if you have the `SSL_dane_tlsa_add' function. */ #undef HAVE_SSL_DANE_TLSA_ADD /* Define if you have libssl with host name verification */ #undef HAVE_SSL_HN_AUTH /* Define to 1 if you have the `SSL_set_ciphersuites' function. */ #undef HAVE_SSL_SET_CIPHERSUITES /* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strlcpy' function. */ #undef HAVE_STRLCPY /* Define to 1 if you have the `strptime' function. */ #undef HAVE_STRPTIME /* Define to 1 if you have the header file. */ #undef HAVE_SYS_LIMITS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_POLL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_RESOURCE_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SHA2_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SYSCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_TIME_H /* Define to 1 if you have the `TLS_client_method' function. */ #undef HAVE_TLS_CLIENT_METHOD /* Define if you have libssl with tls 1.2 */ #undef HAVE_TLS_v1_2 /* Define to 1 if you have the `ub_ctx_set_stub' function. */ #undef HAVE_UB_CTX_SET_STUB /* Define this when libunbound is compiled with the --enable-event-api option. */ #undef HAVE_UNBOUND_EVENT_API /* Define to 1 if you have the header file. */ #undef HAVE_UNBOUND_EVENT_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the header file. */ #undef HAVE_UV_H /* Define to 1 if the system has the type `u_char'. */ #undef HAVE_U_CHAR /* Define to 1 if you have the header file. */ #undef HAVE_WINDOWS_H /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK_H /* Define to 1 if you have the header file. */ #undef HAVE_WS2TCPIP_H /* Define to 1 if you have the `X509_check_host' function. */ #undef HAVE_X509_CHECK_HOST /* Define to 1 if you have the `X509_get0_notAfter' function. */ #undef HAVE_X509_GET0_NOTAFTER /* Define to 1 if you have the `X509_get_notAfter' function. */ #undef HAVE_X509_GET_NOTAFTER /* Define to 1 if the system has the type `_sigset_t'. */ #undef HAVE__SIGSET_T /* Whether the C compiler support the __func__ variable */ #undef HAVE___FUNC__ /* Do not set this */ #undef KEEP_CONNECTIONS_OPEN_DEBUG /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* limit for dynamically-generated DNS options */ #undef MAXIMUM_UPSTREAM_OPTION_SPACE /* The maximum number of cname referrals. */ #undef MAX_CNAME_REFERRALS /* Algorithm AES in nettle library */ #undef NETTLE_WITH_AES /* Algorithm ARCTWO in nettle library */ #undef NETTLE_WITH_ARCTWO /* Algorithm BLOWFISH in nettle library */ #undef NETTLE_WITH_BLOWFISH /* Algorithm CAST128 in nettle library */ #undef NETTLE_WITH_CAST128 /* Algorithm DES in nettle library */ #undef NETTLE_WITH_DES /* Algorithm DES3 in nettle library */ #undef NETTLE_WITH_DES3 /* Algorithm MD2 in nettle library */ #undef NETTLE_WITH_MD2 /* Algorithm MD4 in nettle library */ #undef NETTLE_WITH_MD4 /* Algorithm MD5 in nettle library */ #undef NETTLE_WITH_MD5 /* Algorithm SERPENT in nettle library */ #undef NETTLE_WITH_SERPENT /* Algorithm SHA1 in nettle library */ #undef NETTLE_WITH_SHA1 /* Algorithm SHA256 in nettle library */ #undef NETTLE_WITH_SHA256 /* Algorithm TWOFISH in nettle library */ #undef NETTLE_WITH_TWOFISH /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define this to enable printing of request debugging messages. */ #undef REQ_DEBUG /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* Define this to enable printing of scheduling debugging messages. */ #undef SCHED_DEBUG /* Define this to enable printing of dnssec debugging messages. */ #undef SEC_DEBUG /* Define this enable printing of server debugging messages. */ #undef SERVER_DEBUG /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* use default strptime. */ #undef STRPTIME_WORKS /* Stubby package */ #undef STUBBY_PACKAGE /* Stubby package string */ #undef STUBBY_PACKAGE_STRING /* Define this to enable printing of stub debugging messages. */ #undef STUB_DEBUG /* Define this to enable native stub DNSSEC support. */ #undef STUB_NATIVE_DNSSEC /* System configuration dir */ #undef SYSCONFDIR /* Default trust anchor file */ #undef TRUST_ANCHOR_FILE /* Maximum number of queries an failed UDP upstream passes before it will retry */ #undef UDP_MAX_BACKOFF /* Define this to use DANE functions from the ssl_dane/danessl library. */ #undef USE_DANESSL /* Define this to enable DSA support. */ #undef USE_DSA /* Define this to enable ECDSA support. */ #undef USE_ECDSA /* Define this to enable an EVP workaround for older openssl */ #undef USE_ECDSA_EVP_WORKAROUND /* Define this to enable ED25519 support. */ #undef USE_ED25519 /* Define this to enable ED448 support. */ #undef USE_ED448 /* Use the GnuTLS library */ #undef USE_GNUTLS /* Define this to enable GOST support. */ #undef USE_GOST /* Define this to enable TCP fast open. */ #undef USE_OSX_TCP_FASTOPEN /* Define this to enable a default eventloop based on poll(). */ #undef USE_POLL_DEFAULT_EVENTLOOP /* Define this to enable SHA1 support. */ #undef USE_SHA1 /* Define this to enable SHA256 and SHA512 support. */ #undef USE_SHA2 /* Define this to enable TCP fast open. */ #undef USE_TCP_FASTOPEN /* Whether the windows socket API is used */ #undef USE_WINSOCK /* Define this to enable YAML config support. */ #undef USE_YAML_CONFIG /* Define for Solaris 2.5.1 so the uint32_t typedef from , , or is not used. If the typedef were allowed, the #define below would cause a syntax error. */ #undef _UINT32_T /* Define for Solaris 2.5.1 so the uint64_t typedef from , , or is not used. If the typedef were allowed, the #define below would cause a syntax error. */ #undef _UINT64_T /* Define for Solaris 2.5.1 so the uint8_t typedef from , , or is not used. If the typedef were allowed, the #define below would cause a syntax error. */ #undef _UINT8_T /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to the type of an unsigned integer type of width exactly 16 bits if such a type exists and the standard includes do not define it. */ #undef uint16_t /* Define to the type of an unsigned integer type of width exactly 32 bits if such a type exists and the standard includes do not define it. */ #undef uint32_t /* Define to the type of an unsigned integer type of width exactly 64 bits if such a type exists and the standard includes do not define it. */ #undef uint64_t /* Define to the type of an unsigned integer type of width exactly 8 bits if such a type exists and the standard includes do not define it. */ #undef uint8_t #ifdef HAVE___FUNC__ #define __FUNC__ __func__ #else #define __FUNC__ __FUNCTION__ #endif #ifdef GETDNS_ON_WINDOWS /* On windows it is allowed to increase the FD_SETSIZE * (and necessary to make our custom eventloop work) * See: https://support.microsoft.com/en-us/kb/111855 */ # ifndef FD_SETSIZE # define FD_SETSIZE 1024 # endif /* the version of the windows API enabled */ # ifndef WINVER # define WINVER 0x0600 // 0x0502 # endif # ifndef _WIN32_WINNT # define _WIN32_WINNT 0x0600 // 0x0502 # endif # ifdef HAVE_WS2TCPIP_H # include # endif # ifdef _MSC_VER # if _MSC_VER >= 1800 # define PRIsz "zu" # else # define PRIsz "Iu" # endif # else # define PRIsz "Iu" # endif # ifdef HAVE_WINSOCK2_H # include # endif /* detect if we need to cast to unsigned int for FD_SET to avoid warnings */ # ifdef HAVE_WINSOCK2_H # define FD_SET_T (u_int) # else # define FD_SET_T # endif /* Windows wants us to use _strdup instead of strdup */ # ifndef strdup # define strdup _strdup # endif #else # define PRIsz "zu" #endif #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif #if STDC_HEADERS #include #include #endif #if !defined(HAVE_STRLCPY) || !HAVE_DECL_STRLCPY || !defined(strlcpy) size_t strlcpy(char *dst, const char *src, size_t siz); #else #ifndef __BSD_VISIBLE #define __BSD_VISIBLE 1 #endif #endif #if !defined(HAVE_ARC4RANDOM) || !HAVE_DECL_ARC4RANDOM uint32_t arc4random(void); #endif #if !defined(HAVE_ARC4RANDOM_UNIFORM) || !HAVE_DECL_ARC4RANDOM_UNIFORM uint32_t arc4random_uniform(uint32_t upper_bound); #endif #ifndef HAVE_ARC4RANDOM void explicit_bzero(void* buf, size_t len); int getentropy(void* buf, size_t len); void arc4random_buf(void* buf, size_t n); void _ARC4_LOCK(void); void _ARC4_UNLOCK(void); #endif #ifdef COMPAT_SHA512 #ifndef SHA512_DIGEST_LENGTH #define SHA512_BLOCK_LENGTH 128 #define SHA512_DIGEST_LENGTH 64 #define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1) typedef struct _SHA512_CTX { uint64_t state[8]; uint64_t bitcount[2]; uint8_t buffer[SHA512_BLOCK_LENGTH]; } SHA512_CTX; #endif /* SHA512_DIGEST_LENGTH */ void SHA512_Init(SHA512_CTX*); void SHA512_Update(SHA512_CTX*, void*, size_t); void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); unsigned char *SHA512(void* data, unsigned int data_len, unsigned char *digest); #endif /* COMPAT_SHA512 */ #ifndef HAVE_DECL_INET_PTON int inet_pton(int af, const char* src, void* dst); #endif /* HAVE_INET_PTON */ #ifndef HAVE_DECL_INET_NTOP const char *inet_ntop(int af, const void *src, char *dst, size_t size); #endif #ifdef USE_WINSOCK # ifndef _CUSTOM_VSNPRINTF # define _CUSTOM_VSNPRINTF static inline int _gldns_custom_vsnprintf(char *str, size_t size, const char *format, va_list ap) { int r = vsnprintf(str, size, format, ap); return r == -1 ? _vscprintf(format, ap) : r; } # define vsnprintf _gldns_custom_vsnprintf # endif #endif #ifdef __cplusplus } #endif /** Use on-board gldns */ #define USE_GLDNS 1 #ifdef HAVE_SSL # define GLDNS_BUILD_CONFIG_HAVE_SSL 1 #endif #ifdef HAVE_STDARG_H #include #endif #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_TCP_H #include #endif #ifdef HAVE_SYS_SELECT_H #include #endif #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_STAT_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_INTTYPES_H #include #endif #ifdef HAVE_LIMITS_H #include #endif #ifdef HAVE_SYS_LIMITS_H #include #endif #ifdef PATH_MAX #define _GETDNS_PATH_MAX PATH_MAX #else #define _GETDNS_PATH_MAX 2048 #endif #ifndef PRIu64 #define PRIu64 "llu" #endif #ifdef HAVE_ATTR_FORMAT # define ATTR_FORMAT(archetype, string_index, first_to_check) \ __attribute__ ((format (archetype, string_index, first_to_check))) #else /* !HAVE_ATTR_FORMAT */ # define ATTR_FORMAT(archetype, string_index, first_to_check) /* empty */ #endif /* !HAVE_ATTR_FORMAT */ #if defined(DOXYGEN) # define ATTR_UNUSED(x) x #elif defined(__cplusplus) # define ATTR_UNUSED(x) #elif defined(HAVE_ATTR_UNUSED) # define ATTR_UNUSED(x) x __attribute__((unused)) #else /* !HAVE_ATTR_UNUSED */ # define ATTR_UNUSED(x) x #endif /* !HAVE_ATTR_UNUSED */ #ifdef TIME_WITH_SYS_TIME # include # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #ifdef __cplusplus extern "C" { #endif #if !defined(HAVE_STRPTIME) || !defined(STRPTIME_WORKS) #define strptime unbound_strptime struct tm; char *strptime(const char *s, const char *format, struct tm *tm); #endif #if !defined(HAVE_SIGSET_T) && defined(HAVE__SIGSET_T) typedef _sigset_t sigset_t; #endif #if !defined(HAVE_SIGEMPTYSET) # define sigemptyset(pset) (*(pset) = 0) #endif #if !defined(HAVE_SIGFILLSET) # define sigfillset(pset) (*(pset) = (sigset_t)-1) #endif #if !defined(HAVE_SIGADDSET) # define sigaddset(pset, num) (*(pset) |= (1L<<(num))) #endif #ifdef HAVE_LIBUNBOUND # include # ifdef HAVE_UNBOUND_EVENT_H # include # else # ifdef HAVE_UNBOUND_EVENT_API # ifndef _UB_EVENT_PRIMITIVES # define _UB_EVENT_PRIMITIVES struct ub_event_base; struct ub_ctx* ub_ctx_create_ub_event(struct ub_event_base* base); typedef void (*ub_event_callback_t)(void*, int, void*, int, int, char*); int ub_resolve_event(struct ub_ctx* ctx, const char* name, int rrtype, int rrclass, void* mydata, ub_event_callback_t callback, int* async_id); # endif # endif # endif #endif #ifdef __cplusplus } #endif