Skip to content

Commit 6bde6af

Browse files
authored
Merge pull request #5858 from anhu/dtls13_fixups
Fixups for problems discovered while testing for DTLS 1.3
2 parents 9e181e8 + 7935a11 commit 6bde6af

4 files changed

Lines changed: 23 additions & 10 deletions

File tree

src/dtls13.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ typedef struct Dtls13RecordPlaintextHeader {
117117
#define DTLS13_MIN_CIPHERTEXT 16
118118
#define DTLS13_MIN_RTX_INTERVAL 1
119119

120+
#ifndef NO_WOLFSSL_CLIENT
120121
WOLFSSL_METHOD* wolfDTLSv1_3_client_method_ex(void* heap)
121122
{
122123
WOLFSSL_METHOD* method;
@@ -131,6 +132,14 @@ WOLFSSL_METHOD* wolfDTLSv1_3_client_method_ex(void* heap)
131132
return method;
132133
}
133134

135+
WOLFSSL_METHOD* wolfDTLSv1_3_client_method(void)
136+
{
137+
return wolfDTLSv1_3_client_method_ex(NULL);
138+
}
139+
#endif /* !NO_WOLFSSL_CLIENT */
140+
141+
142+
#ifndef NO_WOLFSSL_SERVER
134143
WOLFSSL_METHOD* wolfDTLSv1_3_server_method_ex(void* heap)
135144
{
136145
WOLFSSL_METHOD* method;
@@ -147,15 +156,11 @@ WOLFSSL_METHOD* wolfDTLSv1_3_server_method_ex(void* heap)
147156
return method;
148157
}
149158

150-
WOLFSSL_METHOD* wolfDTLSv1_3_client_method(void)
151-
{
152-
return wolfDTLSv1_3_client_method_ex(NULL);
153-
}
154-
155159
WOLFSSL_METHOD* wolfDTLSv1_3_server_method(void)
156160
{
157161
return wolfDTLSv1_3_server_method_ex(NULL);
158162
}
163+
#endif /* !NO_WOLFSSL_SERVER */
159164

160165
int Dtls13RlAddPlaintextHeader(WOLFSSL* ssl, byte* out,
161166
enum ContentType content_type, word16 length)

src/sniffer.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,10 +1191,11 @@ static void TraceSequence(word32 seq, int len)
11911191

11921192

11931193
/* Show sequence and payload length for Trace */
1194-
static void TraceAck(word32 ack, word32 expected)
1194+
static void TraceAck(word32 acknowledgement, word32 expected)
11951195
{
11961196
if (TraceOn) {
1197-
XFPRINTF(TraceFile, "\tAck:%u Expected:%u\n", ack, expected);
1197+
XFPRINTF(TraceFile, "\tAck:%u Expected:%u\n", acknowledgement,
1198+
expected);
11981199
}
11991200
}
12001201

@@ -6299,6 +6300,10 @@ static int ProcessMessage(const byte* sslFrame, SnifferSession* session,
62996300
sslFrame += rhSize;
63006301
sslBytes -= rhSize;
63016302
break;
6303+
#ifdef WOLFSSL_DTLS13
6304+
case ack:
6305+
/* TODO */
6306+
#endif /* WOLFSSL_DTLS13 */
63026307
case no_type:
63036308
default:
63046309
SetError(GOT_UNKNOWN_RECORD_STR, error, session, FATAL_ERROR_STATE);

src/tls13.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10479,7 +10479,8 @@ int DoTls13HandShakeMsgType(WOLFSSL* ssl, byte* input, word32* inOutIdx,
1047910479
ret = DoTls13KeyUpdate(ssl, input, inOutIdx, size);
1048010480
break;
1048110481

10482-
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_NO_TLS12)
10482+
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_NO_TLS12) && \
10483+
!defined(NO_WOLFSSL_CLIENT)
1048310484
case hello_verify_request:
1048410485
WOLFSSL_MSG("processing hello verify request");
1048510486
ret = DoHelloVerifyRequest(ssl, input, inOutIdx, size);
@@ -11229,7 +11230,7 @@ int wolfSSL_disable_hrr_cookie(WOLFSSL* ssl)
1122911230
return BAD_FUNC_ARG;
1123011231

1123111232
#ifdef NO_WOLFSSL_SERVER
11232-
return SIDE_ERROR
11233+
return SIDE_ERROR;
1123311234
#else
1123411235
if (ssl->options.side == WOLFSSL_CLIENT_END)
1123511236
return SIDE_ERROR;

tests/api.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56041,7 +56041,9 @@ static int test_wolfSSL_dtls_bad_record(void) {
5604156041
}
5604256042
#endif
5604356043

56044-
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_TLS13_IGNORE_AEAD_LIMITS)
56044+
#if defined(WOLFSSL_DTLS13) && !defined(WOLFSSL_TLS13_IGNORE_AEAD_LIMITS) && \
56045+
!defined(NO_WOLFSSL_CLIENT) && !defined(NO_WOLFSSL_SERVER) && \
56046+
defined(HAVE_IO_TESTS_DEPENDENCIES)
5604556047
static byte test_AEAD_fail_decryption = 0;
5604656048
static byte test_AEAD_seq_num = 0;
5604756049
static byte test_AEAD_done = 0;

0 commit comments

Comments
 (0)