mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
IPv4: Include IP headers when receiving from a raw socket
We were stripping the L3 headers from packets received on raw sockets. This didn't match what other systems do, so let's adjust our behavior. Thanks to @SpencerCDixon for noticing this! :^)
This commit is contained in:
@@ -331,7 +331,6 @@ KResultOr<size_t> IPv4Socket::receive_packet_buffered(FileDescription& descripti
|
||||
#endif
|
||||
}
|
||||
ASSERT(packet.data.has_value());
|
||||
auto& ipv4_packet = *(const IPv4Packet*)(packet.data.value().data());
|
||||
|
||||
packet_timestamp = packet.timestamp;
|
||||
|
||||
@@ -355,8 +354,8 @@ KResultOr<size_t> IPv4Socket::receive_packet_buffered(FileDescription& descripti
|
||||
}
|
||||
|
||||
if (type() == SOCK_RAW) {
|
||||
size_t bytes_written = min((size_t)ipv4_packet.payload_size(), buffer_length);
|
||||
if (!buffer.write(ipv4_packet.payload(), bytes_written))
|
||||
size_t bytes_written = min(packet.data.value().size(), buffer_length);
|
||||
if (!buffer.write(packet.data.value().data(), bytes_written))
|
||||
return KResult(-EFAULT);
|
||||
return bytes_written;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user