]>
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. */ | |
108 | ||
109 | /* #define DEBUG_DNS_UPDATES */ | |
110 | ||
4d079f0e SR |
111 | /* Define this if you want to debug the host part of the inform processing */ |
112 | /* #define DEBUG_INFORM_HOST */ | |
113 | ||
3933e2aa SR |
114 | /* Define this if you want to debug the binary leases (lease_chain) code */ |
115 | /* #define DEBUG_BINARY_LEASES */ | |
116 | ||
03f54ca8 TL |
117 | /* Define this if you want DHCP failover protocol support in the DHCP |
118 | server. */ | |
119 | ||
66cebfcb | 120 | /* #define FAILOVER_PROTOCOL */ |
03f54ca8 | 121 | |
64928ad0 TL |
122 | /* Define this if you want DNS update functionality to be available. */ |
123 | ||
124 | #define NSUPDATE | |
125 | ||
e54ff84f SR |
126 | /* Define this if you want to enable the DHCP server attempting to |
127 | find a nameserver to use for DDNS updates. */ | |
128 | #define DNS_ZONE_LOOKUP | |
129 | ||
89eb0af4 TL |
130 | /* Define this if you want the dhcpd.pid file to go somewhere other than |
131 | the default (which varies from system to system, but is usually either | |
132 | /etc or /var/run. */ | |
133 | ||
134 | /* #define _PATH_DHCPD_PID "/var/run/dhcpd.pid" */ | |
135 | ||
136 | /* Define this if you want the dhcpd.leases file (the dynamic lease database) | |
137 | to go somewhere other than the default location, which is normally | |
138 | /etc/dhcpd.leases. */ | |
139 | ||
140 | /* #define _PATH_DHCPD_DB "/etc/dhcpd.leases" */ | |
141 | ||
142 | /* Define this if you want the dhcpd.conf file to go somewhere other than | |
143 | the default location. By default, it goes in /etc/dhcpd.conf. */ | |
144 | ||
145 | /* #define _PATH_DHCPD_CONF "/etc/dhcpd.conf" */ | |
146 | ||
147 | /* Network API definitions. You do not need to choose one of these - if | |
148 | you don't choose, one will be chosen for you in your system's config | |
57f8192e | 149 | header. DON'T MESS WITH THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!! */ |
89eb0af4 | 150 | |
a57df74a | 151 | /* Define USE_SOCKETS to use the standard BSD socket API. |
89eb0af4 TL |
152 | |
153 | On many systems, the BSD socket API does not provide the ability to | |
154 | send packets to the 255.255.255.255 broadcast address, which can | |
155 | prevent some clients (e.g., Win95) from seeing replies. This is | |
156 | not a problem on Solaris. | |
157 | ||
158 | In addition, the BSD socket API will not work when more than one | |
159 | network interface is configured on the server. | |
160 | ||
161 | However, the BSD socket API is about as efficient as you can get, so if | |
162 | the aforementioned problems do not matter to you, or if no other | |
163 | API is supported for your system, you may want to go with it. */ | |
164 | ||
00a92910 | 165 | /* #define USE_SOCKETS */ |
89eb0af4 TL |
166 | |
167 | /* Define this to use the Sun Streams NIT API. | |
168 | ||
169 | The Sun Streams NIT API is only supported on SunOS 4.x releases. */ | |
170 | ||
171 | /* #define USE_NIT */ | |
172 | ||
173 | /* Define this to use the Berkeley Packet Filter API. | |
174 | ||
175 | The BPF API is available on all 4.4-BSD derivatives, including | |
176 | NetBSD, FreeBSD and BSDI's BSD/OS. It's also available on | |
177 | DEC Alpha OSF/1 in a compatibility mode supported by the Alpha OSF/1 | |
178 | packetfilter interface. */ | |
179 | ||
180 | /* #define USE_BPF */ | |
181 | ||
182 | /* Define this to use the raw socket API. | |
183 | ||
184 | The raw socket API is provided on many BSD derivatives, and provides | |
185 | a way to send out raw IP packets. It is only supported for sending | |
186 | packets - packets must be received with the regular socket API. | |
187 | This code is experimental - I've never gotten it to actually transmit | |
188 | a packet to the 255.255.255.255 broadcast address - so use it at your | |
189 | own risk. */ | |
190 | ||
191 | /* #define USE_RAW_SOCKETS */ | |
7acd8753 FD |
192 | |
193 | /* Define this to keep the old program name (e.g., "dhcpd" for | |
194 | the DHCP server) in place of the (base) name the program was | |
195 | invoked with. */ | |
196 | ||
197 | /* #define OLD_LOG_NAME */ | |
43a18457 TL |
198 | |
199 | /* Define this to change the logging facility used by dhcpd. */ | |
200 | ||
201 | /* #define DHCPD_LOG_FACILITY LOG_DAEMON */ | |
f0efccee | 202 | |
b543fea9 DH |
203 | |
204 | /* Define this if you want to be able to execute external commands | |
205 | during conditional evaluation. */ | |
206 | ||
66cebfcb | 207 | /* #define ENABLE_EXECUTE */ |
b543fea9 | 208 | |
f0efccee TL |
209 | /* Define this if you aren't debugging and you want to save memory |
210 | (potentially a _lot_ of memory) by allocating leases in chunks rather | |
211 | than one at a time. */ | |
212 | ||
213 | #define COMPACT_LEASES | |
82b2e770 TL |
214 | |
215 | /* Define this if you want to be able to save and playback server operational | |
216 | traces. */ | |
217 | ||
66cebfcb | 218 | /* #define TRACING */ |
2b58b865 SR |
219 | |
220 | /* Define this if you want the server to use the previous behavior | |
221 | when determining the DDNS TTL. If the user has specified a ddns-ttl | |
222 | option that is used to detemine the ttl. (If the user specifies | |
223 | an option that references the lease structure it is only usable | |
224 | for v4. In that case v6 will use the default.) Otherwise when | |
225 | defined the defaults are: v4 - 1/2 the lease time, | |
226 | v6 - DEFAULT_DDNS_TTL. When undefined the defaults are 1/2 the | |
227 | (preferred) lease time for both but with a cap on the maximum. */ | |
228 | ||
229 | /* #define USE_OLD_DDNS_TTL */ | |
230 | ||
fb30f3fc SR |
231 | /* Define this if you want a DHCPv6 server to send replies to the |
232 | source port of the message it received. This is useful for testing | |
233 | but is only included for backwards compatibility. */ | |
234 | /* #define REPLY_TO_SOURCE_PORT */ | |
d15aa964 | 235 | |
beaed73f SR |
236 | /* Define this if you want to enable strict checks in DNS Updates mechanism. |
237 | Do not enable this unless are DHCP developer. */ | |
238 | /* #define DNS_UPDATES_MEMORY_CHECKS */ | |
239 | ||
d15aa964 TM |
240 | /* Define this if you want to allow domain list in domain-name option. |
241 | RFC2132 does not allow that behavior, but it is somewhat used due | |
242 | to historic reasons. Note that it may be removed some time in the | |
243 | future. */ | |
244 | ||
245 | #define ACCEPT_LIST_IN_DOMAIN_NAME | |
d19fa5a1 | 246 | |
d56788df SR |
247 | /* In previous versions of the code when the server generates a NAK |
248 | it doesn't attempt to determine if the configuration included a | |
249 | server ID for that client. Defining this option causes the server | |
250 | to make a modest effort to determine the server id when building | |
251 | a NAK as a response. This effort will only check the first subnet | |
252 | and pool associated with a shared subnet and will not check for | |
253 | host declarations. With some configurations the server id | |
254 | computed for a NAK may not match that computed for an ACK. */ | |
255 | ||
256 | #define SERVER_ID_FOR_NAK | |
f8380d3f | 257 | |
7116a34f TM |
258 | /* NOTE: SERVER_ID_CHECK switch has been removed. Enabling server id |
259 | * checking is now done via the server-id-check statement. Please refer | |
260 | * to the dhcpd manpage (server/dhcpd.conf.5) */ | |
d7d9c0c7 SR |
261 | |
262 | /* Include code to do a slow transition of DDNS records | |
263 | from the interim to the standard version, or backwards. | |
264 | The normal code will handle removing an old style record | |
265 | when the name on a lease is being changed. This adds code | |
266 | to handle the case where the name isn't being changed but | |
267 | the old record should be removed to allow a new record to | |
268 | be added. This is the slow transition as leases are only | |
269 | updated as a client touches them. A fast transition would | |
270 | entail updating all the records at once, probably at start | |
271 | up. */ | |
272 | #define DDNS_UPDATE_SLOW_TRANSITION | |
9279a3d7 SR |
273 | |
274 | /* Define the default prefix length passed from the client to | |
275 | the script when modifying an IPv6 IA_NA or IA_TA address. | |
276 | The two most useful values are 128 which is what the current | |
277 | specifications call for or 64 which is what has been used in | |
278 | the past. For most OSes 128 will indicate that the address | |
279 | is a host address and doesn't include any on-link information. | |
280 | 64 indicates that the first 64 bits are the subnet or on-link | |
281 | prefix. */ | |
282 | #define DHCLIENT_DEFAULT_PREFIX_LEN 64 | |
283 | ||
e9326fd0 SR |
284 | /* Enable the gentle shutdown signal handling. Currently this |
285 | means that on SIGINT or SIGTERM a client will release its | |
286 | address and a server in a failover pair will go through | |
287 | partner down. Both of which can be undesireable in some | |
288 | situations. We plan to revisit this feature and may | |
289 | make non-backwards compatible changes including the | |
290 | removal of this define. Use at your own risk. */ | |
291 | /* #define ENABLE_GENTLE_SHUTDOWN */ | |
292 | ||
1dceab6c SR |
293 | /* Include old error codes. This is provided in case you |
294 | are building an external program similar to omshell for | |
295 | which you need the ISC_R_* error codes. You should switch | |
296 | to DHCP_R_* error codes for those that have been defined | |
297 | (see includes/omapip/result.h). The extra defines and | |
298 | this option will be removed at some time. */ | |
299 | /* #define INCLUDE_OLD_DHCP_ISC_ERROR_CODES */ | |
300 | ||
c88dfebd SR |
301 | /* Use the older factors for scoring a lease in the v6 client code. |
302 | The new factors cause the client to choose more bindings (IAs) | |
303 | over more addresse within a binding. Most uses will get a | |
304 | single address in a single binding and only get an adverstise | |
305 | from a single server and there won't be a difference. */ | |
306 | /* #define USE_ORIGINAL_CLIENT_LEASE_WEIGHTS */ | |
307 | ||
bc30c84e SR |
308 | /* Include definitions for various options. In general these |
309 | should be left as is, but if you have already defined one | |
310 | of these and prefer your definition you can comment the | |
311 | RFC define out to avoid conflicts */ | |
ccc2a367 | 312 | #define RFC2937_OPTIONS |
bc30c84e SR |
313 | #define RFC4776_OPTIONS |
314 | #define RFC4833_OPTIONS | |
315 | #define RFC4994_OPTIONS | |
316 | #define RFC5192_OPTIONS | |
317 | #define RFC5223_OPTIONS | |
318 | #define RFC5417_OPTIONS | |
319 | #define RFC5460_OPTIONS | |
ccc2a367 | 320 | #define RFC5969_OPTIONS |
bc30c84e SR |
321 | #define RFC5970_OPTIONS |
322 | #define RFC5986_OPTIONS | |
323 | #define RFC6011_OPTIONS | |
324 | #define RFC6334_OPTIONS | |
325 | #define RFC6440_OPTIONS | |
326 | #define RFC6731_OPTIONS | |
327 | #define RFC6939_OPTIONS | |
328 | #define RFC6977_OPTIONS | |
329 | #define RFC7083_OPTIONS | |
330 |