1/* ldns/config.h.  Generated from config.h.in by configure.  */
2/* ldns/config.h.in.  Generated from configure.ac by autoheader.  */
3
4/* Define if building universal (internal helper macro) */
5/* #undef AC_APPLE_UNIVERSAL_BUILD */
6
7/* Define to 1 if you have the <arpa/inet.h> header file. */
8#define HAVE_ARPA_INET_H 1
9
10/* Whether the C compiler accepts the "format" attribute */
11#define HAVE_ATTR_FORMAT 1
12
13/* Whether the C compiler accepts the "unused" attribute */
14#define HAVE_ATTR_UNUSED 1
15
16/* Define to 1 if you have the `b32_ntop' function. */
17/* #undef HAVE_B32_NTOP */
18
19/* Define to 1 if you have the `b32_pton' function. */
20/* #undef HAVE_B32_PTON */
21
22/* Define to 1 if you have the `b64_ntop' function. */
23/* #undef HAVE_B64_NTOP */
24
25/* Define to 1 if you have the `b64_pton' function. */
26/* #undef HAVE_B64_PTON */
27
28/* Define to 1 if you have the `bzero' function. */
29#define HAVE_BZERO 1
30
31/* Define to 1 if you have the `calloc' function. */
32#define HAVE_CALLOC 1
33
34/* Define to 1 if you have the `ctime_r' function. */
35#define HAVE_CTIME_R 1
36
37/* Is a CAFILE given at configure time */
38#define HAVE_DANE_CA_FILE 0
39
40/* Is a CAPATH given at configure time */
41#define HAVE_DANE_CA_PATH 0
42
43/* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you
44   don't. */
45#define HAVE_DECL_NID_SECP384R1 1
46
47/* Define to 1 if you have the declaration of `NID_X25519', and to 0 if you
48   don't. */
49/* #undef HAVE_DECL_NID_X25519 */
50
51/* Define to 1 if you have the declaration of `NID_X448', and to 0 if you
52   don't. */
53/* #undef HAVE_DECL_NID_X448 */
54
55/* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0
56   if you don't. */
57#define HAVE_DECL_NID_X9_62_PRIME256V1 1
58
59/* Define to 1 if you have the <dlfcn.h> header file. */
60#define HAVE_DLFCN_H 1
61
62/* Define to 1 if you have the `DSA_get0_key' function. */
63#define HAVE_DSA_GET0_KEY 1
64
65/* Define to 1 if you have the `DSA_get0_pqg' function. */
66#define HAVE_DSA_GET0_PQG 1
67
68/* Define to 1 if you have the `DSA_SIG_get0' function. */
69#define HAVE_DSA_SIG_GET0 1
70
71/* Define to 1 if you have the `DSA_SIG_set0' function. */
72#define HAVE_DSA_SIG_SET0 1
73
74/* Define to 1 if you have the `ECDSA_SIG_get0' function. */
75#define HAVE_ECDSA_SIG_GET0 1
76
77/* Define to 1 if you have the `endprotoent' function. */
78#define HAVE_ENDPROTOENT 1
79
80/* Define to 1 if you have the `endservent' function. */
81#define HAVE_ENDSERVENT 1
82
83/* Define to 1 if you have the `ENGINE_load_cryptodev' function. */
84#define HAVE_ENGINE_LOAD_CRYPTODEV 1
85
86/* Define to 1 if you have the `EVP_dss1' function. */
87/* #undef HAVE_EVP_DSS1 */
88
89/* Define to 1 if you have the `EVP_MD_CTX_new' function. */
90#define HAVE_EVP_MD_CTX_NEW 1
91
92/* Define to 1 if you have the `EVP_PKEY_base_id' function. */
93#define HAVE_EVP_PKEY_BASE_ID 1
94
95/* Define to 1 if you have the `EVP_PKEY_keygen' function. */
96#define HAVE_EVP_PKEY_KEYGEN 1
97
98/* Define to 1 if you have the `EVP_sha256' function. */
99#define HAVE_EVP_SHA256 1
100
101/* Define to 1 if you have the `EVP_sha384' function. */
102#define HAVE_EVP_SHA384 1
103
104/* Define to 1 if you have the `EVP_sha512' function. */
105#define HAVE_EVP_SHA512 1
106
107/* Define to 1 if you have the `fcntl' function. */
108#define HAVE_FCNTL 1
109
110/* Define to 1 if you have the `fork' function. */
111#define HAVE_FORK 1
112
113/* Whether getaddrinfo is available */
114#define HAVE_GETADDRINFO 1
115
116/* Define to 1 if you have the <getopt.h> header file. */
117#define HAVE_GETOPT_H 1
118
119/* Define to 1 if you have the `gmtime_r' function. */
120#define HAVE_GMTIME_R 1
121
122/* If you have HMAC_Update */
123#define HAVE_HMAC_UPDATE 1
124
125/* Define to 1 if you have the `inet_aton' function. */
126#define HAVE_INET_ATON 1
127
128/* Define to 1 if you have the `inet_ntop' function. */
129#define HAVE_INET_NTOP 1
130
131/* Define to 1 if you have the `inet_pton' function. */
132#define HAVE_INET_PTON 1
133
134/* define if you have inttypes.h */
135#define HAVE_INTTYPES_H 1
136
137/* if the function 'ioctlsocket' is available */
138/* #undef HAVE_IOCTLSOCKET */
139
140/* Define to 1 if you have the `isascii' function. */
141#define HAVE_ISASCII 1
142
143/* Define to 1 if you have the `isblank' function. */
144#define HAVE_ISBLANK 1
145
146/* Define to 1 if you have the `pcap' library (-lpcap). */
147/* #undef HAVE_LIBPCAP */
148
149/* Define if we have LibreSSL */
150/* #undef HAVE_LIBRESSL */
151
152/* Define to 1 if you have the `localtime_r' function. */
153#define HAVE_LOCALTIME_R 1
154
155/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
156   to 0 otherwise. */
157#define HAVE_MALLOC 1
158
159/* Define to 1 if you have the `memmove' function. */
160#define HAVE_MEMMOVE 1
161
162/* Define to 1 if you have the <memory.h> header file. */
163#define HAVE_MEMORY_H 1
164
165/* Define to 1 if you have the `memset' function. */
166#define HAVE_MEMSET 1
167
168/* Define to 1 if you have the <netdb.h> header file. */
169#define HAVE_NETDB_H 1
170
171/* Define to 1 if you have the <netinet/if_ether.h> header file. */
172/* #undef HAVE_NETINET_IF_ETHER_H */
173
174/* Define to 1 if you have the <netinet/igmp.h> header file. */
175/* #undef HAVE_NETINET_IGMP_H */
176
177/* Define to 1 if you have the <netinet/in.h> header file. */
178#define HAVE_NETINET_IN_H 1
179
180/* Define to 1 if you have the <netinet/in_systm.h> header file. */
181/* #undef HAVE_NETINET_IN_SYSTM_H */
182
183/* Define to 1 if you have the <netinet/ip6.h> header file. */
184/* #undef HAVE_NETINET_IP6_H */
185
186/* Define to 1 if you have the <netinet/ip_compat.h> header file. */
187/* #undef HAVE_NETINET_IP_COMPAT_H */
188
189/* Define to 1 if you have the <netinet/ip.h> header file. */
190/* #undef HAVE_NETINET_IP_H */
191
192/* Define to 1 if you have the <netinet/udp.h> header file. */
193/* #undef HAVE_NETINET_UDP_H */
194
195/* Define to 1 if you have the <net/ethernet.h> header file. */
196/* #undef HAVE_NET_ETHERNET_H */
197
198/* Define to 1 if you have the <net/if.h> header file. */
199/* #undef HAVE_NET_IF_H */
200
201/* Define to 1 if you have the <openssl/err.h> header file. */
202#define HAVE_OPENSSL_ERR_H 1
203
204/* Define to 1 if you have the <openssl/rand.h> header file. */
205#define HAVE_OPENSSL_RAND_H 1
206
207/* Define to 1 if you have the <openssl/ssl.h> header file. */
208#define HAVE_OPENSSL_SSL_H 1
209
210/* Define to 1 if you have the <pcap.h> header file. */
211/* #undef HAVE_PCAP_H */
212
213/* This platform supports poll(7). */
214#define HAVE_POLL 1
215
216/* If available, contains the Python version number currently in use. */
217/* #undef HAVE_PYTHON */
218
219/* Define to 1 if you have the `random' function. */
220#define HAVE_RANDOM 1
221
222/* Define to 1 if your system has a GNU libc compatible `realloc' function,
223   and to 0 otherwise. */
224#define HAVE_REALLOC 1
225
226/* Define to 1 if you have the `sleep' function. */
227#define HAVE_SLEEP 1
228
229/* Define to 1 if you have the `snprintf' function. */
230#define HAVE_SNPRINTF 1
231
232/* Define if you have the SSL libraries installed. */
233#define HAVE_SSL /**/
234
235/* Define to 1 if you have the <stdarg.h> header file. */
236#define HAVE_STDARG_H 1
237
238/* Define to 1 if stdbool.h conforms to C99. */
239#define HAVE_STDBOOL_H 1
240
241/* Define to 1 if you have the <stdint.h> header file. */
242#define HAVE_STDINT_H 1
243
244/* Define to 1 if you have the <stdlib.h> header file. */
245#define HAVE_STDLIB_H 1
246
247/* Define to 1 if you have the <strings.h> header file. */
248#define HAVE_STRINGS_H 1
249
250/* Define to 1 if you have the <string.h> header file. */
251#define HAVE_STRING_H 1
252
253/* Define to 1 if you have the `strlcpy' function. */
254#define HAVE_STRLCPY 1
255
256/* Define to 1 if you have the `strtoul' function. */
257#define HAVE_STRTOUL 1
258
259/* Define if you have SWIG libraries and header files. */
260/* #undef HAVE_SWIG */
261
262/* Define to 1 if you have the <sys/mount.h> header file. */
263#define HAVE_SYS_MOUNT_H 1
264
265/* Define to 1 if you have the <sys/param.h> header file. */
266#define HAVE_SYS_PARAM_H 1
267
268/* define if you have sys/socket.h */
269#define HAVE_SYS_SOCKET_H 1
270
271/* Define to 1 if you have the <sys/stat.h> header file. */
272#define HAVE_SYS_STAT_H 1
273
274/* define if you have sys/types.h */
275#define HAVE_SYS_TYPES_H 1
276
277/* Define to 1 if you have the `timegm' function. */
278#define HAVE_TIMEGM 1
279
280/* Define to 1 if you have the <time.h> header file. */
281#define HAVE_TIME_H 1
282
283/* define if you have unistd.h */
284#define HAVE_UNISTD_H 1
285
286/* Define to 1 if you have the `vfork' function. */
287#define HAVE_VFORK 1
288
289/* Define to 1 if you have the <vfork.h> header file. */
290/* #undef HAVE_VFORK_H */
291
292/* Define to 1 if you have the <winsock2.h> header file. */
293/* #undef HAVE_WINSOCK2_H */
294
295/* Define to 1 if `fork' works. */
296#define HAVE_WORKING_FORK 1
297
298/* Define to 1 if `vfork' works. */
299#define HAVE_WORKING_VFORK 1
300
301/* Define to 1 if you have the <ws2tcpip.h> header file. */
302/* #undef HAVE_WS2TCPIP_H */
303
304/* Define to 1 if the system has the type `_Bool'. */
305#define HAVE__BOOL 1
306
307/* Is a CAFILE given at configure time */
308/* #undef LDNS_DANE_CA_FILE */
309
310/* Is a CAPATH given at configure time */
311/* #undef LDNS_DANE_CA_PATH */
312
313/* Define to the sub-directory where libtool stores uninstalled libraries. */
314#define LT_OBJDIR ".libs/"
315
316/* Define to the address where bug reports for this package should be sent. */
317#define PACKAGE_BUGREPORT "libdns@nlnetlabs.nl"
318
319/* Define to the full name of this package. */
320#define PACKAGE_NAME "ldns"
321
322/* Define to the full name and version of this package. */
323#define PACKAGE_STRING "ldns 1.7.0"
324
325/* Define to the one symbol short name of this package. */
326#define PACKAGE_TARNAME "libdns"
327
328/* Define to the home page for this package. */
329#define PACKAGE_URL ""
330
331/* Define to the version of this package. */
332#define PACKAGE_VERSION "1.7.0"
333
334/* Define this to enable RR type AVC. */
335/* #undef RRTYPE_AVC */
336
337/* Define this to enable RR type NINFO. */
338/* #undef RRTYPE_NINFO */
339
340/* Define this to enable RR type OPENPGPKEY. */
341#define RRTYPE_OPENPGPKEY /**/
342
343/* Define this to enable RR type RKEY. */
344/* #undef RRTYPE_RKEY */
345
346/* Define this to enable RR type TA. */
347/* #undef RRTYPE_TA */
348
349/* The size of `time_t', as computed by sizeof. */
350#define SIZEOF_TIME_T 8
351
352/* Define to 1 if you have the ANSI C header files. */
353#define STDC_HEADERS 1
354
355/* Define this to enable messages to stderr. */
356/* #undef STDERR_MSGS */
357
358/* System configuration dir */
359#define SYSCONFDIR sysconfdir
360
361/* Define this to enable DANE support. */
362#define USE_DANE 1
363
364/* Define this to enable DANE-TA usage type support. */
365#define USE_DANE_TA_USAGE 1
366
367/* Define this to enable DANE verify support. */
368#define USE_DANE_VERIFY 1
369
370/* Define this to enable DSA support. */
371#define USE_DSA 1
372
373/* Define this to enable ECDSA support. */
374#define USE_ECDSA 1
375
376/* Define this to enable ED25519 support. */
377/* #undef USE_ED25519 */
378
379/* Define this to enable ED448 support. */
380/* #undef USE_ED448 */
381
382/* Define this to enable GOST support. */
383/* #undef USE_GOST */
384
385/* Define this to enable SHA256 and SHA512 support. */
386#define USE_SHA2 1
387
388/* Enable extensions on AIX 3, Interix.  */
389#ifndef _ALL_SOURCE
390# define _ALL_SOURCE 1
391#endif
392/* Enable GNU extensions on systems that have them.  */
393#ifndef _GNU_SOURCE
394# define _GNU_SOURCE 1
395#endif
396/* Enable threading extensions on Solaris.  */
397#ifndef _POSIX_PTHREAD_SEMANTICS
398# define _POSIX_PTHREAD_SEMANTICS 1
399#endif
400/* Enable extensions on HP NonStop.  */
401#ifndef _TANDEM_SOURCE
402# define _TANDEM_SOURCE 1
403#endif
404/* Enable general extensions on Solaris.  */
405#ifndef __EXTENSIONS__
406# define __EXTENSIONS__ 1
407#endif
408
409
410/* Whether the windows socket API is used */
411/* #undef USE_WINSOCK */
412
413/* the version of the windows API enabled */
414#define WINVER 0x0502
415
416/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
417   significant byte first (like Motorola and SPARC, unlike Intel). */
418#if defined AC_APPLE_UNIVERSAL_BUILD
419# if defined __BIG_ENDIAN__
420#  define WORDS_BIGENDIAN 1
421# endif
422#else
423# ifndef WORDS_BIGENDIAN
424/* #  undef WORDS_BIGENDIAN */
425# endif
426#endif
427
428/* Define to 1 if on MINIX. */
429/* #undef _MINIX */
430
431/* Enable for compile on Minix */
432/* #undef _NETBSD_SOURCE */
433
434/* Define to 2 if the system does not provide POSIX.1 features except with
435   this defined. */
436/* #undef _POSIX_1_SOURCE */
437
438/* Define to 1 if you need to in order for `stat' and other things to work. */
439/* #undef _POSIX_SOURCE */
440
441/* Define to empty if `const' does not conform to ANSI C. */
442/* #undef const */
443
444/* in_addr_t */
445/* #undef in_addr_t */
446
447/* in_port_t */
448/* #undef in_port_t */
449
450/* Define to `__inline__' or `__inline' if that's what the C compiler
451   calls it, or to nothing if 'inline' is not supported under any name.  */
452#ifndef __cplusplus
453/* #undef inline */
454#endif
455
456/* Define to `short' if <sys/types.h> does not define. */
457/* #undef int16_t */
458
459/* Define to `int' if <sys/types.h> does not define. */
460/* #undef int32_t */
461
462/* Define to `long long' if <sys/types.h> does not define. */
463/* #undef int64_t */
464
465/* Define to `char' if <sys/types.h> does not define. */
466/* #undef int8_t */
467
468/* Define to `size_t' if <sys/types.h> does not define. */
469/* #undef intptr_t */
470
471/* Define to rpl_malloc if the replacement function should be used. */
472/* #undef malloc */
473
474/* Define to `int' if <sys/types.h> does not define. */
475/* #undef pid_t */
476
477/* Define to rpl_realloc if the replacement function should be used. */
478/* #undef realloc */
479
480/* Define to `unsigned int' if <sys/types.h> does not define. */
481/* #undef size_t */
482
483/* Define to 'int' if not defined */
484/* #undef socklen_t */
485
486/* Fallback member name for socket family in struct sockaddr_storage */
487/* #undef ss_family */
488
489/* Define to `int' if <sys/types.h> does not define. */
490/* #undef ssize_t */
491
492/* Define to `unsigned short' if <sys/types.h> does not define. */
493/* #undef uint16_t */
494
495/* Define to `unsigned int' if <sys/types.h> does not define. */
496/* #undef uint32_t */
497
498/* Define to `unsigned long long' if <sys/types.h> does not define. */
499/* #undef uint64_t */
500
501/* Define to `unsigned char' if <sys/types.h> does not define. */
502/* #undef uint8_t */
503
504/* Define as `fork' if `vfork' does not work. */
505/* #undef vfork */
506
507
508#include <stdio.h>
509#include <string.h>
510#include <unistd.h>
511#include <assert.h>
512
513#ifndef LITTLE_ENDIAN
514#define LITTLE_ENDIAN 1234
515#endif
516
517#ifndef BIG_ENDIAN
518#define BIG_ENDIAN 4321
519#endif
520
521#ifndef BYTE_ORDER
522#ifdef WORDS_BIGENDIAN
523#define BYTE_ORDER BIG_ENDIAN
524#else
525#define BYTE_ORDER LITTLE_ENDIAN
526#endif /* WORDS_BIGENDIAN */
527#endif /* BYTE_ORDER */
528
529#if STDC_HEADERS
530#include <stdlib.h>
531#include <stddef.h>
532#endif
533
534#ifdef HAVE_STDINT_H
535#include <stdint.h>
536#endif
537
538#ifdef HAVE_SYS_SOCKET_H
539#include <sys/socket.h>
540#endif
541
542#ifdef HAVE_NETINET_IN_H
543#include <netinet/in.h>
544#endif
545
546#ifdef HAVE_ARPA_INET_H
547#include <arpa/inet.h>
548#endif
549
550#ifdef HAVE_WINSOCK2_H
551#include <winsock2.h>
552#endif
553
554#ifdef HAVE_WS2TCPIP_H
555#include <ws2tcpip.h>
556#endif
557
558
559/* detect if we need to cast to unsigned int for FD_SET to avoid warnings */
560#ifdef HAVE_WINSOCK2_H
561#define FD_SET_T (u_int)
562#else
563#define FD_SET_T
564#endif
565
566
567
568
569#ifdef __cplusplus
570extern "C" {
571#endif
572
573int ldns_b64_ntop(uint8_t const *src, size_t srclength,
574	 	  char *target, size_t targsize);
575/**
576 * calculates the size needed to store the result of b64_ntop
577 */
578/*@unused@*/
579static inline size_t ldns_b64_ntop_calculate_size(size_t srcsize)
580{
581	return ((((srcsize + 2) / 3) * 4) + 1);
582}
583int ldns_b64_pton(char const *src, uint8_t *target, size_t targsize);
584/**
585 * calculates the size needed to store the result of ldns_b64_pton
586 */
587/*@unused@*/
588static inline size_t ldns_b64_pton_calculate_size(size_t srcsize)
589{
590	return (((((srcsize + 3) / 4) * 3)) + 1);
591}
592
593/**
594 * Given in dnssec_zone.c, also used in dnssec_sign.c:w
595
596 */
597int ldns_dname_compare_v(const void *a, const void *b);
598
599#ifndef HAVE_SLEEP
600/* use windows sleep, in millisecs, instead */
601#define sleep(x) Sleep((x)*1000)
602#endif
603
604#ifndef HAVE_RANDOM
605#define srandom(x) srand(x)
606#define random(x) rand(x)
607#endif
608
609#ifndef HAVE_TIMEGM
610#include <time.h>
611time_t timegm (struct tm *tm);
612#endif /* !TIMEGM */
613#ifndef HAVE_GMTIME_R
614struct tm *gmtime_r(const time_t *timep, struct tm *result);
615#endif
616#ifndef HAVE_LOCALTIME_R
617struct tm *localtime_r(const time_t *timep, struct tm *result);
618#endif
619#ifndef HAVE_ISBLANK
620int isblank(int c);
621#endif /* !HAVE_ISBLANK */
622#ifndef HAVE_ISASCII
623int isascii(int c);
624#endif /* !HAVE_ISASCII */
625#ifndef HAVE_SNPRINTF
626#include <stdarg.h>
627int snprintf (char *str, size_t count, const char *fmt, ...);
628int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
629#endif /* HAVE_SNPRINTF */
630#ifndef HAVE_INET_PTON
631int inet_pton(int af, const char* src, void* dst);
632#endif /* HAVE_INET_PTON */
633#ifndef HAVE_INET_NTOP
634const char *inet_ntop(int af, const void *src, char *dst, size_t size);
635#endif
636#ifndef HAVE_INET_ATON
637int inet_aton(const char *cp, struct in_addr *addr);
638#endif
639#ifndef HAVE_MEMMOVE
640void *memmove(void *dest, const void *src, size_t n);
641#endif
642#ifndef HAVE_STRLCPY
643size_t strlcpy(char *dst, const char *src, size_t siz);
644#endif
645
646#ifdef USE_WINSOCK
647#define SOCK_INVALID INVALID_SOCKET
648#define close_socket(_s) do { if (_s > SOCK_INVALID) {closesocket(_s); _s = SOCK_INVALID;} } while(0)
649#else
650#define SOCK_INVALID -1
651#define close_socket(_s) do { if (_s > SOCK_INVALID) {close(_s); _s = SOCK_INVALID;} } while(0)
652#endif
653
654#ifdef __cplusplus
655}
656#endif
657#ifndef HAVE_GETADDRINFO
658#include "compat/fake-rfc2553.h"
659#endif
660#ifndef HAVE_STRTOUL
661#define strtoul (unsigned long)strtol
662#endif
663
664