forked from wolfSSL/wolfssl
Merge pull request #252 from moisesguimaraes/fix_srp_build
fixes srp build without sha512
This commit is contained in:
@ -29,7 +29,7 @@
|
|||||||
#include <wolfssl/wolfcrypt/sha512.h>
|
#include <wolfssl/wolfcrypt/sha512.h>
|
||||||
#include <wolfssl/wolfcrypt/srp.h>
|
#include <wolfssl/wolfcrypt/srp.h>
|
||||||
|
|
||||||
#ifdef WOLFCRYPT_HAVE_SRP
|
#if defined(WOLFCRYPT_HAVE_SRP) && defined(WOLFSSL_SHA512)
|
||||||
|
|
||||||
static byte username[] = "user";
|
static byte username[] = "user";
|
||||||
static word32 usernameSz = 4;
|
static word32 usernameSz = 4;
|
||||||
@ -683,7 +683,7 @@ static void test_SrpKeyGenFunc_cb(void)
|
|||||||
|
|
||||||
void SrpTest(void)
|
void SrpTest(void)
|
||||||
{
|
{
|
||||||
#ifdef WOLFCRYPT_HAVE_SRP
|
#if defined(WOLFCRYPT_HAVE_SRP) && defined(WOLFSSL_SHA512)
|
||||||
test_SrpInit();
|
test_SrpInit();
|
||||||
test_SrpSetUsername();
|
test_SrpSetUsername();
|
||||||
test_SrpSetParams();
|
test_SrpSetParams();
|
||||||
|
@ -45,25 +45,33 @@ static int SrpHashInit(SrpHash* hash, SrpType type)
|
|||||||
hash->type = type;
|
hash->type = type;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
#ifndef NO_SHA
|
|
||||||
case SRP_TYPE_SHA:
|
case SRP_TYPE_SHA:
|
||||||
return wc_InitSha(&hash->data.sha);
|
#ifndef NO_SHA
|
||||||
#endif
|
return wc_InitSha(&hash->data.sha);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_SHA256
|
|
||||||
case SRP_TYPE_SHA256:
|
case SRP_TYPE_SHA256:
|
||||||
return wc_InitSha256(&hash->data.sha256);
|
#ifndef NO_SHA256
|
||||||
#endif
|
return wc_InitSha256(&hash->data.sha256);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA384
|
|
||||||
case SRP_TYPE_SHA384:
|
case SRP_TYPE_SHA384:
|
||||||
return wc_InitSha384(&hash->data.sha384);
|
#ifdef WOLFSSL_SHA384
|
||||||
#endif
|
return wc_InitSha384(&hash->data.sha384);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA512
|
|
||||||
case SRP_TYPE_SHA512:
|
case SRP_TYPE_SHA512:
|
||||||
return wc_InitSha512(&hash->data.sha512);
|
#ifdef WOLFSSL_SHA512
|
||||||
#endif
|
return wc_InitSha512(&hash->data.sha512);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
@ -73,25 +81,33 @@ static int SrpHashInit(SrpHash* hash, SrpType type)
|
|||||||
static int SrpHashUpdate(SrpHash* hash, const byte* data, word32 size)
|
static int SrpHashUpdate(SrpHash* hash, const byte* data, word32 size)
|
||||||
{
|
{
|
||||||
switch (hash->type) {
|
switch (hash->type) {
|
||||||
#ifndef NO_SHA
|
|
||||||
case SRP_TYPE_SHA:
|
case SRP_TYPE_SHA:
|
||||||
return wc_ShaUpdate(&hash->data.sha, data, size);
|
#ifndef NO_SHA
|
||||||
#endif
|
return wc_ShaUpdate(&hash->data.sha, data, size);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_SHA256
|
|
||||||
case SRP_TYPE_SHA256:
|
case SRP_TYPE_SHA256:
|
||||||
return wc_Sha256Update(&hash->data.sha256, data, size);
|
#ifndef NO_SHA256
|
||||||
#endif
|
return wc_Sha256Update(&hash->data.sha256, data, size);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA384
|
|
||||||
case SRP_TYPE_SHA384:
|
case SRP_TYPE_SHA384:
|
||||||
return wc_Sha384Update(&hash->data.sha384, data, size);
|
#ifdef WOLFSSL_SHA384
|
||||||
#endif
|
return wc_Sha384Update(&hash->data.sha384, data, size);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA512
|
|
||||||
case SRP_TYPE_SHA512:
|
case SRP_TYPE_SHA512:
|
||||||
return wc_Sha512Update(&hash->data.sha512, data, size);
|
#ifdef WOLFSSL_SHA512
|
||||||
#endif
|
return wc_Sha512Update(&hash->data.sha512, data, size);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
@ -101,25 +117,33 @@ static int SrpHashUpdate(SrpHash* hash, const byte* data, word32 size)
|
|||||||
static int SrpHashFinal(SrpHash* hash, byte* digest)
|
static int SrpHashFinal(SrpHash* hash, byte* digest)
|
||||||
{
|
{
|
||||||
switch (hash->type) {
|
switch (hash->type) {
|
||||||
#ifndef NO_SHA
|
|
||||||
case SRP_TYPE_SHA:
|
case SRP_TYPE_SHA:
|
||||||
return wc_ShaFinal(&hash->data.sha, digest);
|
#ifndef NO_SHA
|
||||||
#endif
|
return wc_ShaFinal(&hash->data.sha, digest);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_SHA256
|
|
||||||
case SRP_TYPE_SHA256:
|
case SRP_TYPE_SHA256:
|
||||||
return wc_Sha256Final(&hash->data.sha256, digest);
|
#ifndef NO_SHA256
|
||||||
#endif
|
return wc_Sha256Final(&hash->data.sha256, digest);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA384
|
|
||||||
case SRP_TYPE_SHA384:
|
case SRP_TYPE_SHA384:
|
||||||
return wc_Sha384Final(&hash->data.sha384, digest);
|
#ifdef WOLFSSL_SHA384
|
||||||
#endif
|
return wc_Sha384Final(&hash->data.sha384, digest);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA512
|
|
||||||
case SRP_TYPE_SHA512:
|
case SRP_TYPE_SHA512:
|
||||||
return wc_Sha512Final(&hash->data.sha512, digest);
|
#ifdef WOLFSSL_SHA512
|
||||||
#endif
|
return wc_Sha512Final(&hash->data.sha512, digest);
|
||||||
|
#else
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
@ -129,25 +153,33 @@ static int SrpHashFinal(SrpHash* hash, byte* digest)
|
|||||||
static word32 SrpHashSize(SrpType type)
|
static word32 SrpHashSize(SrpType type)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
#ifndef NO_SHA
|
|
||||||
case SRP_TYPE_SHA:
|
case SRP_TYPE_SHA:
|
||||||
return SHA_DIGEST_SIZE;
|
#ifndef NO_SHA
|
||||||
#endif
|
return SHA_DIGEST_SIZE;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_SHA256
|
|
||||||
case SRP_TYPE_SHA256:
|
case SRP_TYPE_SHA256:
|
||||||
return SHA256_DIGEST_SIZE;
|
#ifndef NO_SHA256
|
||||||
#endif
|
return SHA256_DIGEST_SIZE;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA384
|
|
||||||
case SRP_TYPE_SHA384:
|
case SRP_TYPE_SHA384:
|
||||||
return SHA384_DIGEST_SIZE;
|
#ifdef WOLFSSL_SHA384
|
||||||
#endif
|
return SHA384_DIGEST_SIZE;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SHA512
|
|
||||||
case SRP_TYPE_SHA512:
|
case SRP_TYPE_SHA512:
|
||||||
return SHA512_DIGEST_SIZE;
|
#ifdef WOLFSSL_SHA512
|
||||||
#endif
|
return SHA512_DIGEST_SIZE;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user