config.h.in 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. /* config.h.in. Generated from configure.in by autoheader. */
  2. #ifndef _CONFIG_H_
  3. #define _CONFIG_H_
  4. /* ONLY EDIT acconfig.h, NEVER config.h or config.h.in!
  5. * config.h MAY BE OVERWRITTEN BY make, config.h.in by autoheader! */
  6. /* Define your Target here. Currently defined are TARGET_LINUX (any
  7. * architecture), TARGET_BSD (experimental; tested on FreeBSD, hopefully
  8. * works for other BSD variants) and TARGET_CYGWIN. */
  9. #define TARGET TARGET_LINUX
  10. /* change the #undef to #define if you do not want to compile with special
  11. * ISDN support for Linux. Note that the ISDN support will not compile ok on
  12. * unpatched kernerls earlier than 2.2.12 (if you did apply newer isdn patches,
  13. * it may work fine). This is not on by default because it will cause compile
  14. * problems on some systems */
  15. #undef ISDN_SUPPORT
  16. /* The following regulates the IP Protocol support. Supported types are IPv4
  17. * and IPv6 (aka IPng). You may enable either or both of these protocols.
  18. * Enabling in this context means that support for the respective protocol
  19. * will be in the binary. When running the binary, one of the protocols may
  20. * be activated via command line switches. Note that activating both IPv4 and
  21. * IPv6 is pointless (and will not work because two UDP and two TCP threads
  22. * will be started that concur for ports). Because of that, it is not allowed.
  23. * When pdnsd runs with IPv6 activated it should be able to service queries
  24. * from IPv6 as well as from IPv4 hosts, provided that you host is configured
  25. * properly.
  26. * For each of the protocols there are two options: ENABLE_IPV4 and ENABLE_IPV6
  27. * control whether support for the respective protocol is available in the
  28. * binary. DEFAULT_IPV4 selects which protocol is enabled on pdnsd
  29. * startup by default. 1 means IPv4, while 0 means IPv6. If support for
  30. * a protocol was included in the executable, you can specify command line
  31. * parameters to activate or deactivate that protocol (the options are -4 and
  32. * -6), but it makes more sense to use the run_ipv4=on/off option in the
  33. * configuration file.
  34. * Make your choice. Note that IPv6 support is experimental in pdnsd.
  35. * In normal operation, you will currently only need IPv4. */
  36. #undef ENABLE_IPV4
  37. #define DEFAULT_IPV4 1
  38. #undef ENABLE_IPV6
  39. /* In all pdnsd versions before 1.0.6, DNS queries were always done over
  40. * TCP. Now, you have the choice. You can control that behaviour using
  41. * the -m command line switch, and you can give a preset here. There
  42. * are 3 different modes:
  43. * UDP_ONLY: This is undoubtedly the fastest query method, because
  44. * no TCP negotiation needs to be done.
  45. * TCP_ONLY: This is slower than uo, but generally more secure
  46. * against DNS spoofing. Note that some name servers on the
  47. * internet do not support TCP queries, notably dnscache.
  48. * TCP_UDP: TCP, then UDP. If the TCP query fails with a "connection refused"-
  49. * error or times out, the query is retried using UDP.
  50. * UDP_TCP: UDP, then TCP. If the UDP reply is truncated (i.e. the tc flag is set),
  51. * the query is retried using TCP. */
  52. #define M_PRESET UDP_ONLY
  53. /* In addition to choosing the presets, you may also completely disable
  54. * one of the protocols (TCP for preset UDP_ONLY and UDP for preset TCP_ONLY).
  55. * This saves some executable space. */
  56. #undef NO_UDP_QUERIES
  57. #undef NO_TCP_QUERIES
  58. /* With the following option, you can disable the TCP server functionality
  59. * of pdnsd. Nearly no program does TCP queries, so you probably can do
  60. * this safely and save some executable space and one thread.
  61. * You also can turn off the TCP server at runtime with the --notcp option. */
  62. #undef NO_TCP_SERVER
  63. /* By undefining the following, you can disable the UDP source address
  64. * discovery code. This is not recommended, but you may need it when
  65. * running into compilation problems. */
  66. #undef SRC_ADDR_DISC
  67. /* NO_POLL specifies not to use poll(2), but select(2) instead. If you are
  68. * unsure about what this means, just leave this as it is.*/
  69. #undef NO_POLL
  70. /* Define this for "hard" RFC 2181 compliance: this RFC states that
  71. * implementations should discard answers whose RR sets have multiple
  72. * different time stamps. While correct answers are generated, incorrect
  73. * ones are normally tolerated and corrected. Full RFC compliance is
  74. * however only achieved by deactivating this behaviour and thus being
  75. * intolerant. */
  76. #undef RFC2181_ME_HARDER
  77. /* Define this to the device you want to use for getting random numbers.
  78. * Leave this undefined if you wand to use the standard C library random
  79. * function, which basically should be sufficient.
  80. * Linux and FreeBSD have two random number devices: /dev/random and
  81. * /dev/urandom. /dev/urandom might be less secure in some cases, but
  82. * should still be more than sufficient. The use of /dev/random is
  83. * discouraged, as reading from this device blocks when new random bits
  84. * need to be gathered. */
  85. #undef RANDOM_DEVICE
  86. #undef R_DEFAULT
  87. #undef R_RANDOM
  88. #undef R_ARC4RANDOM
  89. /*#define RANDOM_DEVICE "/dev/urandom"*/
  90. /* Designate which database manager to use for cacheing.
  91. * default: native; others: gdbm */
  92. #define CACHE_DBM DBM_NATIVE
  93. #define CACHEDIR "/var/cache/pdnsd"
  94. #define TEMPDIR "/tmp";
  95. /* This is for various debugging facilities that produce debug output and
  96. * double-check some values. You can enable debug messages with the -g option.
  97. * Normally, you can switch this off safely by setting the number after DEBUG
  98. * to 0. This will increase speed (although only marginally), save space
  99. * in the executable (only about 12kB) and some stack space per thread
  100. * (which may be significant if you have many threads running simultaneously).
  101. * However, it may be an aid when debugging config files.
  102. * The only defined debug levels by now are in the range 0 - 9.
  103. * Define this to 9 if you want hex dumps of all the queries and replies pdnsd
  104. * receives (you must also call pdnsd with -v9 to actually see the hex dumps).
  105. * When in doubt, leave it defined to 1. */
  106. #define DEBUG 1
  107. /* This defines the default verbosity of informational messages you will get.
  108. This has nothing to to with the debug option (-g), but may be set with -v
  109. option. 0 is for normal operation, up to 3 for debugging.
  110. Unlike the debug messages, these messages will also be written to the syslog.*/
  111. #define VERBOSITY 0
  112. /* Redefine this if you want another hash size.
  113. * The number of hash buckets is computed as power of two (1<<HASH_SZ);
  114. * so e.g. HASH_SZ set to 10 yields 1024 hash rows.
  115. * HASH_SZ may not be bigger than 32 (if you set it even close to that value,
  116. * you are nuts.) */
  117. #define HASH_SZ 10
  118. /* Set this to debug the hash tables. Turn this off normally, or you will get
  119. * flooded with diagnostic messages */
  120. #undef DEBUG_HASH
  121. /* Define if you have working C99 Variadic macro support */
  122. #undef CPP_C99_VARIADIC_MACROS
  123. /* Define as int if socklen_t typedef is missing */
  124. #undef socklen_t
  125. /* Lock the UDP socket before using it? */
  126. #undef SOCKET_LOCKING
  127. /* Default TCP timeout when receiving queries */
  128. #define TCP_TIMEOUT 30
  129. /* Allow subsequent TCP queries on one connection? */
  130. #undef TCP_SUBSEQ
  131. /* Default value for parallel query number */
  132. #define PAR_QUERIES 2
  133. /* Maximum number of IP addresses used per nameserver obtained from NS records. */
  134. #define MAXNAMESERVIPS 3
  135. /* These are the possible targets. Normally no need to touch these
  136. * definitions. */
  137. #define TARGET_LINUX 0
  138. #define TARGET_BSD 1
  139. #define TARGET_CYGWIN 2
  140. /* Assume the Native POSIX Thread Library instead of LinuxThreads ? */
  141. #undef THREADLIB_NPTL
  142. /* If we are using LinuxThreads, implement the fix needed for newer glibcs ? */
  143. #undef THREADLIB_LINUXTHREADS2
  144. /* The following is needed for using LinuxThreads. Better don't touch. */
  145. #define _REENTRANT 1
  146. #define _THREAD_SAFE 1
  147. /* It appears the newer versions of gcc won't convert a pointer to char into
  148. a pointer to unsigned char and vice versa without complaining.
  149. By using casts these warning messages can be suppressed, but at the cost
  150. of losing some type safety.
  151. Define charp and ucharp to be empty if you are a developer and find type
  152. safety more important.
  153. Leave the definitions unchanged to avoid distracting warning messages. */
  154. #define charp (char *)
  155. #define ucharp (unsigned char *)
  156. /* pdnsd version. DO NOT TOUCH THIS! It is replaced automatically by the
  157. * contents of ./version */
  158. #define VERSION "@VERSION@"
  159. #endif
  160. /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
  161. systems. This function is required for `alloca.c' support on those systems.
  162. */
  163. #undef CRAY_STACKSEG_END
  164. /* Define to 1 if using `alloca.c'. */
  165. #undef C_ALLOCA
  166. /* Define to 1 if you have `alloca', as a function or macro. */
  167. #undef HAVE_ALLOCA
  168. /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
  169. */
  170. #undef HAVE_ALLOCA_H
  171. /* Define to 1 if you have the `asprintf' function. */
  172. #undef HAVE_ASPRINTF
  173. /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
  174. #undef HAVE_DOPRNT
  175. /* Define to 1 if you have the <fcntl.h> header file. */
  176. #undef HAVE_FCNTL_H
  177. /* Define to 1 if you have the `getline' function. */
  178. #undef HAVE_GETLINE
  179. /* Define to 1 if you have the `getpwnam_r' function. */
  180. #undef HAVE_GETPWNAM_R
  181. /* Define to 1 if you have the `gettimeofday' function. */
  182. #undef HAVE_GETTIMEOFDAY
  183. /* Define to 1 if you have the `inet_ntop' function. */
  184. #undef HAVE_INET_NTOP
  185. /* Define to 1 if you have the `inet_pton' function. */
  186. #undef HAVE_INET_PTON
  187. /* Define to 1 if you have the <inttypes.h> header file. */
  188. #undef HAVE_INTTYPES_H
  189. /* Define to 1 if you have the `pthread' library (-lpthread). */
  190. #undef HAVE_LIBPTHREAD
  191. /* Define to 1 if you have the <malloc.h> header file. */
  192. #undef HAVE_MALLOC_H
  193. /* Define to 1 if you have the <memory.h> header file. */
  194. #undef HAVE_MEMORY_H
  195. /* Define to 1 if you have the `mempcpy' function. */
  196. #undef HAVE_MEMPCPY
  197. /* Define to 1 if you have the `mkfifo' function. */
  198. #undef HAVE_MKFIFO
  199. /* Define to 1 if you have the `nanosleep' function. */
  200. #undef HAVE_NANOSLEEP
  201. /* Define to 1 if you have the <netinet/in.h> header file. */
  202. #undef HAVE_NETINET_IN_H
  203. /* Define to 1 if you have the <net/if.h> header file. */
  204. #undef HAVE_NET_IF_H
  205. /* Define to 1 if you have the `poll' function. */
  206. #undef HAVE_POLL
  207. /* Define to 1 if you have the `select' function. */
  208. #undef HAVE_SELECT
  209. /* Define to 1 if you have the `snprintf' function. */
  210. #undef HAVE_SNPRINTF
  211. /* Define to 1 if you have the `socket' function. */
  212. #undef HAVE_SOCKET
  213. /* Define to 1 if the system has the type `socklen_t'. */
  214. #undef HAVE_SOCKLEN_T
  215. /* Define to 1 if you have the <stdint.h> header file. */
  216. #undef HAVE_STDINT_H
  217. /* Define to 1 if you have the <stdlib.h> header file. */
  218. #undef HAVE_STDLIB_H
  219. /* Define to 1 if you have the `stpcpy' function. */
  220. #undef HAVE_STPCPY
  221. /* Define to 1 if you have the `stpncpy' function. */
  222. #undef HAVE_STPNCPY
  223. /* Define to 1 if you have the `strdup' function. */
  224. #undef HAVE_STRDUP
  225. /* Define to 1 if you have the `strerror' function. */
  226. #undef HAVE_STRERROR
  227. /* Define to 1 if you have the <strings.h> header file. */
  228. #undef HAVE_STRINGS_H
  229. /* Define to 1 if you have the <string.h> header file. */
  230. #undef HAVE_STRING_H
  231. /* Define to 1 if you have the `strlcpy' function. */
  232. #undef HAVE_STRLCPY
  233. /* Define to 1 if you have the `strndup' function. */
  234. #undef HAVE_STRNDUP
  235. /* Define to 1 if the system has the type `struct ifreq'. */
  236. #undef HAVE_STRUCT_IFREQ
  237. /* Define to 1 if the system has the type `struct in6_addr'. */
  238. #undef HAVE_STRUCT_IN6_ADDR
  239. /* Define to 1 if the system has the type `struct in_pktinfo'. */
  240. #undef HAVE_STRUCT_IN_PKTINFO
  241. /* Define to 1 if you have the <syslog.h> header file. */
  242. #undef HAVE_SYSLOG_H
  243. /* Define to 1 if you have the <sys/ioctl.h> header file. */
  244. #undef HAVE_SYS_IOCTL_H
  245. /* Define to 1 if you have the <sys/poll.h> header file. */
  246. #undef HAVE_SYS_POLL_H
  247. /* Define to 1 if you have the <sys/socket.h> header file. */
  248. #undef HAVE_SYS_SOCKET_H
  249. /* Define to 1 if you have the <sys/stat.h> header file. */
  250. #undef HAVE_SYS_STAT_H
  251. /* Define to 1 if you have the <sys/time.h> header file. */
  252. #undef HAVE_SYS_TIME_H
  253. /* Define to 1 if you have the <sys/types.h> header file. */
  254. #undef HAVE_SYS_TYPES_H
  255. /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
  256. #undef HAVE_SYS_WAIT_H
  257. /* Define to 1 if you have the `uname' function. */
  258. #undef HAVE_UNAME
  259. /* Define to 1 if you have the <unistd.h> header file. */
  260. #undef HAVE_UNISTD_H
  261. /* Define to 1 if you have the `vasprintf' function. */
  262. #undef HAVE_VASPRINTF
  263. /* Define to 1 if you have the `vprintf' function. */
  264. #undef HAVE_VPRINTF
  265. /* Define to 1 if you have the `vsnprintf' function. */
  266. #undef HAVE_VSNPRINTF
  267. /* Define to 1 if your C compiler doesn't accept -c and -o together. */
  268. #undef NO_MINUS_C_MINUS_O
  269. /* Define to the address where bug reports for this package should be sent. */
  270. #undef PACKAGE_BUGREPORT
  271. /* Define to the full name of this package. */
  272. #undef PACKAGE_NAME
  273. /* Define to the full name and version of this package. */
  274. #undef PACKAGE_STRING
  275. /* Define to the one symbol short name of this package. */
  276. #undef PACKAGE_TARNAME
  277. /* Define to the version of this package. */
  278. #undef PACKAGE_VERSION
  279. /* Define as the return type of signal handlers (`int' or `void'). */
  280. #undef RETSIGTYPE
  281. /* If using the C implementation of alloca, define if you know the
  282. direction of stack growth for your system; otherwise it will be
  283. automatically deduced at runtime.
  284. STACK_DIRECTION > 0 => grows toward higher addresses
  285. STACK_DIRECTION < 0 => grows toward lower addresses
  286. STACK_DIRECTION = 0 => direction of growth unknown */
  287. #undef STACK_DIRECTION
  288. /* Define to 1 if you have the ANSI C header files. */
  289. #undef STDC_HEADERS
  290. /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
  291. #undef TIME_WITH_SYS_TIME
  292. /* Define to 1 if your <sys/time.h> declares `struct tm'. */
  293. #undef TM_IN_SYS_TIME
  294. /* Enable extensions on AIX 3, Interix. */
  295. #ifndef _ALL_SOURCE
  296. # undef _ALL_SOURCE
  297. #endif
  298. /* Enable GNU extensions on systems that have them. */
  299. #ifndef _GNU_SOURCE
  300. # undef _GNU_SOURCE
  301. #endif
  302. /* Enable threading extensions on Solaris. */
  303. #ifndef _POSIX_PTHREAD_SEMANTICS
  304. # undef _POSIX_PTHREAD_SEMANTICS
  305. #endif
  306. /* Enable extensions on HP NonStop. */
  307. #ifndef _TANDEM_SOURCE
  308. # undef _TANDEM_SOURCE
  309. #endif
  310. /* Enable general extensions on Solaris. */
  311. #ifndef __EXTENSIONS__
  312. # undef __EXTENSIONS__
  313. #endif
  314. /* Define to 1 if on MINIX. */
  315. #undef _MINIX
  316. /* Define to 2 if the system does not provide POSIX.1 features except with
  317. this defined. */
  318. #undef _POSIX_1_SOURCE
  319. /* Define to 1 if you need to in order for `stat' and other things to work. */
  320. #undef _POSIX_SOURCE
  321. /* Define to empty if `const' does not conform to ANSI C. */
  322. #undef const
  323. /* Define to `int' if <sys/types.h> does not define. */
  324. #undef pid_t
  325. /* Define to `unsigned int' if <sys/types.h> does not define. */
  326. #undef size_t