diff --git a/wolfcrypt/src/aes.c b/wolfcrypt/src/aes.c index 2c506b575c2..1d827676993 100644 --- a/wolfcrypt/src/aes.c +++ b/wolfcrypt/src/aes.c @@ -3032,20 +3032,36 @@ static void GMULT(word64* X, word64* Y) word64 y = Y[i]; for (j = 0; j < 64; j++) { +#ifdef BIG_ENDIAN_ORDER + if (y & 0x8000000000000000ULL) { +#else if (y & 0x8000000000000000) { +#endif Z[0] ^= V[0]; Z[1] ^= V[1]; } if (V[1] & 0x0000000000000001) { V[1] >>= 1; +#ifdef BIG_ENDIAN_ORDER + V[1] |= ((V[0] & 0x0000000000000001) ? 0x8000000000000000ULL : 0); +#else V[1] |= ((V[0] & 0x0000000000000001) ? 0x8000000000000000 : 0); +#endif V[0] >>= 1; +#ifdef BIG_ENDIAN_ORDER + V[0] ^= 0xE100000000000000ULL; +#else V[0] ^= 0xE100000000000000; +#endif } else { V[1] >>= 1; +#ifdef BIG_ENDIAN_ORDER + V[1] |= ((V[0] & 0x0000000000000001) ? 0x8000000000000000ULL : 0); +#else V[1] |= ((V[0] & 0x0000000000000001) ? 0x8000000000000000 : 0); +#endif V[0] >>= 1; } y <<= 1; diff --git a/wolfssl/sniffer.h b/wolfssl/sniffer.h index b5526465890..30fce9fddee 100644 --- a/wolfssl/sniffer.h +++ b/wolfssl/sniffer.h @@ -41,30 +41,35 @@ #endif -WOLFSSL_API +/* + * @param typeK: + * previously named keyType, shadowed a global declaration in + * wolfssl/wolfcrypt/asn.h on line 169 + */ +WOLFSSL_API SSL_SNIFFER_API int ssl_SetPrivateKey(const char* address, int port, - const char* keyFile, int keyType, + const char* keyFile, int typeK, const char* password, char* error); WOLFSSL_API SSL_SNIFFER_API int ssl_SetNamedPrivateKey(const char* name, const char* address, int port, - const char* keyFile, int keyType, + const char* keyFile, int typeK, const char* password, char* error); -WOLFSSL_API +WOLFSSL_API SSL_SNIFFER_API int ssl_DecodePacket(const unsigned char* packet, int length, unsigned char* data, char* error); -WOLFSSL_API +WOLFSSL_API SSL_SNIFFER_API int ssl_Trace(const char* traceFile, char* error); - - + + WOLFSSL_API void ssl_InitSniffer(void); - + WOLFSSL_API void ssl_FreeSniffer(void); - + /* ssl_SetPrivateKey keyTypes */ enum { FILETYPE_PEM = 1,