Merge pull request #1241 from SparkiDev/tls13_rec_pad

Handle reading record layer padding in TLS v1.3
This commit is contained in:
toddouska
2017-11-20 11:35:15 -08:00
committed by GitHub

View File

@ -11965,10 +11965,16 @@ int ProcessReply(WOLFSSL* ssl)
ssl->keys.decryptedCur = 1;
#ifdef WOLFSSL_TLS13
if (ssl->options.tls1_3) {
word16 i = ssl->buffers.inputBuffer.length -
ssl->keys.padSz;
/* Remove padding from end of plain text. */
for (--i; i > ssl->buffers.inputBuffer.idx; i--) {
if (ssl->buffers.inputBuffer.buffer[i] != 0)
break;
}
/* Get the real content type from the end of the data. */
ssl->keys.padSz++;
ssl->curRL.type = ssl->buffers.inputBuffer.buffer[
ssl->buffers.inputBuffer.length - ssl->keys.padSz];
ssl->curRL.type = ssl->buffers.inputBuffer.buffer[i];
ssl->keys.padSz = ssl->buffers.inputBuffer.length - i;
}
#endif
}