A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.
Dependents: oldheating gps motorhome heating
Diff: tcp/tcprecv.c
- Revision:
- 147:a6093b52e654
- Parent:
- 146:0fc66d610fd6
- Child:
- 156:be12b8fd5b21
--- a/tcp/tcprecv.c Wed May 15 15:33:15 2019 +0000 +++ b/tcp/tcprecv.c Fri May 17 15:01:32 2019 +0000 @@ -44,6 +44,7 @@ pTcb->sentFin = false; pTcb->appStarted = false; for (char* p = pTcb->appData; p < pTcb->appData + TCB_APP_STATE_BYTES; p++) *p = 0; + for (char* p = pTcb->tlsData; p < pTcb->tlsData + TCB_TLS_STATE_BYTES; p++) *p = 0; pTcb->remIsn = TcpHdrSeqNum; pTcb->locIsn = TcbGetIsn(); pTcb->bytesRcvdFromRem = 0; @@ -57,9 +58,9 @@ char* pData = (char*)pPacket + TcpHdrSizeGet(); switch (pTcb->locPort) { - case 80: HttpShimRequest(dataLength, pData, position, pTcb->appData, false); break; - case 443: HttpShimRequest(dataLength, pData, position, pTcb->appData, true ); break; - default: break; + case 80: HttpShimRequest(dataLength, pData, position, pTcb->appData, pTcb->tlsData, false); break; + case 443: HttpShimRequest(dataLength, pData, position, pTcb->appData, pTcb->tlsData, true ); break; + default: break; } } static int sendResetFromPacket(int* pSizeTx, void* pPacketTx, int ipType, int remArIndex, int locIpScope, int seqLengthRcvd) @@ -92,6 +93,7 @@ pTcb->sentFin = false; pTcb->appStarted = false; for (char* p = pTcb->appData; p < pTcb->appData + TCB_APP_STATE_BYTES; p++) *p = 0; + for (char* p = pTcb->tlsData; p < pTcb->tlsData + TCB_TLS_STATE_BYTES; p++) *p = 0; pTcb->remIsn = TcpHdrSeqNum + seqLengthRcvd; //Ack number pTcb->locIsn = TcpHdrACK ? TcpHdrAckNum : 0; //Seq number pTcb->bytesRcvdFromRem = 0;