ladybird/Kernel/Net
Idan Horowitz 863e8c30ad Kernel: Ensure sockets_by_tuple table entry is up to date on connect
Previously we would incorrectly handle the (somewhat uncommon) case of
binding and then separately connecting a tcp socket to a server, as we
would register the socket during the manual bind(2) in the sockets by
tuple table, but our effective tuple would then change as the result of
the connect updating our target peer address. This would result in the
the entry not being removed from the table on destruction, which could
lead to a UAF.

We now make sure to update the table entry if needed during connects.
2023-12-26 18:36:43 +01:00
..
Intel Kernel: Use Processor::wait_check in loops waiting for HW to respond 2023-09-15 11:07:35 -06:00
Realtek Kernel: Use Processor::wait_check in loops waiting for HW to respond 2023-09-15 11:07:35 -06:00
VirtIO Kernel/VirtIO: Ensure proper error propagation in core methods 2023-09-24 19:54:23 -06:00
ARP.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
EthernetFrameHeader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
EtherType.h
ICMP.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IPv4.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IPv4Socket.cpp Kernel: Stop modifying peer address/port in sendto on a TCP socket 2023-12-26 18:36:43 +01:00
IPv4Socket.h Kernel/Net: Rework ephemeral port allocation 2023-07-29 16:51:58 -06:00
IPv4SocketTuple.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
LocalSocket.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
LocalSocket.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
LoopbackAdapter.cpp Kernel: Stop including the ethernet header in LoopbackAdapter's mtu 2023-11-25 16:34:38 +01:00
LoopbackAdapter.h Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkAdapter.cpp Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkAdapter.h Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkingManagement.cpp Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkingManagement.h Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkTask.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
NetworkTask.h
Routing.cpp Kernel: Properly support the SO_BROADCAST socket option 2023-12-24 22:22:58 +01:00
Routing.h Kernel: Properly support the SO_BROADCAST socket option 2023-12-24 22:22:58 +01:00
Socket.cpp Kernel: Stub out getsockopt for the SO_REUSEADDR option 2023-12-24 22:22:58 +01:00
Socket.h Kernel: Properly support the SO_BROADCAST socket option 2023-12-24 22:22:58 +01:00
TCP.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
TCPSocket.cpp Kernel: Ensure sockets_by_tuple table entry is up to date on connect 2023-12-26 18:36:43 +01:00
TCPSocket.h Kernel: Ensure sockets_by_tuple table entry is up to date on connect 2023-12-26 18:36:43 +01:00
UDP.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UDPSocket.cpp Kernel: Properly support the SO_BROADCAST socket option 2023-12-24 22:22:58 +01:00
UDPSocket.h Kernel/Net: Rework ephemeral port allocation 2023-07-29 16:51:58 -06:00