Hi,
The app_tminterval utility function in apps.c has a first parameter that is
either TM_START or TM_STOP as defined in apps.h. The two files that use this
function disregard those constants and define their own along with their own
wrapper utility wrapper function.
This patch keeps the wrapper functions as they provide a little convenience, but
removes the duplicate constants and fixes calls to use the apps.h constants.
There also appears to be some left over compatibility for platforms without
timens. Since the libressl build system doesn't define TIMES, this code thinks
the feature isn't available doesn't when reporting usage.
Jonas
diff -Nur libressl-2.1.0/apps/speed.c libssl/apps/speed.c
--- libressl-2.1.0/apps/speed.c 2014-10-11 18:58:11.000000000 +0200
+++ libssl/apps/speed.c 2014-10-14 17:45:02.778749560 +0200
@@ -203,9 +203,6 @@
run = 0;
}
-#define START 0
-#define STOP 1
-
static double
Time_F(int s)
@@ -481,10 +478,6 @@
int multi = 0;
const char *errstr = NULL;
-#ifndef TIMES
- usertime = -1;
-#endif
-
memset(results, 0, sizeof(results));
memset(dsa_key, 0, sizeof(dsa_key));
for (i = 0; i < EC_NUM; i++)
@@ -959,9 +952,7 @@
BIO_printf(bio_err, "\n");
BIO_printf(bio_err, "Available options:\n");
-#if defined(TIMES) || defined(USE_TOD)
BIO_printf(bio_err, "-elapsed measure time in
real time instead of CPU user time.\n");
-#endif
#ifndef OPENSSL_NO_ENGINE
BIO_printf(bio_err, "-engine e use engine e,
possibly a hardware device.\n");
#endif
@@ -1066,10 +1057,10 @@
if (doit[D_MDC2]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_MDC2], c[D_MDC2][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_MDC2][j]); count++)
EVP_Digest(buf, (unsigned long) lengths[j],
&(mdc2[0]), NULL, EVP_mdc2(), NULL);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_MDC2, j, count, d);
}
}
@@ -1079,10 +1070,10 @@
if (doit[D_MD4]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_MD4], c[D_MD4][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_MD4][j]); count++)
EVP_Digest(&(buf[0]), (unsigned long)
lengths[j], &(md4[0]), NULL, EVP_md4(), NULL);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_MD4, j, count, d);
}
}
@@ -1092,10 +1083,10 @@
if (doit[D_MD5]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_MD5], c[D_MD5][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_MD5][j]); count++)
EVP_Digest(&(buf[0]), (unsigned long)
lengths[j], &(md5[0]), NULL, EVP_get_digestbyname("md5"), NULL);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_MD5, j, count, d);
}
}
@@ -1111,13 +1102,13 @@
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_HMAC], c[D_HMAC][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_HMAC][j]); count++) {
HMAC_Init_ex(&hctx, NULL, 0, NULL, NULL);
HMAC_Update(&hctx, buf, lengths[j]);
HMAC_Final(&hctx, &(hmac[0]), NULL);
}
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_HMAC, j, count, d);
}
HMAC_CTX_cleanup(&hctx);
@@ -1127,10 +1118,10 @@
if (doit[D_SHA1]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_SHA1], c[D_SHA1][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_SHA1][j]); count++)
EVP_Digest(buf, (unsigned long) lengths[j],
&(sha[0]), NULL, EVP_sha1(), NULL);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_SHA1, j, count, d);
}
}
@@ -1138,10 +1129,10 @@
if (doit[D_SHA256]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_SHA256], c[D_SHA256][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_SHA256][j]); count++)
SHA256(buf, lengths[j], sha256);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_SHA256, j, count, d);
}
}
@@ -1151,10 +1142,10 @@
if (doit[D_SHA512]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_SHA512], c[D_SHA512][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_SHA512][j]); count++)
SHA512(buf, lengths[j], sha512);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_SHA512, j, count, d);
}
}
@@ -1165,10 +1156,10 @@
if (doit[D_WHIRLPOOL]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_WHIRLPOOL], c[D_WHIRLPOOL][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_WHIRLPOOL][j]);
count++)
WHIRLPOOL(buf, lengths[j], whirlpool);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_WHIRLPOOL, j, count, d);
}
}
@@ -1178,10 +1169,10 @@
if (doit[D_RMD160]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_RMD160], c[D_RMD160][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_RMD160][j]); count++)
EVP_Digest(buf, (unsigned long) lengths[j],
&(rmd160[0]), NULL, EVP_ripemd160(), NULL);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_RMD160, j, count, d);
}
}
@@ -1190,11 +1181,11 @@
if (doit[D_RC4]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_RC4], c[D_RC4][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_RC4][j]); count++)
RC4(&rc4_ks, (unsigned int) lengths[j],
buf, buf);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_RC4, j, count, d);
}
}
@@ -1203,23 +1194,23 @@
if (doit[D_CBC_DES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_CBC_DES], c[D_CBC_DES][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_CBC_DES][j]); count++)
DES_ncbc_encrypt(buf, buf, lengths[j], &sch,
&DES_iv, DES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_CBC_DES, j, count, d);
}
}
if (doit[D_EDE3_DES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_EDE3_DES], c[D_EDE3_DES][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_EDE3_DES][j]);
count++)
DES_ede3_cbc_encrypt(buf, buf, lengths[j],
&sch, &sch2, &sch3,
&DES_iv, DES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_EDE3_DES, j, count, d);
}
}
@@ -1228,72 +1219,72 @@
if (doit[D_CBC_128_AES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_CBC_128_AES],
c[D_CBC_128_AES][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_CBC_128_AES][j]);
count++)
AES_cbc_encrypt(buf, buf,
(unsigned long) lengths[j], &aes_ks1,
iv, AES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_CBC_128_AES, j, count, d);
}
}
if (doit[D_CBC_192_AES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_CBC_192_AES],
c[D_CBC_192_AES][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_CBC_192_AES][j]);
count++)
AES_cbc_encrypt(buf, buf,
(unsigned long) lengths[j], &aes_ks2,
iv, AES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_CBC_192_AES, j, count, d);
}
}
if (doit[D_CBC_256_AES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_CBC_256_AES],
c[D_CBC_256_AES][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_CBC_256_AES][j]);
count++)
AES_cbc_encrypt(buf, buf,
(unsigned long) lengths[j], &aes_ks3,
iv, AES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_CBC_256_AES, j, count, d);
}
}
if (doit[D_IGE_128_AES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_IGE_128_AES],
c[D_IGE_128_AES][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_IGE_128_AES][j]);
count++)
AES_ige_encrypt(buf, buf2,
(unsigned long) lengths[j], &aes_ks1,
iv, AES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_IGE_128_AES, j, count, d);
}
}
if (doit[D_IGE_192_AES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_IGE_192_AES],
c[D_IGE_192_AES][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_IGE_192_AES][j]);
count++)
AES_ige_encrypt(buf, buf2,
(unsigned long) lengths[j], &aes_ks2,
iv, AES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_IGE_192_AES, j, count, d);
}
}
if (doit[D_IGE_256_AES]) {
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_IGE_256_AES],
c[D_IGE_256_AES][j], lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_IGE_256_AES][j]);
count++)
AES_ige_encrypt(buf, buf2,
(unsigned long) lengths[j], &aes_ks3,
iv, AES_ENCRYPT);
- d = Time_F(STOP);
+ d = Time_F(TM_STOP);
print_result(D_IGE_256_AES, j, count, d);
}
}
@@ -1303,10 +1294,10 @@
for (j = 0; j < SIZE_NUM; j++) {
print_message(names[D_GHASH], c[D_GHASH][j],
lengths[j]);
- Time_F(START);
+ Time_F(TM_START);
for (count = 0, run = 1; COND(c[D_GHASH][j]); count++)
CRYPTO_gcm128_aad(ctx, buf, lengths[j]);diff
-Nur libressl-2.1.0/apps/s_time.c
diff -Nur libressl-2.1.0/apps/s_time.c libssl/apps/s_time.c
--- libressl-2.1.0/apps/s_time.c 2014-10-11 18:58:11.000000000 +0200
+++ libssl/apps/s_time.c 2014-10-14 17:43:31.406746753 +0200
@@ -297,8 +297,6 @@
/***********************************************************************
* TIME - time functions
*/
-#define START 0
-#define STOP 1
static double
tm_Time_F(int s)
@@ -365,7 +363,7 @@
bytes_read = 0;
finishtime = (long) time(NULL) + maxTime;
- tm_Time_F(START);
+ tm_Time_F(TM_START);
for (;;) {
if (finishtime < (long) time(NULL))
break;
@@ -411,7 +409,7 @@
SSL_free(scon);
scon = NULL;
}
- totalTime += tm_Time_F(STOP); /* Add the time for this iteration */
+ totalTime += tm_Time_F(TM_STOP); /* Add the time for this
iteration */
i = (int) ((long) time(NULL) - finishtime + maxTime);
printf("\n\n%d connections in %.2fs; %.2f connections/user sec, bytes
read %ld\n", nConn, totalTime, ((double) nConn / totalTime), bytes_read);
@@ -457,7 +455,7 @@
printf("starting\n");
bytes_read = 0;
- tm_Time_F(START);
+ tm_Time_F(TM_START);
for (;;) {
if (finishtime < (long) time(NULL))
@@ -501,7 +499,7 @@
fputc(ver, stdout);
fflush(stdout);
}
- totalTime += tm_Time_F(STOP); /* Add the time for this iteration */
+ totalTime += tm_Time_F(TM_STOP); /* Add the time for this
iteration */
printf("\n\n%d connections in %.2fs; %.2f connections/user sec, bytes
read %ld\n", nConn, totalTime, ((double) nConn / totalTime), bytes_read);