]>
Commit | Line | Data |
---|---|---|
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 |
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 | |
da411127 TL |
12 | Version 3, Beta 2 of the ISC DHCP Distribution includes the following |
13 | features 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 |
28 | This beta release is quite new, and is running in production at only a |
29 | few sites. We strongly recommend that you exercise caution in | |
30 | installing it. The 3.0 Beta 2 lease file is not backwards compatible | |
31 | with the 3.0 Beta 1 lease file, so if you have to go back, you will | |
32 | have to convert your lease files back to the 3.0 Beta 1 format - if | |
33 | you try to run a 3.0 Beta 1 server on a 3.0 Beta 2 lease file, it will | |
34 | cheerfully delete all your leases. Having said that, of course the | |
35 | way that new releases of open source software become stable is by | |
36 | people using them, finding the bugs, and reporting the bugs. So | |
37 | while we urge you to exercise caution, we would also appreciate any | |
38 | testing or production use you can safely do. | |
4ff4053b | 39 | |
ca4606b5 TL |
40 | For information on how to install, configure and run this software, |
41 | as well as how to find documentation and report bugs, please consult | |
42 | the README file. | |
43 | ||
da411127 TL |
44 | The Dynamic DNS Update support is a descendent of an implementation |
45 | done by Lans Carstensen and Brian Dols at Rose-Hulman Institute of | |
46 | Technology, Jim Watt at Perkin-Elmer, Irina Goble at Integrated | |
47 | Measurement Systems, and Brian Murrell at BC Tel Advanced | |
48 | Communications. I'd like to express my thanks to all of these good | |
49 | people here, both for working on the code and for prodding me into | |
50 | improving 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. |