summaryrefslogtreecommitdiff
path: root/kernel/network/tcp.c
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-03-14 13:09:59 +0100
committerAnton Kling <anton@kling.gg>2024-03-14 13:09:59 +0100
commit2e8b474d4219e7faaac3823e73c8d528c2698a37 (patch)
tree7d93b5fd220e8b703ba69f9b55122d15c9d619fb /kernel/network/tcp.c
parent051ac9f1941e8bc6ad87beccb61a2d53111ba8ea (diff)
random changes made
Diffstat (limited to 'kernel/network/tcp.c')
-rw-r--r--kernel/network/tcp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/network/tcp.c b/kernel/network/tcp.c
index 717c7db..fb3c052 100644
--- a/kernel/network/tcp.c
+++ b/kernel/network/tcp.c
@@ -190,6 +190,7 @@ void handle_tcp(u8 src_ip[4], const u8 *payload, u32 payload_length) {
}
struct TcpConnection *incoming_connection = tcp_find_connection(dst_port);
+ kprintf("dst_port: %d\n", dst_port);
if (incoming_connection) {
incoming_connection->unhandled_packet = 1;
if (0 != (flags & RST)) {
@@ -212,9 +213,9 @@ void handle_tcp(u8 src_ip[4], const u8 *payload, u32 payload_length) {
tcp_send_ack(incoming_connection);
}
- if (0 != (flags & PSH)) {
- u16 tcp_payload_length =
- payload_length - header->data_offset * sizeof(u32);
+ // if (0 != (flags & PSH)) {
+ u16 tcp_payload_length = payload_length - header->data_offset * sizeof(u32);
+ if (tcp_payload_length > 0) {
int len = fifo_object_write(
(u8 *)(payload + header->data_offset * sizeof(u32)), 0,
tcp_payload_length, incoming_connection->data_file);
@@ -232,7 +233,7 @@ void handle_tcp(u8 src_ip[4], const u8 *payload, u32 payload_length) {
// is closed.
}
} else {
- assert(NULL);
+ return;
}
}
/*