ISC DHCP
4.3.3-P1
A reference DHCPv4 and DHCPv6 implementation
site.h
Go to the documentation of this file.
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 to debug the host part of the inform processing */
112
/* #define DEBUG_INFORM_HOST */
113
114
/* Define this if you want to debug the binary leases (lease_chain) code */
115
/* #define DEBUG_BINARY_LEASES */
116
117
/* Define this if you want DHCP failover protocol support in the DHCP
118
server. */
119
120
/* #define FAILOVER_PROTOCOL */
121
122
/* Define this if you want DNS update functionality to be available. */
123
124
#define NSUPDATE
125
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
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
149
header. DON'T MESS WITH THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!! */
150
151
/* Define USE_SOCKETS to use the standard BSD socket API.
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
165
/* #define USE_SOCKETS */
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 */
192
193
/* Define this to change the logging facility used by dhcpd. */
194
195
/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
196
197
198
/* Define this if you want to be able to execute external commands
199
during conditional evaluation. */
200
201
/* #define ENABLE_EXECUTE */
202
203
/* Define this if you aren't debugging and you want to save memory
204
(potentially a _lot_ of memory) by allocating leases in chunks rather
205
than one at a time. */
206
207
#define COMPACT_LEASES
208
209
/* Define this if you want to be able to save and playback server operational
210
traces. */
211
212
/* #define TRACING */
213
214
/* Define this if you want the server to use the previous behavior
215
when determining the DDNS TTL. If the user has specified a ddns-ttl
216
option that is used to detemine the ttl. (If the user specifies
217
an option that references the lease structure it is only usable
218
for v4. In that case v6 will use the default.) Otherwise when
219
defined the defaults are: v4 - 1/2 the lease time,
220
v6 - DEFAULT_DDNS_TTL. When undefined the defaults are 1/2 the
221
(preferred) lease time for both but with a cap on the maximum. */
222
223
/* #define USE_OLD_DDNS_TTL */
224
225
/* Define this if you want a DHCPv6 server to send replies to the
226
source port of the message it received. This is useful for testing
227
but is only included for backwards compatibility. */
228
/* #define REPLY_TO_SOURCE_PORT */
229
230
/* Define this if you want to enable strict checks in DNS Updates mechanism.
231
Do not enable this unless are DHCP developer. */
232
/* #define DNS_UPDATES_MEMORY_CHECKS */
233
234
/* Define this if you want to allow domain list in domain-name option.
235
RFC2132 does not allow that behavior, but it is somewhat used due
236
to historic reasons. Note that it may be removed some time in the
237
future. */
238
239
#define ACCEPT_LIST_IN_DOMAIN_NAME
240
241
/* In previous versions of the code when the server generates a NAK
242
it doesn't attempt to determine if the configuration included a
243
server ID for that client. Defining this option causes the server
244
to make a modest effort to determine the server id when building
245
a NAK as a response. This effort will only check the first subnet
246
and pool associated with a shared subnet and will not check for
247
host declarations. With some configurations the server id
248
computed for a NAK may not match that computed for an ACK. */
249
250
#define SERVER_ID_FOR_NAK
251
252
/* NOTE: SERVER_ID_CHECK switch has been removed. Enabling server id
253
* checking is now done via the server-id-check statement. Please refer
254
* to the dhcpd manpage (server/dhcpd.conf.5) */
255
256
/* Include code to do a slow transition of DDNS records
257
from the interim to the standard version, or backwards.
258
The normal code will handle removing an old style record
259
when the name on a lease is being changed. This adds code
260
to handle the case where the name isn't being changed but
261
the old record should be removed to allow a new record to
262
be added. This is the slow transition as leases are only
263
updated as a client touches them. A fast transition would
264
entail updating all the records at once, probably at start
265
up. */
266
#define DDNS_UPDATE_SLOW_TRANSITION
267
268
/* Define the default prefix length passed from the client to
269
the script when modifying an IPv6 IA_NA or IA_TA address.
270
The two most useful values are 128 which is what the current
271
specifications call for or 64 which is what has been used in
272
the past. For most OSes 128 will indicate that the address
273
is a host address and doesn't include any on-link information.
274
64 indicates that the first 64 bits are the subnet or on-link
275
prefix. */
276
#define DHCLIENT_DEFAULT_PREFIX_LEN 128
277
278
/* Enable the gentle shutdown signal handling. Currently this
279
means that on SIGINT or SIGTERM a client will release its
280
address and a server in a failover pair will go through
281
partner down. Both of which can be undesireable in some
282
situations. We plan to revisit this feature and may
283
make non-backwards compatible changes including the
284
removal of this define. Use at your own risk. */
285
/* #define ENABLE_GENTLE_SHUTDOWN */
286
287
/* Include old error codes. This is provided in case you
288
are building an external program similar to omshell for
289
which you need the ISC_R_* error codes. You should switch
290
to DHCP_R_* error codes for those that have been defined
291
(see includes/omapip/result.h). The extra defines and
292
this option will be removed at some time. */
293
/* #define INCLUDE_OLD_DHCP_ISC_ERROR_CODES */
294
295
/* Limit the value of a file descriptor the serve will use
296
when accepting a connecting request. This can be used to
297
limit the number of TCP connections that the server will
298
allow at one time. A value of 0 means there is no limit.*/
299
#define MAX_FD_VALUE 200
300
301
/* Include definitions for various options. In general these
302
should be left as is, but if you have already defined one
303
of these and prefer your definition you can comment the
304
RFC define out to avoid conflicts */
305
#define RFC2937_OPTIONS
306
#define RFC4776_OPTIONS
307
#define RFC4833_OPTIONS
308
#define RFC4994_OPTIONS
309
#define RFC5192_OPTIONS
310
#define RFC5223_OPTIONS
311
#define RFC5417_OPTIONS
312
#define RFC5460_OPTIONS
313
#define RFC5969_OPTIONS
314
#define RFC5970_OPTIONS
315
#define RFC5986_OPTIONS
316
#define RFC6011_OPTIONS
317
#define RFC6334_OPTIONS
318
#define RFC6440_OPTIONS
319
#define RFC6731_OPTIONS
320
#define RFC6939_OPTIONS
321
#define RFC6977_OPTIONS
322
#define RFC7083_OPTIONS
323
includes
site.h
Generated on Mon Aug 8 2016 18:15:05 for ISC DHCP by
1.8.11