summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hankins <dhankins@isc.org>2007-05-21 18:17:31 +0000
committerDavid Hankins <dhankins@isc.org>2007-05-21 18:17:31 +0000
commitd6a9335dc4803851c7711a17401b3388e1064d19 (patch)
tree92bdb942b6831fe93625692615838e761398281f
parent656054e7fdc42d9df8b132ef8bb974f33329a5f4 (diff)
downloadisc-dhcp-d6a9335dc4803851c7711a17401b3388e1064d19.tar.gz
- A bug in dhclient was repaired which caused it to send parameter request
lists of 55 bytes in length no matter how long the declared PRL was. [ISC-Bugs #16882]
-rw-r--r--RELNOTES3
-rw-r--r--client/dhclient.c7
2 files changed, 7 insertions, 3 deletions
diff --git a/RELNOTES b/RELNOTES
index 64529990..7647e83d 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -57,6 +57,9 @@ the README file.
- Silenced several other compiler warnings.
+- A bug in dhclient was repaired which caused it to send parameter request
+ lists of 55 bytes in length no matter how long the declared PRL was.
+
Changes since 3.1.0a3
- The execute() statement has been changed from a "numeric expression" to
diff --git a/client/dhclient.c b/client/dhclient.c
index 27e856bd..73021751 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -32,7 +32,7 @@
#ifndef lint
static char ocopyright[] =
-"$Id: dhclient.c,v 1.143.2.4 2007/04/26 19:32:22 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n";
+"$Id: dhclient.c,v 1.143.2.5 2007/05/21 18:17:31 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -1903,12 +1903,13 @@ void make_client_options (client, lease, type, sid, rip, prl, op)
if (!buffer_allocate (&bp, i, MDL))
log_error ("can't make parameter list buffer.");
else {
+ unsigned code = DHO_DHCP_PARAMETER_REQUEST_LIST;
+
for (i = 0; prl [i]; i++)
bp -> data [i] = prl [i];
- i = DHO_DHCP_PARAMETER_REQUEST_LIST;
if (!(option_code_hash_lookup(&option,
dhcp_universe.code_hash,
- &i, 0, MDL) &&
+ &code, 0, MDL) &&
make_const_option_cache(&oc, &bp, NULL, i,
option, MDL)))
log_error ("can't make option cache");