Update the v6 client code to handle getting
IA_NAs and IA_PDs in the same request better.
Squashed commit of the following:
commit ad1bf23100eba541c26c6c26fc2c5c9dc57dd674
Author: Shawn Routhier <sar@isc.org>
Date: Mon Nov 16 23:08:13 2015 -0800
[rt40190] Use dhc6_check_status for addresses and prefixes
commit 4cb1d499342e68c5c93b7e8dac71c9adbd737846
Author: Shawn Routhier <sar@isc.org>
Date: Mon Nov 16 22:02:05 2015 -0800
[rt40190] Correct the tests for a status code in the client
Some of the tests for the NoAddrs or NoPrefix codes in the
were incorrect, checking for a return of not success instead
of success.
commit 41ad9ea4438c0f64b95ec7afeac38afd2f3b36cb
Author: Shawn Routhier <sar@isc.org>
Date: Fri Nov 13 21:04:55 2015 -0800
[rt40190] Update site.h to have the correct default
commit cb720dac6670e1a6cc19b22550506ded4093abef
Author: Shawn Routhier <sar@isc.org>
Date: Fri Nov 13 21:03:38 2015 -0800
[rt40190] update per second set of review comments
Mostly this is a set of updates to the documentation.
The only code change is to add a backwards compatibility
option in includes/site.h for people who want the old weightings
for the client lease scoring.
commit 269a5324b950062380b4e3988f56593dc21d05d9
Author: Thomas Markwalder <tmark@isc.org>
Date: Thu Nov 12 09:00:36 2015 -0500
[40190] Fixed another typo
commit 7da158497cd9236c30dfdce2b115818d1954839f
Author: Thomas Markwalder <tmark@isc.org>
Date: Thu Nov 12 07:29:33 2015 -0500
[40190] Minor cosmetics in dhc6.c
commit a010737de36e5ad2f46bb11f471ac66ccbc856aa
Author: Shawn Routhier <sar@isc.org>
Date: Sat Nov 7 00:05:20 2015 -0800
[rt40190] Update the use of the minimum score
Update the use of the minimum score to use #defines instead
of 150. This corrects it for the current values and allows
us to change the values if we include a backwards compatibility
option.
commit b078575da08c06a75a49110273bf42e24d03c08a
Author: Shawn Routhier <sar@isc.org>
Date: Fri Nov 6 21:55:05 2015 -0800
[rt40190] Updates per review comments
Update several comments to be more informative
The code changes are mostly to fold all the two
bare_ia routines together.
commit 248c498d45db5533f992fb6eb30ee6c3c399ee81
Author: Shawn Routhier <sar@isc.org>
Date: Tue Oct 20 02:06:45 2015 -0700
[rt40190] Fix up some typos
commit ba074eff2e82af0cfd25428e7f38bccd5fef7241
Author: Shawn Routhier <sar@isc.org>
Date: Tue Oct 20 01:28:34 2015 -0700
[rt40190] Patch for client side of 7550
Finish up the code to handle multiple PDs and NAs
in a single request, this includes updating the
command line to add the -R option to require the
requested IAs rather than accept the best advertised
offer.
commit 5bb4368b8410e3c7bcdc28fdf4ae5572df04d03b
Author: Shawn Routhier <sar@isc.org>
Date: Thu Oct 15 09:50:14 2015 -0700
[rt40190] checkpoint my work
The basic code is working there are still some issues with how
corner cases get handled that I need to resolve
commit 4c0dba90fcd71c85fca3612aa5083fa11645f8f6
Author: Shawn Routhier <sar@isc.org>
Date: Sun Oct 11 19:23:53 2015 -0700
[rt40190] Some changes for rfc7550, to be updated
This is being checked in so I can look at other tickets
but I plan to re-arrange the code a fair amount.
Add a define to disable the gentle shutdown feature by default.
The feature has some effects (recover-wait in failvoer pairs)
and release in clients that are always desired. We plan to
revisit this in order to make it easier to use but with the
define it can be enabled if necessary.
Add the "-df <duid file>" option to the client code in order
to make it easier to share DUIDs between a v4 instance and
a v6 instance. This option instructs the client to search
the duid file for a DUID if it didn't find one in the main
lease file.
In addition add the infrastructure for running ATF tests
for the client and write some ATF tests for this patch.
18933 - add an extra server by name call
26735 - when requested via a command line option
have client exit afer 1 failure per the docs
33098 - expose next-server option to dhclient script
[rt27912]
Add code to suppor on {commit expiry release} statements for DHCPv6.
There are several pieces to this change
1) Add space in the iasubopt structure to hold the statement pointers
2) Update the execute code to fill in the structures as necessary
3) Execute the statements when appropriate
Many of the changes in the non-v6 code are to pass the v6 structures
around to the execute code.
The client now passes information about the options it requested
from the server to the script code via environment variables.
These variables are of the form requested_<option_name>=1 with
the option name being the same as used in the new_* and old_*
variables. [ISC-Bugs #29068]
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
GNU/Hurd systems. [ISC-Bugs 25979]
[ISC-Bugs #22625] - properly print options that have several fields
followed by an array of something for example "fIa"
[ISC-Bugs #27289] - properly parse options in declarations that have
several fields followed by an array of something for example "fIa"
[ISC-Bugs #27296] - properly determine if we parsed a 16 or 32 bit
value in evaluate_numeric_expression (extract-int).
[ISC-Bugs #27314] - properly parse a zero length option from
a lease file. Thanks to Marius Tomaschewski from SUSE for the report
and prototype patch for this ticket as well as ticket 27289.
configured during compilation time. Even though RFC2132 does not allow
to store more than one domain in domain-name option, such behavior is
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]
[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.
- set initial delay to 0 to speed up client start
- added 'initial-delay' parameter to possibly revert to old behavior
- better handling of very short (1 or 2s) leases
- client lease records are recorded at most once every 15 seconds
- ICMP ping-check is now timed more precisely
- Servers that don't offer lease-time are now black-listed
[ISC-Bugs #19660]
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]
[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.
[ISC-Bugs #20198] Avoid writing past the end of the field when adding
overly long file or server names to a packet and add a log message
if the configuration supplied overly long names for these fields.
[ISC-Bugs #21497] Add a little more randomness to rng seed in client
remote attackers to execute arbitrary commands as root on the system,
or simply terminate the client, by providing an over-long subnet-mask
option. [ISC-Bugs #19839]