Diff for /embedaddon/dnsmasq/src/config.h between versions 1.1.1.1 and 1.1.1.5

version 1.1.1.1, 2013/07/29 19:37:40 version 1.1.1.5, 2023/09/27 11:02:07
Line 1 Line 1
/* dnsmasq is Copyright (c) 2000-2013 Simon Kelley/* dnsmasq is Copyright (c) 2000-2022 Simon Kelley
   
    This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
Line 17 Line 17
 #define FTABSIZ 150 /* max number of outstanding requests (default) */  #define FTABSIZ 150 /* max number of outstanding requests (default) */
 #define MAX_PROCS 20 /* max no children for TCP requests */  #define MAX_PROCS 20 /* max no children for TCP requests */
 #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */  #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */
#define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */#define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */
#define KEYBLOCK_LEN 140 /* choose to mininise fragmentation when storing DNSSEC keys */#define TCP_BACKLOG 32  /* kernel backlog limit for TCP connections */
#define TIMEOUT 10 /* drop UDP queries after TIMEOUT seconds */#define EDNS_PKTSZ 1232 /* default max EDNS.0 UDP packet from from  /dnsflagday.net/2020 */
 #define SAFE_PKTSZ 1232 /* "go anywhere" UDP packet size, see https://dnsflagday.net/2020/ */
 #define KEYBLOCK_LEN 40 /* choose to minimise fragmentation when storing DNSSEC keys */
 #define DNSSEC_WORK 50 /* Max number of queries to validate one question */
 #define TIMEOUT 10     /* drop UDP queries after TIMEOUT seconds */
 #define SMALL_PORT_RANGE 30 /* If DNS port range is smaller than this, use different allocation. */
 #define FORWARD_TEST 50 /* try all servers every 50 queries */  #define FORWARD_TEST 50 /* try all servers every 50 queries */
 #define FORWARD_TIME 20 /* or 20 seconds */  #define FORWARD_TIME 20 /* or 20 seconds */
#define RANDOM_SOCKS 64 /* max simultaneous random ports */#define UDP_TEST_TIME 60 /* How often to reset our idea of max packet size. */
 #define SERVERS_LOGGED 30 /* Only log this many servers when logging state */
 #define LOCALS_LOGGED 8 /* Only log this many local addresses when logging state */
 #define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */  #define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */
 #define CACHESIZ 150 /* default cache size */  #define CACHESIZ 150 /* default cache size */
   #define TTL_FLOOR_LIMIT 3600 /* don't allow --min-cache-ttl to raise TTL above this under any circumstances */
 #define MAXLEASES 1000 /* maximum number of DHCP leases */  #define MAXLEASES 1000 /* maximum number of DHCP leases */
 #define PING_WAIT 3 /* wait for ping address-in-use test */  #define PING_WAIT 3 /* wait for ping address-in-use test */
 #define PING_CACHE_TIME 30 /* Ping test assumed to be valid this long. */  #define PING_CACHE_TIME 30 /* Ping test assumed to be valid this long. */
 #define DECLINE_BACKOFF 600 /* disable DECLINEd static addresses for this long */  #define DECLINE_BACKOFF 600 /* disable DECLINEd static addresses for this long */
 #define DHCP_PACKET_MAX 16384 /* hard limit on DHCP packet size */  #define DHCP_PACKET_MAX 16384 /* hard limit on DHCP packet size */
#define SMALLDNAME 40 /* most domain names are smaller than this */#define SMALLDNAME 50 /* most domain names are smaller than this */
 #define CNAME_CHAIN 10 /* chains longer than this atr dropped for loop protection */
 #define DNSSEC_MIN_TTL 60 /* DNSKEY and DS records in cache last at least this long */
 #define HOSTSFILE "/etc/hosts"  #define HOSTSFILE "/etc/hosts"
 #define ETHERSFILE "/etc/ethers"  #define ETHERSFILE "/etc/ethers"
#define DEFLEASE 3600 /* default lease time, 1 hour */#define DEFLEASE 3600 /* default DHCPv4 lease time, one hour */
 #define DEFLEASE6 (3600*24) /* default lease time for DHCPv6. One day. */
 #define CHUSER "nobody"  #define CHUSER "nobody"
 #define CHGRP "dip"  #define CHGRP "dip"
 #define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */  #define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */
 #define LOG_MAX 5 /* log-queue length */  #define LOG_MAX 5 /* log-queue length */
 #define RANDFILE "/dev/urandom"  #define RANDFILE "/dev/urandom"
 #define EDNS0_OPTION_MAC 5 /* dyndns.org temporary assignment */  
 #define DNSMASQ_SERVICE "uk.org.thekelleys.dnsmasq" /* Default - may be overridden by config */  #define DNSMASQ_SERVICE "uk.org.thekelleys.dnsmasq" /* Default - may be overridden by config */
 #define DNSMASQ_PATH "/uk/org/thekelleys/dnsmasq"  #define DNSMASQ_PATH "/uk/org/thekelleys/dnsmasq"
   #define DNSMASQ_UBUS_NAME "dnsmasq" /* Default - may be overridden by config */
 #define AUTH_TTL 600 /* default TTL for auth DNS */  #define AUTH_TTL 600 /* default TTL for auth DNS */
 #define SOA_REFRESH 1200 /* SOA refresh default */  #define SOA_REFRESH 1200 /* SOA refresh default */
 #define SOA_RETRY 180 /* SOA retry default */  #define SOA_RETRY 180 /* SOA retry default */
 #define SOA_EXPIRY 1209600 /* SOA expiry default */  #define SOA_EXPIRY 1209600 /* SOA expiry default */
#define RA_INTERVAL 600 /* Send unsolicited RA's this often when not provoked. */#define LOOP_TEST_DOMAIN "test" /* domain for loop testing, "test" is reserved by RFC 2606 and won't therefore clash */
 #define LOOP_TEST_TYPE T_TXT
 #define DEFAULT_FAST_RETRY 1000 /* ms, default delay before fast retry */
 #define STALE_CACHE_EXPIRY 86400 /* 1 day in secs, default maximum expiry time for stale cache data */
     
 /* compile-time options: uncomment below to enable or do eg.  /* compile-time options: uncomment below to enable or do eg.
    make COPTS=-DHAVE_BROKEN_RTC     make COPTS=-DHAVE_BROKEN_RTC
Line 85  HAVE_DBUS Line 99  HAVE_DBUS
    support some methods to allow (re)configuration of the upstream DNS      support some methods to allow (re)configuration of the upstream DNS 
    servers via DBus.     servers via DBus.
   
   HAVE_UBUS
      define this if you want to link against libubus
   
 HAVE_IDN  HAVE_IDN
   define this if you want international domain name support.   define this if you want international domain name 2003 support.
   NOTE: for backwards compatibility, IDN support is automatically    
         included when internationalisation support is built, using the HAVE_LIBIDN2
         *-i18n makefile targets, even if HAVE_IDN is not explicitly set.   define this if you want international domain name 2008 support.
   
 HAVE_CONNTRACK  HAVE_CONNTRACK
   define this to include code which propogates conntrack marks from   define this to include code which propagates conntrack marks from
    incoming DNS queries to the corresponding upstream queries. This adds     incoming DNS queries to the corresponding upstream queries. This adds
    a build-dependency on libnetfilter_conntrack, but the resulting binary will     a build-dependency on libnetfilter_conntrack, but the resulting binary will
    still run happily on a kernel without conntrack support.     still run happily on a kernel without conntrack support.
Line 101  HAVE_IPSET Line 118  HAVE_IPSET
     define this to include the ability to selectively add resolved ip addresses      define this to include the ability to selectively add resolved ip addresses
     to given ipsets.      to given ipsets.
   
   HAVE_NFTSET
       define this to include the ability to selectively add resolved ip addresses
       to given nftables sets.
   
 HAVE_AUTH  HAVE_AUTH
    define this to include the facility to act as an authoritative DNS     define this to include the facility to act as an authoritative DNS
    server for one or more zones.     server for one or more zones.
   
   HAVE_CRYPTOHASH
      include just hash function from crypto library, but no DNSSEC.
   
NO_IPV6HAVE_DNSSEC
    include DNSSEC validator.
 
 HAVE_DUMPFILE
    include code to dump packets to a libpcap-format file for debugging.
 
 HAVE_LOOP
    include functionality to probe for and remove DNS forwarding loops.
 
 HAVE_INOTIFY
    use the Linux inotify facility to efficiently re-read configuration files.
 
 NO_ID
    Don't report *.bind CHAOS info to clients, forward such requests upstream instead.
 NO_TFTP  NO_TFTP
 NO_DHCP  NO_DHCP
 NO_DHCP6  NO_DHCP6
 NO_SCRIPT  NO_SCRIPT
 NO_LARGEFILE  NO_LARGEFILE
 NO_AUTH  NO_AUTH
   these are avilable to explictly disable compile time options which would NO_DUMPFILE
   otherwise be enabled automatically (HAVE_IPV6, >2Gb file sizes) or NO_LOOP
   which are enabled  by default in the distributed source tree. Building dnsmasqNO_INOTIFY
    these are available to explicitly disable compile time options which would 
    otherwise be enabled automatically or which are enabled  by default 
    in the distributed source tree. Building dnsmasq
    with something like "make COPTS=-DNO_SCRIPT" will do the trick.     with something like "make COPTS=-DNO_SCRIPT" will do the trick.
   NO_GMP
      Don't use and link against libgmp, Useful if nettle is built with --enable-mini-gmp.
   
 LEASEFILE  LEASEFILE
 CONFFILE  CONFFILE
Line 126  RESOLVFILE Line 167  RESOLVFILE
   
 */  */
   
   /* Defining this builds a binary which handles time differently and works better on a system without a 
      stable RTC (it uses uptime, not epoch time) and writes the DHCP leases file less often to avoid flash wear. 
   */
   
   /* #define HAVE_BROKEN_RTC */
   
 /* The default set of options to build. Built with these options, dnsmasq  /* The default set of options to build. Built with these options, dnsmasq
    has no library dependencies other than libc */     has no library dependencies other than libc */
   
Line 136  RESOLVFILE Line 182  RESOLVFILE
 #define HAVE_SCRIPT  #define HAVE_SCRIPT
 #define HAVE_AUTH  #define HAVE_AUTH
 #define HAVE_IPSET   #define HAVE_IPSET 
   #define HAVE_LOOP
   #define HAVE_DUMPFILE
   
   /* Build options which require external libraries.
      
      Defining HAVE_<opt>_STATIC as _well_ as HAVE_<opt> will link the library statically.
   
      You can use "make COPTS=-DHAVE_<opt>" instead of editing these.
   */
   
 /* #define HAVE_LUASCRIPT */  /* #define HAVE_LUASCRIPT */
 /* #define HAVE_BROKEN_RTC */  
 /* #define HAVE_DBUS */  /* #define HAVE_DBUS */
 /* #define HAVE_IDN */  /* #define HAVE_IDN */
   /* #define HAVE_LIBIDN2 */
 /* #define HAVE_CONNTRACK */  /* #define HAVE_CONNTRACK */
   /* #define HAVE_CRYPTOHASH */
   /* #define HAVE_DNSSEC */
   /* #define HAVE_NFTSET */
   
   
 /* Default locations for important system files. */  /* Default locations for important system files. */
   
 #ifndef LEASEFILE  #ifndef LEASEFILE
Line 191  HAVE_SOLARIS_NETWORK Line 249  HAVE_SOLARIS_NETWORK
 HAVE_GETOPT_LONG  HAVE_GETOPT_LONG
    defined when GNU-style getopt_long available.      defined when GNU-style getopt_long available. 
   
 HAVE_ARC4RANDOM  
    defined if arc4random() available to get better security from DNS spoofs  
    by using really random ids (OpenBSD)   
   
 HAVE_SOCKADDR_SA_LEN  HAVE_SOCKADDR_SA_LEN
    defined if struct sockaddr has sa_len field (*BSD)      defined if struct sockaddr has sa_len field (*BSD) 
 */  */
   
/* Must preceed __linux__ since uClinux defines __linux__ too. */#if defined(__UCLIBC__)
#if defined(__uClinux__) 
 #define HAVE_LINUX_NETWORK  #define HAVE_LINUX_NETWORK
 #define HAVE_GETOPT_LONG  
 #undef HAVE_ARC4RANDOM  
 #undef HAVE_SOCKADDR_SA_LEN  
 /* Never use fork() on uClinux. Note that this is subtly different from the  
    --keep-in-foreground option, since it also  suppresses forking new   
    processes for TCP connections and disables the call-a-script on leasechange  
    system. It's intended for use on MMU-less kernels. */  
 #define NO_FORK  
   
 #elif defined(__UCLIBC__)  
 #define HAVE_LINUX_NETWORK  
 #if defined(__UCLIBC_HAS_GNU_GETOPT__) || \  #if defined(__UCLIBC_HAS_GNU_GETOPT__) || \
    ((__UCLIBC_MAJOR__==0) && (__UCLIBC_MINOR__==9) && (__UCLIBC_SUBLEVEL__<21))     ((__UCLIBC_MAJOR__==0) && (__UCLIBC_MINOR__==9) && (__UCLIBC_SUBLEVEL__<21))
 #    define HAVE_GETOPT_LONG  #    define HAVE_GETOPT_LONG
 #endif  #endif
 #undef HAVE_ARC4RANDOM  
 #undef HAVE_SOCKADDR_SA_LEN  #undef HAVE_SOCKADDR_SA_LEN
 #if !defined(__ARCH_HAS_MMU__) && !defined(__UCLIBC_HAS_MMU__)  
 #  define NO_FORK  
 #endif  
 #if defined(__UCLIBC_HAS_IPV6__)  #if defined(__UCLIBC_HAS_IPV6__)
 #  ifndef IPV6_V6ONLY  #  ifndef IPV6_V6ONLY
 #    define IPV6_V6ONLY 26  #    define IPV6_V6ONLY 26
Line 232  HAVE_SOCKADDR_SA_LEN Line 270  HAVE_SOCKADDR_SA_LEN
 #elif defined(__linux__)  #elif defined(__linux__)
 #define HAVE_LINUX_NETWORK  #define HAVE_LINUX_NETWORK
 #define HAVE_GETOPT_LONG  #define HAVE_GETOPT_LONG
 #undef HAVE_ARC4RANDOM  
 #undef HAVE_SOCKADDR_SA_LEN  #undef HAVE_SOCKADDR_SA_LEN
   
 #elif defined(__FreeBSD__) || \  #elif defined(__FreeBSD__) || \
Line 240  HAVE_SOCKADDR_SA_LEN Line 277  HAVE_SOCKADDR_SA_LEN
       defined(__DragonFly__) || \        defined(__DragonFly__) || \
       defined(__FreeBSD_kernel__)        defined(__FreeBSD_kernel__)
 #define HAVE_BSD_NETWORK  #define HAVE_BSD_NETWORK
/* Later verions of FreeBSD have getopt_long() *//* Later versions of FreeBSD have getopt_long() */
 #if defined(optional_argument) && defined(required_argument)  #if defined(optional_argument) && defined(required_argument)
 #   define HAVE_GETOPT_LONG  #   define HAVE_GETOPT_LONG
 #endif  #endif
 #if !defined(__FreeBSD_kernel__)  
 #   define HAVE_ARC4RANDOM  
 #endif  
 #define HAVE_SOCKADDR_SA_LEN  #define HAVE_SOCKADDR_SA_LEN
   
 #elif defined(__APPLE__)  #elif defined(__APPLE__)
 #define HAVE_BSD_NETWORK  #define HAVE_BSD_NETWORK
 #define HAVE_GETOPT_LONG  #define HAVE_GETOPT_LONG
 #define HAVE_ARC4RANDOM  
 #define HAVE_SOCKADDR_SA_LEN  #define HAVE_SOCKADDR_SA_LEN
   #define NO_IPSET
 /* Define before sys/socket.h is included so we get socklen_t */  /* Define before sys/socket.h is included so we get socklen_t */
 #define _BSD_SOCKLEN_T_  #define _BSD_SOCKLEN_T_
 /* Select the RFC_3542 version of the IPv6 socket API. 
    Define before netinet6/in6.h is included. */
 #define __APPLE_USE_RFC_3542
 /* Required for Mojave. */
 #ifndef SOL_TCP
 #  define SOL_TCP IPPROTO_TCP
 #endif
 #define NO_IPSET
 
 #elif defined(__NetBSD__)  #elif defined(__NetBSD__)
 #define HAVE_BSD_NETWORK  #define HAVE_BSD_NETWORK
 #define HAVE_GETOPT_LONG  #define HAVE_GETOPT_LONG
 #undef HAVE_ARC4RANDOM  
 #define HAVE_SOCKADDR_SA_LEN  #define HAVE_SOCKADDR_SA_LEN
   
 #elif defined(__sun) || defined(__sun__)  #elif defined(__sun) || defined(__sun__)
 #define HAVE_SOLARIS_NETWORK  #define HAVE_SOLARIS_NETWORK
 #define HAVE_GETOPT_LONG  #define HAVE_GETOPT_LONG
 #undef HAVE_ARC4RANDOM  
 #undef HAVE_SOCKADDR_SA_LEN  #undef HAVE_SOCKADDR_SA_LEN
 #define ETHER_ADDR_LEN 6   #define ETHER_ADDR_LEN 6 
     
 #endif  #endif
   
 /* Decide if we're going to support IPv6 */  
 /* We assume that systems which don't have IPv6  
    headers don't have ntop and pton either */  
   
 #if defined(INET6_ADDRSTRLEN) && defined(IPV6_V6ONLY)  
 #  define HAVE_IPV6  
 #  define ADDRSTRLEN INET6_ADDRSTRLEN  
 #elif defined(INET_ADDRSTRLEN)  
 #  undef HAVE_IPV6  
 #  define ADDRSTRLEN INET_ADDRSTRLEN  
 #else  
 #  undef HAVE_IPV6  
 #  define ADDRSTRLEN 16 /* 4*3 + 3 dots + NULL */  
 #endif  
   
   
 /* rules to implement compile-time option dependencies and   /* rules to implement compile-time option dependencies and 
    the NO_XXX flags */     the NO_XXX flags */
   
 #ifdef NO_IPV6  
 #undef HAVE_IPV6  
 #endif  
   
 #ifdef NO_TFTP  #ifdef NO_TFTP
 #undef HAVE_TFTP  #undef HAVE_TFTP
 #endif  #endif
Line 304  HAVE_SOCKADDR_SA_LEN Line 324  HAVE_SOCKADDR_SA_LEN
 #undef HAVE_DHCP6  #undef HAVE_DHCP6
 #endif  #endif
   
#if defined(NO_DHCP6) || !defined(HAVE_IPV6)#if defined(NO_DHCP6)
 #undef HAVE_DHCP6  #undef HAVE_DHCP6
 #endif  #endif
   
Line 313  HAVE_SOCKADDR_SA_LEN Line 333  HAVE_SOCKADDR_SA_LEN
 #define HAVE_DHCP  #define HAVE_DHCP
 #endif  #endif
   
#if defined(NO_SCRIPT) || !defined(HAVE_DHCP) || defined(NO_FORK)#if defined(NO_SCRIPT)
 #undef HAVE_SCRIPT  #undef HAVE_SCRIPT
 #undef HAVE_LUASCRIPT  #undef HAVE_LUASCRIPT
 #endif  #endif
Line 327  HAVE_SOCKADDR_SA_LEN Line 347  HAVE_SOCKADDR_SA_LEN
 #undef HAVE_AUTH  #undef HAVE_AUTH
 #endif  #endif
   
#if defined(NO_IPSET) || !defined(HAVE_LINUX_NETWORK)#if defined(NO_IPSET)
 #undef HAVE_IPSET  #undef HAVE_IPSET
 #endif  #endif
   
   #ifdef NO_LOOP
   #undef HAVE_LOOP
   #endif
   
   #ifdef NO_DUMPFILE
   #undef HAVE_DUMPFILE
   #endif
   
   #if defined (HAVE_LINUX_NETWORK) && !defined(NO_INOTIFY)
   #define HAVE_INOTIFY
   #endif
   
 /* Define a string indicating which options are in use.  /* Define a string indicating which options are in use.
   DNSMASQP_COMPILE_OPTS is only defined in dnsmasq.c */   DNSMASQ_COMPILE_OPTS is only defined in dnsmasq.c */
   
 #ifdef DNSMASQ_COMPILE_OPTS  #ifdef DNSMASQ_COMPILE_OPTS
   
 static char *compile_opts =   static char *compile_opts = 
 #ifndef HAVE_IPV6  
 "no-"  
 #endif  
 "IPv6 "  "IPv6 "
 #ifndef HAVE_GETOPT_LONG  #ifndef HAVE_GETOPT_LONG
 "no-"  "no-"
Line 348  static char *compile_opts =  Line 377  static char *compile_opts = 
 #ifdef HAVE_BROKEN_RTC  #ifdef HAVE_BROKEN_RTC
 "no-RTC "  "no-RTC "
 #endif  #endif
 #ifdef NO_FORK  
 "no-MMU "  
 #endif  
 #ifndef HAVE_DBUS  #ifndef HAVE_DBUS
 "no-"  "no-"
 #endif  #endif
 "DBus "  "DBus "
   #ifndef HAVE_UBUS
   "no-"
   #endif
   "UBus "
 #ifndef LOCALEDIR  #ifndef LOCALEDIR
 "no-"  "no-"
 #endif  #endif
 "i18n "  "i18n "
#if !defined(LOCALEDIR) && !defined(HAVE_IDN)#if defined(HAVE_LIBIDN2)
 "IDN2 "
 #else
  #if !defined(HAVE_IDN)
 "no-"  "no-"
#endif  #endif 
"IDN ""IDN " 
 #endif
 #ifndef HAVE_DHCP  #ifndef HAVE_DHCP
 "no-"  "no-"
 #endif  #endif
Line 372  static char *compile_opts =  Line 406  static char *compile_opts = 
      "no-"       "no-"
 #  endif    #  endif  
      "DHCPv6 "       "DHCPv6 "
#  if !defined(HAVE_SCRIPT)#endif
 #if !defined(HAVE_SCRIPT)
      "no-scripts "       "no-scripts "
#  else#else
#    if !defined(HAVE_LUASCRIPT)#  if !defined(HAVE_LUASCRIPT)
       "no-"     "no-"
#    endif 
     "Lua " 
 #  endif  #  endif
        "Lua "
 #endif  #endif
 #ifndef HAVE_TFTP  #ifndef HAVE_TFTP
 "no-"  "no-"
Line 393  static char *compile_opts =  Line 427  static char *compile_opts = 
 "no-"  "no-"
 #endif  #endif
 "ipset "  "ipset "
   #ifndef HAVE_NFTSET
   "no-"
   #endif
   "nftset "
 #ifndef HAVE_AUTH  #ifndef HAVE_AUTH
 "no-"  "no-"
 #endif  #endif
  "auth";"auth "
#if !defined(HAVE_CRYPTOHASH) && !defined(HAVE_DNSSEC)
 "no-"
 #endif  #endif
   "cryptohash "
   #ifndef HAVE_DNSSEC
   "no-"
   #endif
   "DNSSEC "
   #ifdef NO_ID
   "no-ID "
   #endif
   #ifndef HAVE_LOOP
   "no-"
   #endif
   "loop-detect "
   #ifndef HAVE_INOTIFY
   "no-"
   #endif
   "inotify "
   #ifndef HAVE_DUMPFILE
   "no-"
   #endif
   "dumpfile";
   
#endif /* defined(HAVE_DHCP) */
 

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>