Avoid re-build avalanches with HP-UX make.
[oweals/openssl.git] / apps / speed.c
index 62cf56e06e3a8af870ba9b5de9c96dec6734cd74..5ed510ced69b94ca505b41824e28f0a06a10ea6d 100644 (file)
@@ -58,6 +58,8 @@
 
 /* most of this code has been pilfered from my libdes speed.c program */
 
+#ifndef OPENSSL_NO_SPEED
+
 #undef SECONDS
 #define SECONDS                3       
 #define RSA_SECONDS    10
 
 /* The following if from times(3) man page.  It may need to be changed */
 #ifndef HZ
-# ifdef _SC_CLK_TCK
+# if defined(_SC_CLK_TCK) \
+     && (!defined(OPENSSL_SYS_VMS) || __CTRL_VER >= 70000000)
 #  define HZ ((double)sysconf(_SC_CLK_TCK))
 # else
 #  ifndef CLK_TCK
@@ -369,11 +372,16 @@ int MAIN(int, char **);
 
 int MAIN(int argc, char **argv)
        {
+#ifndef OPENSSL_NO_ENGINE
        ENGINE *e = NULL;
+#endif
        unsigned char *buf=NULL,*buf2=NULL;
        int mret=1;
-       long count=0,save_count=0, rsa_count;
+       long count=0,save_count=0;
        int i,j,k;
+#if !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_DSA)
+       long rsa_count;
+#endif
 #ifndef OPENSSL_NO_RSA
        unsigned rsa_num;
 #endif
@@ -586,6 +594,7 @@ int MAIN(int argc, char **argv)
                        j--;    /* Otherwise, -elapsed gets confused with
                                   an algorithm. */
                        }
+#ifndef OPENSSL_NO_ENGINE
                else if ((argc > 0) && (strcmp(*argv,"-engine") == 0))
                        {
                        argc--;
@@ -602,6 +611,7 @@ int MAIN(int argc, char **argv)
                           means all of them should be run) */
                        j--;
                        }
+#endif
 #ifdef HAVE_FORK
                else if ((argc > 0) && (strcmp(*argv,"-multi") == 0))
                        {
@@ -763,6 +773,7 @@ int MAIN(int argc, char **argv)
                        {
                        dsa_doit[R_DSA_512]=1;
                        dsa_doit[R_DSA_1024]=1;
+                       dsa_doit[R_DSA_2048]=1;
                        }
                else
 #endif
@@ -858,10 +869,12 @@ int MAIN(int argc, char **argv)
 
                        BIO_printf(bio_err,"\n");
                        BIO_printf(bio_err,"Available options:\n");
-#ifdef TIMES
+#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
                        BIO_printf(bio_err,"-evp e          use EVP e.\n");
                        BIO_printf(bio_err,"-decrypt        time decryption instead of encryption (only EVP).\n");
                        BIO_printf(bio_err,"-mr             produce machine readable output.\n");
@@ -994,6 +1007,9 @@ int MAIN(int argc, char **argv)
        c[D_CBC_RC5][0]=count;
        c[D_CBC_BF][0]=count;
        c[D_CBC_CAST][0]=count;
+       c[D_CBC_128_AES][0]=count;
+       c[D_CBC_192_AES][0]=count;
+       c[D_CBC_256_AES][0]=count;
 
        for (i=1; i<SIZE_NUM; i++)
                {
@@ -1019,6 +1035,9 @@ int MAIN(int argc, char **argv)
                c[D_CBC_RC5][i]=c[D_CBC_RC5][i-1]*l0/l1;
                c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;
                c[D_CBC_CAST][i]=c[D_CBC_CAST][i-1]*l0/l1;
+               c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1;
+               c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1;
+               c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1;
                }
 #ifndef OPENSSL_NO_RSA
        rsa_c[R_RSA_512][0]=count/2000;
@@ -1376,6 +1395,7 @@ int MAIN(int argc, char **argv)
                                        EVP_DecryptInit_ex(&ctx,evp_cipher,NULL,key16,iv);
                                else
                                        EVP_EncryptInit_ex(&ctx,evp_cipher,NULL,key16,iv);
+                               EVP_CIPHER_CTX_set_padding(&ctx, 0);
 
                                Time_F(START);
                                if(decrypt)
@@ -1389,6 +1409,7 @@ int MAIN(int argc, char **argv)
                                else
                                        EVP_EncryptFinal_ex(&ctx,buf,&outl);
                                d=Time_F(STOP);
+                               EVP_CIPHER_CTX_cleanup(&ctx);
                                }
                        if (evp_md)
                                {
@@ -1725,7 +1746,7 @@ end:
                        DSA_free(dsa_key[i]);
 #endif
        apps_shutdown();
-       EXIT(mret);
+       OPENSSL_EXIT(mret);
        }
 
 static void print_message(const char *s, long num, int length)
@@ -1778,7 +1799,7 @@ static char *sstrsep(char **string, const char *delim)
     if (**string == 0)
         return NULL;
 
-    memset(isdelim, 0, 256);
+    memset(isdelim, 0, sizeof isdelim);
     isdelim[0] = 1;
 
     while (*delim)
@@ -1935,3 +1956,4 @@ static int do_multi(int multi)
        return 1;
        }
 #endif
+#endif