line to nroff, escape them if we actually want a quote.
[ISC-Bugs #18916] sync the pointer to web pages amongst the different docs
+! Handle a relay forward message with an unspecified address in the
+ link address field. Previously such a message would cause the
+ server to crash. [ISC-Bugs #21992]
+ CERT: TBA CVE: TBA
+
Changes since 4.2.0b2
- Add declaration for variable in debug code in alloc.c. [ISC-Bugs #21472]
* If there is no link address, we will use the interface
* that this packet came in on to pick the shared_network.
*/
- } else {
+ } else if (packet->interface != NULL) {
status = shared_network_reference(shared,
packet->interface->shared_network,
MDL);
+ if (packet->dhcpv6_container_packet != NULL) {
+ log_info("[L2 Relay] No link address in relay packet "
+ "assuming L2 relay and using receiving "
+ "interface");
+ }
+
+ } else {
+ /*
+ * We shouldn't be able to get here but if there is no link
+ * address and no interface we don't know where to get the
+ * pool from log an error and return an error.
+ */
+ log_error("No interface and no link address "
+ "can't determine pool");
+ status = DHCP_R_INVALIDARG;
}
return status;
enc_packet->client_port = packet->client_port;
enc_packet->client_addr = packet->client_addr;
+ interface_reference(&enc_packet->interface, packet->interface, MDL);
enc_packet->dhcpv6_container_packet = packet;
msg_type = enc_opt_data.data[0];