X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Modules%2FIPStack%2Ftcp.c;h=9ce0f2093b09ab3f2eacf360e836f472c8d4aea0;hb=a9f9a331e2ee25ff68be6987fd645671038cbbde;hp=1c9464c14e30d81d9ad958a5480247246fbb0d9e;hpb=46a4b5e282c7c37f2091e7ced4db0190248a5d28;p=tpg%2Facess2.git diff --git a/Modules/IPStack/tcp.c b/Modules/IPStack/tcp.c index 1c9464c1..9ce0f209 100644 --- a/Modules/IPStack/tcp.c +++ b/Modules/IPStack/tcp.c @@ -73,7 +73,7 @@ void TCP_StartConnection(tTCPConnection *Conn) hdr.SequenceNumber = Conn->NextSequenceSend; hdr.DataOffset = (sizeof(tTCPHeader)/4) << 4; hdr.Flags = TCP_FLAG_SYN; - hdr.WindowSize = 0; // TODO + hdr.WindowSize = 0xFFFF; // Max hdr.Checksum = 0; // TODO hdr.UrgentPointer = 0; @@ -350,7 +350,7 @@ void TCP_INT_HandleConnectionPacket(tTCPConnection *Connection, tTCPHeader *Head TCP_INT_UpdateRecievedFromFuture(Connection); // TODO: Check ACK code validity - Header->AcknowlegementNumber = ntohl(pkt->Sequence) + dataLen; + Header->AcknowlegementNumber = ntohl(Connection->NextSequenceRcv); Header->SequenceNumber = ntohl(Connection->NextSequenceSend); Header->Flags &= TCP_FLAG_SYN; Header->Flags = TCP_FLAG_ACK; @@ -416,7 +416,7 @@ void TCP_INT_UpdateRecievedFromFuture(tTCPConnection *Connection) // Looks like we found one TCP_INT_AppendRecieved(Connection, pkt); - Connection->NextSequenceRcv ++; + Connection->NextSequenceRcv += pkt->Length; } }