RELNOTES 162 KB
Newer Older
1
	      Internet Systems Consortium DHCP Distribution
2
3
			      Version 4.3.2
			     26 February 2015
Ted Lemon's avatar
Ted Lemon committed
4

David Hankins's avatar
David Hankins committed
5
			      Release Notes
Ted Lemon's avatar
Ted Lemon committed
6

David Hankins's avatar
David Hankins committed
7
			      NEW FEATURES
8

Shawn Routhier's avatar
Shawn Routhier committed
9
The major "theme" for ISC DHCP 4.3.x was to update the support for
10
11
DHCPv6 to include several of the features that have been available
for DHCPv4.  These include:
12

13
14
15
16
- Support the use of classes

- Support for on_commit, on_expiry and on_release statements

17
- Better logging of address assignments
18
19
20
21
22
23

- Support for using DHCPv6 relay options in expressions

This release also adds suppport for the standard DDNS as described in the
current RFCs as well as enhancing support for dynamically adding and removing
subclasses via OMAPI.
24

Evan Hunt's avatar
Evan Hunt committed
25
26
There are a number of DHCPv6 limitations and features missing in this
release, which will be addressed in the future:
David Hankins's avatar
David Hankins committed
27

Evan Hunt's avatar
Evan Hunt committed
28
- Only Solaris, Linux, FreeBSD, NetBSD, and OpenBSD are supported.
29

30
31
- DHCPv6 includes human-readable text in status code messages, in
  English.  A method to reconfigure or support other languages would
Shawn Routhier's avatar
Shawn Routhier committed
32
  be preferable.
David Hankins's avatar
David Hankins committed
33
34
35
36

- The "host-identifier" option is limited to a simple token.

- The client and server can only operate DHCPv4 or DHCPv6 at a time,
Shane Kerr's avatar
Shane Kerr committed
37
  not both.  To use both protocols simultaneously, two instances of the
David Hankins's avatar
David Hankins committed
38
  relevant daemon are required, one with the '-6' command line option.
39

Evan Hunt's avatar
Evan Hunt committed
40
41
42
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.
43

Evan Hunt's avatar
Evan Hunt committed
44
45
ISC DHCP uses standard GNU configure for installation. Please review the
output of "./configure --help" to see what options are available.
46

Evan Hunt's avatar
Evan Hunt committed
47
48
49
The system has only been tested on Linux, FreeBSD, and Solaris, and may not
work on other platforms. Please report any problems and suggested fixes to
<dhcp-users@isc.org>.
David Hankins's avatar
David Hankins committed
50

51
52
53
54
ISC DHCP is open source software maintained by Internet Systems
Consortium.  This product includes cryptographic software written
by Eric Young (eay@cryptsoft.com).

55
			Changes since 4.3.2b1
56

57
- Specifying the option, --disable-debug, on the configure script command line
58
  now disables debug features.  Prior to this, specifying --disable-debug
59
60
  incorrectly enabled debug features. Thanks to Gustavo Zacarias for reporting
  the issue.
61
  [ISC-Bugs #37780]
62

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
- Unit test execution now uses a path augmented during configuration
  processing of the --with-atf option to locate ATF runtime tools, atf-run
  and atf-report. For most installations of ATF, this should alleviate the
  need to manually include them in the PATH, as was formerly required.
  If the configure script cannot locate the tools it will emit a warning,
  informing the user that the tools must be in the PATH when running unit
  tests.
  Secondly, please note that "make check" will now exit with a failure status
  code (non-zero) if one or more unit tests fail.  This means that invoking
  "make check" from an upper level directory will cause the make process to
  STOP after the first test subdirectory with failed test(s).  To force all
  tests in all subdirectories to run, regardless of individual test outcome,
  use the command "make -k check".
  [ISC-Bugs #38619]

78
			Changes since 4.3.1
79

80
81
82
- Corrected parser's right brace matching when a statement contains an error.
  [ISC-Bugs #36021]

83
- TSIG-authenticated dynamic DNS updates now support the use of these
84
85
  additional algorithms: hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384,
  and hmac-sha512
86
87
  [ISC-Bugs #36947]

88
- Added check for invalid failover message type. Thanks to Tobias Stoeckmann
89
  working with the OpenBSD project who spotted the issue and provided the
90
  patch.
91
92
  [ISC-Bugs #36653]

93
- Corrected rate limiting checks for bad packet logging.  Thanks to Tobias
94
  Stoeckmann working with the OpenBSD project who spotted the issue and
95
  provided the patch.
96
97
  [ISC-Bugs #36897]

98
99
100
101
- Log statements depicting what files will be used by the server now occur
  after the configuration file has been processed.
  [ISC-Bugs #36671]

102
- Addressed Coverity issues reported as of 07-31-2014:
103
  [ISC-Bugs #36712] Corrects Coverity reported "high" impact issues.
104
  [ISC-Bugs #36933] Corrects Coverity reported "medium" impact issues
105
106
  [ISC-Bugs #37708] Fixes compilation error in dst_api.c seen in older
  compilers that was introduced by #36712
107

108
109
110
- Server now supports a failover split value of 256.
  [ISC-Bugs] #36664]

111
112
113
114
115
116
117
118
- Remove unneeded error #defines.  These defines were included in case
  external programs required the older versions of the macro.  They
  have been #ifdeffed for now and will be removed at a future date.
  See site.h for the #define to include them again, but you should
  switch to using the DHCP_R_* versions instead of the ISC_R_* versions.
  Also ISC_R_MULTIPLE has been removed as it is also deifned in bind.
  [ISC-Bugs #37128]

119
- Added checks in range6 and prefix6 statement parsing to ensure addresses
120
121
  are within the declared subnet. Thanks to Jiri Popelka at Red Hat for the
  bug report and patch.
122
  [ISC-Bugs #32453]
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
  [ISC-Bugs #17766]
  [ISC-Bugs #18510]
  [ISC-Bugs #23698]
  [ISC-Bugs #28883]

- Addressed checksum issues:
  Added checksum readiness check to Linux packet filtering which eliminates
  invalid packet drops due to checksum errors when checksum offloading is
  in use.  Based on dhcp-4.2.2-xen-checksum.patch made to the Fedora project.
  [ISC-Bugs #22806]
  [ISC-Bugs #15902]
  [ISC-Bugs #17739]
  [ISC-Bugs #18010]
  [ISC-Bugs #22556]
  [ISC-Bugs #29769]
138
  Inbound packets with UDP checksums of 0xffff now validate correctly rather
139
  than being dropped.
140
141
142
143
144
145
146
147
148
149
  [ISC-Bugs #24216]
  [ISC-Bugs #25587]

- Added the echo-client-id configuration parameter to the server configuration.
  The server now supports RFC 6842 compliant behavior by setting a new
  configuration parameter, echo-client-id.  When enabled, the server will
  include the client identifier option (Option code 61) if received, in its
  responses.  The server identifier returned in NAKs (if enabled) will now
  be the globally defined value (if one) if the server cannot attribute the
  inbound request to a known subnet.
150
151
  [ISC-Bugs #35958]
  [ISC-Bugs #32545]
152

153
154
155
156
- Added support of the configuration parameter, use-host-decl-names, to
  BOOTP request handling.
  [ISC-Bugs #36233]

157
158
159
160
161
162
- Added logic to ignore the signal, SIGPIPE, which ensures write failures
  will be delivered as errors rather than as SIGPIPE signals on all OSs.
  Thanks to Marius Tomaschewski from SUSE who reported the issue and provided
  the patch upon which the fix is based.
  [ISC-Bugs #32222]

163
164
165
166
167
168
169
170
171
- In the failover code, handle the case of communications being interrupted
  when the servers are dealing with POTENTIAL-CONFLICT.  This patch allows
  the primary to accept the secondary moving from POTENTIAL-CONFLICT to
  RESOLUTION-INTERRUPTED as well as handling the bind update process better.
  In addition the code to resend update or update all requests has been
  modified to send requests more often.
  [ISC-Bugs #36810]
  [ISC-Bugs #20352]

172
173
174
175
176
177
178
179
180
181
182
183
184
- By default, the server will now choose the value to use in the forward DNS
  name from the following in order of preference:

    1. FQDN option if provided by the client
    2. Host name option if provided by the client
    3. Configured option host-name if defined

  As before, this may be overridden by defining ddns-hostname to the desired
  value (or expression).  In addition, the server logic has been extended to
  use the value of the host name declaration if use-host-decl-names is enabled
  and no other value is available.
  [ISC-Bugs #21323]

185
186
187
188
- DNS updates were being attempted when dhcp-cache-threshold enabled the use of
  the existing lease and the forward DNS name had not changed.  This has been
  corrected.
  [ISC-Bugs #37368]
189
  [ISC-Bugs #38686]
190

191
- Corrected an issue which caused dhclient to incorrectly form the result when
192
  prepending or appending to the IPv4 domain-search option, received from the
193
194
195
196
  server, when either of the values being combined contain compressed
  components.
  [ISC-Bugs #20558]

197
198
199
200
201
202
203
204
205
- Added the server-id-check parameter to the server configuration.
  This parameter allows run-time control over whether or not a server,
  participating in failover, verifies the dhcp-server-identifier option in
  DHCP REQUESTs against the server’s id before processing the request.
  Formerly, enabling this behavior was done at compilation time through
  the use of the #define, SERVER_ID_CHECK, which has been removed from site.h
  The functionality is now only available through the new runtime paramater.
  [ISC-Bugs #37551]

206
207
208
209
210
211
212
213
214
- During startup, when the server encounters a lease whose binding state is
  FTS_BACKUP but whose pool has no configured failover peer, it will reset the
  lease's binding state to FTS_FREE.  This allows the leases to be reclaimed
  by the server after a pool's configuration has changed from failover to
  standalone. Prior to this such leases would remain stuck in the backup state
  making them unavailable for assignment.  Note this conversion will occur
  whether or not the server is compiled for failover.
  [ISC-Bugs #36960]

215
216
217
218
219
- Fixed a small issue in the treatment of hosts in the inform processing
  that could cause the response to an inform to include information from
  the wrong scope.  The two examples we've heard of are getting subnet
  instead of group information associated with a host entry, or getting
  global information instead of subnet if the host entry was built via
220
221
  omapi.  Thanks to Julien Soula at University of Lille for finding the
  bug and supplying a patch.
222
223
  [ISC-Bugs #35712]

224
225
226
227
228
- Avoid calling pool_timer() recursively from supersede_lease().  This could
  result in leases changing state incorrectly or delaying the running of the
  leae expiration code.
  [ISC-Bugs #38002]

229
230
231
232
233
234
- Move the check for a PID file and process to be before we rewrite the
  lease file.  This avoids the possibility of starting a second instance
  of a server which changes the current lease file confusing the first
  instance.  This check is only included if the admin hasn't disabled PID
  files.
  [ISC-Bugs #38078]
235
  [ISC-Bugs #38143]
236

237
238
239
240
241
- In the client code change the way preferred_life and max_life are printed
  for environment variables to be unsigned rather than signed.
  Thanks to Jiri Popelka at Red Hat for the bug report and patch.
  [ISC-Bugs #37084]

242
243
244
245
246
247
248
249
250
251
- Modified linux packet handling such that packets received via VLAN are now
  seen only by the VLAN interface. Prior to this, such packets were seen by
  both the VLAN interface and its parent (physical) interface, causing the
  server to respond to both.  Note this remains an issue for non-Linux OSs.
  Thanks to Jiri Popelka at Red Hat for the patch.
  [ISC-Bugs #37415]
  [ISC-Bugs #37133]
  [ISC-Bugs #36668]
  [ISC-Bugs #36652]

252
253
254
255
256
257
258
259
260
261
- Log content has been changed to more directly suggest that admins should
  check for multiple IPv6 clients attempting to use the same DUID when only
  abandoned addresses are available.  Debug level logging will now emit counts
  of the total number of, in-use, and abandoned addresses in a shared subnet
  when the server finds no addresses available for a given DUID.  Lastly,
  threshold logging is now automatically disabled for shared subnets whose
  total number of possible addresses exceeds (2^64)-1.
  [ISC-Bugs #26376]
  [ISC-Bugs #38131]

262
263
264
265
266
267
268
269
270
- Added a global parameter, prefix-length-mode, which may be used to determine
  how the server uses a non-zero value for prefix-length supplied by clients
  when soliciting DHCPv6 prefixes.  The server supports selection modes of:
  ignore, prefer, exact, minimum and maximum which are described in detail in
  the server man pages.  The prior behavior of the server was to only offer a
  prefix whose length exactly matched the prefix-length value requested. If
  no such prefixes were available, the server returned a status of none
  available.  Note the default mode, "exact", provides this same behavior.
  [ISC-Bugs #36780]
271
  [ISC-Bugs #32228]
272

273
274
275
276
277
278
279
280
281
282
- Corrected inconsistencies in dhcrelay's setting the upper interface hop count
  limit such that it now sets it to 32 when the upstream address is a multicast
  address per RFC 3315 Section 20. Prior to this if the -u argument preceded
  the -l argument on the command line or if the same interface was specified
  for both; the logic to set the hop limit count for the upper interface was
  skipped.  This caused the hop count limit to be set to the default value
  (typically 1) in the outbound upstream packets.
  [ISC-Bugs #37426]


283
284
285
286
287
			Changes since 4.3.1b1

- Modify the linux and openwrt dhclient scripts to process information
  from a stateless request.  Thanks to Jiri Popelka at Red Hat for the
  bug report and patch.
288
  [ISC-Bugs #36102]
289

290
291
292
293
294
- Remove more unused RCSID tags.  These weren't noticed in 4.3 as
  the code isn't used anymore but we remove them here to keep the
  code consistent across versions.
  [ISC-Bugs #36451]

Shawn Routhier's avatar
Shawn Routhier committed
295
			Changes since 4.3.0
296

Shawn Routhier's avatar
Shawn Routhier committed
297
- Tidy up several small tickets.
298
299
  Correct parsing of DUID from config file, previously the LL type
  was put in the wrong place in the DUID string.
300
  [ISC-Bugs #20962]
301
302
303
304
305
306
307
  Add code to parse "do-forward-updates" as well as "do-forward-update"
  Thanks to Jiri Popelka at Red Hat.
  [ISC-Bugs #31328]
  Remove log_priority as it isn't currently used.
  [ISC-Bugs #33397]
  Increase the size of the buffer used for reading interface information.
  [ISC-Bugs #34858]
308

309
310
311
- Remove an extra set of the msg_controllen variable.
  [ISC-Bugs #21035]

312
313
314
315
316
- Add a more understandable error message if a configuration attempts
  to add multiple keys for a single zone.  Thanks to a patch from Jiri
  Popelka at Red Hat.
  [ISC-Bugs #31892]

317
318
319
- Fix some minor issues in the dst code.
  [ISC-Bugs #34172]

Shawn Routhier's avatar
Shawn Routhier committed
320
- Properly #ifdef functions so that the code can compile without NSUPDATE.
321
322
  [ISC-Bugs #35058]

323
324
325
326
- Update the partner's stos (start time of state, basically when we last
  heard from this partner) field when updating the state in failover.
  [ISC-Bugs #35549]

Shawn Routhier's avatar
Shawn Routhier committed
327
- Modify the overload processing to allow space for the remote agent ID.
328
329
330
331
332
  [ISC-Bugs #35569]
  Handle the ordering of the SUBNET_MASK option even if it is the last
  option in the list.
  [ISC-Bugs #24580]

333
334
335
- Remove the code that allows a server to follow RFC3315 instead of
  the subsequent errata from August 2010 when determining which IAs
  to include if no addresses will be assigned.
336
  [ISC-Bugs #28938]
337

338
339
- Remove unused RCSID tags.
  [ISC-Bugs #35846]
340

341
342
- Correct the v6 client timing code.  When doing the timing backoff
  for MRT limit it to MRD.
Shawn Routhier's avatar
Shawn Routhier committed
343
  Thanks to Jiri Popelka at Red Hat for the bug report and fix.
344
345
  [ISC-Bugs #21238

346
347
348
349
350
- Add a log entry when killing a client and remove the PID files
  when a server, relay or client are killed.
  [ISC-Bugs #16970]
  [ISC-Bugs #17258]

Shawn Routhier's avatar
Shawn Routhier committed
351
352
- Some minor cleanups in the client code.
  In addition to checking for dhcpc check for bootpc in the services list.
353
354
355
  [ISC-Bugs #18933]
  Correct the client code to only try to get a lease once when the
  given the "-1" argument.
Shawn Routhier's avatar
Shawn Routhier committed
356
  Thanks to Jiri Popelka at Red Hat for the bug report and fix.
357
358
359
360
361
362
363
364
365
  [ISC-Bugs #26735]
  When asked for the version don't send the output to syslog.
  [ISC-Bugs #29772]
  Add the next server information to the environment variables for
  use by the client script.  In order to avoid changing the client
  lease file the next server information isn't written to it.
  Thanks to Tomas Hozza at Red Hat for the suggestion and a prototype fix.
  [ISC-Bugs #33098]

Shawn Routhier's avatar
Shawn Routhier committed
366
- Several updates to the dhcp server code.
367
368
369
370
  When not in quiet mode print out the files being used.
  [ISC-Bugs #17551]
  As accessing some pid files may require privileges move the dropping
  of permission bits due to the paranoia patch to be after the pid code.
Shawn Routhier's avatar
Shawn Routhier committed
371
  Thanks to Jiri Popelka at Red Hat for the bug report and fix.
372
373
374
375
  [ISC-Bugs #25806]
  When processing a "--version" request don't output the version information
  to syslog.

Shawn Routhier's avatar
Shawn Routhier committed
376
- Add the "enable-log-pid" build option to the configure script.  When enabled
377
378
379
380
381
  this causes the client, server and relay programs to include the PID
  number in syslog messages.
  Thanks to Marius Tomaschewski for the suggestion and proto-patch.
  [ISC-Bugs #29713]

382
383
384
385
- Add a #define to specify the prefix length used when a client attempts
  to configure an address.  This can be modified by editing includes/site.h.
  By default it is set to 64.  While 128 might be a better choice it would
  also be a change for currently running systems, so we have left it at 64.
386
  [ISC-Bugs #DHCP-2]
387

388
389
390
391
392
393
394
- Add a run time option to the client "-df" to allow the administrator to
  point to a second lease file the client can search for a DUID.  This can
  be used to allow a v4 and a v6 instance of the client to share a DUID.
  The second file will only be searched if there isn't a DUID in the main
  lease file and the DUID will be written out to the main lease file.
  [ISC-Bugs #34886]

395
396
397
398
- Have the client fsync the lease file to avoid lease corruption if the
  client hibernates or otherwise shuts down.
  [ISC-Bugs #35894]

399
400
401
402
- Add a check for L2VLAN in bpf.c to help support VLAN interfaces
  Thanks to Steinar Haug for the suggestion.
  [ISC-Bugs #36033]

403
404
405
406
- Modify the handling of the resolv.conf file to allow the DHCP
  process to start up even if the resolv.conf file has problems.
  [ISC-Bugs #35989]

Shawn Routhier's avatar
Shawn Routhier committed
407
- Add threshold logging functionality.  Two new options,
408
409
410
411
412
  log-threshold-low and log-threshold-high, indicate to the
  server if and when it should log an error message as addresses
  in a pool are used.
  [ISC-Bugs #34487]

413
414
- Add code to properly dereference a pointer in the dhclient code
  on an error condition.
415
  [ISC-Bugs #36194]
416

417
418
419
- Add code to help clean up soft leases.
  [ISC-Bugs #36304]

420
421
422
423
- Disable the gentle shutdown functionality until we can determine
  the best way to present it to remove or reduce the side effects.
  [ISC-Bugs #36066]

424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
			Changes since 4.3.0rc1

- None
			Changes since 4.3.0b1

- Tidy up receive packet processing.
  Thanks to Brad Plank of GTA for reporting the issue and suggesting
  a possible patch.
  [ISC-Bugs #34447]

			Changes since 4.3.0a1

- Modify the message displayed when a process hits a fatal error.
  The new message is much shorter and simply points to the README
  and our website for directions on bug submissions.
  [ISC-Bugs #24789]

- Handle an absent resolv.conf file better.
  [ISC-Bugs #35194]

444
			Changes since 4.2.0 (new features)
445
446
447
448
449
450
451

- If a client renews before 'dhcp-cache-threshold' percent of its lease
  has elapsed (default 25%), the server will reuse the allocated lease
  (provide a lease within the currently allocated lease-time) rather
  than extend or renew the lease.  This absolves the server of needing
  to perform an fsync() operation on the lease database before reply,
  which improves performance. [ISC-Bugs #22228]
Shawn Routhier's avatar
Shawn Routhier committed
452
  Updated this patch to support asynchronous DDNS.  If the server is
Shawn Routhier's avatar
Shawn Routhier committed
453
  attempting to do DDNS on a lease it should be udpated and written to
454
  disk even if that wouldn't be necessary due to the thresholding.
Shawn Routhier's avatar
Shawn Routhier committed
455
  [ISC-Bugs #26311]
456

457
458
459
460
- The 'no available billing' log line now also logs the name of the last
  matching billing class tried before failing to provide a billing.
  [ISC-Bugs #21759]

461
462
463
464
- A problem with missing get_hw_addr function when --enable-use-sockets
  was used is now solved on GNU/Linux, BSD and GNU/Hurd systems. Note
  that use-sockets feature was not tested on those systems. Client and
  server code no longer use MAX_PATH constant that is not defined on
Shawn Routhier's avatar
Shawn Routhier committed
465
  GNU/Hurd systems. [ISC-Bugs #25979]
466

Shawn Routhier's avatar
Shawn Routhier committed
467
468
469
470
471
472
473
- Add a perl script in the contrib directory, dhcp-lease-list.pl, which
  can parse v4 lease files and output the lease information in a more
  human friendly manner.  This was written by Christian Hammers with
  some updates by vom and ISC.  This is contributed code and is not
  supported by ISC; however it may be useful to some users.
  [ISC-Bugs #20680]

Shawn Routhier's avatar
Shawn Routhier committed
474
- Add support in v6 for on-commit, on-expire and on-release.
475
  [ISC-Bugs #27912]
Shawn Routhier's avatar
Shawn Routhier committed
476

Shawn Routhier's avatar
Shawn Routhier committed
477
478
479
- Add support for using classes with v6.
  [ISC-Bugs #26510]

Shawn Routhier's avatar
Shawn Routhier committed
480
481
482
483
484
485
486
- Update the DDNS code to current standards and allow for sharing
  of DDNS entries between v4 and v6 clients.  The new code is used
  if the ddns-update-style is set to "standard", the older code is
  still available if ddns-update-style is set to "interim".  The
  oldest DDNS code "ad-hoc" has been removed.  Thanks to Thomas Pegeot
  who submitted a patch for this issue.  This patch is based on
  that work with some modifications.
487
  [ISC-Bugs #21139]
Shawn Routhier's avatar
Shawn Routhier committed
488

489
490
491
492
493
494
- Add a configuration option to the server to suppress using fsync().
  Enabling this option will mean that fsync() is never called.  This
  may provide better performance but there is also a risk that a lease
  will not be properly written to the disk after it has been issued
  to a client and before the server stops.  Using this option is
  not recommended.
495
  [ISC-Bugs #34810]
496

497
498
499
500
501
502
503
- Add some logging statements to indicate when the server is ready
  to serve.  One statement is emitted after the server has finished
  reading its files and is about to enter the dispatch loop.
  This is "Server starting service.".
  The second is emitted when a server determines that both it and
  its failover peer are in the normal state.
  This is "failover peer <name>: Both servers normal."
504
  [ISC-Bugs #33208]
505

506
507
508
- Add support for accessing options from v6 relays.  The v6relay
  statement allows the administrator to choose which relay to
  use when searching for an option, see the dhcp-options man page
Shawn Routhier's avatar
Shawn Routhier committed
509
510
  for a description.  The host-identifier option has also been
  updated to support the use of relay options, see the dhcpd.conf
511
512
513
  man page for a description.
  [ISC-Bugs #19598]

514
- When doing DDNS if there isn't an appropriate zone statement attempt
Shawn Routhier's avatar
Shawn Routhier committed
515
  to find a reasonable nameserver via a DNS resolver.  This restores
516
517
518
519
520
521
  some functionality that was lost in the transition to asynchronous
  DDNS.  Due to the lack of security and increase in fragility of the
  system when using this feature we strongly recommend the use of
  appropriate zone statements rather than using this functionality.
  [ISC-Bugs #30461]

522
523
524
525
526
- Add support for specifying the address from which to send
  DDNS updates on the DHCP server.  There are two new options
  "ddns-local-address4" and "ddns-local-address6" that each take
  one instance of their respective address types.
  [ISC-Bugs #34779]
527

Shawn Routhier's avatar
Shawn Routhier committed
528
529
530
531
- Add ignore-client-uids option in the server.  This option causes
  the server to not record a client's uid in its lease.  This
  violates the specification but may also be useful when a client
  can dual boot using different client ids but the same mac address.
Shawn Routhier's avatar
Shawn Routhier committed
532
  Thank you to Brian De Wolf at Cal Poly Pomona for the patch.
Shawn Routhier's avatar
Shawn Routhier committed
533
534
  [ISC-Bugs #32427]
  [ISC-Bugs #35066]
535
536
537
538
539
540

- Extend the DHCPINFORM processing to honor the subnet selection option
  and take host declarations into account.
  Thanks to Christof Chen for testing and submitting the patch.
  [ISC-Bugs #35015]

541
542
543
544
- Extend the hardware expression to look into the lease structure
  for a hardware address if there is no packet.  This allows the
  server to find the hardware address during on-expiry processing.
  [ISC-Bugs #24584]
545

546
547
- Add definitions for some options that have been specified by the IETF.
  [ISC-Bugs #29268]
548
  [ISC-Bugs #35198]
549

550
			Changes since 4.2.0 (bug fixes)
551

552
553
- When using 'ignore client-updates;', the FQDN returned to the client
  is no longer truncated to one octet.
554

555
- Cleaned up an unused hardware address variable in nak_lease().
556

557
558
- Manpage entries for the ia-pd and ia-prefix options were updated to
  reflect support for prefix delegation.
559

560
- Cleaned up some compiler warnings
561

562
563
564
565
566
567
- An optimization described in the failover protocol draft is now included,
  which permits a DHCP server operating in communications-interrupted state
  to 'rewind' a lease to the state most recently transmitted to its peer,
  greatly increasing a server's endurance in communications-interrupted.
  This is supported using a new 'rewind state' record on the dhcpd.leases
  entry for each lease.
Shawn Routhier's avatar
Shawn Routhier committed
568

569
- Fix the trace code which was broken by the changes to the DDNS code.
570

571
572
- Update the fsync code to work with the changes to the DDNS code.  It now
  uses a timer instead of noticing if there are no more packets to process.
573

574
575
576
577
- When constructing the DNS name structure from a text string append
  the root to relative names.  This satisfies a requirement in the DNS
  library that names be absolute instead of relative and prevents DHCP
  from crashing.  [ISC-Bugs #21054]
578

579
580
581
582
583
584
585
586
587
- "The LDAP Patch" that has been circulating for some time, written by
  Brian Masney and S.Kalyanasundraram and maintained for application to
  the DHCP-4 sources by David Cantrell has been included.  Please be
  advised that these sources were contributed, and do not yet meet the
  high standards we place on production sources we include by default.
  As a result, the LDAP features are only included by using a compile-time
  option which defaults off, and if you enable it you do so under your
  own recognizance.  We will be improving this software over time.
  [ISC-Bugs #17741]
Shawn Routhier's avatar
Shawn Routhier committed
588

589
590
- Prohibit including lease time information in a response to a DHCP INFORM.
  [ISC-Bugs #21092]
Shawn Routhier's avatar
Shawn Routhier committed
591

592
593
594
595
! Accept a client id of length 0 while hashing.  Previously the server would
  exit if it attempted to hash a zero length client id, providing attackers
  with a simple denial of service attack.  [ISC-Bugs #21253]
  CERT: VU#541921 - CVE: CVE-2010-2156
Shawn Routhier's avatar
Shawn Routhier committed
596

597
- A memory leak in ddns processing was closed.  [ISC-Bugs #21377]
Shawn Routhier's avatar
Shawn Routhier committed
598

599
600
601
602
603
- Modify the exception handling for initial context creation.  Previously
  we would try and clean up before exiting.  This could present problems
  when the cleanup required part of the context that wasn't available.  It
  also didn't do much as we exited afterwards anyway.   Now we simply log
  the error and exit. [ISC-Bugs #21093]
Shawn Routhier's avatar
Shawn Routhier committed
604

605
606
607
608
609
- A bug was fixed that could cause the DHCPv6 server to advertise/assign a
  previously allocated (active) lease to a client that has changed subnets,
  despite being on different shared networks.  Dynamic prefixes specifically
  allocated in shared networks also now are not offered if the client has
  moved.  [ISC-Bugs #21152]
Shawn Routhier's avatar
Shawn Routhier committed
610

611
- Add some debugging output for use with the DDNS code. [ISC-Bugs #20916]
Shawn Routhier's avatar
Shawn Routhier committed
612

613
614
- Fix the trace code to handle timing events better and to truncate a file
  before using instead of overwriting it.  [ISC-Bugs #20969]
Shawn Routhier's avatar
Shawn Routhier committed
615

616
617
618
619
620
621
- Modify the determination of the default TTL to use for DDNS updates.
  The user may still configure the ttl via ddns-ttl.  The default for
  both v4 and v6 is now 1/2 the (preferred) lease time with a limit.  The
  previous defaults (1/2 lease time without a limit for v4 and a default
  value for v6) may be used by defining USE_OLD_DDNS_TTL in site.h
  [ISC-Bugs #21126]
Shawn Routhier's avatar
Shawn Routhier committed
622

623
624
- libisc/libdns is now brought up to version 9.7.1rc1.  This corrects
  three reported flaws in ISC DHCP;
Shawn Routhier's avatar
Shawn Routhier committed
625

626
627
  o DHCP processes (dhcpd, dhclient) fail to start if one of either the
    IPv4 or IPv6 address families is not present.  [ISC-Bugs #21122]
628

629
630
  o Assertion failure when attempting to cancel a previously running DDNS
    update.  [ISC-Bugs #21133]
631

632
633
  o Compilation failure of libisc/libdns due to the use of a flexible
    array member.  [ISC-Bugs #21316]
634

635
- Add declaration for variable in debug code in alloc.c.  [ISC-Bugs #21472]
636

637
638
639
640
641
642
- Documentation cleanup covering multiple tickets
  [ISC-Bugs #20265] [ISC-Bugs #20259] minor cleanup
  [ISC-Bugs #20263] add text describing some default values
  [ISC-Bugs #20193] single quotes at the start of a line indicate a control
  line to nroff, escape them if we actually want a quote.
  [ISC-Bugs #18916] sync the pointer to web pages amongst the different docs
643

644
645
646
647
648
649
- 'get-host-names true;' now also works even if 'use-host-decl-names true;'
  was also configured.  The nature of this repair also fixes another
  error; the host-name supplied by a client is no longer overridden by a
  reverse lookup of the lease address.  Thanks to a patch from Wilco Baan
  Hofman supplied to us by the Debian package maintenance team.
  [ISC-Bugs #21691] {Debian Bug#509445}
650

651
652
653
- The .TH tag for the dhcp-options manpage was typo repaired
  thanks to a report from jidanni and the Debian package maintenance
  team.  [ISC-Bugs #21676] {Debian Bug#563613}
654

655
656
657
658
- More documentation changes - primarily to put the options in the dhclient
  and dhcpd man pages into the standard form.  Thanks in part to a patch
  from David Cantrell at Red Hat.
  [ISC-Bugs #20264] and parts of [ISC-Bugs #17744] dhclient.8 changes
659

660
661
- Add code to clear the pointer to an object in an OMAPI handle when the
  object is freed due to a dereference.  [ISC-Bugs #21306]
Shawn Routhier's avatar
Shawn Routhier committed
662

663
664
665
- Fixed a bug that leaks host record references onto lease structures,
  causing the server to apply configuration intended for one host to any
  other innocent clients that come along later.  [ISC-Bugs #22018]
Shawn Routhier's avatar
Shawn Routhier committed
666

667
668
669
670
671
672
673
- Minor code fixes
  [ISC-Bugs #19566] When trying to find the zone for a name for ddns allow
  the name to be at the apex of the zone.
  [ISC-Bugs #19617] Restrict length of interface name read from command line
  in dhcpd - based on a patch from David Cantrell at Red Hat.
  [ISC-Bugs #20039] Correct some error messages in dhcpd.c
  [ISC-Bugs #20070] Better range check on values when creating a DHCID.
674
  [ISC-Bugs #20198] Avoid writing past the end of the field when adding
675
676
677
678
679
  overly long file or server names to a packet and add a log message
  if the configuration supplied overly long names for these fields.
  Thanks to Martin Pala.
  [ISC-Bugs #21497] Add a little more randomness to rng seed in client
  thanks to a patch from Jeremiah Jinno.
Shawn Routhier's avatar
Shawn Routhier committed
680

681
- Correct error handling in DLPI [ISC-Bugs #20378]
Shawn Routhier's avatar
Shawn Routhier committed
682

683
684
- Remove __sun__ and __hpux__ typedefs in osdep.h as they are now being
  checked in configure.  [ISC-Bugs #20443]
Shawn Routhier's avatar
Shawn Routhier committed
685

686
687
- Modify how the cmsg header is allocated the v6 send and received routines
  to compile on more compilers.  [ISC-Bugs #20524]
Shawn Routhier's avatar
Shawn Routhier committed
688

689
690
- When parsing a domain name free the memory for the name after we are
  done with it.  [ISC-Bugs #20824]
691

692
693
694
- Add an elapsed time option to the release message and refactor the
  code to move most of the common code to a single routine.
  [ISC-Bugs #21171].
695

696
697
- Two identical log messages for commit_leases() have been disambiguated.
  [ISC-Bugs #18915]
698

699
700
701
- Parse date strings more properly - the code now handles semi-colons in
  date strings correctly.  Thanks to a patch from Jiri Popelka at Red Hat.
  [ISC-Bugs #21501, #20598]
702

703
704
705
706
707
708
709
- Fixes to lease input and output.
  [ISC-Bugs #20418] - Some systems don't support the "%s" argument to
  strftime, paste together the same string using mktime instead.
  [ISC-Bugs #19596] - When parsing iaid values accept printable
  characters.
  [ISC-Bugs #21585] - Always print time values in omshell as hex
  instead of ascii if the values happen to be printable characters.
710

711
712
713
714
715
716
717
718
- Minor changes for scripts, configure.ac and Makefiles
  [ISC-Bugs #19147] Use domain-search instead of domain-name in manual and
                    example conf file.  Thanks to a patch from David Cantrell
                    at Red Hat.
  [ISC-Bugs #19761] Restore address when doing a rebind in DHCPv6
  [ISC-Bugs #19945] Properly close the quote on some arguments.
  [ISC-Bugs #20952] Add 64 bit types to configure.ac
  [ISC-Bugs #21308] Add "PATH=" to CLIENT_PATH envrionment variable
719

720
721
722
723
- Update the code to parse dhcpv6 lease files to accept a semi-colon at
  the end of the max-life and preferred-life clauses.  In order to be
  backwards compatible with older lease files not finding a semi-colon
  is also accepted.  [ISC-Bugs #22303].
724

725
726
727
728
! Handle a relay forward message with an unspecified address in the
  link address field.  Previously such a message would cause the
  server to crash.  Thanks to a report from John Gibbons.  [ISC-Bugs #21992]
  CERT: VU#102047 CVE: CVE-2010-3611
729

730
731
732
- ./configure on longer searches for -lcrypto to explicitly link against.
  This fixes a bug where 'dhclient' would have shared library dependencies
  on '/usr/lib'.  [ISC-Bugs #21967]
733

734
735
736
737
738
- Handle pipe failures more gracefully.  Some OSes pass a SIGPIPE
  signal to a process and will kill the process if the signal isn't
  caught.  This patch adds code to turn off the SIGPIPE signal via
  a setsockopt() call.  The signal is already being ignored as part
  of the ISC library.  [ISC-Bugs #22269]
739

740
741
742
743
744
- Restore printing of values in omshell to the style pre 21585.  For
  21585 we changed the print routines to always display time values
  as a hex list.  This had a side effect of printing all data strings
  as a hex list.  We shall investigate other ways of displaying time
  values more usefully.  [ISC-Bugs #22626]
Shawn Routhier's avatar
Shawn Routhier committed
745

746
747
748
749
750
! Fix the handling of connection requests on the failover port.
  Previously a connection request from a source that wasn't
  listed as a failover peer would cause the server to become
  non-responsive.  Thanks to a report from Brad Bendily, brad@bendily.com.
  [ISC-Bugs #22679]
751
  CERT: VU#159528 CVE: CVE-2010-3616
752

753
754
755
- Don't pass the ISC_R_INPROGRESS status to the omapi signal handlers.
  Passing it through to the handlers caused the omshell program to fail
  to connect to the server.  [ISC-Bugs #21839]
756

757
758
759
- Fix the paranthesis in the code to process configuration statements
  beginning with "auth".  The previous arrangement caused
  "auto-partner-down" to be processed incorrectly.  [ISC-Bugs #21854]
760

761
762
763
- Limit the timeout period allowed in the dispatch code to 2^^32-1 seconds.
  Thanks to a report from Jiri Popelka at Red Hat.
  [ISC-Bugs #22033], [Red Hat Bug #628258]
764

765
766
767
768
769
- When processing the format flags for a given option consume the
  flag indicating an optional value correctly.  A symptom of this
  bug was an infinite loop when trying to parse the slp-service-scope
  option.  Thanks to a patch from Marius Tomaschewski.
  [ISC-Bugs #22055]
770

771
772
773
774
- Disable the use of kqueue in the ISC library.  This avoids a problem
  between the fork and socket code that caused the dhcpd process to
  use all available cpu if the program daemonized itself.
  [ISC-Bugs #21911]
775

776
777
778
779
780
781
782
! When processing a request in the DHCPv6 server code that specifies
  an address that is tagged as abandoned (meaning we received a
  decline request for it previously) don't attempt to move it from
  the inactive to active pool as doing so can result in the server
  crashing on an assert failure.  Also retag the lease as active
  and reset its timeout value.
  [ISC-Bugs #21921]
783

784
785
786
787
- Removed the restriction on using IPv6 addresses in IPv4 mode.  This
  allows IPv4 options which contain IPv6 addresses to be specified.  For
  example the 6rd option can be specified and used like this:
  [ISC-Bugs #23039]
788

789
790
791
	option 6rd code 212 = { integer 8, integer 8,
				ip6-address, array of ip-address };
	option 6rd 16 10 2001:: 1.2.3.4, 5.6.7.8;
792

793
794
- Handle some DDNS corner cases better.  Maintain the DDNS transaction
  information when updating a lease and cancel any existing transactions
795
  when removing the ddns information.
796
  [ISC-Bugs #23103]
797

798
799
800
801
- Some fixes for LDAP
  [ISC-Bugs #21783] - Include lber library when building ldap
  [ISC-Bugs #22888] - Enable the ldap code when buidling common
  The above fixes are from Jiri Popelka at Red Hat.
802

803
804
- Modify the dlpi code to accept getmsg() returning a positive value.
  [ISC-Bugs #22824]
805
806
807
808
809
810

! In dhclient check the data for some string options for
  reasonableness before passing it along to the script that
  interfaces with the OS.
  [ISC-Bugs #23722]
  CVE: CVE-2011-0997
811
812
813

- DHCPv6 server now responds properly if client asks for a prefix that
  is already assigned to a different client. [ISC-Bugs #23948]
814
815
816
817
818
819
820
821

- Add the option "--no-pid" to the client, relay and server code,
  to disable writing a pid file.  Add the option "-pf pidfile"
  to the relay to allow the user to supply the pidfile name at
  runtime.  Add the "with-relay6-pid-file" option to configure
  to allow the user to supply the pidfile name for the relay
  in v6 mode at configure time.
  [ISC-Bugs #23351] [ISC-Bugs #17541]
822
823
824

- 'dhclient' no longer waits a random interval after first starting up to
  begin in the INIT state.  This conforms to RFC 2131, but elects not to
825
  implement a 'SHOULD' direction in section 4.1. The goal of this change
826
  is to start up faster. [ISC-Bugs #19660]
827
828
829
830

- Added 'initial-delay' parameter that specifies maximum amount of time
  before client goes to the INIT state. The default value is 0. In previous
  versions of the code client could wait up to 5 seconds. The old behavior
831
  may be restored by using 'initial-delay 5;' in the client config file.
832
  [ISC-Bugs #19660]
833
834
835
836
837

- ICMP ping-check should now sit closer to precisely the number of seconds
  configured (or default 1), due to making use of the new microsecond
  scale timer internally to dhcpd.  This corrects a bug where the server
  may immediately timeout an ICMP ping-check if it was made late in the
838
  current second. [ISC-Bugs #19660]
839
840
841
842
843

- The DHCP client will schedule renewal and rebinding events in
  microseconds if the DHCP server provided a lease-time that would result
  in sub-1-second timers.  This corrects a bug where a 2-second or lower
  lease-time would cause the DHCP client to enter an infinite loop by
844
  scheduling renewal at zero seconds. [ISC-Bugs #19660]
845
846
847

- Client lease records are recorded at most once every 15 seconds.  This
  keeps the client from filling the lease database disk quickly on very small
848
  lease times. [ISC-Bugs #19660]
849
850
851
852
853

- To defend against RFC 2131 non-compliant DHCP servers which fail to
  advertise a lease-time (either mangled, or zero in value) the DHCP
  client now adds the server to the reject list ACL and returns to INIT
  state to hopefully find an RFC 2131 compliant server (or retry in INIT
854
  forever). [ISC-Bugs #19660]
855
856
857
858
859
860
861
862

- Parameters configured to evaluate from user defined function calls can
  now be correctly written to dhcpd.leases (as on 'on events' or dynamic
  host records inserted via OMAPI).  [ISC-Bugs #22266]

- If a 'next-server' parameter is configured in a dynamic host record via
  OMAPI as a domain name, the syntax written to disk is now correctly parsed
  upon restart.  [ISC-Bugs #22266]
863
864
865
866
867
868
869

- The DHCP server now responds to DHCPLEASEQUERY messages from agents using
  IP addresses not covered by a subnet in configuration.  Whether or not to
  respond to such an agent is still governed by the 'allow leasequery;'
  configuration parameter, in the case of an agent not covered by a configured
  subnet the root configuration area is examined. Server now also returns
  vendor-class-id option, if client sent it. [ISC-Bugs #21094]
870

Shawn Routhier's avatar
Shawn Routhier committed
871
872
873
874
875
876
- Documentation fixes
  [ISC-Bugs #17959] add text to AIX section describing how to have it send
  responses to the all-ones address.
  [ISC-Bugs #19615] update the includes in dhcpctl/dhcpctl.3 to be more correct
  [ISC-Bugs #20676] update dhcpd.conf.5 to include the RFC numbers for DDNS

877
878
879
880
881
- Relay no longer crashes, when DHCP packet is received over interface without
  any IPv4 address assigned. Also extended logging message about discarding
  packets with invalid hlen with information about relevant interface name.
  [ISC-Bugs #22409]

882
883
884
- Relay now properly logs that packet was received over interface without
  global IPv6 address [ISC-Bugs #24070]

885
886
- Linux Packet Filter interface improvement. sockaddr_pkt structure is used,
  rather than sockaddr. Packet ethertype is now forced to ETH_P_IP.
887
888
  [ISC-Bugs #18975]

889
890
891
892
893
894
895
896
897
898
899
900
- Minor code cleanups - but note port change for #23196
  [ISC-Bugs #23470] - Modify when an ignore return macro is defined to
  handle unsed error return warnings for more versions of gcc.
  [ISC-Bugs #23196] - Modify the reply handling in the server code to
  send to a specified port rather than to the source port for the incoming
  message.  Sending to the source port was test code that should have
  been removed.  The previous functionality may be restored by defining
  REPLY_TO_SOURCE_PORT in the includes/site.h file.  We suggest you don't
  enable this except for testing purposes.
  [ISC-Bugs #22695] - Close a file descriptor in an error path.
  [ISC-Bugs #19368] - Tidy up variable types in validate_port.

901
- Code cleanup: remove obsolete PROTO, KandR, INLINE and ANSI_DECL macros
902
  [ISC-Bugs #13151]
903
904

- Compilation problem with gcc4.5 and omshell.c resolved. [ISC-Bugs #23831]
905

Shawn Routhier's avatar
Shawn Routhier committed
906
907
908
909
910
911
912
913
- Client Script fixes
  [ISC-Bugs #23045] Typos in client/scripts/openbsd
  [ISC-Bugs #23565] In the client scripts add a zone id (interface id) if
  the domain search address is link local.
  [ISC-Bugs #1277] In some of the client scripts add code to handle the
  case of the default router information being changed without the address
  being changed.

Tomek Mrugalski's avatar
Tomek Mrugalski committed
914
915
916
- Documentation cleanup
  [ISC-Bugs #23326] Updated References document, several man page updates

917
- Server no longer complains about NULL pointer when configured
918
919
  server-identifier expression fails to evaluate. [ISC-Bugs #24547]

920
921
922
923
924
- Convert ISC_R_INPROGRESS status to ISC_R_SUCCESS when called from other
  than the dispatch handler.  This fixes an issue where omshell, when
  run from the same platform as the server, would appear to fail to
  connect.  This is a companion to #21839.  [ISC-Bugs #23592]

925
926
927
928
- Enlarge the buffer size used by the Omshell code and some of the
  print routines to allow for greater than 60 characters or, when
  printing as hex strings, 20 characters.  [ISC-Bugs #22743]

929
930
931
- In Solaris 11 switch to using sockets instead of DLPI, thanks
  to a patch form Oracle.  [ISC-Bugs #24634].

932
933
934
- Strict checks for content of domain-name DHCPv4 option can now be
  configured during compilation time. Even though RFC2132 does not allow
  to store more than one domain in domain-name option, such behavior is
935
936
937
938
  now enabled by default, but this may change some time in the future.
  See ACCEPT_LIST_IN_DOMAIN_NAME define in includes/site.h.
  [ISC-Bugs #24167]

939
940
941
942
943
944
945
946
947
- DNS Update fix. A misconfigured server could crash during DNS update
  processing if the configuration included overlapping pools or
  multiple fixed-address entries for a single address.  This issue
  affected both IPv4 and IPv6. The fix allows a server to detect such
  conditions, provides the user with extra information and recommended
  steps to fix the problem.  If the user enables the appropriate option
  in site.h then server will be terminated
  [ISC-Bugs #23595]

948
949
950
951
952
953
954
955
! Two packets were found that cause a server to halt.  The code
  has been updated to properly process or reject the packets as
  appropriate.  Thanks to David Zych at University of Illinois
  for reporting this issue.  [ISC-Bugs #24960]
  One CVE number for each class of packet.
  CVE-2011-2748
  CVE-2011-2749

956
957
958
959
- Fix the code that checks for an existing DDNS transaction to cancel
  when removing DDNS information, so that we will continue with the
  processing if we have a lease even if it doesn't have an outstanding
  transaction.  [ISC-Bugs #24682]
960

961
962
- Add AM_MAINTAINER_MODE to configure.ac to avoid rebuilding
  configuration files.  [ISC-Bugs #24107]
963

964
965
- Add support for passing DDNS information to a DNS server over
  an IPv6 address.  [ISC-Bugs #22647]
966

967
968
- Enhanced patch for 23595 to handle IPv4 fixed addresses more
  cleanly.  [ISC-Bugs #23595]
Shawn Routhier's avatar
Shawn Routhier committed
969

970
971
972
973
974
975
! Add a check for a null pointer before calling the regexec function.
  Without this check we could, under some circumstances, pass
  a null pointer to the regexec function causing it to segfault.
  Thanks to a report from BlueCat Networks.
  [ISC-Bugs #26704].
  CVE: CVE-2011-4539
Shawn Routhier's avatar
Shawn Routhier committed
976

977
978
979
980
981
982
983
984
985
986
987
988
! Modify the DDNS handling code.  In a previous patch we added logging
  code to the DDNS handling.  This code included a bug that caused it
  to attempt to dereference a NULL pointer and eventually segfault.
  While reviewing the code as we addressed this problem, we determined
  that some of the updates to the lease structures would not work as
  planned since the structures being updated were in the process of
  being freed: these updates were removed.  In addition we removed an
  incorrect call to the DDNS removal function that could cause a failure
  during the removal of DDNS information from the DNS server.
  Thanks to Jasper Jongmans for reporting this issue.
  [ISC-Bugs #27078]
  CVE: CVE-2011-4868
Shawn Routhier's avatar
Shawn Routhier committed
989

990
991
992
993
- Fixed the code that checks if an address the server is planning
  to hand out is in a reserved range.  This would appear as
  the server being out of addresses in pools with particular ranges.
  [ISC-Bugs #26498]
Shawn Routhier's avatar
Shawn Routhier committed
994

995
996
997
998
- In the DDNS code handle error conditions more gracefully and add more
  logging code.  The major change is to handle unexpected cancel events
  from the DNS client code.
  [ISC-Bugs #26287]
Shawn Routhier's avatar
Shawn Routhier committed
999

1000
- Tidy up the receive calls and eliminate the need for found_pkt.
For faster browsing, not all history is shown. View entire blame