summaryrefslogtreecommitdiff
path: root/RELNOTES
blob: e5e2e03533357506acfef992451aa4f80abb3ce6 (plain)
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.