Merge pull request #211 from libtom/pr/win32-rng_nix

Windows: fix various compiler warnings
This commit is contained in:
karel-m 2017-05-11 18:10:08 +02:00 committed by GitHub
commit 08cc78007b
17 changed files with 159 additions and 143 deletions

View File

@ -9,8 +9,6 @@
#include <tomcrypt.h> #include <tomcrypt.h>
int errno;
int usage(char *name) int usage(char *name)
{ {
int x; int x;
@ -103,6 +101,7 @@ int main(int argc, char *argv[])
char *infile, *outfile, *cipher; char *infile, *outfile, *cipher;
prng_state prng; prng_state prng;
FILE *fdin, *fdout; FILE *fdin, *fdout;
int err;
/* register algs, so they can be printed */ /* register algs, so they can be printed */
register_algs(); register_algs();
@ -180,8 +179,8 @@ int main(int argc, char *argv[])
if(fgets((char *)tmpkey,sizeof(tmpkey), stdin) == NULL) if(fgets((char *)tmpkey,sizeof(tmpkey), stdin) == NULL)
exit(-1); exit(-1);
outlen = sizeof(key); outlen = sizeof(key);
if ((errno = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) { if ((err = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) {
printf("Error hashing key: %s\n", error_to_string(errno)); printf("Error hashing key: %s\n", error_to_string(err));
exit(-1); exit(-1);
} }
@ -192,8 +191,8 @@ int main(int argc, char *argv[])
exit(-1); exit(-1);
} }
if ((errno = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) { 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(errno)); printf("ctr_start error: %s\n",error_to_string(err));
exit(-1); exit(-1);
} }
@ -201,8 +200,8 @@ int main(int argc, char *argv[])
do { do {
y = fread(inbuf,1,sizeof(inbuf),fdin); y = fread(inbuf,1,sizeof(inbuf),fdin);
if ((errno = ctr_decrypt(inbuf,plaintext,y,&ctr)) != CRYPT_OK) { if ((err = ctr_decrypt(inbuf,plaintext,y,&ctr)) != CRYPT_OK) {
printf("ctr_decrypt error: %s\n", error_to_string(errno)); printf("ctr_decrypt error: %s\n", error_to_string(err));
exit(-1); exit(-1);
} }
@ -217,8 +216,8 @@ int main(int argc, char *argv[])
} else { /* encrypt */ } else { /* encrypt */
/* Setup yarrow for random bytes for IV */ /* Setup yarrow for random bytes for IV */
if ((errno = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) { if ((err = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) {
printf("Error setting up PRNG, %s\n", error_to_string(errno)); printf("Error setting up PRNG, %s\n", error_to_string(err));
} }
/* You can use rng_get_bytes on platforms that support it */ /* You can use rng_get_bytes on platforms that support it */
@ -234,16 +233,16 @@ int main(int argc, char *argv[])
exit(-1); exit(-1);
} }
if ((errno = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) { 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(errno)); printf("ctr_start error: %s\n",error_to_string(err));
exit(-1); exit(-1);
} }
do { do {
y = fread(inbuf,1,sizeof(inbuf),fdin); y = fread(inbuf,1,sizeof(inbuf),fdin);
if ((errno = ctr_encrypt(inbuf,ciphertext,y,&ctr)) != CRYPT_OK) { if ((err = ctr_encrypt(inbuf,ciphertext,y,&ctr)) != CRYPT_OK) {
printf("ctr_encrypt error: %s\n", error_to_string(errno)); printf("ctr_encrypt error: %s\n", error_to_string(err));
exit(-1); exit(-1);
} }

View File

@ -15,6 +15,11 @@
#define basename(x) x #define basename(x) x
#endif #endif
#if !defined(PATH_MAX) && defined(_MSC_VER)
#include <windows.h>
#define PATH_MAX MAX_PATH
#endif
/* thanks http://stackoverflow.com/a/8198009 */ /* thanks http://stackoverflow.com/a/8198009 */
#define _base(x) ((x >= '0' && x <= '9') ? '0' : \ #define _base(x) ((x >= '0' && x <= '9') ? '0' : \
(x >= 'a' && x <= 'f') ? 'a' - 10 : \ (x >= 'a' && x <= 'f') ? 'a' - 10 : \

View File

@ -33,7 +33,8 @@ int main(int argc, char **argv)
int x, pass = 0, fail = 0, nop = 0; int x, pass = 0, fail = 0, nop = 0;
size_t fn_len, i, dots; size_t fn_len, i, dots;
char *single_test = NULL; char *single_test = NULL;
ulong64 ts, dur = 0; ulong64 ts;
long delta, dur = 0;
reg_algs(); reg_algs();
printf("build == \n%s\n", crypt_build_settings); printf("build == \n%s\n", crypt_build_settings);
@ -77,11 +78,11 @@ int main(int argc, char **argv)
ts = epoch_usec(); ts = epoch_usec();
x = test_functions[i].fn(); x = test_functions[i].fn();
ts = epoch_usec() - ts; delta = (long)(epoch_usec() - ts);
dur += ts; dur += delta;
if (x == CRYPT_OK) { if (x == CRYPT_OK) {
printf("passed %10.3fms", (double)(ts)/1000); printf("passed %10.3fms", (double)(delta)/1000);
pass++; pass++;
} }
else if (x == CRYPT_NOP) { else if (x == CRYPT_NOP) {
@ -89,7 +90,7 @@ int main(int argc, char **argv)
nop++; nop++;
} }
else { else {
printf("failed %10.3fms", (double)(ts)/1000); printf("failed %10.3fms", (double)(delta)/1000);
fail++; fail++;
} }
} }

View File

@ -747,14 +747,14 @@ void gcm_gen(void)
void base64_gen(void) void base64_gen(void)
{ {
FILE *out; FILE *out;
unsigned char dst[256], src[32]; unsigned char dst[256], src[32], ch;
unsigned long x, y, len; unsigned long x, len;
out = fopen("base64_tv.txt", "w"); 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"); 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 (x = 0; x <= 32; x++) {
for (y = 0; y < x; y++) { for (ch = 0; ch < x; ch++) {
src[y] = y; src[ch] = ch;
} }
len = sizeof(dst); len = sizeof(dst);
base64_encode(src, x, dst, &len); base64_encode(src, x, dst, &len);

View File

@ -46,7 +46,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="src\headers,..\libtommath" 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" MinimalRebuild="true"
ExceptionHandling="0" ExceptionHandling="0"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -123,7 +123,7 @@
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="src\headers,..\libtommath" 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" StringPooling="true"
ExceptionHandling="0" ExceptionHandling="0"
RuntimeLibrary="0" RuntimeLibrary="0"
@ -199,7 +199,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="src\headers,..\libtommath" 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" MinimalRebuild="true"
ExceptionHandling="0" ExceptionHandling="0"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -277,7 +277,7 @@
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="src\headers,..\libtommath" 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" StringPooling="true"
ExceptionHandling="0" ExceptionHandling="0"
RuntimeLibrary="0" RuntimeLibrary="0"

View File

@ -29,7 +29,7 @@ int chacha20poly1305_decrypt(chacha20poly1305_state *st, const unsigned char *in
LTC_ARGCHK(st != NULL); LTC_ARGCHK(st != NULL);
if (st->aadflg) { if (st->aadflg) {
padlen = 16 - (st->aadlen % 16); padlen = 16 - (unsigned long)(st->aadlen % 16);
if (padlen < 16) { if (padlen < 16) {
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err; if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
} }

View File

@ -27,7 +27,7 @@ int chacha20poly1305_done(chacha20poly1305_state *st, unsigned char *tag, unsign
LTC_ARGCHK(st != NULL); LTC_ARGCHK(st != NULL);
padlen = 16 - (st->ctlen % 16); padlen = 16 - (unsigned long)(st->ctlen % 16);
if (padlen < 16) { if (padlen < 16) {
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err; if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
} }

View File

@ -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 ((err = chacha_crypt(&st->chacha, in, inlen, out)) != CRYPT_OK) return err;
if (st->aadflg) { if (st->aadflg) {
padlen = 16 - (st->aadlen % 16); padlen = 16 - (unsigned long)(st->aadlen % 16);
if (padlen < 16) { if (padlen < 16) {
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err; if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
} }

View File

@ -14,7 +14,7 @@
portable way to get secure random bits to feed a PRNG (Tom St Denis) 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 */ /* on *NIX read /dev/random */
static unsigned long rng_nix(unsigned char *buf, unsigned long len, static unsigned long rng_nix(unsigned char *buf, unsigned long len,
void (*callback)(void)) void (*callback)(void))

View File

@ -263,7 +263,7 @@ int sober128_stream_crypt(sober128_state *c, const unsigned char *in, unsigned l
/* handle any previously buffered bytes */ /* handle any previously buffered bytes */
while (c->nbuf != 0 && inlen != 0) { while (c->nbuf != 0 && inlen != 0) {
*out++ = *in++ ^ (c->sbuf & 0xFF); *out++ = *in++ ^ (unsigned char)(c->sbuf & 0xFF);
c->sbuf >>= 8; c->sbuf >>= 8;
c->nbuf -= 8; c->nbuf -= 8;
--inlen; --inlen;
@ -311,7 +311,7 @@ int sober128_stream_crypt(sober128_state *c, const unsigned char *in, unsigned l
c->sbuf = nltap(c); c->sbuf = nltap(c);
c->nbuf = 32; c->nbuf = 32;
while (c->nbuf != 0 && inlen != 0) { while (c->nbuf != 0 && inlen != 0) {
*out++ = *in++ ^ (c->sbuf & 0xFF); *out++ = *in++ ^ (unsigned char)(c->sbuf & 0xFF);
c->sbuf >>= 8; c->sbuf >>= 8;
c->nbuf -= 8; c->nbuf -= 8;
--inlen; --inlen;

View File

@ -6,12 +6,12 @@ int base64_test(void)
unsigned char in[64], out[256], tmp[64]; unsigned char in[64], out[256], tmp[64];
unsigned long x, l1, l2, slen1; unsigned long x, l1, l2, slen1;
#if defined(LTC_BASE64) const unsigned char special_case[] = {
const char special_case[] = {
0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8, 0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8,
0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff, 0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff,
0x14, 0xd0, 0x29, 0x9d, 0x00 }; 0x14, 0xd0, 0x29, 0x9d, 0x00 };
#if defined(LTC_BASE64)
/* /*
TEST CASES SOURCE: TEST CASES SOURCE:
@ -31,7 +31,7 @@ int base64_test(void)
{"foob", "Zm9vYg==" }, {"foob", "Zm9vYg==" },
{"fooba", "Zm9vYmE=" }, {"fooba", "Zm9vYmE=" },
{"foobar", "Zm9vYmFy"}, {"foobar", "Zm9vYmFy"},
{special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="} {(char*)special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="}
}; };
#endif #endif
@ -59,7 +59,7 @@ int base64_test(void)
DO(base64url_strict_decode((unsigned char*)url_cases[x].s, slen1, out, &l1)); DO(base64url_strict_decode((unsigned char*)url_cases[x].s, slen1, out, &l1));
else else
DO(base64url_decode((unsigned char*)url_cases[x].s, slen1, out, &l1)); 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; return 1;
} }
if(x < 2) { if(x < 2) {

View File

@ -14,74 +14,74 @@ int der_tests(void)
#else #else
static const unsigned char _der_tests_stinky_root_cert[] = static const unsigned char _der_tests_stinky_root_cert[] =
"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"
ZG8ubmV0L0NQUzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz\ "ZG8ubmV0L0NQUzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz"
dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMCEGA1UdEQQaMBiBFnN1cHBv\ "dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMCEGA1UdEQQaMBiBFnN1cHBv"
cnRAcHJlZW1wdGl2ZS5jb20wDQYJKoZIhvcNAQEFBQADggEBAC+JM26Dokvonudl\ "cnRAcHJlZW1wdGl2ZS5jb20wDQYJKoZIhvcNAQEFBQADggEBAC+JM26Dokvonudl"
JXe/Yun7IBhimkagZUjbk9l/GQWN6i+v1o95UJ1wGJtBdm2+MxbSaPoNTDZR4B+2\ "JXe/Yun7IBhimkagZUjbk9l/GQWN6i+v1o95UJ1wGJtBdm2+MxbSaPoNTDZR4B+2"
lYL9MW57UVmePrnfUPXQKZZG+8gTRDz8+7ol/CEAKmS3MLKCRcH5oe+J5345sGxi\ "lYL9MW57UVmePrnfUPXQKZZG+8gTRDz8+7ol/CEAKmS3MLKCRcH5oe+J5345sGxi"
FC/KWNKedTNraW95xlg8NTlL2yRP7TMsjvBxgLmkbaFUoXzPTbQWmtovIagIT8GC\ "FC/KWNKedTNraW95xlg8NTlL2yRP7TMsjvBxgLmkbaFUoXzPTbQWmtovIagIT8GC"
JeXwdFaRjbamiz3Irl+u7x/mhxdza6RvgBYylXRFMudANpeGsV7gDXlnfzpFDKHQ\ "JeXwdFaRjbamiz3Irl+u7x/mhxdza6RvgBYylXRFMudANpeGsV7gDXlnfzpFDKHQ"
niVwB7P5sbPFIlmIc+4/xRItkLIRjCVXaepgN9KYu3VOgiSDI6wXiTwP44/LUXQM\ "niVwB7P5sbPFIlmIc+4/xRItkLIRjCVXaepgN9KYu3VOgiSDI6wXiTwP44/LUXQM"
hetwa7s="; "hetwa7s=";
const unsigned char _der_tests_cacert_root_cert[] = const unsigned char _der_tests_cacert_root_cert[] =
"MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\ "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290"
IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\ "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB"
IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\ "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA"
Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\ "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO"
BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\ "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi"
MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\ "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ"
ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\ "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC"
CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\ "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ"
8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\ "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6"
zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\ "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y"
fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\ "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7"
w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\ "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc"
G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\ "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k"
epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\ "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q"
laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\ "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ"
QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\ "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU"
fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\ "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826"
YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\ "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w"
ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\ "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY"
gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\ "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe"
MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\ "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0"
IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\ "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy"
dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\ "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw"
czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\ "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0"
dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\ "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl"
aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\ "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC"
AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\ "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg"
b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\ "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB"
ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\ "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc"
nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\ "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg"
18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\ "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c"
gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\ "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl"
Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\ "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY"
sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\ "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T"
SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\ "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF"
CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\ "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum"
GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\ "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk"
zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\ "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW"
omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD"; "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD";
const unsigned long _der_tests_cacert_root_cert_size = sizeof(_der_tests_cacert_root_cert); const unsigned long _der_tests_cacert_root_cert_size = sizeof(_der_tests_cacert_root_cert);
/* /*
@ -1027,8 +1027,8 @@ static void der_flexi_test(void)
static int der_choice_test(void) static int der_choice_test(void)
{ {
ltc_asn1_list types[7], host[1]; ltc_asn1_list types[7], host[1];
unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256]; unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256], x, y;
unsigned long integer, oidbuf[10], outlen, inlen, x, y; unsigned long integer, oidbuf[10], outlen, inlen;
void *mpinteger; void *mpinteger;
ltc_utctime utctime = { 91, 5, 6, 16, 45, 40, 1, 7, 0 }; 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 }; ltc_generalizedtime gtime = { 2038, 01, 19, 3, 14, 8, 0, 0, 0, 0 };
@ -1073,11 +1073,11 @@ static int der_choice_test(void)
for (y = 0; y < 7; y++) { for (y = 0; y < 7; y++) {
if (types[y].used && y != (x>6?x-7:x)) { 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; return 1;
} }
if (!types[y].used && y == (x>6?x-7:x)) { 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; return 1;
} }
} }
@ -1166,9 +1166,12 @@ int der_tests(void)
DO(der_encode_short_integer(mp_get_int(a), buf[1], &y)); DO(der_encode_short_integer(mp_get_int(a), buf[1], &y));
if (x != y || memcmp(buf[0], buf[1], x)) { 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)); 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 (zz = 0; zz < z; zz++) fprintf(stderr, "%02x ", buf[2][zz]);
for (z = 0; z < x; z++) fprintf(stderr, "%02x ", buf[0][z]); fprintf(stderr, "\n"); fprintf(stderr, "\n");
for (z = 0; z < y; z++) fprintf(stderr, "%02x ", buf[1][z]); 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); mp_clear_multi(a, b, c, d, e, f, g, NULL);
return 1; return 1;
} }
@ -1280,7 +1283,8 @@ int der_tests(void)
} }
if (memcmp(oid[0], oid[1], sizeof(oid[0][0]) * z)) { if (memcmp(oid[0], oid[1], sizeof(oid[0][0]) * z)) {
fprintf(stderr, "Random OID %lu test failed, decoded values wrong\n", 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]); for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[1][x]);
return 1; return 1;
} }
@ -1330,8 +1334,8 @@ int der_tests(void)
if (x != sizeof(rsa_time1_der) || memcmp(buf[0], rsa_time1_der, 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, "UTCTIME encode of rsa_time1 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
fprintf(stderr, "\n\n"); fprintf(stderr, "\n\n");
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n"); for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]);
fprintf(stderr, "\n");
return 1; return 1;
} }
DO(der_length_utctime((ltc_utctime*)&rsa_time1, &y)); DO(der_length_utctime((ltc_utctime*)&rsa_time1, &y));
@ -1360,8 +1364,8 @@ tmp_time.off_hh);
if (x != sizeof(rsa_time2_der) || memcmp(buf[0], rsa_time2_der, 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, "UTCTIME encode of rsa_time2 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
fprintf(stderr, "\n\n"); fprintf(stderr, "\n\n");
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n"); for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]);
fprintf(stderr, "\n");
return 1; return 1;
} }
DO(der_length_utctime((ltc_utctime*)&rsa_time2, &y)); 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)); 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) { 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); 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; return 1;
} }
/* decode it */ /* decode it */
@ -1402,7 +1407,8 @@ tmp_time.off_hh);
DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y)); 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))) { 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); 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; 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)); 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)) { if (x != sizeof(utf8_2_der) || memcmp(utf8_buf, utf8_2_der, x)) {
fprintf(stderr, "DER UTF8_2 encoded to %lu bytes\n", 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; return 1;
} }
/* decode it */ /* decode it */
@ -1419,7 +1426,8 @@ tmp_time.off_hh);
DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y)); 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))) { 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); 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; return 1;
} }

View File

@ -10,7 +10,7 @@
int dh_test (void) int dh_test (void)
{ {
unsigned char buf[3][4096]; unsigned char buf[3][4096], ch;
unsigned long x, y, z; unsigned long x, y, z;
int stat, stat2; int stat, stat2;
dh_key usera, userb; dh_key usera, userb;
@ -74,8 +74,8 @@ int dh_test (void)
/* test encrypt_key */ /* test encrypt_key */
dh_make_key (&yarrow_prng, find_prng ("yarrow"), KEYSIZE/8, &usera); dh_make_key (&yarrow_prng, find_prng ("yarrow"), KEYSIZE/8, &usera);
for (x = 0; x < 16; x++) { for (ch = 0; ch < 16; ch++) {
buf[0][x] = x; buf[0][ch] = ch;
} }
y = sizeof (buf[1]); y = sizeof (buf[1]);
DO(dh_encrypt_key (buf[0], 16, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("md5"), &usera)); 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); dh_free (&usera);
return 1; return 1;
} }
for (x = 0; x < 16; x++) for (ch = 0; ch < 16; ch++)
if (buf[0][x] != x) { if (buf[0][ch] != ch) {
fprintf(stderr, "Failed (contents)\n"); fprintf(stderr, "Failed (contents)\n");
dh_free (&usera); dh_free (&usera);
return 1; return 1;
} }
/* test sign_hash */ /* test sign_hash */
for (x = 0; x < 16; x++) { for (ch = 0; ch < 16; ch++) {
buf[0][x] = x; buf[0][ch] = ch;
} }
x = sizeof (buf[1]); x = sizeof (buf[1]);
DO(dh_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &usera)); DO(dh_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &usera));

View File

@ -171,7 +171,7 @@ static int dsa_compat_test(void)
int dsa_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; unsigned long x, y;
int stat1, stat2; int stat1, stat2;
dsa_key key, key2; dsa_key key, key2;
@ -186,7 +186,7 @@ int dsa_test(void)
if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; } if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; }
/* encrypt a message */ /* encrypt a message */
for (x = 0; x < 16; x++) { msg[x] = x; } for (ch = 0; ch < 16; ch++) { msg[ch] = ch; }
x = sizeof(out); x = sizeof(out);
DO(dsa_encrypt_key(msg, 16, out, &x, &yarrow_prng, find_prng("yarrow"), find_hash("sha1"), &key)); DO(dsa_encrypt_key(msg, 16, out, &x, &yarrow_prng, find_prng("yarrow"), find_hash("sha1"), &key));

View File

@ -107,7 +107,7 @@ int ecc_test_shamir(void)
int ecc_tests (void) int ecc_tests (void)
{ {
unsigned char buf[4][4096]; unsigned char buf[4][4096], ch;
unsigned long x, y, z, s; unsigned long x, y, z, s;
int stat, stat2; int stat, stat2;
ecc_key usera, userb, pubKey, privKey; 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_export(buf[0], &x, PK_PRIVATE, &usera));
DO(ecc_import(buf[0], x, &privKey)); DO(ecc_import(buf[0], x, &privKey));
for (x = 0; x < 32; x++) { for (ch = 0; ch < 32; ch++) {
buf[0][x] = x; buf[0][ch] = ch;
} }
y = sizeof (buf[1]); y = sizeof (buf[1]);
DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey)); 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)"); fprintf(stderr, "Failed (length)");
return 1; return 1;
} }
for (x = 0; x < 32; x++) { for (ch = 0; ch < 32; ch++) {
if (buf[0][x] != x) { if (buf[0][ch] != ch) {
fprintf(stderr, "Failed (contents)"); fprintf(stderr, "Failed (contents)");
return 1; return 1;
} }
} }
/* test sign_hash */ /* test sign_hash */
for (x = 0; x < 16; x++) { for (ch = 0; ch < 16; ch++) {
buf[0][x] = x; buf[0][ch] = ch;
} }
x = sizeof (buf[1]); x = sizeof (buf[1]);
DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey)); DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey));

View File

@ -74,7 +74,7 @@ int multi_test(void);
extern struct list { extern struct list {
int id; int id;
unsigned long spd1, spd2, avg; ulong64 spd1, spd2, avg;
} results[]; } results[];
extern int no_results; extern int no_results;

View File

@ -14,9 +14,12 @@ ulong64 epoch_usec(void)
#elif defined(_WIN32) #elif defined(_WIN32)
FILETIME CurrentTime; FILETIME CurrentTime;
ulong64 cur_time; ulong64 cur_time;
ULARGE_INTEGER ul;
GetSystemTimeAsFileTime(&CurrentTime); GetSystemTimeAsFileTime(&CurrentTime);
cur_time = ((ulong64)CurrentTime.dwHighDateTime << 32) + (ulong64)CurrentTime.dwLowDateTime; ul.LowPart = CurrentTime.dwLowDateTime;
cur_time -= 116444736000000000LL; /* subtract epoch in microseconds */ ul.HighPart = CurrentTime.dwHighDateTime;
cur_time = ul.QuadPart;
cur_time -= CONST64(116444736000000000); /* subtract epoch in microseconds */
cur_time /= 10; /* nanoseconds > microseconds */ cur_time /= 10; /* nanoseconds > microseconds */
return cur_time; return cur_time;
#else #else
@ -108,12 +111,12 @@ void tally_results(int type)
} else if (type == 1) { } else if (type == 1) {
for (x = 0; x < no_results; x++) { for (x = 0; x < no_results; x++) {
printf 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 { } else {
for (x = 0; x < no_results; x++) { for (x = 0; x < no_results; x++) {
printf 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);
} }
} }
} }