From 4dc8f6dca4e740791a73cab9949706e356807698 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Tue, 27 Mar 2018 19:48:34 +0200 Subject: [PATCH] nic_router: fix missing IPv4.ECN initialization We missed to zero-out the ECN field in IPv4 packets. We don't use the ECN field but there might be old data left in the packet RAM allocated by the NIC packet streams. If we don't zero-out ECN it might leak old data. Issue #2732 --- repos/os/src/server/nic_router/dhcp_client.cc | 1 + repos/os/src/server/nic_router/interface.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/repos/os/src/server/nic_router/dhcp_client.cc b/repos/os/src/server/nic_router/dhcp_client.cc index e74cbebcc6..340fa28313 100644 --- a/repos/os/src/server/nic_router/dhcp_client.cc +++ b/repos/os/src/server/nic_router/dhcp_client.cc @@ -193,6 +193,7 @@ void Dhcp_client::_send(Message_type msg_type, ip.header_length(sizeof(Ipv4_packet) / 4); ip.version(4); ip.diff_service(0); + ip.ecn(0); ip.identification(0); ip.flags(0); ip.fragment_offset(0); diff --git a/repos/os/src/server/nic_router/interface.cc b/repos/os/src/server/nic_router/interface.cc index 83173c3676..87e5d8e0d5 100644 --- a/repos/os/src/server/nic_router/interface.cc +++ b/repos/os/src/server/nic_router/interface.cc @@ -452,6 +452,7 @@ void Interface::_send_dhcp_reply(Dhcp_server const &dhcp_srv, ip.header_length(sizeof(Ipv4_packet) / 4); ip.version(4); ip.diff_service(0); + ip.ecn(0); ip.identification(0); ip.flags(0); ip.fragment_offset(0);