mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
bn.h and ssl.c: define WOLFSSL_BN_ULONG to be target-native unsigned long, revert *_word() bn.h API functions to use WOLFSSL_BN_ULONG, and change wolfSSL_BN_get_word() to return WOLFSSL_BN_ULONG rather than unsigned long, for consistency.
This commit is contained in:
30
src/ssl.c
30
src/ssl.c
@ -46753,16 +46753,16 @@ int wolfSSL_BN_set_word(WOLFSSL_BIGNUM* bn, unsigned long w)
|
|||||||
return WOLFSSL_SUCCESS;
|
return WOLFSSL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long wolfSSL_BN_get_word_1(mp_int *mp) {
|
static WOLFSSL_BN_ULONG wolfSSL_BN_get_word_1(mp_int *mp) {
|
||||||
#if DIGIT_BIT == (SIZEOF_LONG * 8)
|
#if DIGIT_BIT == (SIZEOF_LONG * 8)
|
||||||
return (unsigned long)mp->dp[0];
|
return (WOLFSSL_BN_ULONG)mp->dp[0];
|
||||||
#else
|
#else
|
||||||
unsigned long ret = 0UL;
|
WOLFSSL_BN_ULONG ret = 0UL;
|
||||||
int digit_i;
|
int digit_i;
|
||||||
|
|
||||||
for (digit_i = 0; digit_i < mp->used; ++digit_i) {
|
for (digit_i = 0; digit_i < mp->used; ++digit_i) {
|
||||||
ret <<= (unsigned long)DIGIT_BIT;
|
ret <<= (WOLFSSL_BN_ULONG)DIGIT_BIT;
|
||||||
ret |= (unsigned long)mp->dp[digit_i];
|
ret |= (WOLFSSL_BN_ULONG)mp->dp[digit_i];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -46775,7 +46775,7 @@ static unsigned long wolfSSL_BN_get_word_1(mp_int *mp) {
|
|||||||
*
|
*
|
||||||
* Returns value or 0xFFFFFFFFL if bigger than unsigned long.
|
* Returns value or 0xFFFFFFFFL if bigger than unsigned long.
|
||||||
*/
|
*/
|
||||||
unsigned long wolfSSL_BN_get_word(const WOLFSSL_BIGNUM* bn)
|
WOLFSSL_BN_ULONG wolfSSL_BN_get_word(const WOLFSSL_BIGNUM* bn)
|
||||||
{
|
{
|
||||||
WOLFSSL_MSG("wolfSSL_BN_get_word");
|
WOLFSSL_MSG("wolfSSL_BN_get_word");
|
||||||
|
|
||||||
@ -46893,7 +46893,7 @@ int wolfSSL_BN_rshift(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *bn, int n)
|
|||||||
/* return code compliant with OpenSSL :
|
/* return code compliant with OpenSSL :
|
||||||
* 1 if success, 0 else
|
* 1 if success, 0 else
|
||||||
*/
|
*/
|
||||||
int wolfSSL_BN_add_word(WOLFSSL_BIGNUM *bn, unsigned long w)
|
int wolfSSL_BN_add_word(WOLFSSL_BIGNUM *bn, WOLFSSL_BN_ULONG w)
|
||||||
{
|
{
|
||||||
WOLFSSL_MSG("wolfSSL_BN_add_word");
|
WOLFSSL_MSG("wolfSSL_BN_add_word");
|
||||||
|
|
||||||
@ -46903,7 +46903,7 @@ int wolfSSL_BN_add_word(WOLFSSL_BIGNUM *bn, unsigned long w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (w <= MP_MASK) {
|
if (w <= MP_MASK) {
|
||||||
if (mp_add_d((mp_int*)bn->internal, (WOLFSSL_BN_ULONG)w, (mp_int*)bn->internal) != MP_OKAY) {
|
if (mp_add_d((mp_int*)bn->internal, (mp_digit)w, (mp_int*)bn->internal) != MP_OKAY) {
|
||||||
WOLFSSL_MSG("mp_add_d error");
|
WOLFSSL_MSG("mp_add_d error");
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
}
|
}
|
||||||
@ -47042,10 +47042,10 @@ int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM *bn, int nbchecks,
|
|||||||
/* return code compliant with OpenSSL :
|
/* return code compliant with OpenSSL :
|
||||||
* (bn mod w) if success, -1 if error
|
* (bn mod w) if success, -1 if error
|
||||||
*/
|
*/
|
||||||
unsigned long wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM *bn,
|
WOLFSSL_BN_ULONG wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM *bn,
|
||||||
unsigned long w)
|
WOLFSSL_BN_ULONG w)
|
||||||
{
|
{
|
||||||
unsigned long ret = 0;
|
WOLFSSL_BN_ULONG ret = 0;
|
||||||
|
|
||||||
WOLFSSL_MSG("wolfSSL_BN_mod_word");
|
WOLFSSL_MSG("wolfSSL_BN_mod_word");
|
||||||
|
|
||||||
@ -47055,12 +47055,12 @@ unsigned long wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM *bn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (w <= MP_MASK) {
|
if (w <= MP_MASK) {
|
||||||
WOLFSSL_BN_ULONG bn_ret;
|
mp_digit bn_ret;
|
||||||
if (mp_mod_d((mp_int*)bn->internal, (WOLFSSL_BN_ULONG)w, &bn_ret) != MP_OKAY) {
|
if (mp_mod_d((mp_int*)bn->internal, (WOLFSSL_BN_ULONG)w, &bn_ret) != MP_OKAY) {
|
||||||
WOLFSSL_MSG("mp_add_d error");
|
WOLFSSL_MSG("mp_add_d error");
|
||||||
return (unsigned long)WOLFSSL_FATAL_ERROR;
|
return (WOLFSSL_BN_ULONG)WOLFSSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
ret = (unsigned long)bn_ret;
|
ret = (WOLFSSL_BN_ULONG)bn_ret;
|
||||||
} else {
|
} else {
|
||||||
int mp_ret;
|
int mp_ret;
|
||||||
mp_int w_mp, r_mp;
|
mp_int w_mp, r_mp;
|
||||||
@ -47076,7 +47076,7 @@ unsigned long wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM *bn,
|
|||||||
mp_free(&w_mp);
|
mp_free(&w_mp);
|
||||||
if (mp_ret != MP_OKAY) {
|
if (mp_ret != MP_OKAY) {
|
||||||
WOLFSSL_MSG("mp_mod error");
|
WOLFSSL_MSG("mp_mod error");
|
||||||
return (unsigned long)WOLFSSL_FAILURE;
|
return (WOLFSSL_BN_ULONG)WOLFSSL_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ typedef struct WOLFSSL_BIGNUM {
|
|||||||
|
|
||||||
|
|
||||||
#define BN_ULONG WOLFSSL_BN_ULONG
|
#define BN_ULONG WOLFSSL_BN_ULONG
|
||||||
#define WOLFSSL_BN_ULONG mp_digit
|
#define WOLFSSL_BN_ULONG unsigned long
|
||||||
|
|
||||||
typedef struct WOLFSSL_BN_CTX WOLFSSL_BN_CTX;
|
typedef struct WOLFSSL_BN_CTX WOLFSSL_BN_CTX;
|
||||||
typedef struct WOLFSSL_BN_GENCB WOLFSSL_BN_GENCB;
|
typedef struct WOLFSSL_BN_GENCB WOLFSSL_BN_GENCB;
|
||||||
@ -85,7 +85,7 @@ WOLFSSL_API int wolfSSL_BN_is_zero(const WOLFSSL_BIGNUM*);
|
|||||||
WOLFSSL_API int wolfSSL_BN_is_one(const WOLFSSL_BIGNUM*);
|
WOLFSSL_API int wolfSSL_BN_is_one(const WOLFSSL_BIGNUM*);
|
||||||
WOLFSSL_API int wolfSSL_BN_is_odd(const WOLFSSL_BIGNUM*);
|
WOLFSSL_API int wolfSSL_BN_is_odd(const WOLFSSL_BIGNUM*);
|
||||||
WOLFSSL_API int wolfSSL_BN_is_negative(const WOLFSSL_BIGNUM*);
|
WOLFSSL_API int wolfSSL_BN_is_negative(const WOLFSSL_BIGNUM*);
|
||||||
WOLFSSL_API int wolfSSL_BN_is_word(const WOLFSSL_BIGNUM*, unsigned long);
|
WOLFSSL_API int wolfSSL_BN_is_word(const WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG);
|
||||||
|
|
||||||
WOLFSSL_API int wolfSSL_BN_cmp(const WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*);
|
WOLFSSL_API int wolfSSL_BN_cmp(const WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*);
|
||||||
|
|
||||||
@ -109,11 +109,11 @@ WOLFSSL_API int wolfSSL_BN_dec2bn(WOLFSSL_BIGNUM**, const char* str);
|
|||||||
WOLFSSL_API char* wolfSSL_BN_bn2dec(const WOLFSSL_BIGNUM*);
|
WOLFSSL_API char* wolfSSL_BN_bn2dec(const WOLFSSL_BIGNUM*);
|
||||||
|
|
||||||
WOLFSSL_API int wolfSSL_BN_lshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int);
|
WOLFSSL_API int wolfSSL_BN_lshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int);
|
||||||
WOLFSSL_API int wolfSSL_BN_add_word(WOLFSSL_BIGNUM*, unsigned long);
|
WOLFSSL_API int wolfSSL_BN_add_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG);
|
||||||
WOLFSSL_API int wolfSSL_BN_set_bit(WOLFSSL_BIGNUM*, int);
|
WOLFSSL_API int wolfSSL_BN_set_bit(WOLFSSL_BIGNUM*, int);
|
||||||
WOLFSSL_API int wolfSSL_BN_clear_bit(WOLFSSL_BIGNUM*, int);
|
WOLFSSL_API int wolfSSL_BN_clear_bit(WOLFSSL_BIGNUM*, int);
|
||||||
WOLFSSL_API int wolfSSL_BN_set_word(WOLFSSL_BIGNUM*, unsigned long);
|
WOLFSSL_API int wolfSSL_BN_set_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG);
|
||||||
WOLFSSL_API unsigned long wolfSSL_BN_get_word(const WOLFSSL_BIGNUM*);
|
WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_get_word(const WOLFSSL_BIGNUM*);
|
||||||
|
|
||||||
WOLFSSL_API int wolfSSL_BN_add(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*,
|
WOLFSSL_API int wolfSSL_BN_add(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*,
|
||||||
WOLFSSL_BIGNUM*);
|
WOLFSSL_BIGNUM*);
|
||||||
@ -123,8 +123,8 @@ WOLFSSL_API int wolfSSL_BN_mod_add(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a,
|
|||||||
WOLFSSL_API char *wolfSSL_BN_bn2hex(const WOLFSSL_BIGNUM*);
|
WOLFSSL_API char *wolfSSL_BN_bn2hex(const WOLFSSL_BIGNUM*);
|
||||||
WOLFSSL_API int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM*, int,
|
WOLFSSL_API int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM*, int,
|
||||||
WOLFSSL_BN_CTX*, WOLFSSL_BN_GENCB*);
|
WOLFSSL_BN_CTX*, WOLFSSL_BN_GENCB*);
|
||||||
WOLFSSL_API unsigned long wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM*,
|
WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM*,
|
||||||
unsigned long);
|
WOLFSSL_BN_ULONG);
|
||||||
#if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM)
|
#if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM)
|
||||||
WOLFSSL_API int wolfSSL_BN_print_fp(XFILE, const WOLFSSL_BIGNUM*);
|
WOLFSSL_API int wolfSSL_BN_print_fp(XFILE, const WOLFSSL_BIGNUM*);
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user