mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-05-05 11:04:16 +02:00
Multicast DTLS
1. Add DTLS-multicast to the enable options. 2. Reorg DTLS related enable options together. 3. Update a couple enable option texts to use the AS_HELP_STRING() macro. 4. Add three new APIs for managing a DTLS Multicast session. 5. Add test code for new APIs. 6. Add stub code for the new APIs.
This commit is contained in:
+45
@@ -2344,6 +2344,48 @@ static int test_wolfSSL_UseOCSPStaplingV2 (void)
|
||||
|
||||
} /*END test_wolfSSL_UseOCSPStaplingV2*/
|
||||
|
||||
/*----------------------------------------------------------------------------*
|
||||
| DTLS Multicast Tests
|
||||
*----------------------------------------------------------------------------*/
|
||||
static void test_wolfSSL_dtls_mcast(void)
|
||||
{
|
||||
#if defined(WOLFSSL_DTLS) && defined(WOLFSSL_MULTICAST)
|
||||
WOLFSSL_CTX* ctx;
|
||||
WOLFSSL* ssl;
|
||||
int result;
|
||||
byte preMasterSecret[512];
|
||||
byte clientRandom[32];
|
||||
byte serverRandom[32];
|
||||
byte suite[2] = {0, 0xb0}; /* TLS_PSK_WITH_NULL_SHA256 */
|
||||
byte buf[256];
|
||||
byte newId;
|
||||
|
||||
ctx = wolfSSL_CTX_new(wolfDTLSv1_2_client_method());
|
||||
AssertNotNull(ctx);
|
||||
ssl = wolfSSL_new(ctx);
|
||||
AssertNotNull(ssl);
|
||||
|
||||
result = wolfSSL_dtls_mcast_set_member_id(ssl, 0);
|
||||
AssertIntEQ(result, SSL_SUCCESS);
|
||||
|
||||
XMEMSET(preMasterSecret, 0x23, sizeof(preMasterSecret));
|
||||
XMEMSET(clientRandom, 0xA5, sizeof(clientRandom));
|
||||
XMEMSET(serverRandom, 0x5A, sizeof(serverRandom));
|
||||
result = wolfSSL_dtls_mcast_set_secret(ssl, 23,
|
||||
preMasterSecret, sizeof(preMasterSecret),
|
||||
clientRandom, serverRandom, suite);
|
||||
AssertIntEQ(result, SSL_SUCCESS);
|
||||
|
||||
result = wolfSSL_dtls_mcast_read(ssl, &newId, buf, sizeof(buf));
|
||||
AssertIntLE(result, 0);
|
||||
AssertIntLE(newId, 100);
|
||||
|
||||
wolfSSL_free(ssl);
|
||||
wolfSSL_CTX_free(ctx);
|
||||
#endif /* WOLFSSL_DTLS && WOLFSSL_MULTICAST */
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*
|
||||
| Wolfcrypt
|
||||
*----------------------------------------------------------------------------*/
|
||||
@@ -9675,6 +9717,9 @@ void ApiTest(void)
|
||||
AssertIntEQ(test_wolfSSL_UseOCSPStapling(), SSL_SUCCESS);
|
||||
AssertIntEQ(test_wolfSSL_UseOCSPStaplingV2(), SSL_SUCCESS);
|
||||
|
||||
/* DTLS-MULTICAST */
|
||||
test_wolfSSL_dtls_mcast();
|
||||
|
||||
/* compatibility tests */
|
||||
test_wolfSSL_DES();
|
||||
test_wolfSSL_certs();
|
||||
|
||||
Reference in New Issue
Block a user