"Inital commit to Gerrit"
[profile/ivi/dhcp.git] / includes / site.h
1 /* Site-specific definitions.
2
3    For supported systems, you shouldn't need to make any changes here.
4    However, you may want to, in order to deal with site-specific
5    differences. */
6
7 /* Add any site-specific definitions and inclusions here... */
8
9 /* #include <site-foo-bar.h> */
10 /* #define SITE_FOOBAR */
11
12 /* Define this if you don't want dhcpd to run as a daemon and do want
13    to see all its output printed to stdout instead of being logged via
14    syslog().   This also makes dhcpd use the dhcpd.conf in its working
15    directory and write the dhcpd.leases file there. */
16
17 /* #define DEBUG */
18
19 /* Define this to see what the parser is parsing.   You probably don't
20    want to see this. */
21
22 /* #define DEBUG_TOKENS */
23
24 /* Define this to see dumps of incoming and outgoing packets.    This
25    slows things down quite a bit... */
26
27 /* #define DEBUG_PACKET */
28
29 /* Define this if you want to see dumps of expression evaluation. */
30
31 /* #define DEBUG_EXPRESSIONS */
32
33 /* Define this if you want to see dumps of find_lease() in action. */
34
35 /* #define DEBUG_FIND_LEASE */
36
37 /* Define this if you want to see dumps of parsed expressions. */
38
39 /* #define DEBUG_EXPRESSION_PARSE */
40
41 /* Define this if you want to watch the class matching process. */
42
43 /* #define DEBUG_CLASS_MATCHING */
44
45 /* Define this if you want to track memory usage for the purpose of
46    noticing memory leaks quickly. */
47
48 /* #define DEBUG_MEMORY_LEAKAGE */
49 /* #define DEBUG_MEMORY_LEAKAGE_ON_EXIT */
50
51 /* Define this if you want exhaustive (and very slow) checking of the
52    malloc pool for corruption. */
53
54 /* #define DEBUG_MALLOC_POOL */
55
56 /* Define this if you want to see a message every time a lease's state
57    changes. */
58 /* #define DEBUG_LEASE_STATE_TRANSITIONS */
59
60 /* Define this if you want to maintain a history of the last N operations
61    that changed reference counts on objects.   This can be used to debug
62    cases where an object is dereferenced too often, or not often enough. */
63
64 /* #define DEBUG_RC_HISTORY */
65
66 /* Define this if you want to see the history every cycle. */
67
68 /* #define DEBUG_RC_HISTORY_EXHAUSTIVELY */
69
70 /* This is the number of history entries to maintain - by default, 256. */
71
72 /* #define RC_HISTORY_MAX 10240 */
73
74 /* Define this if you want dhcpd to dump core when a non-fatal memory
75    allocation error is detected (i.e., something that would cause a
76    memory leak rather than a memory smash). */
77
78 /* #define POINTER_DEBUG */
79
80 /* Define this if you want debugging output for DHCP failover protocol
81    messages. */
82
83 /* #define DEBUG_FAILOVER_MESSAGES */
84
85 /* Define this to include contact messages in failover message debugging.
86    The contact messages are sent once per second, so this can generate a
87    lot of log entries. */
88
89 /* #define DEBUG_FAILOVER_CONTACT_MESSAGES */
90
91 /* Define this if you want debugging output for DHCP failover protocol
92    event timeout timing. */
93
94 /* #define DEBUG_FAILOVER_TIMING */
95
96 /* Define this if you want to include contact message timing, which is
97    performed once per second and can generate a lot of log entries. */
98
99 /* #define DEBUG_FAILOVER_CONTACT_TIMING */
100
101 /* Define this if you want all leases written to the lease file, even if
102    they are free leases that have never been used. */
103
104 /* #define DEBUG_DUMP_ALL_LEASES */
105
106 /* Define this if you want to see the requests and replies between the
107    DHCP code and the DNS library code. */
108
109 /* #define DEBUG_DNS_UPDATES */
110
111 /* Define this if you want DHCP failover protocol support in the DHCP
112    server. */
113
114 /* #define FAILOVER_PROTOCOL */
115
116 /* Define this if you want DNS update functionality to be available. */
117
118 #define NSUPDATE
119
120 /* Define this if you want the dhcpd.pid file to go somewhere other than
121    the default (which varies from system to system, but is usually either
122    /etc or /var/run. */
123
124 /* #define _PATH_DHCPD_PID      "/var/run/dhcpd.pid" */
125
126 /* Define this if you want the dhcpd.leases file (the dynamic lease database)
127    to go somewhere other than the default location, which is normally
128    /etc/dhcpd.leases. */
129
130 /* #define _PATH_DHCPD_DB       "/etc/dhcpd.leases" */
131
132 /* Define this if you want the dhcpd.conf file to go somewhere other than
133    the default location.   By default, it goes in /etc/dhcpd.conf. */
134
135 /* #define _PATH_DHCPD_CONF     "/etc/dhcpd.conf" */
136
137 /* Network API definitions.   You do not need to choose one of these - if
138    you don't choose, one will be chosen for you in your system's config
139    header.    DON'T MESS WITH THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!! */
140
141 /* Define USE_SOCKETS to use the standard BSD socket API.
142
143    On many systems, the BSD socket API does not provide the ability to
144    send packets to the 255.255.255.255 broadcast address, which can
145    prevent some clients (e.g., Win95) from seeing replies.   This is
146    not a problem on Solaris.
147
148    In addition, the BSD socket API will not work when more than one
149    network interface is configured on the server.
150
151    However, the BSD socket API is about as efficient as you can get, so if
152    the aforementioned problems do not matter to you, or if no other
153    API is supported for your system, you may want to go with it. */
154
155 /* #define USE_SOCKETS */
156
157 /* Define this to use the Sun Streams NIT API.
158
159    The Sun Streams NIT API is only supported on SunOS 4.x releases. */
160
161 /* #define USE_NIT */
162
163 /* Define this to use the Berkeley Packet Filter API.
164
165    The BPF API is available on all 4.4-BSD derivatives, including
166    NetBSD, FreeBSD and BSDI's BSD/OS.   It's also available on
167    DEC Alpha OSF/1 in a compatibility mode supported by the Alpha OSF/1
168    packetfilter interface. */
169
170 /* #define USE_BPF */
171
172 /* Define this to use the raw socket API.
173
174    The raw socket API is provided on many BSD derivatives, and provides
175    a way to send out raw IP packets.   It is only supported for sending
176    packets - packets must be received with the regular socket API.
177    This code is experimental - I've never gotten it to actually transmit
178    a packet to the 255.255.255.255 broadcast address - so use it at your
179    own risk. */
180
181 /* #define USE_RAW_SOCKETS */
182
183 /* Define this to change the logging facility used by dhcpd. */
184
185 /* #define DHCPD_LOG_FACILITY LOG_DAEMON */
186
187
188 /* Define this if you want to be able to execute external commands
189    during conditional evaluation. */
190
191 /* #define ENABLE_EXECUTE */
192
193 /* Define this if you aren't debugging and you want to save memory
194    (potentially a _lot_ of memory) by allocating leases in chunks rather
195    than one at a time. */
196
197 #define COMPACT_LEASES
198
199 /* Define this if you want to be able to save and playback server operational
200    traces. */
201
202 /* #define TRACING */
203
204 /* Define this if you want the server to use the previous behavior
205    when determining the DDNS TTL.  If the user has specified a ddns-ttl
206    option that is used to detemine the ttl.  (If the user specifies
207    an option that references the lease structure it is only usable
208    for v4.  In that case v6 will use the default.) Otherwise when
209    defined the defaults are: v4 - 1/2 the lease time,
210    v6 - DEFAULT_DDNS_TTL.  When undefined the defaults are 1/2 the
211    (preferred) lease time for both but with a cap on the maximum. */
212
213 /* #define USE_OLD_DDNS_TTL */
214
215 /* Define this if you want a DHCPv6 server to send replies to the
216    source port of the message it received.  This is useful for testing
217    but is only included for backwards compatibility. */
218 /* #define REPLY_TO_SOURCE_PORT */
219
220 /* Define this if you want to enable strict checks in DNS Updates mechanism.
221    Do not enable this unless are DHCP developer. */
222 /* #define DNS_UPDATES_MEMORY_CHECKS */
223
224 /* Define this if you want to allow domain list in domain-name option.
225    RFC2132 does not allow that behavior, but it is somewhat used due
226    to historic reasons. Note that it may be removed some time in the
227    future. */
228
229 #define ACCEPT_LIST_IN_DOMAIN_NAME