mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-31 06:15:55 +00:00
- An option definition referencing leak was fixed, which resulted in early
termination of dhclient upon the renewal event. [ISC-Bugs #16423]
This commit is contained in:
5
RELNOTES
5
RELNOTES
@@ -36,7 +36,10 @@ the README file.
|
|||||||
|
|
||||||
- UPDREQ/UPDREQALL handling was optimized - it no longer dequeues and
|
- UPDREQ/UPDREQALL handling was optimized - it no longer dequeues and
|
||||||
requeues all pending updates. This should reduce the number of spurious
|
requeues all pending updates. This should reduce the number of spurious
|
||||||
'xid mismatch' log mesasges.
|
'xid mismatch' log messages.
|
||||||
|
|
||||||
|
- An option definition referencing leak was fixed, which resulted in early
|
||||||
|
termination of dhclient upon the renewal event.
|
||||||
|
|
||||||
Changes since 3.0 (New Features)
|
Changes since 3.0 (New Features)
|
||||||
|
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: options.c,v 1.99 2006/08/24 14:58:55 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
"$Id: options.c,v 1.100 2006/10/17 20:45:59 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#define DHCP_OPTION_DATA
|
#define DHCP_OPTION_DATA
|
||||||
@@ -1689,7 +1689,7 @@ void set_option (universe, options, option, op)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
noc -> option = oc -> option;
|
option_reference(&(noc->option), oc->option, MDL);
|
||||||
save_option (universe, options, noc);
|
save_option (universe, options, noc);
|
||||||
option_cache_dereference (&noc, MDL);
|
option_cache_dereference (&noc, MDL);
|
||||||
break;
|
break;
|
||||||
@@ -2992,7 +2992,7 @@ add_option(struct option_state *options,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
oc->option = option;
|
option_reference(&(oc->option), option, MDL);
|
||||||
save_option(&dhcp_universe, options, oc);
|
save_option(&dhcp_universe, options, oc);
|
||||||
option_cache_dereference(&oc, MDL);
|
option_cache_dereference(&oc, MDL);
|
||||||
|
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: tree.c,v 1.108 2006/07/31 22:19:51 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
"$Id: tree.c,v 1.109 2006/10/17 20:45:59 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -242,7 +242,7 @@ int make_const_option_cache (oc, buffer, data, len, option, file, line)
|
|||||||
(*oc) -> data.terminated = 0;
|
(*oc) -> data.terminated = 0;
|
||||||
if (data)
|
if (data)
|
||||||
memcpy (&bp -> data [0], data, len);
|
memcpy (&bp -> data [0], data, len);
|
||||||
(*oc) -> option = option;
|
option_reference(&((*oc)->option), option, MDL);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: dhcp.c,v 1.212 2006/08/22 17:13:25 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
"$Id: dhcp.c,v 1.213 2006/10/17 20:45:59 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -2426,7 +2426,8 @@ void ack_lease (packet, lease, offer, when, msg, ms_nulltp, hp)
|
|||||||
expression_reference (&noc -> expression,
|
expression_reference (&noc -> expression,
|
||||||
oc -> expression, MDL);
|
oc -> expression, MDL);
|
||||||
if (oc -> option)
|
if (oc -> option)
|
||||||
noc -> option = oc -> option;
|
option_reference(&(noc->option), oc->option,
|
||||||
|
MDL);
|
||||||
}
|
}
|
||||||
|
|
||||||
save_option (&dhcp_universe, state -> options, noc);
|
save_option (&dhcp_universe, state -> options, noc);
|
||||||
|
Reference in New Issue
Block a user