From a804fcc04a6189f241de9e811d527c7eafed219e Mon Sep 17 00:00:00 2001 From: Thomas Markwalder Date: Fri, 5 Jan 2018 07:07:49 -0500 Subject: [PATCH] [master] Added backward incompatibility warnings to RELNOTES Merges in rt23252a. --- RELNOTES | 40 ++++++++++++++++++++++++++++------------ client/dhclient.8 | 12 ++++++++++-- client/dhclient.c | 4 ++-- 3 files changed, 40 insertions(+), 16 deletions(-) diff --git a/RELNOTES b/RELNOTES index 22e3aa5dd..508ebe711 100644 --- a/RELNOTES +++ b/RELNOTES @@ -35,14 +35,27 @@ Dynamic DNS Improvements: dhclient Improvements: - - We've added two new command line parameters to dhclient: + - We've added three command line parameters to dhclient: 1. --prefix-len-hint - directs dhclient to use the given length as the prefix length hint when requesting prefixes - 2. --declient-wait-time - instructs the client to wait the given number + 2. --decline-wait-time - instructs the client to wait the given number of seconds after declining an IPv4 address before issuing a discover + 3. --address-prefix-len - specifies the prefix length passed by dhclient + into the client script (via the environment variable ip6_prefixlen) with + each IPv6 address. We added this parameter because we have changed the + default value from 64 to 128 in order to be compliant with RFC3315bis + draft (-09, page 64) and RFC5942, Section 4, point 1. + **WARNING**: The new default value of 128 may not be backwardly compatible + with your environment. If you are operating without a router, such as + between VMs on a host, you may find they cannot see each with prefix + length of 128. In such cases, you'll need to either provide routing or use + the command line parameter to set the value to 64. Alternatively you may + change the default at compile time by setting DHCLIENT_DEFAULT_PREFIX_LEN + in includes/site.h. + - dhclient will now generate a DHCPv6 DECLINE message when the client script indicates a DAD failure @@ -231,18 +244,21 @@ by Eric Young (eay@cryptsoft.com). [ISC-Bugs #45046] - Changed the default value of the prefix length passed by dhclient into the - client script for each IPv6 address, from 64 to 128. In addition, dhclient - now supports a command line argument, --address-prefix-len , which may - be used to override the default value. PLEASE NOTE: If your DHCPv6 clients - require a value other than 128, you MUST specify the value via this new - command line argument. Prior to this the only way to alter the value was at - compile time by changing DHCLIENT_DEFAULT_PREFIX_LEN in include/sites.h. - **NOTE: THIS IS CHANGE IN DEFAULT BEHAVIOR. + client script for each IPv6 address from 64 to 128. This was done to comply + with RFC3315bis draft (-09, page 64) and RFC5942, Section 4, point 1. + In addition, dhclient now supports a command line argument, + --address-prefix-len, which may be used to override the default value. + **WARNING**: This change may not be backwardly compatible with your + environment. If you are operating without a router, such as between VMs on + a host, you may find they cannot see each with prefix length of 128. In + such cases, you'll need to either provide routing or use the command line + parameter to set the value to 64. Alternatively you may change the default + at compile time by setting DHCLIENT_DEFAULT_PREFIX_LEN in includes/site.h. [ISC-Bugs #23252] [ISC-Bugs #37221] - Modified dhclient (-6) to bypass sending a confirm (INIT REBOOT) when it has - only expired address assocations. Thanks to Jiri Popelka at Red Hat for + only expired address associations. Thanks to Jiri Popelka at Red Hat for raising the issue and submitting the patch. [ISC-Bugs #22675] @@ -300,7 +316,7 @@ by Eric Young (eay@cryptsoft.com). for pointing out the error of our ways. [ISC-bugs #45780] -- Added explicit include of BIND9 isc/util.h to adapt to revisisions +- Added explicit include of BIND9 isc/util.h to adapt to revisions in BIND9 (see BIND9 ticket #46311). Prior to this the build was failing with implicit function declarations errors for POST() and INSIST(). [ISC-bugs #46332] @@ -317,7 +333,7 @@ by Eric Young (eay@cryptsoft.com). - Replaced iasubopt::heap_index with separate values for active and inactive heaps: iasubopt::active_index and iasubopt::inactive_index. This was done - to accomodate a change in behavior in BIND9 isc_heap_delete(). + to accommodate a change in behavior in BIND9 isc_heap_delete(). [ISC-bugs #46719] ! Plugged a socket descriptor leak in OMAPI, that can occur when there is diff --git a/client/dhclient.8 b/client/dhclient.8 index 1fe1f8012..ebc750f7c 100644 --- a/client/dhclient.8 +++ b/client/dhclient.8 @@ -1,6 +1,6 @@ .\" $Id: dhclient.8,v 1.36 2011/04/15 21:58:12 sar Exp $ .\" -.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (c) 2004-2018 by Internet Systems Consortium, Inc. ("ISC") .\" Copyright (c) 1996-2003 by Internet Software Consortium .\" .\" This Source Code Form is subject to the terms of the Mozilla Public @@ -363,7 +363,7 @@ Use a DUID with DHCPv4 clients. If no DUID is available in the lease file one will be constructed and saved. The DUID will be used to construct a RFC4361 style client id that will be included in the client's messages. This client id can be overridden by -setting a client id in the configuration file. Overridding the +setting a client id in the configuration file. Overriding the client id in this fashion is discouraged. .TP .BI \-I @@ -429,6 +429,14 @@ Restore normal address query for IPv6. This implies \fB-6\fR. It is used to restore normal operation after using \fB-T\fR or \fB-P\fR. Multiple addresses can be requested with multiple \fB\-N\fR flags. .TP +.BI \--address-prefix-len \ length +Specify the length of the prefix for IPv6 addresses. This value is passed by +dhclient into the client script via the environment variable, ip6_prefixlen, +when binding IPv6 addresses. The default value is 128. Alternatively you may +change the default at compile time by setting DHCLIENT_DEFAULT_PREFIX_LEN in +includes/site.h. +.PP +.TP .BI \--dad-wait-time \ seconds Specify maximum time (in seconds) that the client should wait for the duplicate address detection (DAD) to complete on an interface. This diff --git a/client/dhclient.c b/client/dhclient.c index 9435b2f90..ac3cdbf83 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -165,13 +165,13 @@ static const char use_v6command[] = "Command not used for DHCPv4: %s"; "[-4|-6] [-SNTPRI1dvrxi] [-nw] -4o6 ] [-p ] [-D LL|LLT]\n" \ " [--dad-wait-time ] [--prefix-len-hint ]\n" \ " [--decline-wait-time ]\n" \ -" [--address-prefix-len length]\n" +" [--address-prefix-len ]\n" #else /* DHCP4o6 */ #define DHCLIENT_USAGE0 \ "[-4|-6] [-SNTPRI1dvrxi] [-nw] [-p ] [-D LL|LLT]\n" \ " [--dad-wait-time ] [--prefix-len-hint ]\n" \ " [--decline-wait-time ]\n" \ -" [--address-prefix-len length]\n" +" [--address-prefix-len ]\n" #endif #else /* DHCPv6 */ #define DHCLIENT_USAGE0 \ -- 2.39.5