]>
Commit | Line | Data |
---|---|---|
da411127 | 1 | Internet Software Consortium DHCP Distribution |
0596b051 TL |
2 | Version 3, Release Candidate 4 |
3 | April 30, 2001 | |
72c7bd79 TL |
4 | |
5 | Release Notes | |
6 | ||
74f45f96 TL |
7 | This is a development snapshot of Version 3 of the Internet Software |
8 | Consortium DHCP Distribution. | |
72c7bd79 | 9 | |
da411127 | 10 | NEW FEATURES |
16449d9c | 11 | |
6d779c72 TL |
12 | Version 3 of the ISC DHCP Distribution includes the following features |
13 | 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 | |
6d779c72 TL |
28 | This release has been beta tested quite thorougly, and we think it is |
29 | substantially more robust at this time than 2.0pl5. The release | |
30 | candidate is expected to be free of serious bugs, but it's called a | |
31 | release candidate because we want people to try it and find any last | |
32 | real problems before we call it done. We do not expect to add | |
33 | anything other than documentation and any remaining bug fixes to the | |
34 | 3.0 release. | |
35 | ||
36 | The 3.0 Release Candidate 1 lease file is not backwards compatible | |
f67f6c4a TL |
37 | with the 3.0 Beta 1 lease file, so if you have to go back, you will |
38 | have to convert your lease files back to the 3.0 Beta 1 format - if | |
87784777 | 39 | you try to run a 3.0 Beta 1 server on a 3.0 lease file, it will |
6d779c72 TL |
40 | cheerfully delete all your leases. |
41 | ||
42 | If you are running 3.0 beta 1 and are doing dynamic DNS updates, the | |
43 | lease file is no longer forward-compatible to 3.0 final. A script | |
44 | has been provided to convert 3.0b1 lease files. This is in | |
45 | contrib/3.0b1-lease-convert. | |
4ff4053b | 46 | |
ca4606b5 TL |
47 | For information on how to install, configure and run this software, |
48 | as well as how to find documentation and report bugs, please consult | |
49 | the README file. | |
50 | ||
da411127 TL |
51 | The Dynamic DNS Update support is a descendent of an implementation |
52 | done by Lans Carstensen and Brian Dols at Rose-Hulman Institute of | |
de57e64b TL |
53 | Technology, Jim Watt at Applied Biosystems, Irina Goble at Integrated |
54 | Measurement Systems, Igor Sharfmesser at Kazakh Telecom, and Brian | |
55 | Murrell at BC Tel Advanced Communications. I'd like to express my | |
56 | thanks to all of these good people here, both for working on the code | |
57 | and for prodding me into improving it. | |
58 | ||
d758ad8c TL |
59 | Changes since 3.0 Release Candidate 8 Patchlevel 1 |
60 | ||
61 | - Fix a parsing bug that broke dns updates (both interim and ad-hoc). | |
62 | This was introduced in rc8pl1 as an unintended result of the memory | |
63 | leakage fixes that were in pl1. | |
64 | ||
65 | - Fix a long-standing bug where the server would record that an update | |
66 | had been done for a client with no name, even though no update had | |
67 | been done, and then when the client's lease expired the deletion of | |
68 | that nonexistant record would time out because the name was the null | |
69 | string. | |
70 | ||
71 | - Clean up the omshell, dhcpctl and omapi man pages a bit. | |
72 | ||
73 | ||
74 | Changes since 3.0 Release Candidate 8 | |
75 | ||
76 | - Fix a bug that could cause the DHCP server to spin if | |
77 | one-lease-per-client was enabled. | |
78 | ||
79 | - Fix a bug that was causing core dumps on BSD/os in the presence of | |
80 | malformed packets. | |
81 | ||
82 | - In partner-down state, don't restrict lease lengths to MCLT. | |
83 | ||
84 | - On the failover secondary, record the MCLT received from the primary | |
85 | so that if we come up without a connection to the primary we don't | |
86 | wind up giving out zero-length leases. | |
87 | ||
88 | - Fix some compilation problems on BSD/os. | |
89 | ||
90 | - Fix a bunch of memory leaks. | |
91 | ||
92 | - Fix a couple of bugs in the option printer. | |
93 | ||
94 | - Fix an obscure error reporting bug in the dns update code, and also | |
95 | make the message clearer when a key algorithm isn't supported. | |
96 | ||
97 | - Fix a bug in the tracing code that prevented trace runs that used | |
98 | tcp connections from being played back. | |
99 | ||
100 | - Add some additional debugging capability for catching memory leaks | |
101 | on exit. | |
102 | ||
103 | - Make the client release the lease correctly on shutdown. | |
104 | ||
105 | - Add some configurability to the build system. | |
106 | ||
107 | - Install omshell manual page in man1, not man8. | |
108 | ||
109 | - Craig Gwydir sent in a patch that fixes a long-standing bug in the | |
110 | DHCP client that could cause core dumps, but that for some reason | |
111 | hadn't been noticed until now. | |
112 | ||
113 | Changes since 3.0 Release Candidate 7 | |
114 | ||
115 | - Fix a bug in failover where we weren't sending updates after a | |
116 | transition from communications-interrupted to normal. | |
117 | ||
118 | - Handle expired/released/reset -> free transition according to the | |
119 | protocol specification (this works - the other way not only wasn't | |
120 | conformant, but also didn't work). | |
121 | ||
122 | - Add a control object in both client and server that allows either | |
123 | daemon to be shut down cleanly. | |
124 | ||
125 | - When writing a lease, if we run out of disk space, shut down the | |
126 | output file and insist on writing a new one before proceeding. | |
127 | ||
128 | - In the server, if the OMAPI listener port is occupied, keep trying | |
129 | to get it, rather than simply giving up and exiting. | |
130 | ||
131 | - Support fetching variables from leases and also updating and adding | |
132 | variables to leases via OMAPI. | |
133 | ||
134 | - If two failover peers have wildly different clocks, refuse to start | |
135 | doing failover. | |
136 | ||
137 | - Fix a bug in the DNS update code that could cause core dumps when | |
138 | running on alpha processors. | |
139 | ||
140 | - Fixed a bug in ddns updates for static lease entries, thanks to a | |
141 | patch from Andrey M Linkevitch. | |
142 | ||
143 | - Add support for Darwin/MacOS X | |
144 | ||
145 | - Install omshell (including new documentation). | |
146 | ||
147 | - Support DNS updates in the client (this is a very obscure feature | |
148 | that most DHCP client users probably will not be able to use). | |
149 | ||
150 | - Somewhat cleaner status logging in the client. | |
151 | ||
152 | - Make OMAPI key naming syntax compatible with the way keys are | |
153 | actually named (key names are domain names). | |
154 | ||
155 | - Fix a bug in the lease file writer. | |
156 | ||
157 | - Install DHCP ISC headers in a different place than BIND 9 ISC | |
158 | headers, to avoid causing trouble in BIND 9 builds. | |
159 | ||
160 | - Don't send updates for attributes on an object when the attributes | |
161 | haven't changed. Support deleting attributes on remote objects. | |
162 | ||
163 | - Fix a number of bugs in omshell, and add the unset and refresh | |
164 | statements. | |
165 | ||
166 | - Handle disconnects in OMAPI a little bit more intelligently (so that | |
167 | the caller gets ECONNRESET instead of EINVAL). | |
168 | ||
169 | - Fix a bunch of bugs in the handling of clients that have existing | |
170 | leases when the try to renew their leases while failover is | |
171 | operating. | |
172 | ||
0596b051 TL |
173 | Changes since 3.0 Release Candidate 3 |
174 | ||
175 | - Do lease billing on startup in a way that I *think* will finally do | |
176 | the billing correctly - the previous method could overbill as a | |
177 | result of duplicate leases. | |
178 | ||
179 | - Document OMAPI server objects. | |
180 | ||
892fe689 TL |
181 | Changes since 3.0 Release Candidate 2 Patchlevel 1 |
182 | ||
183 | - Fix some problems in the DDNS update code. Thanks to Albert | |
184 | Herranz for figuring out the main problem. | |
185 | ||
186 | - Fix some reference counting errors on host entries that were causing | |
187 | core dumps. | |
188 | ||
189 | - Fix a byte-swap bug in the token ring code, thanks to Jochen | |
190 | Friedrich. | |
191 | ||
192 | - Fix a bug in lease billing, thanks to Jonas Bulow. | |
193 | ||
194 | Changes since 3.0 Release Candidate 2 | |
195 | ||
196 | - Change the conditions under which a DHCPRELEASE is actually | |
197 | committed to be consistent with lease binding states rather than | |
198 | using the lease end time. THis may fix some problems with the | |
199 | billing class code. | |
200 | ||
201 | - Fix a bug where lease updates would fail on Digital Unix (and maybe | |
202 | others) because malloc was called with a size of zero. | |
203 | ||
204 | - Fix a core dump that happens when the DHCP server can't create its | |
205 | trace file. | |
206 | ||
79ea3de8 | 207 | Changes since 3.0 Release Candidate 1 Patchlevel 1 |
87784777 | 208 | |
79ea3de8 TL |
209 | - Fix the dhcp_failover_put_message to not attempt to allocate a |
210 | zero-length buffer. Some versions of malloc() fail if you try to | |
211 | allocate a zero-length buffer, and this was causing problems on, | |
212 | e.g., Digital Unix. | |
213 | ||
214 | - Fix a case where the failover code was printing an error message | |
215 | when no error had occurred. | |
216 | ||
217 | - Fix a problem where when a server went down and back up again, the | |
218 | peer would not see a state transition and so would stay in the | |
219 | non-communicating state. | |
220 | ||
221 | - Be smart about going into recover_wait. | |
222 | ||
223 | - Fix a problem in the failover implementation where peers would fail | |
224 | to come into sync if interrupted in the RECOVER state. This could | |
225 | have been the cause of some problems people have reported recently. | |
226 | ||
227 | - Fix a problem with billing classes where they would not be unbilled | |
228 | when the client lease expired. | |
229 | ||
230 | - If select fails, figure out which descriptor is bad, and cut it out | |
231 | of the I/O loop. This prevents a potentially nasty spin. I | |
232 | haven't heard any report it in a while, but it came up consistently | |
233 | in testing. | |
234 | ||
235 | - Fix a bug in the relay agent where if you specified interfaces on | |
236 | the command line, it would fail. | |
237 | ||
238 | - Fix a couple of small bugs in the omapi connection object (no known | |
239 | user impact). | |
240 | ||
241 | - Add the missing 3.0 Beta 1 lease conversion script. | |
242 | ||
243 | - Read dhcp client script hooks if they exist, rather than only if | |
244 | they're executable. | |
245 | ||
246 | Changes since 3.0 Release Candidate 1 | |
87784777 TL |
247 | |
248 | - Fix a memory smash that happens when fixed-address leases are used. | |
249 | ANY SITE AT WHICH FIXED-ADDRESS STATEMENTS ARE BEING USED SHOULD | |
250 | UPGRADE IMMEDIATELY. This has been a long-standing bug - thanks to | |
251 | Alvise Nobile for discovering it and helping me to find it! | |
252 | ||
79ea3de8 TL |
253 | - Fix a small bug in binary-to-ascii, thanks to H. Peter Anvin of |
254 | Transmeta. | |
255 | ||
87784777 TL |
256 | - There is a known problem with the DHCP server doing failover on |
257 | Compaq Alpha systems. This patchlevel is not a release candidate | |
258 | because of this bug. The bug should be straightforward to fix, so | |
259 | a new release candidate is expected shortly. | |
260 | ||
261 | - There is a known problem in the DDNS update code that is probably a | |
262 | bug, and is not, as far as we know, fixed in this patchlevel. | |
263 | ||
6d779c72 TL |
264 | Changes since 3.0 Beta 2 Patchlevel 24 |
265 | ||
266 | - Went over problematic failover state transitions and made them all | |
267 | work, so that failover should now much less fragile. | |
268 | ||
269 | - Add some dhcpctl and omapi documentation | |
270 | ||
271 | - Fix compile errors when compiling with unusual predefines. | |
272 | ||
273 | - Make Token Ring work on Linux 2.4 | |
274 | ||
275 | - Fix the Digital Unix BPF_WORDALIGN bug. | |
276 | ||
277 | - Fix some dhcp client documentation errors. | |
278 | ||
279 | - Update some parts of the README file. | |
280 | ||
281 | - Support GCC on SCO. | |
282 | ||
de57e64b TL |
283 | Changes since 3.0 Beta 2 Patchlevel 23 |
284 | ||
285 | - Fix a bug in the DNS update code where a status code was not being | |
286 | checked. This may have been causing core dumps. | |
287 | ||
288 | - When parsing the lease file, if a lease declaration includes a | |
289 | billing class statement, and the lease already has a billing class, | |
290 | unbill the old class. | |
291 | ||
292 | - When processing failover transactions, where acks will be deferred, | |
293 | process the state transition immediately. | |
294 | ||
295 | - Don't try to use the new SIOCGIFCONF buffer size detection code on | |
296 | Linux 2.0, which doesn't provide this functionality. | |
297 | ||
298 | - Apply a patch suggested by Tuan Uong for a problem in dlpi.c. | |
299 | ||
300 | - Fix a problem in using the which command in the configure script. | |
301 | ||
302 | - Fix a parse error in the client when setting up an omapi listener. | |
303 | ||
304 | - Document the -n and -g flags to the client. | |
305 | ||
306 | - Make sure there is always a stdin and stdout on startup. This | |
307 | prevents shell scripts from accidentally writing error messages into | |
308 | configuration files that happen to be opened as stderr. | |
309 | ||
310 | - If an interface is removed, the client will now notice that it is | |
311 | gone rather than spinning. This has only been tested on NetBSD. | |
312 | ||
313 | - The client will attempt to get an address even if it can't create a | |
314 | lease file. | |
315 | ||
316 | - Don't overwrite tracefiles. | |
317 | ||
318 | - Fix some memory allocation bugs in failover. | |
2aa36519 | 319 | |
140158d3 TL |
320 | Changes since 3.0 Beta 2 Patchlevel 22 |
321 | ||
322 | - Apply some patches suggested by Cyrille Lefevre, who is maintaining | |
323 | the FreeBSD ISC DHCP Distribution port. | |
324 | ||
325 | - Fix a core dump in DHCPRELEASE. | |
326 | ||
3a395e60 TL |
327 | Changes since 3.0 Beta 2 Patchlevel 21 |
328 | ||
329 | - This time for sure: fix the spin described in the changes for pl20. | |
330 | ||
fc74dd0c TL |
331 | Changes since 3.0 Beta 2 Patchlevel 20 |
332 | ||
333 | - Fix a problem with Linux detecting large numbers of interfaces (Ben) | |
334 | ||
335 | - Fix a memory smash in the quotify code, which was introduced in | |
336 | pl19. | |
337 | ||
338 | - Actually fix the spin described in the changes for pl20. The | |
339 | previous fix only partially fixed the problem - enough to get it | |
340 | past the regression test. | |
341 | ||
ed5ee591 TL |
342 | Changes since 3.0 Beta 2 Patchlevel 19 |
343 | ||
344 | - Fix a bug that could cause the server to abort if compiled with | |
345 | POINTER_DEBUG enabled. | |
346 | ||
347 | - Fix a bug that could cause the server to spin when responding to a | |
348 | DHCPREQUEST. | |
349 | ||
350 | - Apply Joost Mulders' suggested patches for DLPI on x86. | |
351 | ||
352 | - Support NUL characters in quoted strings. | |
353 | ||
354 | - Install unformatted man pages on SunOS. | |
355 | ||
b3fad8ac TL |
356 | Changes since 3.0 Beta 2 Patchlevel 18 |
357 | ||
3350f5b7 TL |
358 | - Allow the server to be placed in partner-down state using OMAPI. |
359 | (Damien Neil) | |
360 | ||
361 | - Implement omshell, which can be used to do arbitrary things to the | |
362 | server (in theory). (Damien Neil) | |
363 | ||
364 | - Fix a case where if a client had two different leases the server could | |
365 | actually dereference the second one when it hadn't been referenced, | |
366 | leading to memory corruption and a core dump. (James Brister) | |
367 | ||
368 | - Fix a case where a client could request the address of another client's | |
369 | lease, but find_lease wouldn't detect that the other client had it, and | |
370 | would attempt to allocate it to the client, resulting in a lease conflict | |
371 | message. | |
372 | ||
373 | - Fix a case where a client with more than one client identifier could be | |
374 | given a lease where the hardware address was correct but the client | |
375 | identifier was not, resulting in a lease conflict message. | |
376 | ||
377 | - Fix a problem where the server could write out a colon-seperated | |
378 | hex list as a value for a variable, which would then not parse. | |
379 | The fix is to always write strings as quoted strings, with any | |
380 | non-printable characters quoted as octal escape sequences. So | |
381 | a file written the old way still won't work, but new files written | |
382 | this way will work. | |
383 | ||
b3fad8ac TL |
384 | - Fix documentation for sending non-standard options. |
385 | ||
386 | - Use unparsable names for unknown options. WARNING: this will | |
387 | break any configuration files that use the option-nnn convention. | |
388 | If you want to continue to use this convention for some options, | |
389 | please be sure to write a definition, like this: | |
390 | ||
391 | option option-nnn code nnn = string; | |
392 | ||
393 | You can use a descriptive name instead of option-nnn if you like. | |
394 | ||
395 | - Fix a problem where we would see a DHCPDISCOVER/DHCPOFFER/ | |
396 | DHCPREQUEST/DHCPACK/DHCPREQUEST/DHCPNAK sequence. This was the | |
397 | result of a deceptively silly bug in supersede_lease. | |
398 | ||
399 | - Fix client script exit status check, according to a fix supplied by | |
400 | Hermann Lauer. | |
401 | ||
402 | - Fix an endianness bug in the tracefile support, regarding ICMP | |
403 | messages. | |
404 | ||
3350f5b7 TL |
405 | - Fix a bug in the client where the medium would not work correctly if |
406 | it contained quoted strings. | |
407 | ||
b3fad8ac TL |
408 | ** there was no pl17 ** |
409 | ||
e6d30fd6 TL |
410 | Changes since 3.0 Beta 2 Patchlevel 16 |
411 | ||
6da9db9d TL |
412 | - Add support for transaction tracing. This allows the state of the |
413 | DHCP server on startup, and all the subsequent transactions, to be | |
414 | recorded in a file which can then be played back to reproduce the | |
415 | behaviour of the DHCP server. This can be used to quickly | |
416 | reproduce bugs that cause core dumps or corruption, and also for | |
417 | tracking down memory leaks. | |
418 | ||
419 | - Incorporate some bug fixes provided by Joost Mulders for the DLPI | |
420 | package which should clear up problems people have been seeing on | |
421 | Solaris. | |
422 | ||
423 | - Fix bugs in the handling of options stored as linked lists (agent | |
424 | options, fqdn options and nwip options) that could cause memory | |
425 | corruption and core dumps. | |
426 | ||
427 | - Fix a bug in DHCPREQUEST handling that resulted in DHCPNAK messages | |
428 | not being send in some cases when they were needed. | |
429 | ||
430 | - Make the lease structure somewhat more compact. | |
431 | ||
432 | - Make initial failover startup *much* faster. This was researched | |
433 | and implemented by Damien Neil. | |
434 | ||
435 | - Add a --version flag to all executables, which prints the program | |
436 | name and version to standard output. | |
437 | ||
438 | - Don't rewrite the lease file every thousand leases. | |
439 | ||
e6d30fd6 TL |
440 | - A bug in nit.c for older SunOS machines was fixed by a patch sent in |
441 | by Takeshi Hagiwara. | |
442 | ||
6da9db9d TL |
443 | - Fix a memory corruption bug in the DHCP client. |
444 | ||
445 | - Lots of documentation updates. | |
446 | ||
447 | - Add a feature allowing environment variables to be passed to the | |
448 | DHCP client script on the DHCP client command line. | |
449 | ||
450 | - Fix client medium support, which had been broken for some time. | |
451 | ||
452 | - Fix a bug in the DHCP client initial startup backoff interval, which | |
453 | would cause two DHCPDISCOVERS to be sent back-to-back on startup. | |
454 | ||
455 | ||
af49fdff TL |
456 | Changes since 3.0 Beta 2 Patchlevel 15 |
457 | ||
458 | - Some documentation tweaks. | |
459 | ||
460 | - Maybe fix a problem in the DLPI code. | |
461 | ||
462 | - Fix some error code space inconsistencies in ddns update code. | |
463 | ||
464 | - Support relay agents that intercept unicast DHCP messages to stuff | |
465 | agent options into them. | |
466 | ||
467 | - Fix a small memory leak in the relay agent option support code. | |
468 | ||
c5b569f8 TL |
469 | - Fix a core dump that would occur if a packet was sent with no |
470 | options. | |
471 | ||
754ae3e9 TL |
472 | Changes since 3.0 Beta 2 Patchlevel 14 |
473 | ||
474 | - Finish fixing a long-standing bug in the agent options code. This | |
475 | was causing core dumps and failing to operate correctly - in | |
476 | particular, agent option stashing wasn't working. Agent option | |
477 | stashing should now be working, meaning that agent options can be | |
478 | used in class statements to control address allocation. | |
479 | ||
480 | - Fix up documentation. | |
481 | ||
482 | - Fix a couple of small memory leaks that would have added up | |
483 | significantly in a high-demand situation. | |
484 | ||
485 | - Add a log-facility configuration parameter. | |
486 | ||
487 | - Fix a compile error on some older operating systems. | |
488 | ||
489 | - Add the ability in the client to execute certain statements before | |
490 | transmitting packets to the server. Handy for debugging; not much | |
491 | practical use otherwise. | |
492 | ||
493 | - Don't send faked-out giaddr when renewing or bound - again, useful | |
494 | for debugging. | |
495 | ||
2f2e7960 TL |
496 | Changes since 3.0 Beta 2 Patchlevel 13 |
497 | ||
498 | - Fixed a problem where the fqdn decoder would sometimes try to store | |
499 | an option with an (unsigned) negative length, resulting in a core | |
500 | dump on some systems. | |
501 | ||
502 | - Work around the Win98 DHCP client, which NUL-terminates the FQDN | |
503 | option. | |
504 | ||
505 | - Work around Win98 and Win2k clients that will claim they want to do | |
506 | the update even when they don't have any way to do it. | |
507 | ||
508 | - Fix some log messages that can be printed when failover is operating | |
509 | that were not printing enough information. | |
510 | ||
511 | - It was possible for a DHCPDISCOVER to get an allocation even when | |
512 | the state machine said the server shouldn't be responding. | |
513 | ||
514 | - Don't load balance DHCPREQUESTs from clients in RENEWING and | |
515 | REBINDING, since in RENEWING, if we heard it, it's for us, and in | |
516 | REBINDING, the client wouldn't have got to REBINDING if its primary | |
517 | were answering. | |
518 | ||
519 | - When we get a bogus state lease binding state transition, don't do | |
520 | the transition. | |
521 | ||
522 | ||
66e98927 TL |
523 | Changes since 3.0 Beta 2 Patchlevel 12 |
524 | ||
525 | - Fixed a couple of silly compile errors. | |
526 | ||
a1e2e3d6 TL |
527 | Changes since 3.0 Beta 2 Patchlevel 11 |
528 | ||
529 | - Albert Herranz tracked down and fixed a subtle bug in the base64 | |
530 | decoder that would prevent any key with an 'x' in its base64 | |
531 | representation from working correctly. | |
532 | ||
533 | - Thanks to Chris Cheney and Michael Sanders, we have a fix for the | |
534 | hang that they both spotted in the DHCP server - when | |
535 | one-lease-per-client was set, the code to release the "other" lease | |
536 | could spin. | |
537 | ||
538 | - Fix a problem with alignment of the input buffer in bpf in cases | |
539 | where two packets arrive in the same bpf read. | |
540 | ||
541 | - Fix a problem where the relay agent would crash if you specified an | |
542 | interface name on the command line. | |
543 | ||
544 | - Add the ability to conditionalize client behaviour based on the | |
545 | client state. | |
546 | ||
547 | - Add support for the FQDN option, and added support for a new way of | |
548 | doing ddns updates (ddns update style interim) that allows more than | |
549 | one DHCP server to update the DNS for the same network(s). This | |
550 | was implemented by Damien Neil with some additional functionality | |
551 | added by Ted Lemon. | |
552 | ||
553 | - Damien added a "log" statement, so that the configuration file can | |
554 | be made to log debugging information and other information. | |
555 | ||
556 | - Fixed a bug that caused option buffers not to be terminated with an | |
557 | end option. | |
558 | ||
559 | - Fixed a long-standing bug in the support for option spaces where the | |
560 | options are stored as an ordered list rather than in a hash table, | |
561 | which could theoretically result in memory pool corruption. | |
562 | ||
563 | - Prevent hardware declarations with no actual hardware address from | |
564 | being written as something unparsable, and behave correctly in the | |
565 | face of a null hardware address on input. | |
566 | ||
567 | - Allow key names to be FQDNs, and qualify the algorithm name if it is | |
568 | specified unqualified. | |
569 | ||
570 | - Modify the DDNS update code so that it never prints the "resolver | |
571 | failed" message, but instead says *why* the resolver failed. | |
572 | ||
573 | - Officially support the subnet selection option, which now has an | |
574 | RFC. | |
575 | ||
576 | - Fix a build bug on MacOS X. | |
577 | ||
578 | - Allow administrator to disable ping checking. | |
579 | ||
580 | - Clean up dhcpd.conf documentation and add more information about how | |
581 | it works. | |
582 | ||
6c68ec36 TL |
583 | Changes since 3.0 Beta 2 Patchlevel 10 |
584 | ||
585 | - Fix a bug introduced during debugging (!) and accidentally committed | |
586 | to CVS. | |
587 | ||
9fd337e7 TL |
588 | Changes since 3.0 Beta 2 Patchlevel 9 |
589 | ||
590 | - Fix DHCP client handling of vendor encapsulated options. | |
591 | ||
592 | - Fix a bug in the handling of relay agent information options introduced | |
593 | in patchlevel 9. | |
594 | ||
595 | - Stash agent options on client leases by default, and use the stashed | |
596 | options at renewal time. | |
597 | ||
598 | - Add the ability to test the client's binding state in the client | |
599 | configuration language. | |
600 | ||
601 | - Fix a core dump in the DNS update code. | |
602 | ||
603 | - Fix some expression evaluation bugs that were causing updates to be | |
604 | done when no client hostname was received. | |
605 | ||
606 | - Fix expression evaluation debugging printfs. | |
607 | ||
608 | - Teach pretty_print_option to print options in option spaces other than | |
609 | the DHCP option space. | |
610 | ||
611 | - Add a warning message if the RHS of a not is not boolean. | |
612 | ||
613 | - Never select for more than a day, because some implementations of | |
614 | select will just fail if the timeout is too long (!). | |
615 | ||
616 | - Fix a case where a DHCPDISCOVER from an unknown network would be | |
617 | silently dropped. | |
618 | ||
619 | - Fix a bug where if a client requested an IP address for which a different | |
620 | client had the lease, the DHCP server would reallocate it anyway. | |
621 | ||
622 | - Fix the DNS update code so that if the client changes its name, the DNS | |
623 | will be correctly updated. | |
624 | ||
3922772a TL |
625 | Changes since 3.0 Beta 2 Patchlevel 8 |
626 | ||
627 | - Oops, there was another subtle math error in the header-length | |
628 | bounds-checking. | |
629 | ||
630 | Changes since 3.0 Beta 2 Patchlevel 7 | |
848c2547 TL |
631 | |
632 | - Oops, forgot to byte-swap udp header length before bounds-checking it. | |
633 | ||
3922772a | 634 | Changes since 3.0 Beta 2 Patchlevel 6 |
0f6045f8 | 635 | |
f8572308 TL |
636 | - Fix a possible DoS attack where a client could cause the checksummer |
637 | to dump core. This was a read, not a write, so it shouldn't be | |
638 | possible to exploit it any further than that. | |
639 | ||
640 | - Implement client- and server-side support for using the Client FQDN | |
641 | option. | |
642 | ||
643 | - Support for other option spaces in the client has been added. This | |
644 | means that it is now possible to define a vendor option space on the | |
645 | client, request options in that space from the server (which must | |
646 | define the same option space), and then use those options in the | |
647 | client. This also allows NWIP and Client FQDN options to be used | |
648 | meaningfully. | |
649 | ||
650 | - Add object initializer support. This means that objects can now be | |
651 | initialized to something other than all-zeros when allocated, which | |
652 | makes, e.g., the interface object support code a little more robust. | |
653 | ||
654 | - Fix an off-by-one bug in the host stuffer. This was causing host | |
655 | deletes not the work, and may also have been causing OMAPI | |
656 | connections to get dropped. Thanks to James Brister for tracking | |
657 | this one down! | |
658 | ||
659 | - Fixed a core dump in the interface discovery code that is triggered | |
660 | when there is no subnet declaration for an interface, but the server | |
661 | decides to continue running. Thanks to Shane Kerr for tracking | |
662 | down and fixing this problem. | |
663 | ||
664 | Changes since 3.0 Beta 2 Patchlevel 5 | |
665 | ||
0f6045f8 TL |
666 | - Fix a bug in the recent enhancement to the interface discovery code |
667 | to support arbitrary-length interface lists. | |
668 | ||
669 | - Support NUL-terminated DHCP options when initializing client-script | |
670 | environment. | |
671 | ||
672 | - Fix suffix operator. | |
673 | ||
674 | - Fix NetWare/IP option parsing. | |
675 | ||
676 | - Better error/status checking in dhcpctl initialization and omapi | |
677 | connection code. | |
678 | ||
679 | - Fix a potential memory smash in dhcpctl code. | |
680 | ||
681 | - Fix SunOS4 and (maybe) Ultrix builds. | |
682 | ||
683 | - Fix a bug where a certain sort of incoming packet could cause a core | |
684 | dump on Solaris (and probably elsewhere). | |
685 | ||
686 | - Add some more safety checks in error logging code. | |
687 | ||
688 | - Add support for ISC_R_INCOMPLETE in OMAPI protocol connection code. | |
689 | ||
690 | - Fix relay agent so that if an interface is specified on the command | |
691 | line, the relay agent does not dump core. | |
692 | ||
693 | - Fix class matching so that match if can be combined with match or | |
694 | spawn with. | |
695 | ||
696 | - Do not allow spurious leases in the lease database to introduce | |
697 | potentially bogus leases into the in-memory database. | |
698 | ||
699 | - Fix a byte-order problem in the client hardware address type code | |
700 | for OMAPI. | |
701 | ||
702 | - Be slightly less picky about what sort of hardware addresses OMAPI | |
703 | can install in host declarations. | |
704 | ||
801de092 TL |
705 | Changes since 3.0 Beta 2 Patchlevel 4 |
706 | ||
707 | - Incorporated Peter Marschall's proposed change to array/record | |
708 | parsing, which allows things like the slp-agent option to be encoded | |
709 | correctly. Thanks very much to Peter for taking the initiative to | |
710 | do this, and for doing such a careful job of it (e.g., updating the | |
711 | comments)! | |
712 | ||
713 | - Added an encoding for the slp-agent option. :') | |
714 | ||
6ed7a93d TL |
715 | - Fixed SunOS 4 build. Thanks to Robert Elz for responding to my |
716 | request for help on this with patches! | |
717 | ||
718 | - Incorporated a change that should fix a problem reported by Philippe | |
719 | Jumelle where when the network connection between two servers is | |
720 | lost, they never reconnect. | |
721 | ||
722 | - Fix client script files other than that for NetBSD to actually use | |
723 | make_resolv_conf as documented in the manual page. | |
724 | ||
725 | - Fix a bug in the packet handling code that could result in a core | |
726 | dump. | |
727 | ||
728 | - Fix a bug in the bootp code where responses on the local net would | |
729 | be sent to the wrong MAC address. Thanks to Jerry Schave for | |
730 | catching this one. | |
731 | ||
490eb5e7 TL |
732 | Changes since 3.0 Beta 2 Patchlevel 3 |
733 | ||
734 | - In the DHCP client, execute client statements prior to using the values | |
735 | of options, so that the client configuration can overried, e.g., the | |
736 | lease renewal time. | |
737 | ||
738 | - Fix a reference counting error that would result in very reproducible | |
739 | failures in updates, as well as occasional core dumps, if a zone was | |
740 | declared without a key. | |
741 | ||
742 | - Fix some Linux 2.0 compilation problems. | |
743 | ||
744 | - Fix a bug in scope evaluation during execution of "on" statements that | |
745 | caused values not to be recorded on leases. | |
746 | ||
747 | - If the dhcp-max-message-size option is specified in scope, and the | |
748 | client didn't send this option, use the one specified in scope to | |
749 | determine the maximum size of the response. | |
750 | ||
592d8153 TL |
751 | Changes since 3.0 Beta 2 Patchlevel 2 |
752 | ||
359b023e TL |
753 | - Fix a case where spawning subclasses were being allocated |
754 | incorrectly, resulting in a core dump. | |
755 | ||
592d8153 TL |
756 | - Fix a case where the DHCP server might inappropriately NAK a |
757 | RENEWING client. | |
758 | ||
759 | - Fix a place dhcprequest() where static leases could leak. | |
760 | ||
761 | - Include memory.h in omapip_p.h so that we don't get warnings about | |
762 | using memcmp(). | |
763 | ||
2aa36519 TL |
764 | Changes since 3.0 Beta 2 Patchlevel 1 |
765 | ||
766 | - Notice when SIOCFIGCONF returns more data than fit in the buffer - | |
767 | allocate a larger buffer, and retry. Thanks to Greg Fausak for | |
768 | pointing this out. | |
769 | ||
770 | - In the server, if no interfaces were configured, report an error and | |
771 | exit. | |
772 | ||
773 | - Don't ever record a state of 'startup'. | |
774 | ||
775 | - Don't try to evaluate the local failover binding address if none was | |
776 | specified. Thanks to Joseph Breu for finding this. |