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 ...@@ -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 work on other platforms. Please report any problems and suggested fixes to
<dhcp-users@isc.org>. <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 Changes since 4.1-ESV-R6
- Existing legacy unit-tests have been migrated to Automated Test - 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 ...@@ -106,9 +117,6 @@ work on other platforms. Please report any problems and suggested fixes to
[ISC-Bugs #30024] [ISC-Bugs #30024]
CVE: CVE-2012-3954 CVE: CVE-2012-3954
- Update the memory leakage debug code to work with v6.
[ISC-Bugs #30297]
Changes since 4.1-ESV-R5rc2 Changes since 4.1-ESV-R5rc2
- None - None
......
...@@ -4410,7 +4410,9 @@ isc_result_t dhcp_failover_send_connectack (omapi_object_t *l, ...@@ -4410,7 +4410,9 @@ isc_result_t dhcp_failover_send_connectack (omapi_object_t *l,
? dhcp_failover_make_option(FTO_RELATIONSHIP_NAME, FMA, ? dhcp_failover_make_option(FTO_RELATIONSHIP_NAME, FMA,
strlen(state->name), state->name) strlen(state->name), state->name)
: (link->imsg->options_present & FTB_RELATIONSHIP_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, : &skip_failover_option,
state state
? dhcp_failover_make_option (FTO_MAX_UNACKED, FMA, ? dhcp_failover_make_option (FTO_MAX_UNACKED, FMA,
...@@ -6221,6 +6223,8 @@ static isc_result_t failover_message_dereference (failover_message_t **mp, ...@@ -6221,6 +6223,8 @@ static isc_result_t failover_message_dereference (failover_message_t **mp,
dfree (m -> hba.data, file, line); dfree (m -> hba.data, file, line);
if (m -> message.data) if (m -> message.data)
dfree (m -> message.data, file, line); dfree (m -> message.data, file, line);
if (m -> relationship_name.data)
dfree (m -> relationship_name.data, file, line);
if (m -> reply_options.data) if (m -> reply_options.data)
dfree (m -> reply_options.data, file, line); dfree (m -> reply_options.data, file, line);
if (m -> request_options.data) 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