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