Skip to content

Commit 5ebdf80

Browse files
committed
dtls13: support either side DTLSv1_3 method
1 parent bc68819 commit 5ebdf80

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

src/tls.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15606,6 +15606,26 @@ int TLSX_Parse(WOLFSSL* ssl, const byte* input, word16 length, byte msgType,
1560615606
return m;
1560715607
}
1560815608
#endif /* !WOLFSSL_NO_TLS12 */
15609+
#ifdef WOLFSSL_DTLS13
15610+
WOLFSSL_METHOD* wolfDTLSv1_3_method(void)
15611+
{
15612+
return wolfDTLSv1_3_method_ex(NULL);
15613+
}
15614+
WOLFSSL_METHOD* wolfDTLSv1_3_method_ex(void* heap)
15615+
{
15616+
WOLFSSL_METHOD* m;
15617+
WOLFSSL_ENTER("DTLSv1_3_method");
15618+
#ifndef NO_WOLFSSL_CLIENT
15619+
m = wolfDTLSv1_3_client_method_ex(heap);
15620+
#else
15621+
m = wolfDTLSv1_3_server_method_ex(heap);
15622+
#endif
15623+
if (m != NULL) {
15624+
m->side = WOLFSSL_NEITHER_END;
15625+
}
15626+
return m;
15627+
}
15628+
#endif /* WOLFSSL_DTLS13 */
1560915629
#endif /* WOLFSSL_DTLS */
1561015630
#endif /* OPENSSL_EXTRA || WOLFSSL_EITHER_SIDE */
1561115631

tests/api.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,6 +1194,9 @@ static int test_wolfSSL_Method_Allocators(void)
11941194
#ifndef WOLFSSL_NO_TLS12
11951195
TEST_VALID_METHOD_ALLOCATOR(wolfDTLSv1_2_method);
11961196
#endif /* !WOLFSSL_NO_TLS12 */
1197+
#ifdef WOLFSSL_DTLS13
1198+
TEST_VALID_METHOD_ALLOCATOR(wolfDTLSv1_3_method);
1199+
#endif /* WOLFSSL_DTLS13 */
11971200
#endif /* WOLFSSL_DTLS */
11981201
#endif /* OPENSSL_EXTRA || WOLFSSL_EITHER_SIDE */
11991202

wolfssl/ssl.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -976,6 +976,10 @@ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_method(void);
976976
#ifndef NO_WOLFSSL_SERVER
977977
WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_3_server_method_ex(void* heap);
978978
WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_3_server_method(void);
979+
#endif
980+
#ifdef WOLFSSL_EITHER_SIDE
981+
WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_3_method_ex(void* heap);
982+
WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_3_method(void);
979983
#endif
980984
WOLFSSL_API int wolfSSL_dtls13_has_pending_msg(WOLFSSL *ssl);
981985
#endif /* WOLFSSL_DTLS13 */

0 commit comments

Comments
 (0)