Commit 98212f38 authored by Shawn Routhier's avatar Shawn Routhier
Browse files

[v4_1_esv]

[rt30320]
When processing a failover request with an unexpected name
create an option block the relationship_name instead of using
the one from the incoming message.  This avoids problems when
the option is freed.

Also add code to free the relationship_name from the incoming
mesasage when we free the message.
parent f1dc58d8
......@@ -52,6 +52,17 @@ The system has only been tested on Linux, FreeBSD, and Solaris, and may not
work on other platforms. Please report any problems and suggested fixes to
<dhcp-users@isc.org>.
Changes since 4.1-ESV-R7
- Update the memory leakage debug code to work with v6.
[ISC-Bugs #30297]
- Modify the failover code to handle incorrect peer names
better. Previously the structure holding the name might
have been freed inappropriately in some cases and not
freed in other cases.
[ISC-Bugs #30320]
Changes since 4.1-ESV-R6
- Existing legacy unit-tests have been migrated to Automated Test
......@@ -106,9 +117,6 @@ work on other platforms. Please report any problems and suggested fixes to
[ISC-Bugs #30024]
CVE: CVE-2012-3954
- Update the memory leakage debug code to work with v6.
[ISC-Bugs #30297]
Changes since 4.1-ESV-R5rc2
- None
......
......@@ -4410,7 +4410,9 @@ isc_result_t dhcp_failover_send_connectack (omapi_object_t *l,
? dhcp_failover_make_option(FTO_RELATIONSHIP_NAME, FMA,
strlen(state->name), state->name)
: (link->imsg->options_present & FTB_RELATIONSHIP_NAME)
? &link->imsg->relationship_name
? dhcp_failover_make_option(FTO_RELATIONSHIP_NAME, FMA,
link->imsg->relationship_name.count,
link->imsg->relationship_name.data)
: &skip_failover_option,
state
? dhcp_failover_make_option (FTO_MAX_UNACKED, FMA,
......@@ -6221,6 +6223,8 @@ static isc_result_t failover_message_dereference (failover_message_t **mp,
dfree (m -> hba.data, file, line);
if (m -> message.data)
dfree (m -> message.data, file, line);
if (m -> relationship_name.data)
dfree (m -> relationship_name.data, file, line);
if (m -> reply_options.data)
dfree (m -> reply_options.data, file, line);
if (m -> request_options.data)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment