From 1d5c6cce001659e746f3456cef8e4b61f47061ef Mon Sep 17 00:00:00 2001 From: John Safranek Date: Mon, 3 Apr 2017 09:39:31 -0700 Subject: [PATCH] Fix some small things compiling with a different compiler, and some other options. 1. Missing prototype for the Mcast receive I/O callback. 2. When disabling SHA-1, the old DTLS cookie callback wouldn't work. Allow for SHA-256. --- src/io.c | 8 ++++---- wolfssl/io.h | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/io.c b/src/io.c index 3791c0bbb..8e7ac1423 100644 --- a/src/io.c +++ b/src/io.c @@ -417,7 +417,7 @@ int EmbedGenerateCookie(WOLFSSL* ssl, byte *buf, int sz, void *ctx) int sd = ssl->wfd; SOCKADDR_S peer; XSOCKLENT peerSz = sizeof(peer); - byte digest[SHA_DIGEST_SIZE]; + byte digest[SHA256_DIGEST_SIZE]; int ret = 0; (void)ctx; @@ -428,12 +428,12 @@ int EmbedGenerateCookie(WOLFSSL* ssl, byte *buf, int sz, void *ctx) return GEN_COOKIE_E; } - ret = wc_ShaHash((byte*)&peer, peerSz, digest); + ret = wc_Sha256Hash((byte*)&peer, peerSz, digest); if (ret != 0) return ret; - if (sz > SHA_DIGEST_SIZE) - sz = SHA_DIGEST_SIZE; + if (sz > SHA256_DIGEST_SIZE) + sz = SHA256_DIGEST_SIZE; XMEMCPY(buf, digest, sz); return sz; diff --git a/wolfssl/io.h b/wolfssl/io.h index c13419498..0bbb2d783 100644 --- a/wolfssl/io.h +++ b/wolfssl/io.h @@ -298,6 +298,10 @@ WOLFSSL_API int wolfIO_Recv(SOCKET_T sd, char *buf, int sz, int rdFlags); WOLFSSL_API int EmbedSendTo(WOLFSSL* ssl, char* buf, int sz, void* ctx); WOLFSSL_API int EmbedGenerateCookie(WOLFSSL* ssl, unsigned char* buf, int sz, void*); + #ifdef WOLFSSL_MULTICAST + WOLFSSL_API int EmbedReceiveFromMcast(WOLFSSL* ssl, + char* buf, int sz, void*); + #endif /* WOLFSSL_MULTICAST */ #ifdef WOLFSSL_SESSION_EXPORT WOLFSSL_API int EmbedGetPeer(WOLFSSL* ssl, char* ip, int* ipSz, unsigned short* port, int* fam);