- 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,
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
#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"
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;
}