summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README10
-rw-r--r--RELNOTES7
-rw-r--r--client/dhclient.c7
-rw-r--r--configure.ac2
4 files changed, 16 insertions, 10 deletions
diff --git a/README b/README
index d55ce80f..f7dd5f71 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
Internet Systems Consortium DHCP Distribution
- Version 4.1.0a1
- 24 January 2008
+ Version 4.1.0a2
+ 4 June 2008
README FILE
@@ -129,12 +129,12 @@ information. On Digital Unix, type ``man pfilt''.
To build the DHCP Distribution, unpack the compressed tar file using
the tar utility and the gzip command - type something like:
- gunzip dhcp-4.1.0a1.tar.gz
- tar xvf dhcp-4.1.0a1.tar
+ gunzip dhcp-4.1.0a2.tar.gz
+ tar xvf dhcp-4.1.0a2.tar
CONFIGURING IT
-Now, cd to the dhcp-4.1.0a1 subdirectory that you've just created and
+Now, cd to the dhcp-4.1.0a2 subdirectory that you've just created and
configure the source tree by typing:
./configure
diff --git a/RELNOTES b/RELNOTES
index 7e0a6774..7e74dbe5 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,6 +1,6 @@
Internet Systems Consortium DHCP Distribution
- Version 4.1.0a1
- 24 January 2008
+ Version 4.1.0a2
+ 4 June 2008
Release Notes
@@ -86,6 +86,9 @@ work on other platforms. Please report any problems and suggested fixes to
- Integrated client with stateless, temporary address and prefix delegation
support.
+- A double-dereference in dhclient transmission of DHCPDECLINEs was
+ repaired.
+
Changes since 4.0.0 (new features)
- Added DHCPv6 rapid commit support.
diff --git a/client/dhclient.c b/client/dhclient.c
index 5674a341..54e971cc 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -2432,12 +2432,13 @@ void make_decline (client, lease)
struct option_state *options = (struct option_state *)0;
+ /* Create the options cache. */
oc = lookup_option (&dhcp_universe, lease -> options,
DHO_DHCP_SERVER_IDENTIFIER);
make_client_options(client, lease, &decline, oc, &lease->address,
NULL, &options);
- /* Set up the option buffer... */
+ /* Consume the options cache into the option buffer. */
memset (&client -> packet, 0, sizeof (client -> packet));
client -> packet_length =
cons_options ((struct packet *)0, &client -> packet,
@@ -2445,10 +2446,12 @@ void make_decline (client, lease)
(struct option_state *)0, options,
&global_scope, 0, 0, 0, (struct data_string *)0,
client -> config -> vendor_space_name);
+
+ /* Destroy the options cache. */
option_state_dereference (&options, MDL);
+
if (client -> packet_length < BOOTP_MIN_LEN)
client -> packet_length = BOOTP_MIN_LEN;
- option_state_dereference (&options, MDL);
client -> packet.op = BOOTREQUEST;
client -> packet.htype = client -> interface -> hw_address.hbuf [0];
diff --git a/configure.ac b/configure.ac
index 9118f897..9df3c2b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([DHCP], [4.1.0a1], [dhcp-users@isc.org])
+AC_INIT([DHCP], [4.1.0a2], [dhcp-users@isc.org])
# we specify "foreign" to avoid having to have the GNU mandated files,
# like AUTHORS, COPYING, and such