forked from wolfSSL/wolfssl
Multicast DTLS
Tweak the size of the Peer Sequence list.
This commit is contained in:
@@ -852,7 +852,7 @@ int wolfSSL_CTX_mcast_set_member_id(WOLFSSL_CTX* ctx, byte id)
|
|||||||
|
|
||||||
WOLFSSL_ENTER("wolfSSL_CTX_mcast_set_member_id()");
|
WOLFSSL_ENTER("wolfSSL_CTX_mcast_set_member_id()");
|
||||||
|
|
||||||
if (ctx == NULL || id >= MULTICAST_SZ)
|
if (ctx == NULL || id >= WOLFSSL_MULTICAST_PEERS)
|
||||||
ret = BAD_FUNC_ARG;
|
ret = BAD_FUNC_ARG;
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
@@ -911,7 +911,7 @@ int wolfSSL_set_secret(WOLFSSL* ssl, unsigned short epoch,
|
|||||||
|
|
||||||
ssl->keys.dtls_epoch = epoch;
|
ssl->keys.dtls_epoch = epoch;
|
||||||
for (i = 0, peerSeq = ssl->keys.peerSeq;
|
for (i = 0, peerSeq = ssl->keys.peerSeq;
|
||||||
i < WOLFSSL_MULTICAST_PEERS;
|
i < WOLFSSL_DTLS_PEERSEQ_SZ;
|
||||||
i++, peerSeq++) {
|
i++, peerSeq++) {
|
||||||
|
|
||||||
peerSeq->nextEpoch = epoch;
|
peerSeq->nextEpoch = epoch;
|
||||||
|
@@ -914,14 +914,16 @@ enum {
|
|||||||
#define DTLS_SEQ_BITS (WOLFSSL_DTLS_WINDOW_WORDS * DTLS_WORD_BITS)
|
#define DTLS_SEQ_BITS (WOLFSSL_DTLS_WINDOW_WORDS * DTLS_WORD_BITS)
|
||||||
#define DTLS_SEQ_SZ (sizeof(word32) * WOLFSSL_DTLS_WINDOW_WORDS)
|
#define DTLS_SEQ_SZ (sizeof(word32) * WOLFSSL_DTLS_WINDOW_WORDS)
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_MULTICAST
|
||||||
|
#define WOLFSSL_DTLS_PEERSEQ_SZ 1
|
||||||
|
#else
|
||||||
#ifndef WOLFSSL_MULTICAST_PEERS
|
#ifndef WOLFSSL_MULTICAST_PEERS
|
||||||
/* max allowed multicast group peers */
|
/* max allowed multicast group peers */
|
||||||
#ifdef WOLFSSL_MULTICAST
|
|
||||||
#define WOLFSSL_MULTICAST_PEERS 100
|
#define WOLFSSL_MULTICAST_PEERS 100
|
||||||
#else
|
|
||||||
#define WOLFSSL_MULTICAST_PEERS 1
|
|
||||||
#endif
|
#endif
|
||||||
#endif /* WOLFSSL_MULTICAST_PEERS */
|
#define WOLFSSL_DTLS_PEERSEQ_SZ WOLFSSL_MULTICAST_PEERS
|
||||||
|
#endif /* WOLFSSL_MULTICAST */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enum Misc {
|
enum Misc {
|
||||||
@@ -1044,7 +1046,6 @@ enum Misc {
|
|||||||
DTLS_EXPORT_LEN = 2, /* 2 bytes for length and protocol */
|
DTLS_EXPORT_LEN = 2, /* 2 bytes for length and protocol */
|
||||||
DTLS_EXPORT_IP = 46, /* max ip size IPv4 mapped IPv6 */
|
DTLS_EXPORT_IP = 46, /* max ip size IPv4 mapped IPv6 */
|
||||||
MAX_EXPORT_BUFFER = 514, /* max size of buffer for exporting */
|
MAX_EXPORT_BUFFER = 514, /* max size of buffer for exporting */
|
||||||
MULTICAST_SZ = WOLFSSL_MULTICAST_PEERS,
|
|
||||||
FINISHED_LABEL_SZ = 15, /* TLS finished label size */
|
FINISHED_LABEL_SZ = 15, /* TLS finished label size */
|
||||||
TLS_FINISHED_SZ = 12, /* TLS has a shorter size */
|
TLS_FINISHED_SZ = 12, /* TLS has a shorter size */
|
||||||
EXT_MASTER_LABEL_SZ = 22, /* TLS extended master secret label sz */
|
EXT_MASTER_LABEL_SZ = 22, /* TLS extended master secret label sz */
|
||||||
@@ -1776,7 +1777,7 @@ typedef struct Keys {
|
|||||||
#ifdef WOLFSSL_MULTICAST
|
#ifdef WOLFSSL_MULTICAST
|
||||||
byte curPeerId; /* Received peer group ID in current record */
|
byte curPeerId; /* Received peer group ID in current record */
|
||||||
#endif
|
#endif
|
||||||
WOLFSSL_DTLS_PEERSEQ peerSeq[WOLFSSL_MULTICAST_PEERS];
|
WOLFSSL_DTLS_PEERSEQ peerSeq[WOLFSSL_DTLS_PEERSEQ_SZ];
|
||||||
|
|
||||||
word16 dtls_peer_handshake_number;
|
word16 dtls_peer_handshake_number;
|
||||||
word16 dtls_expected_peer_handshake_number;
|
word16 dtls_expected_peer_handshake_number;
|
||||||
|
Reference in New Issue
Block a user