summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cmake/CTestCostData.txt431
-rw-r--r--cmake/Modules/FindBotan.cmake168
-rw-r--r--cmake/Modules/FindBotan2.cmake131
-rw-r--r--cmake/Modules/FindOpenSSLFeatures.cmake5
-rw-r--r--cmake/Modules/findopensslfeatures.c51
-rw-r--r--cmake/packaging.cmake1
6 files changed, 494 insertions, 293 deletions
diff --git a/cmake/CTestCostData.txt b/cmake/CTestCostData.txt
index 1a00177..03f3c61 100644
--- a/cmake/CTestCostData.txt
+++ b/cmake/CTestCostData.txt
@@ -1,159 +1,274 @@
-rnp_tests.hash_test_success 1 0.0138223
-rnp_tests.cipher_test_success 1 0.0120679
-rnp_tests.pkcs1_rsa_test_success 1 0.0714414
-rnp_tests.rnp_test_eddsa 1 0.014394
-rnp_tests.rnp_test_x25519 1 0.0197451
-rnp_tests.raw_elgamal_random_key_test_success 1 0.725944
-rnp_tests.ecdsa_signverify_success 1 0.0561304
-rnp_tests.ecdh_roundtrip 1 0.0383161
-rnp_tests.ecdh_decryptionNegativeCases 1 0.0201392
-rnp_tests.sm2_roundtrip 1 0.0214206
-rnp_tests.sm2_sm3_signature_test 1 0.027973
-rnp_tests.sm2_sha256_signature_test 1 0.0269801
-rnp_tests.test_dsa_roundtrip 1 24.2023
-rnp_tests.test_dsa_verify_negative 1 0.800061
-rnp_tests.s2k_iteration_tuning 1 0.515675
-rnp_tests.s2k_iteration_encode_decode 1 0.0134686
-rnp_tests.test_validate_key_material 1 1.68337
-rnp_tests.test_cli_rnp_keyfile 1 0.859851
-rnp_tests.test_cli_g10_operations 1 2.50301
-rnp_tests.test_cli_rnp 1 0.0972449
-rnp_tests.test_cli_examples 1 1.3149
-rnp_tests.test_cli_rnpkeys 1 0.115061
-rnp_tests.test_cli_dump 1 0.0361111
-rnp_tests.test_cli_logname 1 0.0116097
-rnp_tests.rnpkeys_exportkey_verifyUserId 1 0.118051
-rnp_tests.test_ffi_homedir 1 0.0241839
-rnp_tests.test_ffi_detect_key_format 1 0.0129409
-rnp_tests.test_ffi_load_keys 1 0.0493167
-rnp_tests.test_ffi_clear_keys 1 0.0259738
-rnp_tests.test_ffi_save_keys 1 0.0316757
-rnp_tests.test_ffi_keygen_json_pair 1 0.0736696
-rnp_tests.test_ffi_keygen_json_pair_dsa_elg 1 12.7012
-rnp_tests.test_ffi_keygen_json_primary 1 0.0194215
-rnp_tests.test_ffi_keygen_json_sub 1 0.0573184
-rnp_tests.test_ffi_key_generate_misc 1 0.985612
-rnp_tests.test_ffi_key_generate_rsa 1 0.342821
-rnp_tests.test_ffi_key_generate_dsa 1 2.13331
-rnp_tests.test_ffi_key_generate_ecdsa 1 0.0177323
-rnp_tests.test_ffi_key_generate_eddsa 1 0.0143182
-rnp_tests.test_ffi_key_generate_sm2 1 0.0175289
-rnp_tests.test_ffi_key_generate_ex 1 5.74498
-rnp_tests.test_ffi_key_generate_algnamecase 1 2.62221
-rnp_tests.test_ffi_key_generate_protection 1 1.40079
-rnp_tests.test_ffi_add_userid 1 0.0404918
-rnp_tests.test_ffi_keygen_json_sub_pass_required 1 0.382914
-rnp_tests.test_ffi_encrypt_pass 1 0.429726
-rnp_tests.test_ffi_encrypt_pass_provider 1 0.342456
-rnp_tests.test_ffi_encrypt_pk 1 0.0482677
-rnp_tests.test_ffi_encrypt_pk_key_provider 1 0.0339246
-rnp_tests.test_ffi_encrypt_and_sign 1 0.0917957
-rnp_tests.test_ffi_signatures_memory 1 0.0518454
-rnp_tests.test_ffi_signatures 1 0.0488163
-rnp_tests.test_ffi_signatures_detached_memory 1 0.0492941
-rnp_tests.test_ffi_signatures_detached 1 0.04846
-rnp_tests.test_ffi_signatures_dump 1 0.0168647
-rnp_tests.test_ffi_key_to_json 1 0.0164411
-rnp_tests.test_ffi_key_iter 1 0.0261607
-rnp_tests.test_ffi_locate_key 1 0.0161026
-rnp_tests.test_ffi_signatures_detached_memory_g10 1 0.0427063
-rnp_tests.test_ffi_enarmor_dearmor 1 0.0373763
-rnp_tests.test_ffi_version 1 0.0140884
-rnp_tests.test_ffi_key_export 1 0.0250205
-rnp_tests.test_ffi_key_dump 1 0.0256317
-rnp_tests.test_ffi_pkt_dump 1 0.0167862
-rnp_tests.test_ffi_rsa_v3_dump 1 0.0158175
-rnp_tests.test_ffi_load_userattr 1 0.0177854
-rnp_tests.test_ffi_revocations 1 0.0191412
-rnp_tests.test_ffi_file_output 1 0.0292883
-rnp_tests.test_ffi_key_signatures 1 0.0211163
-rnp_tests.test_ffi_keys_import 1 0.577245
-rnp_tests.test_ffi_import_keys_check_pktlen 1 0.0151679
-rnp_tests.test_ffi_calculate_iterations 1 0.0279029
-rnp_tests.test_ffi_supported_features 1 0.0149266
-rnp_tests.test_ffi_enable_debug 1 0.010948
-rnp_tests.test_ffi_rnp_key_get_primary_grip 1 0.0178161
-rnp_tests.test_ffi_output_to_armor 1 0.01893
-rnp_tests.test_ffi_rnp_guess_contents 1 0.0121287
-rnp_tests.test_ffi_literal_filename 1 0.0552985
-rnp_tests.test_ffi_op_set_hash 1 0.0528855
-rnp_tests.test_ffi_op_set_compression 1 0.0730627
-rnp_tests.test_ffi_aead_params 1 0.241513
-rnp_tests.test_ffi_detached_verify_input 1 0.0228228
-rnp_tests.test_ffi_op_verify_sig_count 1 0.0491328
-rnp_tests.rnpkeys_generatekey_testSignature 1 1.18378
-rnp_tests.rnpkeys_generatekey_testEncryption 1 0.275621
-rnp_tests.rnpkeys_generatekey_verifySupportedHashAlg 1 1.41153
-rnp_tests.rnpkeys_generatekey_verifyUserIdOption 1 0.616167
-rnp_tests.rnpkeys_generatekey_verifykeyHomeDirOption 1 0.188337
-rnp_tests.rnpkeys_generatekey_verifykeyKBXHomeDirOption 1 0.205113
-rnp_tests.rnpkeys_generatekey_verifykeyHomeDirNoPermission 1 0.149937
-rnp_tests.rnpkeys_generatekey_testExpertMode 1 2.63892
-rnp_tests.generatekeyECDSA_explicitlySetSmallOutputDigest_DigestAlgAdjusted 1 0.0200285
-rnp_tests.generatekey_multipleUserIds_ShouldFail 1 0.0110169
-rnp_tests.generatekeyECDSA_explicitlySetBiggerThanNeededDigest_ShouldSuceed 1 0.0187109
-rnp_tests.generatekeyECDSA_explicitlySetUnknownDigest_ShouldFail 1 0.0133541
-rnp_tests.test_generated_key_sigs 1 0.128008
-rnp_tests.test_kbx_nsigs 1 4.07201
-rnp_tests.test_key_add_userid 1 0.0324633
-rnp_tests.key_grip 1 0.0621873
-rnp_tests.test_key_prefs 1 0.0115654
-rnp_tests.test_key_protect_load_pgp 1 0.330786
-rnp_tests.test_key_store_search 1 0.0108802
-rnp_tests.test_key_store_search_by_name 1 0.0138023
-rnp_tests.test_key_unlock_pgp 1 0.0629279
-rnp_tests.test_key_validate 1 0.0313496
-rnp_tests.test_forged_key_validate 1 0.0350325
-rnp_tests.test_key_validity 1 0.0179677
-rnp_tests.test_large_packet 1 12.6562
-rnp_tests.test_load_g10 1 0.493759
-rnp_tests.test_load_v3_keyring_pgp 1 0.012287
-rnp_tests.test_load_v4_keyring_pgp 1 0.015202
-rnp_tests.test_load_keyring_and_count_pgp 1 0.0166739
-rnp_tests.test_load_check_bitfields_and_times 1 0.0145676
-rnp_tests.test_load_check_bitfields_and_times_v3 1 0.0141121
-rnp_tests.test_load_armored_pub_sec 1 0.0233942
-rnp_tests.test_load_merge 1 0.148499
-rnp_tests.test_load_public_from_secret 1 0.0321099
-rnp_tests.test_key_import 1 0.256372
-rnp_tests.test_load_subkey 1 0.0191733
-rnp_tests.test_partial_length_public_key 1 0.0120663
-rnp_tests.test_partial_length_signature 1 0.0141925
-rnp_tests.test_partial_length_first_packet_256 1 0.017635
-rnp_tests.test_partial_length_zero_last_chunk 1 0.0177394
-rnp_tests.test_partial_length_largest 1 3.20183
-rnp_tests.test_partial_length_first_packet_length 1 0.0300068
-rnp_tests.test_s2k_iterations 1 7.229982
-rnp_tests.test_stream_memory 1 0.0125394
-rnp_tests.test_stream_memory_discard 1 0.0111196
-rnp_tests.test_stream_file 1 0.0168583
-rnp_tests.test_stream_signatures 1 0.0373302
-rnp_tests.test_stream_signatures_revoked_key 1 0.012537
-rnp_tests.test_stream_key_load 1 0.0130797
-rnp_tests.test_stream_key_load_errors 1 0.727713
-rnp_tests.test_stream_key_decrypt 1 0.511516
-rnp_tests.test_stream_key_encrypt 1 0.487256
-rnp_tests.test_stream_key_signatures 1 0.0199383
-rnp_tests.test_stream_key_signature_validate 1 0.108001
-rnp_tests.test_stream_verify_no_key 1 0.0301321
-rnp_tests.test_stream_dumper 1 0.0180775
-rnp_tests.test_stream_z 1 21.1022
-rnp_tests.test_stream_814_dearmor_double_free 1 0.0119918
-rnp_tests.test_stream_825_dearmor_blank_line 1 0.0155773
-rnp_tests.test_stream_dearmor_edge_cases 1 0.0119838
-rnp_tests.test_load_user_prefs 1 0.0142821
-rnp_tests.test_utils_list 1 0.0107737
-rnp_tests.test_rnpcfg 1 0.0108745
-rnp_tests.issue_1030_rnpkeys_secret_keys_unprotected 1 0.31969
-setupTestData 1 0.0175373
-cli_tests-Keystore 1 5.56182
-cli_tests-SignECDSA 1 3.92326
-cli_tests-Compression 1 137.827
-cli_tests-Encryption 1 329.997
-cli_tests-Misc 1 35.6212
-cli_tests-SignDefault 1 16.0034
-cli_tests-EncryptEcdh 1 4.19268
-cli_tests-SignDSA 1 6.13993
-cli_tests-EncryptSignRSA 1 2.47967
-cli_tests-EncryptElgamal 1 11.2535
+rnp_tests.hash_test_success 1 0.0523389
+rnp_tests.cipher_test_success 1 0.0527984
+rnp_tests.pkcs1_rsa_test_success 1 0.115839
+rnp_tests.rnp_test_eddsa 1 0.0525285
+rnp_tests.rnp_test_x25519 1 0.0669975
+rnp_tests.raw_elgamal_random_key_test_success 1 10.9527
+rnp_tests.ecdsa_signverify_success 1 0.0972991
+rnp_tests.ecdh_roundtrip 1 0.0830944
+rnp_tests.ecdh_decryptionNegativeCases 1 0.0617576
+rnp_tests.sm2_roundtrip 1 0.0636458
+rnp_tests.sm2_sm3_signature_test 1 0.060542
+rnp_tests.sm2_sha256_signature_test 1 0.0602844
+rnp_tests.test_dsa_roundtrip 1 22.338
+rnp_tests.test_dsa_verify_negative 1 0.68138
+rnp_tests.s2k_iteration_tuning 1 8.38086
+rnp_tests.s2k_iteration_encode_decode 1 0.0494878
+rnp_tests.test_validate_key_material 1 2.77391
+rnp_tests.test_sm2_enabled 1 0.0514602
+rnp_tests.test_aead_enabled 1 0.0479014
+rnp_tests.test_idea_enabled 1 0.0501038
+rnp_tests.test_twofish_enabled 1 0.0480356
+rnp_tests.test_brainpool_enabled 1 0.0489269
+rnp_tests.test_windows_botan_crash 1 0.0503856
+rnp_tests.test_cipher_idea 1 0.0676931
+rnp_tests.test_cipher_aes_128_ocb 1 0.0573161
+rnp_tests.test_cipher_aes_128_cbc 1 0.0494284
+rnp_tests.test_cipher_aes_128_cbc_nopadding 1 0.058429
+rnp_tests.test_cli_rnp_keyfile 1 0.637305
+rnp_tests.test_cli_g10_operations 1 4.91057
+rnp_tests.test_cli_rnpkeys_unicode 1 0.054029
+rnp_tests.test_cli_rnp 1 0.177541
+rnp_tests.test_cli_examples 1 1.91233
+rnp_tests.test_cli_rnpkeys 1 0.183342
+rnp_tests.test_cli_rnpkeys_genkey 1 1.87305
+rnp_tests.test_cli_dump 1 0.0697788
+rnp_tests.test_cli_logname 1 0.0488487
+rnp_tests.rnpkeys_exportkey_verifyUserId 1 0.154042
+rnp_tests.test_ffi_homedir 1 0.0590592
+rnp_tests.test_ffi_detect_key_format 1 0.0560153
+rnp_tests.test_ffi_load_keys 1 0.101535
+rnp_tests.test_ffi_clear_keys 1 0.0658103
+rnp_tests.test_ffi_save_keys 1 0.0769988
+rnp_tests.test_ffi_load_save_keys_to_utf8_path 1 0.0685385
+rnp_tests.test_ffi_add_userid 1 0.100773
+rnp_tests.test_ffi_signatures_memory 1 0.0876108
+rnp_tests.test_ffi_signatures 1 0.0895412
+rnp_tests.test_ffi_signatures_detached_memory 1 0.0875415
+rnp_tests.test_ffi_signatures_detached 1 0.0874103
+rnp_tests.test_ffi_signatures_dump 1 0.0553215
+rnp_tests.test_ffi_locate_key 1 0.0553068
+rnp_tests.test_ffi_signatures_detached_memory_g10 1 0.0877412
+rnp_tests.test_ffi_enarmor_dearmor 1 0.0634234
+rnp_tests.test_ffi_dearmor_edge_cases 1 0.0507168
+rnp_tests.test_ffi_customized_enarmor 1 0.0516225
+rnp_tests.test_ffi_version 1 0.0532891
+rnp_tests.test_ffi_backend_version 1 0.0530111
+rnp_tests.test_ffi_key_export_customized_enarmor 1 0.39427
+rnp_tests.test_ffi_key_dump 1 0.0604133
+rnp_tests.test_ffi_key_dump_edge_cases 1 0.0504537
+rnp_tests.test_ffi_key_userid_dump_has_no_special_chars 1 0.146249
+rnp_tests.test_ffi_pkt_dump 1 0.0558848
+rnp_tests.test_ffi_rsa_v3_dump 1 0.0520718
+rnp_tests.test_ffi_load_userattr 1 0.0532674
+rnp_tests.test_ffi_revocations 1 0.0593614
+rnp_tests.test_ffi_file_output 1 0.0728863
+rnp_tests.test_ffi_stdout_output 1 0.0593097
+rnp_tests.test_ffi_import_keys_check_pktlen 1 0.0552982
+rnp_tests.test_ffi_calculate_iterations 1 0.21543
+rnp_tests.test_ffi_supported_features 1 0.0529641
+rnp_tests.test_ffi_output_to_armor 1 0.0565657
+rnp_tests.test_ffi_rnp_guess_contents 1 0.0534077
+rnp_tests.test_ffi_literal_filename 1 0.0881614
+rnp_tests.test_ffi_op_set_hash 1 0.0888381
+rnp_tests.test_ffi_op_set_compression 1 0.0899419
+rnp_tests.test_ffi_aead_params 1 0.525284
+rnp_tests.test_ffi_detached_verify_input 1 0.0587825
+rnp_tests.test_ffi_detached_cleartext_signed_input 1 0.0860166
+rnp_tests.test_ffi_op_verify_sig_count 1 0.286351
+rnp_tests.test_ffi_op_verify_get_protection_info 1 0.434788
+rnp_tests.test_ffi_op_verify_recipients_info 1 0.353337
+rnp_tests.test_ffi_secret_sig_import 1 0.116603
+rnp_tests.test_ffi_rnp_request_password 1 0.0551474
+rnp_tests.test_ffi_mdc_8k_boundary 1 0.121587
+rnp_tests.test_ffi_decrypt_wrong_mpi_bits 1 0.132672
+rnp_tests.test_ffi_decrypt_edge_cases 1 0.131205
+rnp_tests.test_ffi_key_remove 1 0.0848727
+rnp_tests.test_ffi_literal_packet 1 0.0553639
+rnp_tests.test_ffi_exception 1 0.0546118
+rnp_tests.test_ffi_key_protection_change 1 1.47754
+rnp_tests.test_ffi_set_log_fd 1 0.0528121
+rnp_tests.test_ffi_security_profile 1 0.0545962
+rnp_tests.test_result_to_string 1 0.0527323
+rnp_tests.test_ffi_wrong_hex_length 1 0.0524465
+rnp_tests.test_ffi_encrypt_pass 1 0.753094
+rnp_tests.test_ffi_encrypt_pass_provider 1 0.617646
+rnp_tests.test_ffi_encrypt_set_cipher 1 1.0805
+rnp_tests.test_ffi_encrypt_pk 1 0.0753
+rnp_tests.test_ffi_decrypt_pk_unlocked 1 0.419285
+rnp_tests.test_ffi_encrypt_pk_key_provider 1 0.0952935
+rnp_tests.test_ffi_encrypt_and_sign 1 0.433342
+rnp_tests.test_ffi_encrypt_pk_subkey_selection 1 0.101834
+rnp_tests.test_ffi_decrypt_small_rsa 1 0.0998147
+rnp_tests.test_ffi_decrypt_small_eg 1 0.157271
+rnp_tests.test_ffi_encrypt_no_wrap 1 0.111417
+rnp_tests.test_ffi_v5_signatures 1 0.0794383
+rnp_tests.test_ffi_mimemode_signature 1 0.0663755
+rnp_tests.test_ffi_uid_properties 1 0.0899315
+rnp_tests.test_ffi_uid_validity 1 0.0963514
+rnp_tests.test_ffi_remove_uid 1 0.0842163
+rnp_tests.test_ffi_key_signatures 1 0.0837253
+rnp_tests.test_ffi_import_signatures 1 0.0788825
+rnp_tests.test_ffi_export_revocation 1 0.274347
+rnp_tests.test_ffi_sig_validity 1 0.0738878
+rnp_tests.test_ffi_get_signature_type 1 0.0638204
+rnp_tests.test_ffi_remove_signature 1 0.0623069
+rnp_tests.test_ffi_remove_signatures 1 0.0973207
+rnp_tests.test_ffi_rsa_small_sig 1 0.0562124
+rnp_tests.test_ffi_key_critical_notations 1 0.060853
+rnp_tests.test_ffi_key_import_invalid_issuer 1 0.0552745
+rnp_tests.test_ffi_add_revoker_signature 1 0.275702
+rnp_tests.test_ffi_create_revocation_signature 1 0.381889
+rnp_tests.test_ffi_key_set_expiry_multiple_uids 1 0.228723
+rnp_tests.test_ffi_key_primary_uid_conflict 1 0.0521879
+rnp_tests.test_ffi_key_expired_certification_and_direct_sig 1 0.0560315
+rnp_tests.test_ffi_key_25519_tweaked_bits 1 0.0598532
+rnp_tests.test_ffi_key_revoke 1 0.241907
+rnp_tests.test_ffi_key_set_expiry 1 0.9013
+rnp_tests.test_ffi_key_get_protection_info 1 0.27357
+rnp_tests.test_ffi_key_default_subkey 1 0.069285
+rnp_tests.test_ffi_rnp_key_get_primary_grip 1 0.0573444
+rnp_tests.test_ffi_rnp_key_get_primary_fprint 1 0.0587336
+rnp_tests.test_ffi_keygen_json_pair 1 0.100727
+rnp_tests.test_ffi_keygen_json_pair_dsa_elg 1 1.2046
+rnp_tests.test_ffi_keygen_json_primary 1 0.0570528
+rnp_tests.test_ffi_keygen_json_sub 1 0.105896
+rnp_tests.test_ffi_keygen_json_edge_cases 1 0.481129
+rnp_tests.test_ffi_key_generate_misc 1 1.36571
+rnp_tests.test_ffi_sec_key_offline_operations 1 0.0578503
+rnp_tests.test_ffi_key_generate_rsa 1 0.450796
+rnp_tests.test_ffi_key_generate_dsa 1 1.64626
+rnp_tests.test_ffi_key_generate_ecdsa 1 0.0596838
+rnp_tests.test_ffi_key_generate_eddsa 1 0.0528663
+rnp_tests.test_ffi_key_generate_sm2 1 0.0638762
+rnp_tests.test_ffi_key_generate_ex 1 1.34571
+rnp_tests.test_ffi_key_generate_expiry_32bit 1 0.411246
+rnp_tests.test_ffi_key_generate_algnamecase 1 5.67423
+rnp_tests.test_ffi_key_generate_protection 1 2.10103
+rnp_tests.test_ffi_keygen_json_sub_pass_required 1 0.64867
+rnp_tests.test_ffi_key_to_json 1 0.0600828
+rnp_tests.test_ffi_key_iter 1 0.0595189
+rnp_tests.test_ffi_key_export 1 0.0682494
+rnp_tests.test_ffi_keys_import 1 0.140811
+rnp_tests.test_ffi_elgamal4096 1 0.0969759
+rnp_tests.test_ffi_malformed_keys_import 1 0.0974172
+rnp_tests.test_ffi_iterated_key_import 1 0.0849072
+rnp_tests.test_ffi_stripped_keys_import 1 0.0618674
+rnp_tests.test_ffi_key_import_edge_cases 1 0.0666304
+rnp_tests.test_ffi_key_import_gpg_s2k 1 0.171083
+rnp_tests.test_ffi_key_export_autocrypt 1 0.0843988
+rnp_tests.test_ffi_keys_import_autocrypt 1 0.0807794
+rnp_tests.test_ffi_keys_load_armored_spaces 1 0.0639208
+rnp_tests.test_ffi_sha1_self_signatures 1 0.0566181
+rnp_tests.test_reprotect_keys 1 0.169671
+rnp_tests.test_v5_keys 1 0.113168
+rnp_tests.test_v5_keys_g23 1 0.0564502
+rnp_tests.test_v5_sec_keys 1 0.174487
+rnp_tests.test_ffi_designated_revokers 1 0.100705
+rnp_tests.test_armored_keys_extra_line 1 0.0545483
+rnp_tests.test_rnp_mkstemp 1 0.0576969
+rnp_tests.test_rnp_access 1 0.0543398
+rnp_tests.rnpkeys_generatekey_testSignature 1 1.88765
+rnp_tests.rnpkeys_generatekey_testEncryption 1 0.897512
+rnp_tests.rnpkeys_generatekey_verifySupportedHashAlg 1 1.53802
+rnp_tests.rnpkeys_generatekey_verifyUserIdOption 1 0.816156
+rnp_tests.rnpkeys_generatekey_verifykeyHomeDirOption 1 0.266885
+rnp_tests.rnpkeys_generatekey_verifykeyKBXHomeDirOption 1 0.253346
+rnp_tests.rnpkeys_generatekey_verifykeyHomeDirNoPermission 1 0.156128
+rnp_tests.rnpkeys_generatekey_testExpertMode 1 3.81493
+rnp_tests.generatekeyECDSA_explicitlySetSmallOutputDigest_DigestAlgAdjusted 1 0.0674681
+rnp_tests.generatekey_multipleUserIds_ShouldFail 1 0.0532007
+rnp_tests.generatekeyECDSA_explicitlySetBiggerThanNeededDigest_ShouldSuceed 1 0.0640942
+rnp_tests.generatekeyECDSA_explicitlySetUnknownDigest_ShouldFail 1 0.0544535
+rnp_tests.test_generated_key_sigs 1 0.18236
+rnp_tests.test_kbx_nsigs 1 1.03666
+rnp_tests.test_key_add_userid 1 0.105604
+rnp_tests.key_grip 1 0.178417
+rnp_tests.test_key_prefs 1 0.085376
+rnp_tests.test_key_protect_load_pgp 1 0.786529
+rnp_tests.test_key_protect_sec_data 1 2.02161
+rnp_tests.test_key_store_search 1 0.086772
+rnp_tests.test_key_store_search_by_name 1 0.0843624
+rnp_tests.test_key_unlock_pgp 1 0.142326
+rnp_tests.test_key_validate 1 0.103531
+rnp_tests.test_forged_key_validate 1 0.102657
+rnp_tests.test_key_validity 1 0.0875055
+rnp_tests.test_key_expiry_direct_sig 1 0.201829
+rnp_tests.test_large_packet 1 20.5213
+rnp_tests.test_large_mpi_rsa_pub 1 0.176607
+rnp_tests.test_large_mpi_rsa_priv 1 9.62606
+rnp_tests.test_invalid_g10 1 0.0866966
+rnp_tests.test_load_g10 1 1.08319
+rnp_tests.test_load_g23 1 1.06343
+rnp_tests.test_invalid_kbx 1 0.068871
+rnp_tests.test_load_v3_keyring_pgp 1 0.0617961
+rnp_tests.test_load_v4_keyring_pgp 1 0.0715585
+rnp_tests.test_load_keyring_and_count_pgp 1 0.105306
+rnp_tests.test_load_check_bitfields_and_times 1 0.0920945
+rnp_tests.test_load_check_bitfields_and_times_v3 1 0.0799522
+rnp_tests.test_load_armored_pub_sec 1 0.0953846
+rnp_tests.test_load_merge 1 0.268064
+rnp_tests.test_load_public_from_secret 1 0.0899589
+rnp_tests.test_key_import 1 0.342799
+rnp_tests.test_load_subkey 1 0.08391
+rnp_tests.test_log_switch 1 0.0707515
+rnp_tests.test_partial_length_public_key 1 0.0614488
+rnp_tests.test_partial_length_signature 1 0.0892692
+rnp_tests.test_partial_length_first_packet_256 1 0.0876096
+rnp_tests.test_partial_length_zero_last_chunk 1 0.0874438
+rnp_tests.test_partial_length_largest 1 5.25782
+rnp_tests.test_partial_length_first_packet_length 1 0.0810939
+rnp_tests.test_pipe 1 0.0655857
+rnp_tests.test_pipe_source_error 1 0.0920565
+rnp_tests.test_pipe_dest_error 1 0.106324
+rnp_tests.test_rng_randomness 1 0.0624024
+rnp_tests.test_s2k_iterations 1 1.41568
+rnp_tests.test_stream_memory 1 0.0609506
+rnp_tests.test_stream_memory_discard 1 0.0587289
+rnp_tests.test_stream_file 1 0.0612378
+rnp_tests.test_stream_signatures 1 0.199259
+rnp_tests.test_stream_signatures_revoked_key 1 0.052128
+rnp_tests.test_stream_key_load 1 0.0555243
+rnp_tests.test_stream_key_load_errors 1 0.692865
+rnp_tests.test_stream_key_decrypt 1 0.491147
+rnp_tests.test_stream_key_encrypt 1 0.0651694
+rnp_tests.test_stream_key_signatures 1 0.0619741
+rnp_tests.test_stream_key_signature_validate 1 0.154242
+rnp_tests.test_stream_verify_no_key 1 0.0993917
+rnp_tests.test_y2k38 1 0.0569696
+rnp_tests.test_stream_dumper_y2k38 1 0.0517309
+rnp_tests.test_stream_dumper 1 0.0681261
+rnp_tests.test_stream_z 1 30.9159
+rnp_tests.test_stream_814_dearmor_double_free 1 0.0739404
+rnp_tests.test_stream_825_dearmor_blank_line 1 0.0689359
+rnp_tests.test_stream_dearmor_edge_cases 1 0.0539575
+rnp_tests.test_stream_deep_packet_nesting 1 1.94024
+rnp_tests.test_stream_cache 1 0.0552622
+rnp_tests.test_load_user_prefs 1 0.0838552
+rnp_tests.test_utils_hex2bin 1 0.107712
+rnp_tests.test_rnpcfg 1 0.0779768
+rnp_tests.test_rnpcfg_get_expiration 1 0.0595168
+rnp_tests.issue_1030_rnpkeys_secret_keys_unprotected 1 0.505222
+rnp_tests.test_issue_1115 1 0.0747748
+rnp_tests.test_issue_1171_key_import_and_remove 1 0.063471
+rnp_tests.test_sxp_depth 1 0.0555312
+rnp_tests.test_fuzz_keyring 1 6.54323
+rnp_tests.test_fuzz_keyring_g10 1 0.0573533
+rnp_tests.test_fuzz_keyring_kbx 1 0.0680579
+rnp_tests.test_fuzz_keyimport 1 5.97236
+rnp_tests.test_fuzz_sigimport 1 0.0686642
+rnp_tests.test_fuzz_dump 1 2.30632
+rnp_tests.test_fuzz_verify_detached 1 0.0784368
+rnp_tests.test_fuzz_verify 1 6.48424
+setupTestData 1 0.0687747
+cli_tests-SignDefault 1 19.551
+cli_tests-SignDSA 1 13.4998
+cli_tests-EncryptElgamal 1 6.53392
+cli_tests-Keystore 1 33.1293
+cli_tests-Encryption 1 85.3769
+cli_tests-Compression 1 30.5547
+cli_tests-EncryptEcdh 1 5.21128
+cli_tests-SignECDSA 1 5.14117
+cli_tests-EncryptSignRSA 1 3.70823
+cli_tests-Misc 1 46.4489
---
diff --git a/cmake/Modules/FindBotan.cmake b/cmake/Modules/FindBotan.cmake
new file mode 100644
index 0000000..4362b54
--- /dev/null
+++ b/cmake/Modules/FindBotan.cmake
@@ -0,0 +1,168 @@
+# Copyright (c) 2018-2020 Ribose Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+#.rst:
+# FindBotan
+# -----------
+#
+# Find the botan-2 or botan-3 library.
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` targets:
+#
+# ``Botan::Botan``
+# The botan-2 or botan-3 library, if found.
+#
+# Result variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables:
+#
+# ::
+#
+# BOTAN_FOUND - true if the headers and library were found
+# BOTAN_INCLUDE_DIRS - where to find headers
+# BOTAN_LIBRARIES - list of libraries to link
+# BOTAN_VERSION - library version that was found, if any
+#
+# Hints
+# ^^^^^
+#
+# These variables may be set to control search behaviour:
+#
+# ``BOTAN_ROOT_DIR``
+# Set to the root directory of the Botan installation.
+#
+
+# use pkg-config to get the directories and then use these values
+# in the find_path() and find_library() calls
+
+find_package(PkgConfig QUIET)
+
+# Search for the version 2 first unless version 3 requested
+if(NOT "${Botan_FIND_VERSION_MAJOR}" EQUAL "3")
+ pkg_check_modules(PC_BOTAN QUIET botan-2)
+ set(_suffixes "botan-2" "botan-3")
+ set(_names "botan-2" "libbotan-2" "botan-3" "libbotan-3")
+else()
+ set(_suffixes "botan-3")
+ set(_names "botan-3" "libbotan-3")
+endif()
+if(NOT PC_BOTAN_FOUND)
+ pkg_check_modules(PC_BOTAN QUIET botan-3)
+endif()
+
+if(DEFINED BOTAN_ROOT_DIR)
+ set(_hints_include "${BOTAN_ROOT_DIR}/include")
+ set(_hints_lib "${BOTAN_ROOT_DIR}/lib")
+endif()
+if(DEFINED ENV{BOTAN_ROOT_DIR})
+ list(APPEND _hints_include "$ENV{BOTAN_ROOT_DIR}/include")
+ list(APPEND _hints_lib "$ENV{BOTAN_ROOT_DIR}/lib")
+endif()
+
+# Append PC_* stuff only if BOTAN_ROOT_DIR is not specified
+if(NOT _hints_include)
+ list(APPEND _hints_include ${PC_BOTAN_INCLUDEDIR} ${PC_BOTAN_INCLUDE_DIRS})
+ list(APPEND _hints_lib ${PC_BOTAN_LIBDIR} ${PC_BOTAN_LIBRARY_DIRS})
+else()
+ set(_no_def_path "NO_DEFAULT_PATH")
+endif()
+
+# find the headers
+find_path(BOTAN_INCLUDE_DIR
+ NAMES botan/version.h
+ HINTS
+ ${_hints_include}
+ PATH_SUFFIXES ${_suffixes}
+ ${_no_def_path}
+)
+
+# find the library
+if(MSVC)
+ find_library(BOTAN_LIBRARY
+ NAMES botan ${_names}
+ HINTS
+ ${_hints_lib}
+ ${_no_def_path}
+ )
+else()
+ find_library(BOTAN_LIBRARY
+ NAMES
+ ${_names}
+ HINTS
+ ${_hints_lib}
+ ${_no_def_path}
+ )
+endif()
+
+# determine the version
+if(BOTAN_INCLUDE_DIR AND EXISTS "${BOTAN_INCLUDE_DIR}/botan/build.h")
+ file(STRINGS "${BOTAN_INCLUDE_DIR}/botan/build.h" botan_version_str
+ REGEX "^#define[\t ]+(BOTAN_VERSION_[A-Z]+)[\t ]+[0-9]+")
+
+ string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MAJOR[\t ]+([0-9]+).*"
+ "\\1" _botan_version_major "${botan_version_str}")
+ string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MINOR[\t ]+([0-9]+).*"
+ "\\1" _botan_version_minor "${botan_version_str}")
+ string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_PATCH[\t ]+([0-9]+).*"
+ "\\1" _botan_version_patch "${botan_version_str}")
+ set(BOTAN_VERSION "${_botan_version_major}.${_botan_version_minor}.${_botan_version_patch}"
+ CACHE INTERNAL "The version of Botan which was detected")
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Botan
+ REQUIRED_VARS BOTAN_LIBRARY BOTAN_INCLUDE_DIR
+ VERSION_VAR BOTAN_VERSION
+)
+
+if (BOTAN_FOUND)
+ set(BOTAN_INCLUDE_DIRS ${BOTAN_INCLUDE_DIR} ${PC_BOTAN_INCLUDE_DIRS})
+ set(BOTAN_LIBRARIES ${BOTAN_LIBRARY})
+endif()
+
+if (BOTAN_FOUND AND NOT TARGET Botan::Botan)
+ # create the new library target
+ add_library(Botan::Botan UNKNOWN IMPORTED)
+ # set the required include dirs for the target
+ if (BOTAN_INCLUDE_DIRS)
+ set_target_properties(Botan::Botan
+ PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${BOTAN_INCLUDE_DIRS}"
+ )
+ endif()
+ # set the required libraries for the target
+ if (EXISTS "${BOTAN_LIBRARY}")
+ set_target_properties(Botan::Botan
+ PROPERTIES
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+ IMPORTED_LOCATION "${BOTAN_LIBRARY}"
+ )
+ endif()
+endif()
+
+mark_as_advanced(BOTAN_INCLUDE_DIR BOTAN_LIBRARY)
diff --git a/cmake/Modules/FindBotan2.cmake b/cmake/Modules/FindBotan2.cmake
deleted file mode 100644
index 2708491..0000000
--- a/cmake/Modules/FindBotan2.cmake
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright (c) 2018-2020 Ribose Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-#.rst:
-# FindBotan2
-# -----------
-#
-# Find the botan-2 library.
-#
-# IMPORTED Targets
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines :prop_tgt:`IMPORTED` targets:
-#
-# ``Botan2::Botan2``
-# The botan-2 library, if found.
-#
-# Result variables
-# ^^^^^^^^^^^^^^^^
-#
-# This module defines the following variables:
-#
-# ::
-#
-# BOTAN2_FOUND - true if the headers and library were found
-# BOTAN2_INCLUDE_DIRS - where to find headers
-# BOTAN2_LIBRARIES - list of libraries to link
-# BOTAN2_VERSION - library version that was found, if any
-
-# use pkg-config to get the directories and then use these values
-# in the find_path() and find_library() calls
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_BOTAN2 QUIET botan-2)
-
-# find the headers
-find_path(BOTAN2_INCLUDE_DIR
- NAMES botan/version.h
- HINTS
- ${PC_BOTAN2_INCLUDEDIR}
- ${PC_BOTAN2_INCLUDE_DIRS}
- PATH_SUFFIXES botan-2
-)
-
-# find the library
-if(MSVC)
- find_library(BOTAN2_LIBRARY
- NAMES botan
- HINTS
- ${PC_BOTAN2_LIBDIR}
- ${PC_BOTAN2_LIBRARY_DIRS}
- )
-else()
- find_library(BOTAN2_LIBRARY
- NAMES botan-2 libbotan-2
- HINTS
- ${PC_BOTAN2_LIBDIR}
- ${PC_BOTAN2_LIBRARY_DIRS}
- )
-endif()
-
-# determine the version
-if(PC_BOTAN2_VERSION)
- set(BOTAN2_VERSION ${PC_BOTAN2_VERSION})
-elseif(BOTAN2_INCLUDE_DIR AND EXISTS "${BOTAN2_INCLUDE_DIR}/botan/build.h")
- file(STRINGS "${BOTAN2_INCLUDE_DIR}/botan/build.h" botan2_version_str
- REGEX "^#define[\t ]+(BOTAN_VERSION_[A-Z]+)[\t ]+[0-9]+")
-
- string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MAJOR[\t ]+([0-9]+).*"
- "\\1" _botan2_version_major "${botan2_version_str}")
- string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MINOR[\t ]+([0-9]+).*"
- "\\1" _botan2_version_minor "${botan2_version_str}")
- string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_PATCH[\t ]+([0-9]+).*"
- "\\1" _botan2_version_patch "${botan2_version_str}")
- set(BOTAN2_VERSION "${_botan2_version_major}.${_botan2_version_minor}.${_botan2_version_patch}"
- CACHE INTERNAL "The version of Botan which was detected")
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Botan2
- REQUIRED_VARS BOTAN2_LIBRARY BOTAN2_INCLUDE_DIR
- VERSION_VAR BOTAN2_VERSION
-)
-
-if (BOTAN2_FOUND)
- set(BOTAN2_INCLUDE_DIRS ${BOTAN2_INCLUDE_DIR} ${PC_BOTAN2_INCLUDE_DIRS})
- set(BOTAN2_LIBRARIES ${BOTAN2_LIBRARY})
-endif()
-
-if (BOTAN2_FOUND AND NOT TARGET Botan2::Botan2)
- # create the new library target
- add_library(Botan2::Botan2 UNKNOWN IMPORTED)
- # set the required include dirs for the target
- if (BOTAN2_INCLUDE_DIRS)
- set_target_properties(Botan2::Botan2
- PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${BOTAN2_INCLUDE_DIRS}"
- )
- endif()
- # set the required libraries for the target
- if (EXISTS "${BOTAN2_LIBRARY}")
- set_target_properties(Botan2::Botan2
- PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION "${BOTAN2_LIBRARY}"
- )
- endif()
-endif()
-
-mark_as_advanced(BOTAN2_INCLUDE_DIR BOTAN2_LIBRARY)
-
diff --git a/cmake/Modules/FindOpenSSLFeatures.cmake b/cmake/Modules/FindOpenSSLFeatures.cmake
index 6967764..c3e3e33 100644
--- a/cmake/Modules/FindOpenSSLFeatures.cmake
+++ b/cmake/Modules/FindOpenSSLFeatures.cmake
@@ -74,7 +74,6 @@ file(WRITE "${_fossl_work_dir}/CMakeLists.txt"
"cmake_minimum_required(VERSION 3.18)\n\
project(findopensslfeatures LANGUAGES C)\n\
set(CMAKE_C_STANDARD 99)\n\
-include(FindOpenSSL)\n\
find_package(OpenSSL REQUIRED)\n\
add_executable(findopensslfeatures findopensslfeatures.c)\n\
target_include_directories(findopensslfeatures PRIVATE ${OPENSSL_INCLUDE_DIR})\n\
@@ -139,7 +138,7 @@ else(WIN32 AND NOT MINGW)
set(FOF "build/findopensslfeatures")
endif(WIN32 AND NOT MINGW)
-foreach(feature "hashes" "ciphers" "curves" "publickey")
+foreach(feature "hashes" "ciphers" "curves" "publickey" "providers")
execute_process(
COMMAND "${FOF}" "${feature}"
WORKING_DIRECTORY "${_fossl_work_dir}"
@@ -160,7 +159,7 @@ foreach(feature "hashes" "ciphers" "curves" "publickey")
list(APPEND OPENSSL_SUPPORTED_FEATURES ${OPENSSL_SUPPORTED_${feature_up}})
endforeach()
-message(STATUS "Fetched OpenSSL features: ${hashes_len} hashes, ${ciphers_len} ciphers, ${curves_len} curves, ${publickey_len} publickey.")
+message(STATUS "Fetched OpenSSL features: ${hashes_len} hashes, ${ciphers_len} ciphers, ${curves_len} curves, ${publickey_len} publickey, ${providers_len} providers.")
function(OpenSSLHasFeature FEATURE VARIABLE)
string(TOUPPER ${FEATURE} _feature_up)
diff --git a/cmake/Modules/findopensslfeatures.c b/cmake/Modules/findopensslfeatures.c
index 390f1d2..ed7eb8e 100644
--- a/cmake/Modules/findopensslfeatures.c
+++ b/cmake/Modules/findopensslfeatures.c
@@ -4,6 +4,9 @@
#include <openssl/ec.h>
#include <openssl/objects.h>
#include <openssl/evp.h>
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+#include <openssl/provider.h>
+#endif
int
list_curves()
@@ -65,15 +68,57 @@ list_ciphers()
return 0;
}
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+static void
+print_km_name(const char *name, void *param)
+{
+ /* Do not print OIDs for better clarity */
+ if (!name || ((name[0] <= '9') && (name[0] >= '0'))) {
+ return;
+ }
+ printf("%s\n", name);
+}
+
+static void
+print_km(EVP_KEYMGMT *km, void *param)
+{
+ EVP_KEYMGMT_names_do_all(km, print_km_name, NULL);
+}
+#endif
+
int
list_publickey()
{
+#if OPENSSL_VERSION_NUMBER < 0x30000000L
for (size_t i = 0; i < EVP_PKEY_meth_get_count(); i++) {
const EVP_PKEY_METHOD *pmeth = EVP_PKEY_meth_get0(i);
int id = 0;
EVP_PKEY_meth_get0_info(&id, NULL, pmeth);
printf("%s\n", OBJ_nid2ln(id));
}
+#else
+ EVP_KEYMGMT_do_all_provided(NULL, print_km, NULL);
+#endif
+ return 0;
+}
+
+int
+list_providers()
+{
+ printf("default\n");
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ const char *known_names[] = {"legacy", "fips"};
+ for (size_t i = 0; i < sizeof(known_names) / sizeof(known_names[0]); i++) {
+ OSSL_PROVIDER *prov = OSSL_PROVIDER_load(NULL, known_names[i]);
+ if (prov) {
+ printf("%s\n", known_names[i]);
+ OSSL_PROVIDER_unload(prov);
+ }
+ }
+#else
+ /* OpenSSL < 3.0 includes all legacy algorithms in the default provider */
+ printf("legacy\n");
+#endif
return 0;
}
@@ -81,7 +126,8 @@ int
main(int argc, char *argv[])
{
if (argc != 2) {
- fprintf(stderr, "Usage: opensslfeatures [curves|hashes|ciphers|publickey]\n");
+ fprintf(stderr,
+ "Usage: opensslfeatures [curves|hashes|ciphers|publickey|providers]\n");
return 1;
}
if (!strcmp(argv[1], "hashes")) {
@@ -96,6 +142,9 @@ main(int argc, char *argv[])
if (!strcmp(argv[1], "publickey")) {
return list_publickey();
}
+ if (!strcmp(argv[1], "providers")) {
+ return list_providers();
+ }
fprintf(stderr, "Unknown command: %s\n", argv[1]);
return 1;
}
diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake
index 2180845..edea2a7 100644
--- a/cmake/packaging.cmake
+++ b/cmake/packaging.cmake
@@ -31,6 +31,7 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PACKAGE_DESCRIPTION_SHORT}")
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
set(CPACK_PACKAGE_FILE_NAME "rnp-${CPACK_PACKAGE_VERSION}")
set(CPACK_PACKAGE_NAME "rnp${PROJECT_VERSION_MAJOR}")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "rnp-v${CPACK_PACKAGE_VERSION}")
set(CPACK_SOURCE_IGNORE_FILES "/installs/;/build/;/\\\\.git/;\\\\.#;/#")