[BACK]Return to speed.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / openssl

Diff for /src/usr.bin/openssl/speed.c between version 1.23 and 1.24

version 1.23, 2018/07/13 18:36:56 version 1.24, 2021/12/12 20:35:40
Line 1031 
Line 1031 
   
 #if !defined(OPENSSL_NO_MD5) && !defined(OPENSSL_NO_HMAC)  #if !defined(OPENSSL_NO_MD5) && !defined(OPENSSL_NO_HMAC)
         if (doit[D_HMAC]) {          if (doit[D_HMAC]) {
                 HMAC_CTX hctx;                  HMAC_CTX *hctx;
   
                 HMAC_CTX_init(&hctx);                  if ((hctx = HMAC_CTX_new()) == NULL) {
                 HMAC_Init_ex(&hctx, (unsigned char *) "This is a key...",                          BIO_printf(bio_err, "Failed to allocate HMAC context.\n");
                           return 0;
                   }
   
                   HMAC_Init_ex(hctx, (unsigned char *) "This is a key...",
                     16, EVP_md5(), NULL);                      16, EVP_md5(), NULL);
   
                 for (j = 0; j < SIZE_NUM; j++) {                  for (j = 0; j < SIZE_NUM; j++) {
                         print_message(names[D_HMAC], c[D_HMAC][j], lengths[j]);                          print_message(names[D_HMAC], c[D_HMAC][j], lengths[j]);
                         Time_F(START);                          Time_F(START);
                         for (count = 0, run = 1; COND(c[D_HMAC][j]); count++) {                          for (count = 0, run = 1; COND(c[D_HMAC][j]); count++) {
                                 HMAC_Init_ex(&hctx, NULL, 0, NULL, NULL);                                  HMAC_Init_ex(hctx, NULL, 0, NULL, NULL);
                                 HMAC_Update(&hctx, buf, lengths[j]);                                  HMAC_Update(hctx, buf, lengths[j]);
                                 HMAC_Final(&hctx, &(hmac[0]), NULL);                                  HMAC_Final(hctx, &(hmac[0]), NULL);
                         }                          }
                         d = Time_F(STOP);                          d = Time_F(STOP);
                         print_result(D_HMAC, j, count, d);                          print_result(D_HMAC, j, count, d);
                 }                  }
                 HMAC_CTX_cleanup(&hctx);                  HMAC_CTX_free(hctx);
         }          }
 #endif  #endif
 #ifndef OPENSSL_NO_SHA  #ifndef OPENSSL_NO_SHA
Line 1405 
Line 1409 
         if (doit[D_EVP]) {          if (doit[D_EVP]) {
                 for (j = 0; j < SIZE_NUM; j++) {                  for (j = 0; j < SIZE_NUM; j++) {
                         if (evp_cipher) {                          if (evp_cipher) {
                                 EVP_CIPHER_CTX ctx;                                  EVP_CIPHER_CTX *ctx;
                                 int outl;                                  int outl;
   
                                 names[D_EVP] = OBJ_nid2ln(evp_cipher->nid);                                  names[D_EVP] =
                                       OBJ_nid2ln(EVP_CIPHER_nid(evp_cipher));
                                 /*                                  /*
                                  * -O3 -fschedule-insns messes up an                                   * -O3 -fschedule-insns messes up an
                                  * optimization here!  names[D_EVP] somehow                                   * optimization here!  names[D_EVP] somehow
Line 1417 
Line 1422 
                                 print_message(names[D_EVP], save_count,                                  print_message(names[D_EVP], save_count,
                                     lengths[j]);                                      lengths[j]);
   
                                 EVP_CIPHER_CTX_init(&ctx);                                  if ((ctx = EVP_CIPHER_CTX_new()) == NULL) {
                                           BIO_printf(bio_err, "Failed to "
                                               "allocate cipher context.\n");
                                           return 0;
                                   }
                                 if (decrypt)                                  if (decrypt)
                                         EVP_DecryptInit_ex(&ctx, evp_cipher, NULL, key16, iv);                                          EVP_DecryptInit_ex(ctx, evp_cipher, NULL, key16, iv);
                                 else                                  else
                                         EVP_EncryptInit_ex(&ctx, evp_cipher, NULL, key16, iv);                                          EVP_EncryptInit_ex(ctx, evp_cipher, NULL, key16, iv);
                                 EVP_CIPHER_CTX_set_padding(&ctx, 0);                                  EVP_CIPHER_CTX_set_padding(ctx, 0);
   
                                 Time_F(START);                                  Time_F(START);
                                 if (decrypt)                                  if (decrypt)
                                         for (count = 0, run = 1; COND(save_count * 4 * lengths[0] / lengths[j]); count++)                                          for (count = 0, run = 1; COND(save_count * 4 * lengths[0] / lengths[j]); count++)
                                                 EVP_DecryptUpdate(&ctx, buf, &outl, buf, lengths[j]);                                                  EVP_DecryptUpdate(ctx, buf, &outl, buf, lengths[j]);
                                 else                                  else
                                         for (count = 0, run = 1; COND(save_count * 4 * lengths[0] / lengths[j]); count++)                                          for (count = 0, run = 1; COND(save_count * 4 * lengths[0] / lengths[j]); count++)
                                                 EVP_EncryptUpdate(&ctx, buf, &outl, buf, lengths[j]);                                                  EVP_EncryptUpdate(ctx, buf, &outl, buf, lengths[j]);
                                 if (decrypt)                                  if (decrypt)
                                         EVP_DecryptFinal_ex(&ctx, buf, &outl);                                          EVP_DecryptFinal_ex(ctx, buf, &outl);
                                 else                                  else
                                         EVP_EncryptFinal_ex(&ctx, buf, &outl);                                          EVP_EncryptFinal_ex(ctx, buf, &outl);
                                 d = Time_F(STOP);                                  d = Time_F(STOP);
                                 EVP_CIPHER_CTX_cleanup(&ctx);                                  EVP_CIPHER_CTX_free(ctx);
                         }                          }
                         if (evp_md) {                          if (evp_md) {
                                 names[D_EVP] = OBJ_nid2ln(evp_md->type);                                  names[D_EVP] = OBJ_nid2ln(EVP_MD_type(evp_md));
                                 print_message(names[D_EVP], save_count,                                  print_message(names[D_EVP], save_count,
                                     lengths[j]);                                      lengths[j]);
   

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24