#include <openssl/evp.h>
#if (BN_BYTES == 8)
-#define bn_pack4(a1,a2,a3,a4) 0x##a1##a2##a3##a4##ul
-#endif
-#if (BN_BYTES == 4)
-#define bn_pack4(a1,a2,a3,a4) 0x##a3##a4##ul, 0x##a1##a2##ul
-#endif
-#if (BN_BYTES == 2)
-#define bn_pack4(a1,a2,a3,a4) 0x##a4##u,0x##a3##u,0x##a2##u,0x##a1##u
+# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)
+# define bn_pack4(a1,a2,a3,a4) 0x##a1##a2##a3##a4##UI64
+# elif defined(__arch64__)
+# define bn_pack4(a1,a2,a3,a4) 0x##a1##a2##a3##a4##UL
+# else
+# define bn_pack4(a1,a2,a3,a4) 0x##a1##a2##a3##a4##ULL
+# endif
+#elif (BN_BYTES == 4)
+# define bn_pack4(a1,a2,a3,a4) 0x##a3##a4##UL, 0x##a1##a2##UL
+#else
+# error "unsupported BN_BYTES"
#endif
/* Check if G and N are kwown parameters.
The values have been generated from the ietf-tls-srp draft version 8
*/
-char * SRP_check_known_gN_param(BIGNUM* g, BIGNUM* N)
+char * SRP_check_known_gN_param(BIGNUM* g, BIGNUM* N)
{
- int i;
+ size_t i;
if ((g == NULL) || (N == NULL))
return 0;
for(i = 0; i < KNOWN_GN_NUMBER; i++)
{
- if (BN_cmp(knowngN[i].g,g) == 0 && BN_cmp(knowngN[i].N,N) == 0)
+ if (BN_cmp(knowngN[i].g, g) == 0 && BN_cmp(knowngN[i].N, N) == 0)
return knowngN[i].id;
}
return NULL;
}
-SRP_gN *SRP_get_default_gN(const char * id)
+SRP_gN *SRP_get_default_gN(const char *id)
{
- int i;
+ size_t i;
if (id == NULL)
return knowngN;
for(i = 0; i < KNOWN_GN_NUMBER; i++)
{
- if (strcmp(knowngN[i].id,id)==0)
- return knowngN+i;
+ if (strcmp(knowngN[i].id, id)==0)
+ return knowngN + i;
}
return NULL;
}