]>
Commit | Line | Data |
---|---|---|
89eb0af4 TL |
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 | ||
dac426fa | 29 | /* Define this if you want to see dumps of expression evaluation. */ |
89eb0af4 | 30 | |
dac426fa TL |
31 | /* #define DEBUG_EXPRESSIONS */ |
32 | ||
33 | /* Define this if you want to see dumps of find_lease() in action. */ | |
34 | ||
98200ed9 | 35 | /* #define DEBUG_FIND_LEASE */ |
dac426fa TL |
36 | |
37 | /* Define this if you want to see dumps of parsed expressions. */ | |
38 | ||
39 | /* #define DEBUG_EXPRESSION_PARSE */ | |
89eb0af4 | 40 | |
b6cbc3fe TL |
41 | /* Define this if you want to watch the class matching process. */ |
42 | ||
43 | /* #define DEBUG_CLASS_MATCHING */ | |
44 | ||
5092dd06 TL |
45 | /* Define this if you want to track memory usage for the purpose of |
46 | noticing memory leaks quickly. */ | |
47 | ||
9da31b16 | 48 | /* #define DEBUG_MEMORY_LEAKAGE */ |
95fd7038 | 49 | /* #define DEBUG_MEMORY_LEAKAGE_ON_EXIT */ |
5092dd06 TL |
50 | |
51 | /* Define this if you want exhaustive (and very slow) checking of the | |
52 | malloc pool for corruption. */ | |
53 | ||
0a1f401d | 54 | /* #define DEBUG_MALLOC_POOL */ |
5092dd06 | 55 | |
9c1a8943 TL |
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 | ||
5092dd06 TL |
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 | ||
64928ad0 | 64 | /* #define DEBUG_RC_HISTORY */ |
5092dd06 | 65 | |
88c32c8c TL |
66 | /* Define this if you want to see the history every cycle. */ |
67 | ||
68 | /* #define DEBUG_RC_HISTORY_EXHAUSTIVELY */ | |
8c8e27c5 | 69 | |
5092dd06 TL |
70 | /* This is the number of history entries to maintain - by default, 256. */ |
71 | ||
82b2e770 | 72 | /* #define RC_HISTORY_MAX 10240 */ |
5092dd06 | 73 | |
ea72047e TL |
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 | ||
0a1f401d | 78 | /* #define POINTER_DEBUG */ |
ea72047e | 79 | |
03f54ca8 TL |
80 | /* Define this if you want debugging output for DHCP failover protocol |
81 | messages. */ | |
82 | ||
cf06713c | 83 | /* #define DEBUG_FAILOVER_MESSAGES */ |
03f54ca8 | 84 | |
1387545f DH |
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 | ||
03f54ca8 | 91 | /* Define this if you want debugging output for DHCP failover protocol |
1387545f | 92 | event timeout timing. */ |
03f54ca8 | 93 | |
561f93ba | 94 | /* #define DEBUG_FAILOVER_TIMING */ |
03f54ca8 | 95 | |
1387545f DH |
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 | ||
98311e4b DH |
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 | ||
590298e7 SR |
106 | /* Define this if you want to see the requests and replies between the |
107 | DHCP code and the DNS library code. */ | |
590298e7 SR |
108 | /* #define DEBUG_DNS_UPDATES */ |
109 | ||
4d079f0e SR |
110 | /* Define this if you want to debug the host part of the inform processing */ |
111 | /* #define DEBUG_INFORM_HOST */ | |
112 | ||
3933e2aa SR |
113 | /* Define this if you want to debug the binary leases (lease_chain) code */ |
114 | /* #define DEBUG_BINARY_LEASES */ | |
115 | ||
63ccfbb0 MS |
116 | /* Define this if you want to debug checksum calculations */ |
117 | /* #define DEBUG_CHECKSUM */ | |
118 | ||
119 | /* Define this if you want to verbosely debug checksum calculations */ | |
120 | /* #define DEBUG_CHECKSUM_VERBOSE */ | |
121 | ||
122 | ||
03f54ca8 TL |
123 | /* Define this if you want DHCP failover protocol support in the DHCP |
124 | server. */ | |
125 | ||
66cebfcb | 126 | /* #define FAILOVER_PROTOCOL */ |
03f54ca8 | 127 | |
64928ad0 TL |
128 | /* Define this if you want DNS update functionality to be available. */ |
129 | ||
130 | #define NSUPDATE | |
131 | ||
e54ff84f SR |
132 | /* Define this if you want to enable the DHCP server attempting to |
133 | find a nameserver to use for DDNS updates. */ | |
134 | #define DNS_ZONE_LOOKUP | |
135 | ||
89eb0af4 TL |
136 | /* Define this if you want the dhcpd.pid file to go somewhere other than |
137 | the default (which varies from system to system, but is usually either | |
138 | /etc or /var/run. */ | |
139 | ||
140 | /* #define _PATH_DHCPD_PID "/var/run/dhcpd.pid" */ | |
141 | ||
142 | /* Define this if you want the dhcpd.leases file (the dynamic lease database) | |
143 | to go somewhere other than the default location, which is normally | |
144 | /etc/dhcpd.leases. */ | |
145 | ||
146 | /* #define _PATH_DHCPD_DB "/etc/dhcpd.leases" */ | |
147 | ||
148 | /* Define this if you want the dhcpd.conf file to go somewhere other than | |
149 | the default location. By default, it goes in /etc/dhcpd.conf. */ | |
150 | ||
151 | /* #define _PATH_DHCPD_CONF "/etc/dhcpd.conf" */ | |
152 | ||
153 | /* Network API definitions. You do not need to choose one of these - if | |
154 | you don't choose, one will be chosen for you in your system's config | |
57f8192e | 155 | header. DON'T MESS WITH THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!! */ |
89eb0af4 | 156 | |
a57df74a | 157 | /* Define USE_SOCKETS to use the standard BSD socket API. |
89eb0af4 TL |
158 | |
159 | On many systems, the BSD socket API does not provide the ability to | |
160 | send packets to the 255.255.255.255 broadcast address, which can | |
161 | prevent some clients (e.g., Win95) from seeing replies. This is | |
162 | not a problem on Solaris. | |
163 | ||
164 | In addition, the BSD socket API will not work when more than one | |
165 | network interface is configured on the server. | |
166 | ||
167 | However, the BSD socket API is about as efficient as you can get, so if | |
168 | the aforementioned problems do not matter to you, or if no other | |
169 | API is supported for your system, you may want to go with it. */ | |
170 | ||
00a92910 | 171 | /* #define USE_SOCKETS */ |
89eb0af4 TL |
172 | |
173 | /* Define this to use the Sun Streams NIT API. | |
174 | ||
175 | The Sun Streams NIT API is only supported on SunOS 4.x releases. */ | |
176 | ||
177 | /* #define USE_NIT */ | |
178 | ||
179 | /* Define this to use the Berkeley Packet Filter API. | |
180 | ||
181 | The BPF API is available on all 4.4-BSD derivatives, including | |
182 | NetBSD, FreeBSD and BSDI's BSD/OS. It's also available on | |
183 | DEC Alpha OSF/1 in a compatibility mode supported by the Alpha OSF/1 | |
184 | packetfilter interface. */ | |
185 | ||
186 | /* #define USE_BPF */ | |
187 | ||
188 | /* Define this to use the raw socket API. | |
189 | ||
190 | The raw socket API is provided on many BSD derivatives, and provides | |
191 | a way to send out raw IP packets. It is only supported for sending | |
192 | packets - packets must be received with the regular socket API. | |
193 | This code is experimental - I've never gotten it to actually transmit | |
194 | a packet to the 255.255.255.255 broadcast address - so use it at your | |
195 | own risk. */ | |
196 | ||
197 | /* #define USE_RAW_SOCKETS */ | |
7acd8753 FD |
198 | |
199 | /* Define this to keep the old program name (e.g., "dhcpd" for | |
200 | the DHCP server) in place of the (base) name the program was | |
201 | invoked with. */ | |
202 | ||
203 | /* #define OLD_LOG_NAME */ | |
43a18457 TL |
204 | |
205 | /* Define this to change the logging facility used by dhcpd. */ | |
206 | ||
207 | /* #define DHCPD_LOG_FACILITY LOG_DAEMON */ | |
f0efccee | 208 | |
b543fea9 DH |
209 | |
210 | /* Define this if you want to be able to execute external commands | |
211 | during conditional evaluation. */ | |
212 | ||
66cebfcb | 213 | /* #define ENABLE_EXECUTE */ |
b543fea9 | 214 | |
f0efccee TL |
215 | /* Define this if you aren't debugging and you want to save memory |
216 | (potentially a _lot_ of memory) by allocating leases in chunks rather | |
217 | than one at a time. */ | |
218 | ||
219 | #define COMPACT_LEASES | |
82b2e770 TL |
220 | |
221 | /* Define this if you want to be able to save and playback server operational | |
222 | traces. */ | |
223 | ||
66cebfcb | 224 | /* #define TRACING */ |
2b58b865 SR |
225 | |
226 | /* Define this if you want the server to use the previous behavior | |
227 | when determining the DDNS TTL. If the user has specified a ddns-ttl | |
228 | option that is used to detemine the ttl. (If the user specifies | |
229 | an option that references the lease structure it is only usable | |
230 | for v4. In that case v6 will use the default.) Otherwise when | |
231 | defined the defaults are: v4 - 1/2 the lease time, | |
232 | v6 - DEFAULT_DDNS_TTL. When undefined the defaults are 1/2 the | |
233 | (preferred) lease time for both but with a cap on the maximum. */ | |
234 | ||
235 | /* #define USE_OLD_DDNS_TTL */ | |
236 | ||
fb30f3fc SR |
237 | /* Define this if you want a DHCPv6 server to send replies to the |
238 | source port of the message it received. This is useful for testing | |
239 | but is only included for backwards compatibility. */ | |
240 | /* #define REPLY_TO_SOURCE_PORT */ | |
d15aa964 | 241 | |
beaed73f SR |
242 | /* Define this if you want to enable strict checks in DNS Updates mechanism. |
243 | Do not enable this unless are DHCP developer. */ | |
244 | /* #define DNS_UPDATES_MEMORY_CHECKS */ | |
245 | ||
d15aa964 TM |
246 | /* Define this if you want to allow domain list in domain-name option. |
247 | RFC2132 does not allow that behavior, but it is somewhat used due | |
248 | to historic reasons. Note that it may be removed some time in the | |
249 | future. */ | |
250 | ||
251 | #define ACCEPT_LIST_IN_DOMAIN_NAME | |
d19fa5a1 | 252 | |
d56788df SR |
253 | /* In previous versions of the code when the server generates a NAK |
254 | it doesn't attempt to determine if the configuration included a | |
255 | server ID for that client. Defining this option causes the server | |
256 | to make a modest effort to determine the server id when building | |
257 | a NAK as a response. This effort will only check the first subnet | |
258 | and pool associated with a shared subnet and will not check for | |
259 | host declarations. With some configurations the server id | |
260 | computed for a NAK may not match that computed for an ACK. */ | |
261 | ||
262 | #define SERVER_ID_FOR_NAK | |
f8380d3f | 263 | |
7116a34f TM |
264 | /* NOTE: SERVER_ID_CHECK switch has been removed. Enabling server id |
265 | * checking is now done via the server-id-check statement. Please refer | |
266 | * to the dhcpd manpage (server/dhcpd.conf.5) */ | |
d7d9c0c7 SR |
267 | |
268 | /* Include code to do a slow transition of DDNS records | |
269 | from the interim to the standard version, or backwards. | |
270 | The normal code will handle removing an old style record | |
271 | when the name on a lease is being changed. This adds code | |
272 | to handle the case where the name isn't being changed but | |
273 | the old record should be removed to allow a new record to | |
274 | be added. This is the slow transition as leases are only | |
275 | updated as a client touches them. A fast transition would | |
276 | entail updating all the records at once, probably at start | |
277 | up. */ | |
278 | #define DDNS_UPDATE_SLOW_TRANSITION | |
9279a3d7 SR |
279 | |
280 | /* Define the default prefix length passed from the client to | |
281 | the script when modifying an IPv6 IA_NA or IA_TA address. | |
282 | The two most useful values are 128 which is what the current | |
283 | specifications call for or 64 which is what has been used in | |
284 | the past. For most OSes 128 will indicate that the address | |
285 | is a host address and doesn't include any on-link information. | |
286 | 64 indicates that the first 64 bits are the subnet or on-link | |
287 | prefix. */ | |
140612c8 | 288 | #define DHCLIENT_DEFAULT_PREFIX_LEN 128 |
9279a3d7 | 289 | |
e9326fd0 SR |
290 | /* Enable the gentle shutdown signal handling. Currently this |
291 | means that on SIGINT or SIGTERM a client will release its | |
292 | address and a server in a failover pair will go through | |
293 | partner down. Both of which can be undesireable in some | |
294 | situations. We plan to revisit this feature and may | |
295 | make non-backwards compatible changes including the | |
296 | removal of this define. Use at your own risk. */ | |
297 | /* #define ENABLE_GENTLE_SHUTDOWN */ | |
298 | ||
1dceab6c SR |
299 | /* Include old error codes. This is provided in case you |
300 | are building an external program similar to omshell for | |
301 | which you need the ISC_R_* error codes. You should switch | |
302 | to DHCP_R_* error codes for those that have been defined | |
303 | (see includes/omapip/result.h). The extra defines and | |
304 | this option will be removed at some time. */ | |
305 | /* #define INCLUDE_OLD_DHCP_ISC_ERROR_CODES */ | |
306 | ||
c88dfebd SR |
307 | /* Use the older factors for scoring a lease in the v6 client code. |
308 | The new factors cause the client to choose more bindings (IAs) | |
309 | over more addresse within a binding. Most uses will get a | |
310 | single address in a single binding and only get an adverstise | |
311 | from a single server and there won't be a difference. */ | |
312 | /* #define USE_ORIGINAL_CLIENT_LEASE_WEIGHTS */ | |
313 | ||
b2cb745b SR |
314 | /* Print out specific error messages for dhclient, dhcpd |
315 | or dhcrelay when processing an incorrect command line. This | |
316 | is included for those that might require the exact error | |
317 | messages, as we don't expect that is necessary it is on by | |
318 | default. */ | |
319 | #define PRINT_SPECIFIC_CL_ERRORS | |
320 | ||
0b209ea5 SR |
321 | /* Limit the value of a file descriptor the serve will use |
322 | when accepting a connecting request. This can be used to | |
323 | limit the number of TCP connections that the server will | |
324 | allow at one time. A value of 0 means there is no limit.*/ | |
325 | #define MAX_FD_VALUE 200 | |
326 | ||
417b7b4a TM |
327 | /* Enable EUI-64 Address assignment policy. Instructs the server |
328 | * to use EUI-64 addressing instead of dynamic address allocation | |
329 | * for IA_NA pools, if the parameter use-eui-64 is true for the | |
330 | * pool. Can be at all scopes down to the pool level. Not | |
331 | * supported by the configure script. */ | |
332 | /* #define EUI_64 */ | |
333 | ||
1d7fceeb | 334 | /* Enable enforcement of the require option statement as documented |
335 | * in man page. Instructs the dhclient, when in -6 mode, to discard | |
336 | * offered leases that do not contain all options specified as required | |
337 | * in the client's configuration file. The client already enforces this | |
338 | * in -4 mode. */ | |
339 | #define ENFORCE_DHCPV6_CLIENT_REQUIRE | |
340 | ||
5c03ed37 | 341 | /* Enable the invocation of the client script with a FAIL state code |
342 | * by dhclient when running in one-try mode (-T) and the attempt to | |
343 | * obtain the desired lease(s) fails. Applies to IPv4 mode only. */ | |
344 | /* #define CALL_SCRIPT_ON_ONETRY_FAIL */ | |
345 | ||
bc30c84e SR |
346 | /* Include definitions for various options. In general these |
347 | should be left as is, but if you have already defined one | |
efd3b1e2 | 348 | of these and prefer your definition you can comment the |
bc30c84e | 349 | RFC define out to avoid conflicts */ |
1bfdeaae | 350 | #define RFC2563_OPTIONS |
ccc2a367 | 351 | #define RFC2937_OPTIONS |
bc30c84e | 352 | #define RFC4776_OPTIONS |
efd3b1e2 | 353 | #define RFC4578_OPTIONS |
bc30c84e SR |
354 | #define RFC4833_OPTIONS |
355 | #define RFC4994_OPTIONS | |
efd3b1e2 | 356 | #define RFC5071_OPTIONS |
bc30c84e SR |
357 | #define RFC5192_OPTIONS |
358 | #define RFC5223_OPTIONS | |
359 | #define RFC5417_OPTIONS | |
360 | #define RFC5460_OPTIONS | |
efd3b1e2 | 361 | #define RFC5859_OPTIONS |
ccc2a367 | 362 | #define RFC5969_OPTIONS |
bc30c84e SR |
363 | #define RFC5970_OPTIONS |
364 | #define RFC5986_OPTIONS | |
365 | #define RFC6011_OPTIONS | |
1bfdeaae SR |
366 | #define RFC6011_OPTIONS |
367 | #define RFC6153_OPTIONS | |
bc30c84e SR |
368 | #define RFC6334_OPTIONS |
369 | #define RFC6440_OPTIONS | |
370 | #define RFC6731_OPTIONS | |
371 | #define RFC6939_OPTIONS | |
372 | #define RFC6977_OPTIONS | |
373 | #define RFC7083_OPTIONS | |
785c1a51 | 374 | #define RFC7341_OPTIONS |
1bfdeaae SR |
375 | #define RFC7618_OPTIONS |
376 | #define RFC7710_OPTIONS | |
25f124c8 | 377 | #define RFC8925_OPTIONS |