forked from wolfSSL/wolfssl
Merge pull request #8352 from douzzer/20240110-revert-8340
20240110-revert-8340
This commit is contained in:
18
src/quic.c
18
src/quic.c
@@ -154,16 +154,18 @@ static int quic_record_append(WOLFSSL *ssl, QuicRecord *qr, const uint8_t *data,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!quic_record_complete(qr) && len != 0) {
|
if (quic_record_complete(qr) || len == 0) {
|
||||||
missing = qr->len - qr->end;
|
return 0;
|
||||||
if (len > missing) {
|
|
||||||
len = missing;
|
|
||||||
}
|
|
||||||
XMEMCPY(qr->data + qr->end, data, len);
|
|
||||||
qr->end += (word32)len;
|
|
||||||
consumed += len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
missing = qr->len - qr->end;
|
||||||
|
if (len > missing) {
|
||||||
|
len = missing;
|
||||||
|
}
|
||||||
|
XMEMCPY(qr->data + qr->end, data, len);
|
||||||
|
qr->end += (word32)len;
|
||||||
|
consumed += len;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
*pconsumed = (ret == WOLFSSL_SUCCESS) ? consumed : 0;
|
*pconsumed = (ret == WOLFSSL_SUCCESS) ? consumed : 0;
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -287,10 +287,7 @@ static int test_provide_quic_data(void) {
|
|||||||
*/
|
*/
|
||||||
AssertNotNull(ssl = wolfSSL_new(ctx));
|
AssertNotNull(ssl = wolfSSL_new(ctx));
|
||||||
len = fake_record(1, 100, lbuffer);
|
len = fake_record(1, 100, lbuffer);
|
||||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer, 1, 0));
|
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer, len, 0));
|
||||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer+1, 3, 0));
|
|
||||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer+4, len, 0)
|
|
||||||
);
|
|
||||||
len = fake_record(2, 1523, lbuffer);
|
len = fake_record(2, 1523, lbuffer);
|
||||||
AssertTrue(provide_data(ssl, wolfssl_encryption_handshake, lbuffer, len, 0));
|
AssertTrue(provide_data(ssl, wolfssl_encryption_handshake, lbuffer, len, 0));
|
||||||
len = fake_record(2, 1, lbuffer);
|
len = fake_record(2, 1, lbuffer);
|
||||||
|
Reference in New Issue
Block a user