From 6d70827d1f1397fc784bbd681f22a70293c4acf8 Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Fri, 5 May 2017 11:52:34 +0200 Subject: [PATCH 1/8] Windows: fix warning: 'rng_nix' defined but not used --- src/prngs/rng_get_bytes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/prngs/rng_get_bytes.c b/src/prngs/rng_get_bytes.c index 2c05d0d..701c098 100644 --- a/src/prngs/rng_get_bytes.c +++ b/src/prngs/rng_get_bytes.c @@ -14,7 +14,7 @@ portable way to get secure random bits to feed a PRNG (Tom St Denis) */ -#ifdef LTC_DEVRANDOM +#if defined(LTC_DEVRANDOM) && !defined(_WIN32) /* on *NIX read /dev/random */ static unsigned long rng_nix(unsigned char *buf, unsigned long len, void (*callback)(void)) From e2cf11da25bb62e6aa02e89dc4c3bd52a8577403 Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Tue, 9 May 2017 18:31:14 +0200 Subject: [PATCH 2/8] fix windows warnings - #212 and #213 --- demos/crypt.c | 27 ++-- demos/hashsum.c | 5 + demos/test.c | 11 +- demos/tv_gen.c | 2 +- libtomcrypt_VS2008.vcproj | 8 +- .../chachapoly/chacha20poly1305_decrypt.c | 2 +- .../chachapoly/chacha20poly1305_done.c | 2 +- .../chachapoly/chacha20poly1305_encrypt.c | 2 +- src/stream/sober128/sober128.c | 4 +- testprof/base64_test.c | 6 +- testprof/der_tests.c | 138 +++++++++--------- testprof/dh_test.c | 4 +- testprof/dsa_test.c | 2 +- testprof/ecc_test.c | 4 +- testprof/x86_prof.c | 27 ++-- 15 files changed, 126 insertions(+), 118 deletions(-) diff --git a/demos/crypt.c b/demos/crypt.c index 6bd14ac..75aee70 100644 --- a/demos/crypt.c +++ b/demos/crypt.c @@ -9,8 +9,6 @@ #include -int errno; - int usage(char *name) { int x; @@ -103,6 +101,7 @@ int main(int argc, char *argv[]) char *infile, *outfile, *cipher; prng_state prng; FILE *fdin, *fdout; + int err; /* register algs, so they can be printed */ register_algs(); @@ -180,8 +179,8 @@ int main(int argc, char *argv[]) if(fgets((char *)tmpkey,sizeof(tmpkey), stdin) == NULL) exit(-1); outlen = sizeof(key); - if ((errno = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) { - printf("Error hashing key: %s\n", error_to_string(errno)); + if ((err = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) { + printf("Error hashing key: %s\n", error_to_string(err)); exit(-1); } @@ -192,8 +191,8 @@ int main(int argc, char *argv[]) exit(-1); } - if ((errno = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) { - printf("ctr_start error: %s\n",error_to_string(errno)); + if ((err = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) { + printf("ctr_start error: %s\n",error_to_string(err)); exit(-1); } @@ -201,8 +200,8 @@ int main(int argc, char *argv[]) do { y = fread(inbuf,1,sizeof(inbuf),fdin); - if ((errno = ctr_decrypt(inbuf,plaintext,y,&ctr)) != CRYPT_OK) { - printf("ctr_decrypt error: %s\n", error_to_string(errno)); + if ((err = ctr_decrypt(inbuf,plaintext,y,&ctr)) != CRYPT_OK) { + printf("ctr_decrypt error: %s\n", error_to_string(err)); exit(-1); } @@ -217,8 +216,8 @@ int main(int argc, char *argv[]) } else { /* encrypt */ /* Setup yarrow for random bytes for IV */ - if ((errno = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) { - printf("Error setting up PRNG, %s\n", error_to_string(errno)); + if ((err = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) { + printf("Error setting up PRNG, %s\n", error_to_string(err)); } /* You can use rng_get_bytes on platforms that support it */ @@ -234,16 +233,16 @@ int main(int argc, char *argv[]) exit(-1); } - if ((errno = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) { - printf("ctr_start error: %s\n",error_to_string(errno)); + if ((err = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) { + printf("ctr_start error: %s\n",error_to_string(err)); exit(-1); } do { y = fread(inbuf,1,sizeof(inbuf),fdin); - if ((errno = ctr_encrypt(inbuf,ciphertext,y,&ctr)) != CRYPT_OK) { - printf("ctr_encrypt error: %s\n", error_to_string(errno)); + if ((err = ctr_encrypt(inbuf,ciphertext,y,&ctr)) != CRYPT_OK) { + printf("ctr_encrypt error: %s\n", error_to_string(err)); exit(-1); } diff --git a/demos/hashsum.c b/demos/hashsum.c index c3824d5..9bdac66 100644 --- a/demos/hashsum.c +++ b/demos/hashsum.c @@ -15,6 +15,11 @@ #define basename(x) x #endif +#if !defined(PATH_MAX) && defined(_MSC_VER) +#include +#define PATH_MAX MAX_PATH +#endif + /* thanks http://stackoverflow.com/a/8198009 */ #define _base(x) ((x >= '0' && x <= '9') ? '0' : \ (x >= 'a' && x <= 'f') ? 'a' - 10 : \ diff --git a/demos/test.c b/demos/test.c index 4c7a332..689b976 100644 --- a/demos/test.c +++ b/demos/test.c @@ -33,7 +33,8 @@ int main(int argc, char **argv) int x, pass = 0, fail = 0, nop = 0; size_t fn_len, i, dots; char *single_test = NULL; - ulong64 ts, dur = 0; + ulong64 ts; + long delta, dur = 0; reg_algs(); printf("build == \n%s\n", crypt_build_settings); @@ -77,11 +78,11 @@ int main(int argc, char **argv) ts = epoch_usec(); x = test_functions[i].fn(); - ts = epoch_usec() - ts; - dur += ts; + delta = (long)(epoch_usec() - ts); + dur += delta; if (x == CRYPT_OK) { - printf("passed %10.3fms", (double)(ts)/1000); + printf("passed %10.3fms", (double)(delta)/1000); pass++; } else if (x == CRYPT_NOP) { @@ -89,7 +90,7 @@ int main(int argc, char **argv) nop++; } else { - printf("failed %10.3fms", (double)(ts)/1000); + printf("failed %10.3fms", (double)(delta)/1000); fail++; } } diff --git a/demos/tv_gen.c b/demos/tv_gen.c index 1541367..7108fea 100644 --- a/demos/tv_gen.c +++ b/demos/tv_gen.c @@ -754,7 +754,7 @@ void base64_gen(void) fprintf(out, "Base64 vectors. These are the base64 encodings of the strings 00,01,02...NN-1\n\n"); for (x = 0; x <= 32; x++) { for (y = 0; y < x; y++) { - src[y] = y; + src[y] = (unsigned char)y; } len = sizeof(dst); base64_encode(src, x, dst, &len); diff --git a/libtomcrypt_VS2008.vcproj b/libtomcrypt_VS2008.vcproj index b256dd7..f5f1463 100644 --- a/libtomcrypt_VS2008.vcproj +++ b/libtomcrypt_VS2008.vcproj @@ -46,7 +46,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="src\headers,..\libtommath" - PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" MinimalRebuild="true" ExceptionHandling="0" BasicRuntimeChecks="3" @@ -123,7 +123,7 @@ Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="src\headers,..\libtommath" - PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" StringPooling="true" ExceptionHandling="0" RuntimeLibrary="0" @@ -199,7 +199,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="src\headers,..\libtommath" - PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" MinimalRebuild="true" ExceptionHandling="0" BasicRuntimeChecks="3" @@ -277,7 +277,7 @@ Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="src\headers,..\libtommath" - PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES" StringPooling="true" ExceptionHandling="0" RuntimeLibrary="0" diff --git a/src/encauth/chachapoly/chacha20poly1305_decrypt.c b/src/encauth/chachapoly/chacha20poly1305_decrypt.c index 2677aff..6ade7d5 100644 --- a/src/encauth/chachapoly/chacha20poly1305_decrypt.c +++ b/src/encauth/chachapoly/chacha20poly1305_decrypt.c @@ -29,7 +29,7 @@ int chacha20poly1305_decrypt(chacha20poly1305_state *st, const unsigned char *in LTC_ARGCHK(st != NULL); if (st->aadflg) { - padlen = 16 - (st->aadlen % 16); + padlen = 16 - (unsigned long)(st->aadlen % 16); if (padlen < 16) { if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err; } diff --git a/src/encauth/chachapoly/chacha20poly1305_done.c b/src/encauth/chachapoly/chacha20poly1305_done.c index 1b41589..259513e 100644 --- a/src/encauth/chachapoly/chacha20poly1305_done.c +++ b/src/encauth/chachapoly/chacha20poly1305_done.c @@ -27,7 +27,7 @@ int chacha20poly1305_done(chacha20poly1305_state *st, unsigned char *tag, unsign LTC_ARGCHK(st != NULL); - padlen = 16 - (st->ctlen % 16); + padlen = 16 - (unsigned long)(st->ctlen % 16); if (padlen < 16) { if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err; } diff --git a/src/encauth/chachapoly/chacha20poly1305_encrypt.c b/src/encauth/chachapoly/chacha20poly1305_encrypt.c index 511f24b..3705d0d 100644 --- a/src/encauth/chachapoly/chacha20poly1305_encrypt.c +++ b/src/encauth/chachapoly/chacha20poly1305_encrypt.c @@ -30,7 +30,7 @@ int chacha20poly1305_encrypt(chacha20poly1305_state *st, const unsigned char *in if ((err = chacha_crypt(&st->chacha, in, inlen, out)) != CRYPT_OK) return err; if (st->aadflg) { - padlen = 16 - (st->aadlen % 16); + padlen = 16 - (unsigned long)(st->aadlen % 16); if (padlen < 16) { if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err; } diff --git a/src/stream/sober128/sober128.c b/src/stream/sober128/sober128.c index b192d9a..e4b30c3 100644 --- a/src/stream/sober128/sober128.c +++ b/src/stream/sober128/sober128.c @@ -263,7 +263,7 @@ int sober128_stream_crypt(sober128_state *c, const unsigned char *in, unsigned l /* handle any previously buffered bytes */ while (c->nbuf != 0 && inlen != 0) { - *out++ = *in++ ^ (c->sbuf & 0xFF); + *out++ = *in++ ^ (unsigned char)(c->sbuf & 0xFF); c->sbuf >>= 8; c->nbuf -= 8; --inlen; @@ -311,7 +311,7 @@ int sober128_stream_crypt(sober128_state *c, const unsigned char *in, unsigned l c->sbuf = nltap(c); c->nbuf = 32; while (c->nbuf != 0 && inlen != 0) { - *out++ = *in++ ^ (c->sbuf & 0xFF); + *out++ = *in++ ^ (unsigned char)(c->sbuf & 0xFF); c->sbuf >>= 8; c->nbuf -= 8; --inlen; diff --git a/testprof/base64_test.c b/testprof/base64_test.c index 251822b..fd344da 100644 --- a/testprof/base64_test.c +++ b/testprof/base64_test.c @@ -7,7 +7,7 @@ int base64_test(void) unsigned long x, l1, l2, slen1; #if defined(LTC_BASE64) - const char special_case[] = { + const unsigned char special_case[] = { 0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8, 0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff, 0x14, 0xd0, 0x29, 0x9d, 0x00 }; @@ -31,7 +31,7 @@ int base64_test(void) {"foob", "Zm9vYg==" }, {"fooba", "Zm9vYmE=" }, {"foobar", "Zm9vYmFy"}, - {special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="} + {(char*)special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="} }; #endif @@ -59,7 +59,7 @@ int base64_test(void) DO(base64url_strict_decode((unsigned char*)url_cases[x].s, slen1, out, &l1)); else DO(base64url_decode((unsigned char*)url_cases[x].s, slen1, out, &l1)); - if (compare_testvector(out, l1, special_case, strlen(special_case), "base64url decode", x)) { + if (compare_testvector(out, l1, special_case, sizeof(special_case) - 1, "base64url decode", x)) { return 1; } if(x < 2) { diff --git a/testprof/der_tests.c b/testprof/der_tests.c index faa3b3b..89f8aa4 100644 --- a/testprof/der_tests.c +++ b/testprof/der_tests.c @@ -14,74 +14,74 @@ int der_tests(void) #else static const unsigned char _der_tests_stinky_root_cert[] = - "MIIFETCCA/mgAwIBAgIQbv53JNmv518t5lkCHE272jANBgkqhkiG9w0BAQUFADCB\ - lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug\ - Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho\ - dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt\ - T2JqZWN0MB4XDTA4MDQyOTAwMDAwMFoXDTEwMDQyOTIzNTk1OVowgbUxCzAJBgNV\ - BAYTAlVTMQ4wDAYDVQQRDAU0NDE0MzELMAkGA1UECAwCT0gxGTAXBgNVBAcMEE1h\ - eWZpZWxkIFZpbGxhZ2UxEDAOBgNVBAkMB1N1aXRlIEExFDASBgNVBAkMCzc2NyBC\ - ZXRhIERyMSIwIAYDVQQKDBlQcmVlbXB0aXZlIFNvbHV0aW9ucywgTExDMSIwIAYD\ - VQQDDBlQcmVlbXB0aXZlIFNvbHV0aW9ucywgTExDMIIBIjANBgkqhkiG9w0BAQEF\ - AAOCAQ8AMIIBCgKCAQEAzH7ZBkMcBuHx8d2f10RGTHAf7gzzVteGbOihJGH2BwlS\ - ZvNp6WEE4DfL+s1vp0wzk1XeLN5tRjg2qum9YqyCk7okh7pXGy46f5mWbLQiefGA\ - j5UXRcr6WJ3xeACdbXxKrYMV0REia+4Jb2UbFA8S81PjhRon6vcRz76ziUWwt8NC\ - igX+4ZC0skhhKzKszel6KGL7bJCtLG7ukw9DZCrvPCRcKFeM/GwQ6ACMgP88CSCL\ - t1fbIXDH1vd/x2XM3QlaSDN6hYDbef8m1T+9TCkXVKeqG1GYjSUrHzYnCZUmTRrR\ - 38jgC3qXxiIpDKW105uM0nlXe2XF9c+ot2MdWvV4TwIDAQABo4IBOTCCATUwHwYD\ - VR0jBBgwFoAU2u1kdBScFDyr3ZmpvVsoTYs8ydgwHQYDVR0OBBYEFK+1HzZE4i28\ - oLIzuqlFR9SspiCIMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBMGA1Ud\ - JQQMMAoGCCsGAQUFBwMDMBEGCWCGSAGG+EIBAQQEAwIEEDBGBgNVHSAEPzA9MDsG\ - DCsGAQQBsjEBAgEDAjArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21v\ - ZG8ubmV0L0NQUzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz\ - dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMCEGA1UdEQQaMBiBFnN1cHBv\ - cnRAcHJlZW1wdGl2ZS5jb20wDQYJKoZIhvcNAQEFBQADggEBAC+JM26Dokvonudl\ - JXe/Yun7IBhimkagZUjbk9l/GQWN6i+v1o95UJ1wGJtBdm2+MxbSaPoNTDZR4B+2\ - lYL9MW57UVmePrnfUPXQKZZG+8gTRDz8+7ol/CEAKmS3MLKCRcH5oe+J5345sGxi\ - FC/KWNKedTNraW95xlg8NTlL2yRP7TMsjvBxgLmkbaFUoXzPTbQWmtovIagIT8GC\ - JeXwdFaRjbamiz3Irl+u7x/mhxdza6RvgBYylXRFMudANpeGsV7gDXlnfzpFDKHQ\ - niVwB7P5sbPFIlmIc+4/xRItkLIRjCVXaepgN9KYu3VOgiSDI6wXiTwP44/LUXQM\ - hetwa7s="; + "MIIFETCCA/mgAwIBAgIQbv53JNmv518t5lkCHE272jANBgkqhkiG9w0BAQUFADCB" + "lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug" + "Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho" + "dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt" + "T2JqZWN0MB4XDTA4MDQyOTAwMDAwMFoXDTEwMDQyOTIzNTk1OVowgbUxCzAJBgNV" + "BAYTAlVTMQ4wDAYDVQQRDAU0NDE0MzELMAkGA1UECAwCT0gxGTAXBgNVBAcMEE1h" + "eWZpZWxkIFZpbGxhZ2UxEDAOBgNVBAkMB1N1aXRlIEExFDASBgNVBAkMCzc2NyBC" + "ZXRhIERyMSIwIAYDVQQKDBlQcmVlbXB0aXZlIFNvbHV0aW9ucywgTExDMSIwIAYD" + "VQQDDBlQcmVlbXB0aXZlIFNvbHV0aW9ucywgTExDMIIBIjANBgkqhkiG9w0BAQEF" + "AAOCAQ8AMIIBCgKCAQEAzH7ZBkMcBuHx8d2f10RGTHAf7gzzVteGbOihJGH2BwlS" + "ZvNp6WEE4DfL+s1vp0wzk1XeLN5tRjg2qum9YqyCk7okh7pXGy46f5mWbLQiefGA" + "j5UXRcr6WJ3xeACdbXxKrYMV0REia+4Jb2UbFA8S81PjhRon6vcRz76ziUWwt8NC" + "igX+4ZC0skhhKzKszel6KGL7bJCtLG7ukw9DZCrvPCRcKFeM/GwQ6ACMgP88CSCL" + "t1fbIXDH1vd/x2XM3QlaSDN6hYDbef8m1T+9TCkXVKeqG1GYjSUrHzYnCZUmTRrR" + "38jgC3qXxiIpDKW105uM0nlXe2XF9c+ot2MdWvV4TwIDAQABo4IBOTCCATUwHwYD" + "VR0jBBgwFoAU2u1kdBScFDyr3ZmpvVsoTYs8ydgwHQYDVR0OBBYEFK+1HzZE4i28" + "oLIzuqlFR9SspiCIMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBMGA1Ud" + "JQQMMAoGCCsGAQUFBwMDMBEGCWCGSAGG+EIBAQQEAwIEEDBGBgNVHSAEPzA9MDsG" + "DCsGAQQBsjEBAgEDAjArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21v" + "ZG8ubmV0L0NQUzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz" + "dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMCEGA1UdEQQaMBiBFnN1cHBv" + "cnRAcHJlZW1wdGl2ZS5jb20wDQYJKoZIhvcNAQEFBQADggEBAC+JM26Dokvonudl" + "JXe/Yun7IBhimkagZUjbk9l/GQWN6i+v1o95UJ1wGJtBdm2+MxbSaPoNTDZR4B+2" + "lYL9MW57UVmePrnfUPXQKZZG+8gTRDz8+7ol/CEAKmS3MLKCRcH5oe+J5345sGxi" + "FC/KWNKedTNraW95xlg8NTlL2yRP7TMsjvBxgLmkbaFUoXzPTbQWmtovIagIT8GC" + "JeXwdFaRjbamiz3Irl+u7x/mhxdza6RvgBYylXRFMudANpeGsV7gDXlnfzpFDKHQ" + "niVwB7P5sbPFIlmIc+4/xRItkLIRjCVXaepgN9KYu3VOgiSDI6wXiTwP44/LUXQM" + "hetwa7s="; const unsigned char _der_tests_cacert_root_cert[] = - "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\ - IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\ - IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\ - Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\ - BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\ - MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\ - ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\ - CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\ - 8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\ - zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\ - fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\ - w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\ - G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\ - epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\ - laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\ - QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\ - fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\ - YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\ - ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\ - gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\ - MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\ - IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\ - dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\ - czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\ - dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\ - aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\ - AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\ - b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\ - ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\ - nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\ - 18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\ - gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\ - Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\ - sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\ - SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\ - CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\ - GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\ - zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\ - omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD"; + "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290" + "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB" + "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA" + "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO" + "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi" + "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ" + "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC" + "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ" + "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6" + "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y" + "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7" + "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc" + "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k" + "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q" + "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ" + "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU" + "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826" + "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w" + "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY" + "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe" + "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0" + "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy" + "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw" + "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0" + "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl" + "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC" + "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg" + "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB" + "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc" + "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg" + "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c" + "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl" + "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY" + "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T" + "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF" + "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum" + "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk" + "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW" + "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD"; const unsigned long _der_tests_cacert_root_cert_size = sizeof(_der_tests_cacert_root_cert); /* @@ -1034,8 +1034,8 @@ static int der_choice_test(void) ltc_generalizedtime gtime = { 2038, 01, 19, 3, 14, 8, 0, 0, 0, 0 }; /* setup variables */ - for (x = 0; x < sizeof(bitbuf); x++) { bitbuf[x] = x & 1; } - for (x = 0; x < sizeof(octetbuf); x++) { octetbuf[x] = x; } + for (x = 0; x < sizeof(bitbuf); x++) { bitbuf[x] = (unsigned char)(x & 1); } + for (x = 0; x < sizeof(octetbuf); x++) { octetbuf[x] = (unsigned char)x; } for (x = 0; x < sizeof(ia5buf); x++) { ia5buf[x] = 'a'; } for (x = 0; x < sizeof(printbuf); x++) { printbuf[x] = 'a'; } integer = 1; diff --git a/testprof/dh_test.c b/testprof/dh_test.c index ee3736f..f2cc0bb 100644 --- a/testprof/dh_test.c +++ b/testprof/dh_test.c @@ -75,7 +75,7 @@ int dh_test (void) /* test encrypt_key */ dh_make_key (&yarrow_prng, find_prng ("yarrow"), KEYSIZE/8, &usera); for (x = 0; x < 16; x++) { - buf[0][x] = x; + buf[0][x] = (unsigned char)x; } y = sizeof (buf[1]); DO(dh_encrypt_key (buf[0], 16, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("md5"), &usera)); @@ -96,7 +96,7 @@ int dh_test (void) /* test sign_hash */ for (x = 0; x < 16; x++) { - buf[0][x] = x; + buf[0][x] = (unsigned char)x; } x = sizeof (buf[1]); DO(dh_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &usera)); diff --git a/testprof/dsa_test.c b/testprof/dsa_test.c index 93b5b31..5db4edf 100644 --- a/testprof/dsa_test.c +++ b/testprof/dsa_test.c @@ -186,7 +186,7 @@ int dsa_test(void) if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; } /* encrypt a message */ - for (x = 0; x < 16; x++) { msg[x] = x; } + for (x = 0; x < 16; x++) { msg[x] = (unsigned char)x; } x = sizeof(out); DO(dsa_encrypt_key(msg, 16, out, &x, &yarrow_prng, find_prng("yarrow"), find_hash("sha1"), &key)); diff --git a/testprof/ecc_test.c b/testprof/ecc_test.c index b95fa93..069e27b 100644 --- a/testprof/ecc_test.c +++ b/testprof/ecc_test.c @@ -192,7 +192,7 @@ int ecc_tests (void) DO(ecc_import(buf[0], x, &privKey)); for (x = 0; x < 32; x++) { - buf[0][x] = x; + buf[0][x] = (unsigned char)x; } y = sizeof (buf[1]); DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey)); @@ -211,7 +211,7 @@ int ecc_tests (void) } /* test sign_hash */ for (x = 0; x < 16; x++) { - buf[0][x] = x; + buf[0][x] = (unsigned char)x; } x = sizeof (buf[1]); DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey)); diff --git a/testprof/x86_prof.c b/testprof/x86_prof.c index 52c81a6..43d8591 100644 --- a/testprof/x86_prof.c +++ b/testprof/x86_prof.c @@ -14,9 +14,12 @@ ulong64 epoch_usec(void) #elif defined(_WIN32) FILETIME CurrentTime; ulong64 cur_time; + ULARGE_INTEGER ul; GetSystemTimeAsFileTime(&CurrentTime); - cur_time = ((ulong64)CurrentTime.dwHighDateTime << 32) + (ulong64)CurrentTime.dwLowDateTime; - cur_time -= 116444736000000000LL; /* subtract epoch in microseconds */ + ul.LowPart = CurrentTime.dwLowDateTime; + ul.HighPart = CurrentTime.dwHighDateTime; + cur_time = ul.QuadPart; + cur_time -= CONST64(116444736000000000); /* subtract epoch in microseconds */ cur_time /= 10; /* nanoseconds > microseconds */ return cur_time; #else @@ -587,7 +590,7 @@ int time_keysched(void) c1 = (t1 > c1) ? c1 : t1; } t1 = c1 - skew; - results[no_results].spd1 = results[no_results].avg = t1; + results[no_results].spd1 = results[no_results].avg = (unsigned long)t1; results[no_results++].id = x; fprintf(stderr, "."); fflush(stdout); @@ -656,8 +659,8 @@ int time_cipher(void) ecb_done(&ecb); results[no_results].id = x; - results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); - results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -731,8 +734,8 @@ int time_cipher2(void) cbc_done(&cbc); results[no_results].id = x; - results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); - results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -806,8 +809,8 @@ int time_cipher3(void) ctr_done(&ctr); results[no_results].id = x; - results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); - results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -883,8 +886,8 @@ int time_cipher4(void) lrw_done(&lrw); results[no_results].id = x; - results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); - results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -941,7 +944,7 @@ int time_hash(void) t1 = c2 - c1 - skew; t1 = ((t1 * CONST64(1000))) / ((ulong64)hash_descriptor[x].blocksize); results[no_results].id = x; - results[no_results].spd1 = results[no_results].avg = t1; + results[no_results].spd1 = results[no_results].avg = (unsigned long)t1; ++no_results; fprintf(stderr, "."); fflush(stdout); #undef DO2 From a69e55ba54df8d9e939d5033732fc60148b463dd Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Tue, 9 May 2017 22:05:30 +0200 Subject: [PATCH 3/8] tuning win warnings fixes --- demos/tv_gen.c | 8 ++++---- testprof/dh_test.c | 14 +++++++------- testprof/dsa_test.c | 4 ++-- testprof/ecc_test.c | 14 +++++++------- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/demos/tv_gen.c b/demos/tv_gen.c index 7108fea..e754a7d 100644 --- a/demos/tv_gen.c +++ b/demos/tv_gen.c @@ -747,14 +747,14 @@ void gcm_gen(void) void base64_gen(void) { FILE *out; - unsigned char dst[256], src[32]; - unsigned long x, y, len; + unsigned char dst[256], src[32], ch; + unsigned long x, len; out = fopen("base64_tv.txt", "w"); fprintf(out, "Base64 vectors. These are the base64 encodings of the strings 00,01,02...NN-1\n\n"); for (x = 0; x <= 32; x++) { - for (y = 0; y < x; y++) { - src[y] = (unsigned char)y; + for (ch = 0; ch < x; ch++) { + src[ch] = ch; } len = sizeof(dst); base64_encode(src, x, dst, &len); diff --git a/testprof/dh_test.c b/testprof/dh_test.c index f2cc0bb..e2bd980 100644 --- a/testprof/dh_test.c +++ b/testprof/dh_test.c @@ -10,7 +10,7 @@ int dh_test (void) { - unsigned char buf[3][4096]; + unsigned char buf[3][4096], ch; unsigned long x, y, z; int stat, stat2; dh_key usera, userb; @@ -74,8 +74,8 @@ int dh_test (void) /* test encrypt_key */ dh_make_key (&yarrow_prng, find_prng ("yarrow"), KEYSIZE/8, &usera); - for (x = 0; x < 16; x++) { - buf[0][x] = (unsigned char)x; + for (ch = 0; ch < 16; ch++) { + buf[0][ch] = ch; } y = sizeof (buf[1]); DO(dh_encrypt_key (buf[0], 16, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("md5"), &usera)); @@ -87,16 +87,16 @@ int dh_test (void) dh_free (&usera); return 1; } - for (x = 0; x < 16; x++) - if (buf[0][x] != x) { + for (ch = 0; ch < 16; ch++) + if (buf[0][ch] != ch) { fprintf(stderr, "Failed (contents)\n"); dh_free (&usera); return 1; } /* test sign_hash */ - for (x = 0; x < 16; x++) { - buf[0][x] = (unsigned char)x; + for (ch = 0; ch < 16; ch++) { + buf[0][ch] = ch; } x = sizeof (buf[1]); DO(dh_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &usera)); diff --git a/testprof/dsa_test.c b/testprof/dsa_test.c index 5db4edf..37f06d7 100644 --- a/testprof/dsa_test.c +++ b/testprof/dsa_test.c @@ -171,7 +171,7 @@ static int dsa_compat_test(void) int dsa_test(void) { - unsigned char msg[16], out[1024], out2[1024]; + unsigned char msg[16], out[1024], out2[1024], ch; unsigned long x, y; int stat1, stat2; dsa_key key, key2; @@ -186,7 +186,7 @@ int dsa_test(void) if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; } /* encrypt a message */ - for (x = 0; x < 16; x++) { msg[x] = (unsigned char)x; } + for (ch = 0; ch < 16; ch++) { msg[ch] = ch; } x = sizeof(out); DO(dsa_encrypt_key(msg, 16, out, &x, &yarrow_prng, find_prng("yarrow"), find_hash("sha1"), &key)); diff --git a/testprof/ecc_test.c b/testprof/ecc_test.c index 069e27b..b4668d0 100644 --- a/testprof/ecc_test.c +++ b/testprof/ecc_test.c @@ -107,7 +107,7 @@ int ecc_test_shamir(void) int ecc_tests (void) { - unsigned char buf[4][4096]; + unsigned char buf[4][4096], ch; unsigned long x, y, z, s; int stat, stat2; ecc_key usera, userb, pubKey, privKey; @@ -191,8 +191,8 @@ int ecc_tests (void) DO(ecc_export(buf[0], &x, PK_PRIVATE, &usera)); DO(ecc_import(buf[0], x, &privKey)); - for (x = 0; x < 32; x++) { - buf[0][x] = (unsigned char)x; + for (ch = 0; ch < 32; ch++) { + buf[0][ch] = ch; } y = sizeof (buf[1]); DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey)); @@ -203,15 +203,15 @@ int ecc_tests (void) fprintf(stderr, "Failed (length)"); return 1; } - for (x = 0; x < 32; x++) { - if (buf[0][x] != x) { + for (ch = 0; ch < 32; ch++) { + if (buf[0][ch] != ch) { fprintf(stderr, "Failed (contents)"); return 1; } } /* test sign_hash */ - for (x = 0; x < 16; x++) { - buf[0][x] = (unsigned char)x; + for (ch = 0; ch < 16; ch++) { + buf[0][ch] = ch; } x = sizeof (buf[1]); DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey)); From 9ba9677d94409d428076221374ccb1c0ce9186b9 Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Tue, 9 May 2017 22:10:42 +0200 Subject: [PATCH 4/8] x86_prof - spd1, spd2, avg are now ulong64 --- testprof/tomcrypt_test.h | 2 +- testprof/x86_prof.c | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/testprof/tomcrypt_test.h b/testprof/tomcrypt_test.h index 64f2c23..48c6c07 100644 --- a/testprof/tomcrypt_test.h +++ b/testprof/tomcrypt_test.h @@ -74,7 +74,7 @@ int multi_test(void); extern struct list { int id; - unsigned long spd1, spd2, avg; + ulong64 spd1, spd2, avg; } results[]; extern int no_results; diff --git a/testprof/x86_prof.c b/testprof/x86_prof.c index 43d8591..671ecb2 100644 --- a/testprof/x86_prof.c +++ b/testprof/x86_prof.c @@ -590,7 +590,7 @@ int time_keysched(void) c1 = (t1 > c1) ? c1 : t1; } t1 = c1 - skew; - results[no_results].spd1 = results[no_results].avg = (unsigned long)t1; + results[no_results].spd1 = results[no_results].avg = t1; results[no_results++].id = x; fprintf(stderr, "."); fflush(stdout); @@ -659,8 +659,8 @@ int time_cipher(void) ecb_done(&ecb); results[no_results].id = x; - results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); - results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -734,8 +734,8 @@ int time_cipher2(void) cbc_done(&cbc); results[no_results].id = x; - results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); - results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -809,8 +809,8 @@ int time_cipher3(void) ctr_done(&ctr); results[no_results].id = x; - results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); - results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -886,8 +886,8 @@ int time_cipher4(void) lrw_done(&lrw); results[no_results].id = x; - results[no_results].spd1 = (unsigned long)(a1/(sizeof(pt)/cipher_descriptor[x].block_length)); - results[no_results].spd2 = (unsigned long)(a2/(sizeof(pt)/cipher_descriptor[x].block_length)); + results[no_results].spd1 = a1/(sizeof(pt)/cipher_descriptor[x].block_length); + results[no_results].spd2 = a2/(sizeof(pt)/cipher_descriptor[x].block_length); results[no_results].avg = (results[no_results].spd1 + results[no_results].spd2+1)/2; ++no_results; fprintf(stderr, "."); fflush(stdout); @@ -944,7 +944,7 @@ int time_hash(void) t1 = c2 - c1 - skew; t1 = ((t1 * CONST64(1000))) / ((ulong64)hash_descriptor[x].blocksize); results[no_results].id = x; - results[no_results].spd1 = results[no_results].avg = (unsigned long)t1; + results[no_results].spd1 = results[no_results].avg = t1; ++no_results; fprintf(stderr, "."); fflush(stdout); #undef DO2 From af4f6b374db642d57d4390570dfa1c83d306cbd0 Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Tue, 9 May 2017 22:15:31 +0200 Subject: [PATCH 5/8] better warning fix in der_tests --- testprof/der_tests.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testprof/der_tests.c b/testprof/der_tests.c index 89f8aa4..0d2b9b8 100644 --- a/testprof/der_tests.c +++ b/testprof/der_tests.c @@ -1027,15 +1027,15 @@ static void der_flexi_test(void) static int der_choice_test(void) { ltc_asn1_list types[7], host[1]; - unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256]; - unsigned long integer, oidbuf[10], outlen, inlen, x, y; + unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256], x, y; + unsigned long integer, oidbuf[10], outlen, inlen; void *mpinteger; ltc_utctime utctime = { 91, 5, 6, 16, 45, 40, 1, 7, 0 }; ltc_generalizedtime gtime = { 2038, 01, 19, 3, 14, 8, 0, 0, 0, 0 }; /* setup variables */ - for (x = 0; x < sizeof(bitbuf); x++) { bitbuf[x] = (unsigned char)(x & 1); } - for (x = 0; x < sizeof(octetbuf); x++) { octetbuf[x] = (unsigned char)x; } + for (x = 0; x < sizeof(bitbuf); x++) { bitbuf[x] = x & 1; } + for (x = 0; x < sizeof(octetbuf); x++) { octetbuf[x] = x; } for (x = 0; x < sizeof(ia5buf); x++) { ia5buf[x] = 'a'; } for (x = 0; x < sizeof(printbuf); x++) { printbuf[x] = 'a'; } integer = 1; From 9d2b352867822c6b0639abc89a9694bd66a0aa05 Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Tue, 9 May 2017 23:23:31 +0200 Subject: [PATCH 6/8] fix ulong64 related format errors --- testprof/der_tests.c | 4 ++-- testprof/x86_prof.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/testprof/der_tests.c b/testprof/der_tests.c index 0d2b9b8..f3713f5 100644 --- a/testprof/der_tests.c +++ b/testprof/der_tests.c @@ -1073,11 +1073,11 @@ static int der_choice_test(void) for (y = 0; y < 7; y++) { if (types[y].used && y != (x>6?x-7:x)) { - fprintf(stderr, "CHOICE, flag %lu in trial %lu was incorrectly set to one\n", y, x); + fprintf(stderr, "CHOICE, flag %u in trial %u was incorrectly set to one\n", y, x); return 1; } if (!types[y].used && y == (x>6?x-7:x)) { - fprintf(stderr, "CHOICE, flag %lu in trial %lu was incorrectly set to zero\n", y, x); + fprintf(stderr, "CHOICE, flag %u in trial %u was incorrectly set to zero\n", y, x); return 1; } } diff --git a/testprof/x86_prof.c b/testprof/x86_prof.c index 671ecb2..09f8f4a 100644 --- a/testprof/x86_prof.c +++ b/testprof/x86_prof.c @@ -111,12 +111,12 @@ void tally_results(int type) } else if (type == 1) { for (x = 0; x < no_results; x++) { printf - ("%-20s[%3d]: Encrypt at %5lu, Decrypt at %5lu\n", cipher_descriptor[results[x].id].name, cipher_descriptor[results[x].id].ID, results[x].spd1, results[x].spd2); + ("%-20s[%3d]: Encrypt at %5"PRI64"u, Decrypt at %5"PRI64"u\n", cipher_descriptor[results[x].id].name, cipher_descriptor[results[x].id].ID, results[x].spd1, results[x].spd2); } } else { for (x = 0; x < no_results; x++) { printf - ("%-20s: Process at %5lu\n", hash_descriptor[results[x].id].name, results[x].spd1 / 1000); + ("%-20s: Process at %5"PRI64"u\n", hash_descriptor[results[x].id].name, results[x].spd1 / 1000); } } } From ef6223f01359b762b3116b39e13e9122bc202c25 Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Wed, 10 May 2017 19:32:57 +0200 Subject: [PATCH 7/8] fix `misleading-indentation` warnings (mingw + gcc 7.1 + `-Wall -Wextra`) --- testprof/der_tests.c | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/testprof/der_tests.c b/testprof/der_tests.c index f3713f5..c2141e6 100644 --- a/testprof/der_tests.c +++ b/testprof/der_tests.c @@ -1166,9 +1166,12 @@ int der_tests(void) DO(der_encode_short_integer(mp_get_int(a), buf[1], &y)); if (x != y || memcmp(buf[0], buf[1], x)) { fprintf(stderr, "DER INTEGER short encoding failed, %lu, %lu, 0x%lX\n", x, y, mp_get_int(a)); - for (zz = 0; zz < z; zz++) fprintf(stderr, "%02x ", buf[2][zz]); fprintf(stderr, "\n"); - for (z = 0; z < x; z++) fprintf(stderr, "%02x ", buf[0][z]); fprintf(stderr, "\n"); - for (z = 0; z < y; z++) fprintf(stderr, "%02x ", buf[1][z]); fprintf(stderr, "\n"); + for (zz = 0; zz < z; zz++) fprintf(stderr, "%02x ", buf[2][zz]); + fprintf(stderr, "\n"); + for (z = 0; z < x; z++) fprintf(stderr, "%02x ", buf[0][z]); + fprintf(stderr, "\n"); + for (z = 0; z < y; z++) fprintf(stderr, "%02x ", buf[1][z]); + fprintf(stderr, "\n"); mp_clear_multi(a, b, c, d, e, f, g, NULL); return 1; } @@ -1280,7 +1283,8 @@ int der_tests(void) } if (memcmp(oid[0], oid[1], sizeof(oid[0][0]) * z)) { fprintf(stderr, "Random OID %lu test failed, decoded values wrong\n", z); - for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[0][x]); fprintf(stderr, "\n\n Got \n\n"); + for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[0][x]); + fprintf(stderr, "\n\n Got \n\n"); for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[1][x]); return 1; } @@ -1329,9 +1333,9 @@ int der_tests(void) DO(der_encode_utctime((ltc_utctime*)&rsa_time1, buf[0], &x)); if (x != sizeof(rsa_time1_der) || memcmp(buf[0], rsa_time1_der, x)) { fprintf(stderr, "UTCTIME encode of rsa_time1 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der)); -fprintf(stderr, "\n\n"); -for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n"); - + fprintf(stderr, "\n\n"); + for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); + fprintf(stderr, "\n"); return 1; } DO(der_length_utctime((ltc_utctime*)&rsa_time1, &y)); @@ -1359,9 +1363,9 @@ tmp_time.off_hh); DO(der_encode_utctime((ltc_utctime*)&rsa_time2, buf[0], &x)); if (x != sizeof(rsa_time2_der) || memcmp(buf[0], rsa_time2_der, x)) { fprintf(stderr, "UTCTIME encode of rsa_time2 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der)); -fprintf(stderr, "\n\n"); -for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n"); - + fprintf(stderr, "\n\n"); + for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); + fprintf(stderr, "\n"); return 1; } DO(der_length_utctime((ltc_utctime*)&rsa_time2, &y)); @@ -1394,7 +1398,8 @@ tmp_time.off_hh); DO(der_length_utf8_string(utf8_1, sizeof(utf8_1) / sizeof(utf8_1[0]), &y)); if (x != sizeof(utf8_1_der) || memcmp(utf8_buf, utf8_1_der, x) || x != y) { fprintf(stderr, "DER UTF8_1 encoded to %lu bytes\n", x); - for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]); fprintf(stderr, "\n"); + for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]); + fprintf(stderr, "\n"); return 1; } /* decode it */ @@ -1402,7 +1407,8 @@ tmp_time.off_hh); DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y)); if (y != (sizeof(utf8_1) / sizeof(utf8_1[0])) || memcmp(utf8_1, utf8_out, y * sizeof(wchar_t))) { fprintf(stderr, "DER UTF8_1 decoded to %lu wchar_t\n", y); - for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]); fprintf(stderr, "\n"); + for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]); + fprintf(stderr, "\n"); return 1; } @@ -1411,7 +1417,8 @@ tmp_time.off_hh); DO(der_encode_utf8_string(utf8_2, sizeof(utf8_2) / sizeof(utf8_2[0]), utf8_buf, &x)); if (x != sizeof(utf8_2_der) || memcmp(utf8_buf, utf8_2_der, x)) { fprintf(stderr, "DER UTF8_2 encoded to %lu bytes\n", x); - for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]); fprintf(stderr, "\n"); + for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]); + fprintf(stderr, "\n"); return 1; } /* decode it */ @@ -1419,7 +1426,8 @@ tmp_time.off_hh); DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y)); if (y != (sizeof(utf8_2) / sizeof(utf8_2[0])) || memcmp(utf8_2, utf8_out, y * sizeof(wchar_t))) { fprintf(stderr, "DER UTF8_2 decoded to %lu wchar_t\n", y); - for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]); fprintf(stderr, "\n"); + for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]); + fprintf(stderr, "\n"); return 1; } From 786853cb5c288a13e9e5db86ebf103f0e02dd43b Mon Sep 17 00:00:00 2001 From: Karel Miko Date: Thu, 11 May 2017 17:42:33 +0200 Subject: [PATCH 8/8] move #if defined(LTC_BASE64) --- testprof/base64_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testprof/base64_test.c b/testprof/base64_test.c index fd344da..a54a5ac 100644 --- a/testprof/base64_test.c +++ b/testprof/base64_test.c @@ -6,12 +6,12 @@ int base64_test(void) unsigned char in[64], out[256], tmp[64]; unsigned long x, l1, l2, slen1; -#if defined(LTC_BASE64) const unsigned char special_case[] = { 0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8, 0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff, 0x14, 0xd0, 0x29, 0x9d, 0x00 }; +#if defined(LTC_BASE64) /* TEST CASES SOURCE: