1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
|
Internet Software Consortium DHCP Distribution
Version 3, Beta 2, Patchlevel 11
November 30, 2000
Release Notes
This is a development snapshot of Version 3 of the Internet Software
Consortium DHCP Distribution.
NEW FEATURES
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
features that are new since version 2.0:
- DHCP Failover Protocol support
- OMAPI, an API for accessing and modifying the DHCP server and
client state.
- Conditional behaviour
- Storing arbitrary information on leases
- Address pools with access control
- Client classing
- Address allocation restriction by class
- Relay agent information option support
- Dynamic DNS updates
- Many bug fixes, performance enhancements, and minor new DHCP
protocol features.
This beta release is quite new, and is running in production at only a
few sites. We strongly recommend that you exercise caution in
installing it. The 3.0 Beta 2 lease file is not backwards compatible
with the 3.0 Beta 1 lease file, so if you have to go back, you will
have to convert your lease files back to the 3.0 Beta 1 format - if
you try to run a 3.0 Beta 1 server on a 3.0 Beta 2 lease file, it will
cheerfully delete all your leases. Having said that, of course the
way that new releases of open source software become stable is by
people using them, finding the bugs, and reporting the bugs. So
while we urge you to exercise caution, we would also appreciate any
testing or production use you can safely do.
For information on how to install, configure and run this software,
as well as how to find documentation and report bugs, please consult
the README file.
The Dynamic DNS Update support is a descendent of an implementation
done by Lans Carstensen and Brian Dols at Rose-Hulman Institute of
Technology, Jim Watt at Perkin-Elmer, Irina Goble at Integrated
Measurement Systems, and Brian Murrell at BC Tel Advanced
Communications. I'd like to express my thanks to all of these good
people here, both for working on the code and for prodding me into
improving it.
Changes since 3.0 Beta 2 Patchlevel 10
- Fix a bug introduced during debugging (!) and accidentally committed
to CVS.
Changes since 3.0 Beta 2 Patchlevel 9
- Fix DHCP client handling of vendor encapsulated options.
- Fix a bug in the handling of relay agent information options introduced
in patchlevel 9.
- Stash agent options on client leases by default, and use the stashed
options at renewal time.
- Add the ability to test the client's binding state in the client
configuration language.
- Fix a core dump in the DNS update code.
- Fix some expression evaluation bugs that were causing updates to be
done when no client hostname was received.
- Fix expression evaluation debugging printfs.
- Teach pretty_print_option to print options in option spaces other than
the DHCP option space.
- Add a warning message if the RHS of a not is not boolean.
- Never select for more than a day, because some implementations of
select will just fail if the timeout is too long (!).
- Fix a case where a DHCPDISCOVER from an unknown network would be
silently dropped.
- Fix a bug where if a client requested an IP address for which a different
client had the lease, the DHCP server would reallocate it anyway.
- Fix the DNS update code so that if the client changes its name, the DNS
will be correctly updated.
Changes since 3.0 Beta 2 Patchlevel 8
- Oops, there was another subtle math error in the header-length
bounds-checking.
Changes since 3.0 Beta 2 Patchlevel 7
- Oops, forgot to byte-swap udp header length before bounds-checking it.
Changes since 3.0 Beta 2 Patchlevel 6
- Fix a possible DoS attack where a client could cause the checksummer
to dump core. This was a read, not a write, so it shouldn't be
possible to exploit it any further than that.
- Implement client- and server-side support for using the Client FQDN
option.
- Support for other option spaces in the client has been added. This
means that it is now possible to define a vendor option space on the
client, request options in that space from the server (which must
define the same option space), and then use those options in the
client. This also allows NWIP and Client FQDN options to be used
meaningfully.
- Add object initializer support. This means that objects can now be
initialized to something other than all-zeros when allocated, which
makes, e.g., the interface object support code a little more robust.
- Fix an off-by-one bug in the host stuffer. This was causing host
deletes not the work, and may also have been causing OMAPI
connections to get dropped. Thanks to James Brister for tracking
this one down!
- Fixed a core dump in the interface discovery code that is triggered
when there is no subnet declaration for an interface, but the server
decides to continue running. Thanks to Shane Kerr for tracking
down and fixing this problem.
Changes since 3.0 Beta 2 Patchlevel 5
- Fix a bug in the recent enhancement to the interface discovery code
to support arbitrary-length interface lists.
- Support NUL-terminated DHCP options when initializing client-script
environment.
- Fix suffix operator.
- Fix NetWare/IP option parsing.
- Better error/status checking in dhcpctl initialization and omapi
connection code.
- Fix a potential memory smash in dhcpctl code.
- Fix SunOS4 and (maybe) Ultrix builds.
- Fix a bug where a certain sort of incoming packet could cause a core
dump on Solaris (and probably elsewhere).
- Add some more safety checks in error logging code.
- Add support for ISC_R_INCOMPLETE in OMAPI protocol connection code.
- Fix relay agent so that if an interface is specified on the command
line, the relay agent does not dump core.
- Fix class matching so that match if can be combined with match or
spawn with.
- Do not allow spurious leases in the lease database to introduce
potentially bogus leases into the in-memory database.
- Fix a byte-order problem in the client hardware address type code
for OMAPI.
- Be slightly less picky about what sort of hardware addresses OMAPI
can install in host declarations.
Changes since 3.0 Beta 2 Patchlevel 4
- Incorporated Peter Marschall's proposed change to array/record
parsing, which allows things like the slp-agent option to be encoded
correctly. Thanks very much to Peter for taking the initiative to
do this, and for doing such a careful job of it (e.g., updating the
comments)!
- Added an encoding for the slp-agent option. :')
- Fixed SunOS 4 build. Thanks to Robert Elz for responding to my
request for help on this with patches!
- Incorporated a change that should fix a problem reported by Philippe
Jumelle where when the network connection between two servers is
lost, they never reconnect.
- Fix client script files other than that for NetBSD to actually use
make_resolv_conf as documented in the manual page.
- Fix a bug in the packet handling code that could result in a core
dump.
- Fix a bug in the bootp code where responses on the local net would
be sent to the wrong MAC address. Thanks to Jerry Schave for
catching this one.
Changes since 3.0 Beta 2 Patchlevel 3
- In the DHCP client, execute client statements prior to using the values
of options, so that the client configuration can overried, e.g., the
lease renewal time.
- Fix a reference counting error that would result in very reproducible
failures in updates, as well as occasional core dumps, if a zone was
declared without a key.
- Fix some Linux 2.0 compilation problems.
- Fix a bug in scope evaluation during execution of "on" statements that
caused values not to be recorded on leases.
- If the dhcp-max-message-size option is specified in scope, and the
client didn't send this option, use the one specified in scope to
determine the maximum size of the response.
Changes since 3.0 Beta 2 Patchlevel 2
- Fix a case where spawning subclasses were being allocated
incorrectly, resulting in a core dump.
- Fix a case where the DHCP server might inappropriately NAK a
RENEWING client.
- Fix a place dhcprequest() where static leases could leak.
- Include memory.h in omapip_p.h so that we don't get warnings about
using memcmp().
Changes since 3.0 Beta 2 Patchlevel 1
- Notice when SIOCFIGCONF returns more data than fit in the buffer -
allocate a larger buffer, and retry. Thanks to Greg Fausak for
pointing this out.
- In the server, if no interfaces were configured, report an error and
exit.
- Don't ever record a state of 'startup'.
- Don't try to evaluate the local failover binding address if none was
specified. Thanks to Joseph Breu for finding this.
|