forked from wolfSSL/wolfssl
Merge pull request #5858 from anhu/dtls13_fixups
Fixups for problems discovered while testing for DTLS 1.3
This commit is contained in:
15
src/dtls13.c
15
src/dtls13.c
@ -117,6 +117,7 @@ typedef struct Dtls13RecordPlaintextHeader {
|
||||
#define DTLS13_MIN_CIPHERTEXT 16
|
||||
#define DTLS13_MIN_RTX_INTERVAL 1
|
||||
|
||||
#ifndef NO_WOLFSSL_CLIENT
|
||||
WOLFSSL_METHOD* wolfDTLSv1_3_client_method_ex(void* heap)
|
||||
{
|
||||
WOLFSSL_METHOD* method;
|
||||
@ -131,6 +132,14 @@ WOLFSSL_METHOD* wolfDTLSv1_3_client_method_ex(void* heap)
|
||||
return method;
|
||||
}
|
||||
|
||||
WOLFSSL_METHOD* wolfDTLSv1_3_client_method(void)
|
||||
{
|
||||
return wolfDTLSv1_3_client_method_ex(NULL);
|
||||
}
|
||||
#endif /* !NO_WOLFSSL_CLIENT */
|
||||
|
||||
|
||||
#ifndef NO_WOLFSSL_SERVER
|
||||
WOLFSSL_METHOD* wolfDTLSv1_3_server_method_ex(void* heap)
|
||||
{
|
||||
WOLFSSL_METHOD* method;
|
||||
@ -147,15 +156,11 @@ WOLFSSL_METHOD* wolfDTLSv1_3_server_method_ex(void* heap)
|
||||
return method;
|
||||
}
|
||||
|
||||
WOLFSSL_METHOD* wolfDTLSv1_3_client_method(void)
|
||||
{
|
||||
return wolfDTLSv1_3_client_method_ex(NULL);
|
||||
}
|
||||
|
||||
WOLFSSL_METHOD* wolfDTLSv1_3_server_method(void)
|
||||
{
|
||||
return wolfDTLSv1_3_server_method_ex(NULL);
|
||||
}
|
||||
#endif /* !NO_WOLFSSL_SERVER */
|
||||
|
||||
int Dtls13RlAddPlaintextHeader(WOLFSSL* ssl, byte* out,
|
||||
enum ContentType content_type, word16 length)
|
||||
|
@ -1191,10 +1191,11 @@ static void TraceSequence(word32 seq, int len)
|
||||
|
||||
|
||||
/* Show sequence and payload length for Trace */
|
||||
static void TraceAck(word32 ack, word32 expected)
|
||||
static void TraceAck(word32 acknowledgement, word32 expected)
|
||||
{
|
||||
if (TraceOn) {
|
||||
XFPRINTF(TraceFile, "\tAck:%u Expected:%u\n", ack, expected);
|
||||
XFPRINTF(TraceFile, "\tAck:%u Expected:%u\n", acknowledgement,
|
||||
expected);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6299,6 +6300,10 @@ doPart:
|
||||
sslFrame += rhSize;
|
||||
sslBytes -= rhSize;
|
||||
break;
|
||||
#ifdef WOLFSSL_DTLS13
|
||||
case ack:
|
||||
/* TODO */
|
||||
#endif /* WOLFSSL_DTLS13 */
|
||||
case no_type:
|
||||
default:
|
||||
SetError(GOT_UNKNOWN_RECORD_STR, error, session, FATAL_ERROR_STATE);
|
||||
|
@ -10479,7 +10479,8 @@ int DoTls13HandShakeMsgType(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
||||
ret = DoTls13KeyUpdate(ssl, input, inOutIdx, size);
|
||||
break;
|
||||
|
||||
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_NO_TLS12)
|
||||
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_NO_TLS12) && \
|
||||
!defined(NO_WOLFSSL_CLIENT)
|
||||
case hello_verify_request:
|
||||
WOLFSSL_MSG("processing hello verify request");
|
||||
ret = DoHelloVerifyRequest(ssl, input, inOutIdx, size);
|
||||
@ -11229,7 +11230,7 @@ int wolfSSL_disable_hrr_cookie(WOLFSSL* ssl)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
#ifdef NO_WOLFSSL_SERVER
|
||||
return SIDE_ERROR
|
||||
return SIDE_ERROR;
|
||||
#else
|
||||
if (ssl->options.side == WOLFSSL_CLIENT_END)
|
||||
return SIDE_ERROR;
|
||||
|
@ -56041,7 +56041,9 @@ static int test_wolfSSL_dtls_bad_record(void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_TLS13_IGNORE_AEAD_LIMITS)
|
||||
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_TLS13_IGNORE_AEAD_LIMITS) && \
|
||||
!defined(NO_WOLFSSL_CLIENT) && !defined(NO_WOLFSSL_SERVER) && \
|
||||
defined(HAVE_IO_TESTS_DEPENDENCIES)
|
||||
static byte test_AEAD_fail_decryption = 0;
|
||||
static byte test_AEAD_seq_num = 0;
|
||||
static byte test_AEAD_done = 0;
|
||||
|
Reference in New Issue
Block a user