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;
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;
// Looks like we found one
TCP_INT_AppendRecieved(Connection, pkt);
- Connection->NextSequenceRcv ++;
+ Connection->NextSequenceRcv += pkt->Length;
}
}