From 23e10d371304342e1b47a9bd7b19f71a241c7d8e Mon Sep 17 00:00:00 2001 From: David Hankins Date: Tue, 3 Apr 2007 14:57:53 +0000 Subject: [PATCH] - A bug was fixed where the BOOTP header 'sname' field had a value, the copy written to persistent storage was actually the contents of the 'file' field. [ISC-Bugs #16784] --- RELNOTES | 11 ++++++++--- client/dhclient.c | 12 ++++++------ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/RELNOTES b/RELNOTES index d0b6edd06..956df1ecf 100644 --- a/RELNOTES +++ b/RELNOTES @@ -196,12 +196,13 @@ the README file. - A logic error in omapi interface code was repaired that might result in incorrectly indicating 'up' state when any flags were set, rather than - specifically the INTERFACE_REQUESTED flag. + specifically the INTERFACE_REQUESTED flag. Thanks to a patch from + Jochen Voss which got to us via Andrew Pollock at Debian. - A reference leak on binding scopes set by ddns updates was repaired. - A memory leak in the minires_nsendsigned() function call was repaired. - Effectively, this leaked ~80 bytes per DDNS update. + Effectively, this leaked ~176 bytes per DDNS update. - In the case where an "L2" DHCP Relay Agent (one that does not set giaddr) was directly attached to the same broadcast domain as the DHCP server, @@ -210,7 +211,11 @@ the README file. requires the giaddr to reply with relay agent information. Note that this also improves compatibility with L2 devices that "intercept" DHCP packets and expect relay agent information even in unicast (renewal) - replies. + replies. Thanks to a patch from Pekka Silvonen. + +- A bug was fixed where the BOOTP header 'sname' field had a value, the + copy written to persistent storage was actually the contents of the + 'file' field. Changes since 3.0.5rc1 diff --git a/client/dhclient.c b/client/dhclient.c index 2b7f02757..0870e07fd 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -32,7 +32,7 @@ #ifndef lint static char ocopyright[] = -"$Id: dhclient.c,v 1.144 2006/08/22 15:01:47 shane Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n"; +"$Id: dhclient.c,v 1.145 2007/04/03 14:57:53 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -2367,15 +2367,15 @@ int write_client_lease (client, lease, rewrite, makesure) errors++; } - if (lease -> server_name) { - s = quotify_string (lease -> filename, MDL); - if (s) { - fprintf (leaseFile, " server-name \"%s\";\n", s); + if (lease->server_name != NULL) { + s = quotify_string(lease->server_name, MDL); + if (s != NULL) { + fprintf(leaseFile, " server-name \"%s\";\n", s); if (errno) { ++errors; errno = 0; } - dfree (s, MDL); + dfree(s, MDL); } else ++errors; } -- 2.39.5