]> git.ipfire.org Git - thirdparty/dhcp.git/blobdiff - includes/site.h
Revert last commit
[thirdparty/dhcp.git] / includes / site.h
index b823cb504eba771c1242c08bc2f60b0efb7de02f..2ef69e415e6aa6eb6d3589d3c7228953920de3b6 100644 (file)
 
 /* #define DEBUG_CLASS_MATCHING */
 
+/* Define this if you want to track memory usage for the purpose of
+   noticing memory leaks quickly. */
+
+/* #define DEBUG_MEMORY_LEAKAGE */
+/* #define DEBUG_MEMORY_LEAKAGE_ON_EXIT */
+
+/* Define this if you want exhaustive (and very slow) checking of the
+   malloc pool for corruption. */
+
+/* #define DEBUG_MALLOC_POOL */
+
+/* Define this if you want to see a message every time a lease's state
+   changes. */
+/* #define DEBUG_LEASE_STATE_TRANSITIONS */
+
+/* Define this if you want to maintain a history of the last N operations
+   that changed reference counts on objects.   This can be used to debug
+   cases where an object is dereferenced too often, or not often enough. */
+
+/* #define DEBUG_RC_HISTORY */
+
+/* Define this if you want to see the history every cycle. */
+
+/* #define DEBUG_RC_HISTORY_EXHAUSTIVELY */
+
+/* This is the number of history entries to maintain - by default, 256. */
+
+/* #define RC_HISTORY_MAX 10240 */
+
 /* Define this if you want dhcpd to dump core when a non-fatal memory
    allocation error is detected (i.e., something that would cause a
    memory leak rather than a memory smash). */
 /* Define this if you want debugging output for DHCP failover protocol
    messages. */
 
-#define DEBUG_FAILOVER_MESSAGES
+/* #define DEBUG_FAILOVER_MESSAGES */
+
+/* Define this to include contact messages in failover message debugging.
+   The contact messages are sent once per second, so this can generate a
+   lot of log entries. */
+
+/* #define DEBUG_FAILOVER_CONTACT_MESSAGES */
 
 /* Define this if you want debugging output for DHCP failover protocol
-   lease assignment timing. */
+   event timeout timing. */
+
+/* #define DEBUG_FAILOVER_TIMING */
+
+/* Define this if you want to include contact message timing, which is
+   performed once per second and can generate a lot of log entries. */
+
+/* #define DEBUG_FAILOVER_CONTACT_TIMING */
+
+/* Define this if you want all leases written to the lease file, even if
+   they are free leases that have never been used. */
+
+/* #define DEBUG_DUMP_ALL_LEASES */
+
+/* Define this if you want to see the requests and replies between the
+   DHCP code and the DNS library code. */
+/* #define DEBUG_DNS_UPDATES */
+
+/* Define this if you want to debug the host part of the inform processing */
+/* #define DEBUG_INFORM_HOST */
+
+/* Define this if you want to debug the binary leases (lease_chain) code */
+/* #define DEBUG_BINARY_LEASES */
+
+/* Define this if you want to debug checksum calculations */
+/* #define DEBUG_CHECKSUM */
+
+/* Define this if you want to verbosely debug checksum calculations */
+/* #define DEBUG_CHECKSUM_VERBOSE */
 
-#define DEBUG_FAILOVER_TIMING
 
 /* Define this if you want DHCP failover protocol support in the DHCP
    server. */
 
-#define FAILOVER_PROTOCOL
+/* #define FAILOVER_PROTOCOL */
+
+/* Define this if you want DNS update functionality to be available. */
+
+#define NSUPDATE
+
+/* Define this if you want to enable the DHCP server attempting to
+   find a nameserver to use for DDNS updates. */
+#define DNS_ZONE_LOOKUP
 
 /* Define this if you want the dhcpd.pid file to go somewhere other than
    the default (which varies from system to system, but is usually either
    you don't choose, one will be chosen for you in your system's config
    header.    DON'T MESS WITH THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!! */
 
-/* Define this to use the standard BSD socket API.
+/* Define USE_SOCKETS to use the standard BSD socket API.
 
    On many systems, the BSD socket API does not provide the ability to
    send packets to the 255.255.255.255 broadcast address, which can
 
 /* #define USE_RAW_SOCKETS */
 
+/* Define this to keep the old program name (e.g., "dhcpd" for
+   the DHCP server) in place of the (base) name the program was
+   invoked with. */
+
+/* #define OLD_LOG_NAME */
+
 /* Define this to change the logging facility used by dhcpd. */
 
 /* #define DHCPD_LOG_FACILITY LOG_DAEMON */
 
-/* Define this to support the failover protocol.   This probably won't work
-   right now. */
 
-/* #define FAILOVER_PROTOCOL */
+/* Define this if you want to be able to execute external commands
+   during conditional evaluation. */
+
+/* #define ENABLE_EXECUTE */
+
+/* Define this if you aren't debugging and you want to save memory
+   (potentially a _lot_ of memory) by allocating leases in chunks rather
+   than one at a time. */
+
+#define COMPACT_LEASES
+
+/* Define this if you want to be able to save and playback server operational
+   traces. */
+
+/* #define TRACING */
+
+/* Define this if you want the server to use the previous behavior
+   when determining the DDNS TTL.  If the user has specified a ddns-ttl
+   option that is used to detemine the ttl.  (If the user specifies
+   an option that references the lease structure it is only usable
+   for v4.  In that case v6 will use the default.) Otherwise when
+   defined the defaults are: v4 - 1/2 the lease time,
+   v6 - DEFAULT_DDNS_TTL.  When undefined the defaults are 1/2 the
+   (preferred) lease time for both but with a cap on the maximum. */
+
+/* #define USE_OLD_DDNS_TTL */
+
+/* Define this if you want a DHCPv6 server to send replies to the
+   source port of the message it received.  This is useful for testing
+   but is only included for backwards compatibility. */
+/* #define REPLY_TO_SOURCE_PORT */
+
+/* Define this if you want to enable strict checks in DNS Updates mechanism.
+   Do not enable this unless are DHCP developer. */
+/* #define DNS_UPDATES_MEMORY_CHECKS */
+
+/* Define this if you want to allow domain list in domain-name option.
+   RFC2132 does not allow that behavior, but it is somewhat used due
+   to historic reasons. Note that it may be removed some time in the
+   future. */
+
+#define ACCEPT_LIST_IN_DOMAIN_NAME
+
+/* In previous versions of the code when the server generates a NAK
+   it doesn't attempt to determine if the configuration included a
+   server ID for that client.  Defining this option causes the server
+   to make a modest effort to determine the server id when building
+   a NAK as a response.  This effort will only check the first subnet
+   and pool associated with a shared subnet and will not check for
+   host declarations.  With some configurations the server id
+   computed for a NAK may not match that computed for an ACK. */
+
+#define SERVER_ID_FOR_NAK
+
+/* NOTE:  SERVER_ID_CHECK switch has been removed. Enabling server id
+ * checking is now done via the server-id-check statement. Please refer
+ * to the dhcpd manpage (server/dhcpd.conf.5) */
+
+/* Include code to do a slow transition of DDNS records
+   from the interim to the standard version, or backwards.
+   The normal code will handle removing an old style record
+   when the name on a lease is being changed.  This adds code
+   to handle the case where the name isn't being changed but
+   the old record should be removed to allow a new record to
+   be added.  This is the slow transition as leases are only
+   updated as a client touches them.  A fast transition would
+   entail updating all the records at once, probably at start
+   up. */
+#define DDNS_UPDATE_SLOW_TRANSITION
+
+/* Define the default prefix length passed from the client to
+   the script when modifying an IPv6 IA_NA or IA_TA address.
+   The two most useful values are 128 which is what the current
+   specifications call for or 64 which is what has been used in
+   the past.  For most OSes 128 will indicate that the address
+   is a host address and doesn't include any on-link information.
+   64 indicates that the first 64 bits are the subnet or on-link
+   prefix. */
+#define DHCLIENT_DEFAULT_PREFIX_LEN 128
+
+/* Enable the gentle shutdown signal handling.  Currently this
+   means that on SIGINT or SIGTERM a client will release its
+   address and a server in a failover pair will go through
+   partner down.  Both of which can be undesireable in some
+   situations.  We plan to revisit this feature and may
+   make non-backwards compatible changes including the
+   removal of this define.  Use at your own risk.  */
+/* #define ENABLE_GENTLE_SHUTDOWN */
+
+/* Include old error codes.  This is provided in case you
+   are building an external program similar to omshell for
+   which you need the ISC_R_* error codes.  You should switch
+   to DHCP_R_* error codes for those that have been defined
+   (see includes/omapip/result.h).  The extra defines and
+   this option will be removed at some time. */
+/* #define INCLUDE_OLD_DHCP_ISC_ERROR_CODES */
+
+/* Use the older factors for scoring a lease in the v6 client code.
+   The new factors cause the client to choose more bindings (IAs)
+   over more addresse within a binding.  Most uses will get a
+   single address in a single binding and only get an adverstise
+   from a single server and there won't be a difference. */
+/* #define USE_ORIGINAL_CLIENT_LEASE_WEIGHTS */
+
+/* Print out specific error messages for dhclient, dhcpd
+   or dhcrelay when processing an incorrect command line.  This
+   is included for those that might require the exact error
+   messages, as we don't expect that is necessary it is on by
+   default. */
+#define PRINT_SPECIFIC_CL_ERRORS
+
+/* Limit the value of a file descriptor the serve will use
+   when accepting a connecting request.  This can be used to
+   limit the number of TCP connections that the server will
+   allow at one time.  A value of 0 means there is no limit.*/
+#define MAX_FD_VALUE 200
+
+/* Enable EUI-64 Address assignment policy.  Instructs the server
+ * to use EUI-64 addressing instead of dynamic address allocation
+ * for IA_NA pools, if the parameter use-eui-64 is true for the
+ * pool.  Can be at all scopes down to the pool level.  Not
+ * supported by the configure script. */
+/* #define EUI_64 */
+
+/* Enable enforcement of the require option statement as documented
+ * in man page.  Instructs the dhclient, when in -6 mode, to discard
+ * offered leases that do not contain all options specified as required
+ * in the client's configuration file. The client already enforces this
+ * in -4 mode. */
+#define ENFORCE_DHCPV6_CLIENT_REQUIRE
+
+/* Enable the invocation of the client script with a FAIL state code
+ * by dhclient when running in one-try mode (-T) and the attempt to
+ * obtain the desired lease(s) fails. Applies to IPv4 mode only. */
+/* #define CALL_SCRIPT_ON_ONETRY_FAIL */
+
+/* Include definitions for various options.  In general these
+   should be left as is, but if you have already defined one
+   of these and prefer your definition you can comment the
+   RFC define out to avoid conflicts */
+#define RFC2563_OPTIONS
+#define RFC2937_OPTIONS
+#define RFC4776_OPTIONS
+#define RFC4578_OPTIONS
+#define RFC4833_OPTIONS
+#define RFC4994_OPTIONS
+#define RFC5071_OPTIONS
+#define RFC5192_OPTIONS
+#define RFC5223_OPTIONS
+#define RFC5417_OPTIONS
+#define RFC5460_OPTIONS
+#define RFC5859_OPTIONS
+#define RFC5969_OPTIONS
+#define RFC5970_OPTIONS
+#define RFC5986_OPTIONS
+#define RFC6011_OPTIONS
+#define RFC6011_OPTIONS
+#define RFC6153_OPTIONS
+#define RFC6334_OPTIONS
+#define RFC6440_OPTIONS
+#define RFC6731_OPTIONS
+#define RFC6939_OPTIONS
+#define RFC6977_OPTIONS
+#define RFC7083_OPTIONS
+#define RFC7341_OPTIONS
+#define RFC7618_OPTIONS
+#define RFC7710_OPTIONS