diff --git a/ports/nettle/compile.patch b/ports/nettle/compile.patch index 9303c2a9d6..168214f5bc 100644 --- a/ports/nettle/compile.patch +++ b/ports/nettle/compile.patch @@ -1,16 +1,3 @@ -diff --git a/examples/Makefile.in b/examples/Makefile.in -index eb6a81790..1d927079c 100644 ---- a/examples/Makefile.in -+++ b/examples/Makefile.in -@@ -11,7 +11,7 @@ PRE_CPPFLAGS = -I.. -I$(top_srcdir) - PRE_LDFLAGS = -L.. - - OPENSSL_LIBFLAGS = @OPENSSL_LIBFLAGS@ --BENCH_LIBS = @BENCH_LIBS@ -lm -+BENCH_LIBS = @BENCH_LIBS@ - - HOGWEED_TARGETS = rsa-keygen$(EXEEXT) rsa-sign$(EXEEXT) \ - rsa-verify$(EXEEXT) rsa-encrypt$(EXEEXT) rsa-decrypt$(EXEEXT) \ diff --git a/streebog.c b/streebog.c index 7ad619d5e..85609a473 100644 --- a/streebog.c diff --git a/ports/nettle/hogweed-x64.def b/ports/nettle/hogweed-x64.def index 14a8bcad7e..e8a7a07381 100644 --- a/ports/nettle/hogweed-x64.def +++ b/ports/nettle/hogweed-x64.def @@ -14,18 +14,18 @@ EXPORTS nettle_ed25519_sha512_sign nettle_ed25519_sha512_public_key _nettle_ed25519_sha512 - _nettle_eddsa_verify _nettle_eddsa_verify_itch - _nettle_eddsa_sign + _nettle_eddsa_verify _nettle_eddsa_sign_itch - _nettle_eddsa_public_key + _nettle_eddsa_sign _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key _nettle_eddsa_hash _nettle_eddsa_expand_key - _nettle_eddsa_decompress _nettle_eddsa_decompress_itch - _nettle_eddsa_compress + _nettle_eddsa_decompress _nettle_eddsa_compress_itch + _nettle_eddsa_compress _nettle_curve448_eh_to_x nettle_curve448_mul nettle_curve448_mul_g @@ -34,30 +34,30 @@ EXPORTS nettle_curve25519_mul_g nettle_gostdsa_vko nettle_gostdsa_verify - nettle_ecc_gostdsa_verify nettle_ecc_gostdsa_verify_itch + nettle_ecc_gostdsa_verify nettle_gostdsa_sign - nettle_ecc_gostdsa_sign nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign nettle_ecdsa_generate_keypair nettle_ecdsa_verify - nettle_ecc_ecdsa_verify nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify nettle_ecdsa_sign - nettle_ecc_ecdsa_sign nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign nettle_ecc_point_mul_g nettle_ecc_point_mul - nettle_ecc_scalar_clear - nettle_ecc_scalar_get nettle_ecc_scalar_init + nettle_ecc_scalar_clear nettle_ecc_scalar_set - nettle_ecc_point_clear - nettle_ecc_point_get + nettle_ecc_scalar_get nettle_ecc_point_init + nettle_ecc_point_clear nettle_ecc_point_set - _nettle_ecc_mod_random + nettle_ecc_point_get nettle_ecc_scalar_random + _nettle_ecc_mod_random _nettle_ecc_hash _nettle_gost_hash _nettle_ecc_mul_a @@ -99,70 +99,71 @@ EXPORTS _nettle_curve25519 _nettle_ecc_pm1_redc _nettle_ecc_pp1_redc + _nettle_ecc_mod_zero_p + _nettle_ecc_mod_equal_p _nettle_ecc_mod_add - _nettle_ecc_mod_addmul_1 - _nettle_ecc_mod_mul + _nettle_ecc_mod_sub _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical _nettle_ecc_mod_pow_2k _nettle_ecc_mod_pow_2k_mul - _nettle_ecc_mod_sqr - _nettle_ecc_mod_sqr_canonical - _nettle_ecc_mod_sub - _nettle_ecc_mod_submul_1 _nettle_ecc_mod_inv _nettle_ecc_mod _nettle_cnd_copy - _nettle_gmp_alloc - _nettle_gmp_alloc_limbs - _nettle_gmp_free - _nettle_gmp_free_limbs - _nettle_mpn_get_base256 - _nettle_mpn_get_base256_le + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n _nettle_mpn_set_base256 _nettle_mpn_set_base256_le - _nettle_mpz_limbs_cmp - _nettle_mpz_limbs_copy - _nettle_mpz_limbs_read_n - _nettle_mpz_set_n + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free _nettle_sec_tabselect _nettle_sec_sub_1 _nettle_sec_add_1 - nettle_dsa_openssl_private_key_from_der_iterator nettle_dsa_params_from_der_iterator nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator nettle_openssl_provate_key_from_der - nettle_rsa_keypair_from_der - nettle_rsa_private_key_from_der_iterator nettle_rsa_public_key_from_der_iterator - nettle_asn1_der_decode_bitstring - nettle_asn1_der_decode_bitstring_last - nettle_asn1_der_decode_constructed - nettle_asn1_der_decode_constructed_last + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der nettle_asn1_der_get_bignum - nettle_asn1_der_get_uint32 nettle_asn1_der_iterator_first nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 nettle_rsa_keypair_to_openpgp - nettle_pgp_armor - nettle_pgp_crc24 + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length nettle_pgp_put_header nettle_pgp_put_header_length - nettle_pgp_put_length - nettle_pgp_put_mpi + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end nettle_pgp_put_public_rsa_key nettle_pgp_put_rsa_sha1_signature - nettle_pgp_put_string - nettle_pgp_put_sub_packet - nettle_pgp_put_uint16 - nettle_pgp_put_uint32 nettle_pgp_put_userid - nettle_pgp_sub_packet_end - nettle_pgp_sub_packet_start + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp nettle_dsa_keypair_from_sexp_alist nettle_dsa_sha1_keypair_from_sexp nettle_dsa_sha256_keypair_from_sexp - nettle_dsa_signature_from_sexp nettle_dsa_keypair_to_sexp nettle_dsa_sha256_verify nettle_dsa_sha256_verify_digest @@ -178,16 +179,16 @@ EXPORTS nettle_dsa_sign nettle_dsa_generate_params nettle_dsa_compat_generate_keypair - nettle_dsa_private_key_clear - nettle_dsa_private_key_init - nettle_dsa_public_key_clear nettle_dsa_public_key_init - nettle_dsa_params_clear + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear nettle_dsa_params_init - nettle_dsa_signature_clear + nettle_dsa_params_clear nettle_dsa_signature_init - nettle_rsa_keypair_from_sexp + nettle_dsa_signature_clear nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp nettle_rsa_keypair_to_sexp _nettle_rsa_blind _nettle_rsa_unblind @@ -204,45 +205,45 @@ EXPORTS nettle_rsa_pss_sha256_sign_digest_tr nettle_rsa_sha512_verify nettle_rsa_sha512_verify_digest - nettle_rsa_sha512_sign_digest_tr nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign_digest_tr nettle_rsa_sha512_sign nettle_rsa_sha512_sign_digest nettle_rsa_sha256_verify nettle_rsa_sha256_verify_digest - nettle_rsa_sha256_sign_digest_tr nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr nettle_rsa_sha256_sign nettle_rsa_sha256_sign_digest nettle_rsa_sha1_verify nettle_rsa_sha1_verify_digest - nettle_rsa_sha1_sign_digest_tr nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr nettle_rsa_sha1_sign nettle_rsa_sha1_sign_digest nettle_rsa_md5_verify nettle_rsa_md5_verify_digest - nettle_rsa_md5_sign_digest_tr nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_tr nettle_rsa_md5_sign nettle_rsa_md5_sign_digest nettle_rsa_pkcs1_verify nettle_rsa_pkcs1_sign_tr nettle_rsa_pkcs1_sign - _nettle_rsa_sec_compute_root _nettle_rsa_sec_compute_root_itch + _nettle_rsa_sec_compute_root _nettle_rsa_verify _nettle_rsa_verify_recover - _nettle_rsa_sec_compute_root_tr nettle_rsa_compute_root_tr - nettle_rsa_compute_root - nettle_rsa_private_key_clear + _nettle_rsa_sec_compute_root_tr nettle_rsa_private_key_init + nettle_rsa_private_key_clear nettle_rsa_private_key_prepare - _nettle_rsa_check_size - nettle_rsa_public_key_clear + nettle_rsa_compute_root nettle_rsa_public_key_init + nettle_rsa_public_key_clear nettle_rsa_public_key_prepare + _nettle_rsa_check_size nettle_pss_mgf1 nettle_pss_encode_mgf1 nettle_pss_verify_mgf1 @@ -261,28 +262,28 @@ EXPORTS nettle_pkcs1_encrypt _nettle_pkcs1_signature_prefix nettle_mpz_set_sexp - _nettle_generate_pocklington_prime nettle_random_prime - nettle_mpz_random + _nettle_generate_pocklington_prime nettle_mpz_random_size - nettle_mpz_get_str_256 - nettle_mpz_init_set_str_256_s - nettle_mpz_init_set_str_256_u - nettle_mpz_set_str_256_s - nettle_mpz_set_str_256_u + nettle_mpz_random nettle_mpz_sizeinbase_256_s nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u nettle_sexp_transport_format nettle_sexp_transport_vformat nettle_sexp_transport_iterator_first nettle_sexp_format nettle_sexp_vformat - nettle_sexp_iterator_assoc - nettle_sexp_iterator_check_type - nettle_sexp_iterator_check_types + nettle_sexp_iterator_first + nettle_sexp_iterator_next nettle_sexp_iterator_enter_list nettle_sexp_iterator_exit_list - nettle_sexp_iterator_first - nettle_sexp_iterator_get_uint32 - nettle_sexp_iterator_next nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + nettle_sexp_iterator_check_type + nettle_sexp_iterator_check_types + nettle_sexp_iterator_assoc diff --git a/ports/nettle/hogweed-x86.def b/ports/nettle/hogweed-x86.def index 8824a537c8..5aab08fa11 100644 --- a/ports/nettle/hogweed-x86.def +++ b/ports/nettle/hogweed-x86.def @@ -7,18 +7,18 @@ EXPORTS nettle_ed25519_sha512_sign nettle_ed25519_sha512_public_key _nettle_ed25519_sha512 - _nettle_eddsa_verify _nettle_eddsa_verify_itch - _nettle_eddsa_sign + _nettle_eddsa_verify _nettle_eddsa_sign_itch - _nettle_eddsa_public_key + _nettle_eddsa_sign _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key _nettle_eddsa_hash _nettle_eddsa_expand_key - _nettle_eddsa_decompress _nettle_eddsa_decompress_itch - _nettle_eddsa_compress + _nettle_eddsa_decompress _nettle_eddsa_compress_itch + _nettle_eddsa_compress _nettle_curve448_eh_to_x nettle_curve448_mul nettle_curve448_mul_g @@ -27,30 +27,30 @@ EXPORTS nettle_curve25519_mul_g nettle_gostdsa_vko nettle_gostdsa_verify - nettle_ecc_gostdsa_verify nettle_ecc_gostdsa_verify_itch + nettle_ecc_gostdsa_verify nettle_gostdsa_sign - nettle_ecc_gostdsa_sign nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign nettle_ecdsa_generate_keypair nettle_ecdsa_verify - nettle_ecc_ecdsa_verify nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify nettle_ecdsa_sign - nettle_ecc_ecdsa_sign nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign nettle_ecc_point_mul_g nettle_ecc_point_mul - nettle_ecc_scalar_clear - nettle_ecc_scalar_get nettle_ecc_scalar_init + nettle_ecc_scalar_clear nettle_ecc_scalar_set - nettle_ecc_point_clear - nettle_ecc_point_get + nettle_ecc_scalar_get nettle_ecc_point_init + nettle_ecc_point_clear nettle_ecc_point_set - _nettle_ecc_mod_random + nettle_ecc_point_get nettle_ecc_scalar_random + _nettle_ecc_mod_random _nettle_ecc_hash _nettle_gost_hash _nettle_ecc_mul_a @@ -92,70 +92,71 @@ EXPORTS _nettle_curve25519 _nettle_ecc_pm1_redc _nettle_ecc_pp1_redc + _nettle_ecc_mod_zero_p + _nettle_ecc_mod_equal_p _nettle_ecc_mod_add - _nettle_ecc_mod_addmul_1 - _nettle_ecc_mod_mul + _nettle_ecc_mod_sub _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical _nettle_ecc_mod_pow_2k _nettle_ecc_mod_pow_2k_mul - _nettle_ecc_mod_sqr - _nettle_ecc_mod_sqr_canonical - _nettle_ecc_mod_sub - _nettle_ecc_mod_submul_1 _nettle_ecc_mod_inv _nettle_ecc_mod _nettle_cnd_copy - _nettle_gmp_alloc - _nettle_gmp_alloc_limbs - _nettle_gmp_free - _nettle_gmp_free_limbs - _nettle_mpn_get_base256 - _nettle_mpn_get_base256_le + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n _nettle_mpn_set_base256 _nettle_mpn_set_base256_le - _nettle_mpz_limbs_cmp - _nettle_mpz_limbs_copy - _nettle_mpz_limbs_read_n - _nettle_mpz_set_n + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free _nettle_sec_tabselect _nettle_sec_sub_1 _nettle_sec_add_1 - nettle_dsa_openssl_private_key_from_der_iterator nettle_dsa_params_from_der_iterator nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator nettle_openssl_provate_key_from_der - nettle_rsa_keypair_from_der - nettle_rsa_private_key_from_der_iterator nettle_rsa_public_key_from_der_iterator - nettle_asn1_der_decode_bitstring - nettle_asn1_der_decode_bitstring_last - nettle_asn1_der_decode_constructed - nettle_asn1_der_decode_constructed_last + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der nettle_asn1_der_get_bignum - nettle_asn1_der_get_uint32 nettle_asn1_der_iterator_first nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 nettle_rsa_keypair_to_openpgp - nettle_pgp_armor - nettle_pgp_crc24 + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length nettle_pgp_put_header nettle_pgp_put_header_length - nettle_pgp_put_length - nettle_pgp_put_mpi + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end nettle_pgp_put_public_rsa_key nettle_pgp_put_rsa_sha1_signature - nettle_pgp_put_string - nettle_pgp_put_sub_packet - nettle_pgp_put_uint16 - nettle_pgp_put_uint32 nettle_pgp_put_userid - nettle_pgp_sub_packet_end - nettle_pgp_sub_packet_start + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp nettle_dsa_keypair_from_sexp_alist nettle_dsa_sha1_keypair_from_sexp nettle_dsa_sha256_keypair_from_sexp - nettle_dsa_signature_from_sexp nettle_dsa_keypair_to_sexp nettle_dsa_sha256_verify nettle_dsa_sha256_verify_digest @@ -171,16 +172,16 @@ EXPORTS nettle_dsa_sign nettle_dsa_generate_params nettle_dsa_compat_generate_keypair - nettle_dsa_private_key_clear - nettle_dsa_private_key_init - nettle_dsa_public_key_clear nettle_dsa_public_key_init - nettle_dsa_params_clear + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear nettle_dsa_params_init - nettle_dsa_signature_clear + nettle_dsa_params_clear nettle_dsa_signature_init - nettle_rsa_keypair_from_sexp + nettle_dsa_signature_clear nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp nettle_rsa_keypair_to_sexp _nettle_rsa_blind _nettle_rsa_unblind @@ -197,45 +198,45 @@ EXPORTS nettle_rsa_pss_sha256_sign_digest_tr nettle_rsa_sha512_verify nettle_rsa_sha512_verify_digest - nettle_rsa_sha512_sign_digest_tr nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign_digest_tr nettle_rsa_sha512_sign nettle_rsa_sha512_sign_digest nettle_rsa_sha256_verify nettle_rsa_sha256_verify_digest - nettle_rsa_sha256_sign_digest_tr nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr nettle_rsa_sha256_sign nettle_rsa_sha256_sign_digest nettle_rsa_sha1_verify nettle_rsa_sha1_verify_digest - nettle_rsa_sha1_sign_digest_tr nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr nettle_rsa_sha1_sign nettle_rsa_sha1_sign_digest nettle_rsa_md5_verify nettle_rsa_md5_verify_digest - nettle_rsa_md5_sign_digest_tr nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_tr nettle_rsa_md5_sign nettle_rsa_md5_sign_digest nettle_rsa_pkcs1_verify nettle_rsa_pkcs1_sign_tr nettle_rsa_pkcs1_sign - _nettle_rsa_sec_compute_root _nettle_rsa_sec_compute_root_itch + _nettle_rsa_sec_compute_root _nettle_rsa_verify _nettle_rsa_verify_recover - _nettle_rsa_sec_compute_root_tr nettle_rsa_compute_root_tr - nettle_rsa_compute_root - nettle_rsa_private_key_clear + _nettle_rsa_sec_compute_root_tr nettle_rsa_private_key_init + nettle_rsa_private_key_clear nettle_rsa_private_key_prepare - _nettle_rsa_check_size - nettle_rsa_public_key_clear + nettle_rsa_compute_root nettle_rsa_public_key_init + nettle_rsa_public_key_clear nettle_rsa_public_key_prepare + _nettle_rsa_check_size nettle_pss_mgf1 nettle_pss_encode_mgf1 nettle_pss_verify_mgf1 @@ -254,28 +255,28 @@ EXPORTS nettle_pkcs1_encrypt _nettle_pkcs1_signature_prefix nettle_mpz_set_sexp - _nettle_generate_pocklington_prime nettle_random_prime - nettle_mpz_random + _nettle_generate_pocklington_prime nettle_mpz_random_size - nettle_mpz_get_str_256 - nettle_mpz_init_set_str_256_s - nettle_mpz_init_set_str_256_u - nettle_mpz_set_str_256_s - nettle_mpz_set_str_256_u + nettle_mpz_random nettle_mpz_sizeinbase_256_s nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u nettle_sexp_transport_format nettle_sexp_transport_vformat nettle_sexp_transport_iterator_first nettle_sexp_format nettle_sexp_vformat - nettle_sexp_iterator_assoc - nettle_sexp_iterator_check_type - nettle_sexp_iterator_check_types + nettle_sexp_iterator_first + nettle_sexp_iterator_next nettle_sexp_iterator_enter_list nettle_sexp_iterator_exit_list - nettle_sexp_iterator_first - nettle_sexp_iterator_get_uint32 - nettle_sexp_iterator_next nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + nettle_sexp_iterator_check_type + nettle_sexp_iterator_check_types + nettle_sexp_iterator_assoc diff --git a/ports/nettle/install-dll.patch b/ports/nettle/install-dll.patch new file mode 100644 index 0000000000..1d75a8f9c8 --- /dev/null +++ b/ports/nettle/install-dll.patch @@ -0,0 +1,26 @@ +diff --git a/Makefile.in b/Makefile.in +index 6e1585b..88c8b05 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -491,8 +491,8 @@ install-static: $(LIBTARGETS) + done + + install-dll-nettle: +- $(MKDIR_P) $(DESTDIR)$(bindir) +- $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(bindir)/$(LIBNETTLE_FORLINK) ++ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin ++ $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBNETTLE_FORLINK) + + install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle + $(MKDIR_P) $(DESTDIR)$(libdir) +@@ -504,8 +504,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle + && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) + + install-dll-hogweed: +- $(MKDIR_P) $(DESTDIR)$(bindir) +- $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(bindir)/$(LIBHOGWEED_FORLINK) ++ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin ++ $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBHOGWEED_FORLINK) + + install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed + $(MKDIR_P) $(DESTDIR)$(libdir) diff --git a/ports/nettle/lib-to-def.cmake b/ports/nettle/lib-to-def.cmake new file mode 100644 index 0000000000..09d55c42b1 --- /dev/null +++ b/ports/nettle/lib-to-def.cmake @@ -0,0 +1,32 @@ +function(lib_to_def) + if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW OR NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + return() + endif() + + cmake_parse_arguments(PARSE_ARGV 0 arg "" "BASENAME;REGEX" "") + if(NOT arg_BASENAME) + message(FATAL_ERROR "BASENAME is a required argument.") + endif() + if(NOT arg_REGEX) + set(arg_REGEX "[^ ]+") + endif() + + set(logfile "${CURRENT_BUILDTREES_DIR}/dumpbin-${arg_BASENAME}-${TARGET_TRIPLET}-symbols.log") + vcpkg_execute_required_process( + COMMAND dumpbin /symbols "/OUT:${logfile}" "${CURRENT_PACKAGES_DIR}/lib/${arg_BASENAME}.lib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "dumpbin-${arg_BASENAME}-${TARGET_TRIPLET}" + ) + file(STRINGS "${logfile}" symbols REGEX "^... ........ SECT.. notype .. External [|] ${arg_REGEX}") + list(TRANSFORM symbols REPLACE "^[^|]+[|] " " ") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(REPLACE " _" " " symbols "${symbols}") + endif() + list(JOIN symbols "\n" symbols) + set(symbols "EXPORTS\n${symbols}\n") + file(READ "${CMAKE_CURRENT_LIST_DIR}/${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def" original_symbols) + if(NOT symbols STREQUAL original_symbols) + file(WRITE "${CURRENT_BUILDTREES_DIR}/${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def.log" "${symbols}") + message(SEND_ERROR "${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def has changed.") + endif() +endfunction() diff --git a/ports/nettle/libname-windows.patch b/ports/nettle/libname-windows.patch index 6a4e38cf4b..e8990ec9eb 100644 --- a/ports/nettle/libname-windows.patch +++ b/ports/nettle/libname-windows.patch @@ -1,17 +1,17 @@ diff --git a/Makefile.in b/Makefile.in -index b65ff4960..3887d0c8f 100644 +index 2f05c29..16a150c 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -27,7 +27,7 @@ PRE_CPPFLAGS = -I. +@@ -26,7 +26,7 @@ include config.make + PRE_CPPFLAGS = -I. EXTRA_CFLAGS = $(CCPIC) - # FIXME: Add configuration of LIBEXT? -LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a +LIBTARGETS = @IF_STATIC@ $(LIBNETTLE_FILE) @IF_HOGWEED@ $(LIBHOGWEED_FILE) SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK) getopt_SOURCES = getopt.c getopt1.c -@@ -277,13 +277,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \ +@@ -276,13 +276,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \ hogweed_OBJS = $(hogweed_SOURCES:.c=.$(OBJEXT)) \ $(OPT_HOGWEED_OBJS) @IF_MINI_GMP@ mini-gmp.$(OBJEXT) @@ -28,10 +28,10 @@ index b65ff4960..3887d0c8f 100644 $(AR) $(ARFLAGS) $@ $(hogweed_OBJS) $(RANLIB) $@ diff --git a/configure.ac b/configure.ac -index e95f1c825..1d7ef36bb 100644 +index c020afd..0fb201b 100644 --- a/configure.ac +++ b/configure.ac -@@ -662,8 +665,8 @@ case "$host_os" in +@@ -786,8 +786,8 @@ case "$host_os" in # linking to the DLL, is installed into the lib dir. case "$host_os" in mingw32*) @@ -42,7 +42,7 @@ index e95f1c825..1d7ef36bb 100644 ;; cygwin*) LIBNETTLE_FORLINK='cygnettle-$(LIBNETTLE_MAJOR).dll' -@@ -684,16 +687,16 @@ case "$host_os" in +@@ -808,16 +808,16 @@ case "$host_os" in W64_ABI=yes fi LIBNETTLE_SONAME='' @@ -50,8 +50,8 @@ index e95f1c825..1d7ef36bb 100644 + LIBNETTLE_FILE='nettle.lib' LIBNETTLE_FILE_SRC='$(LIBNETTLE_FILE)' - LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBNETTLE_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' -+ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:nettle.def' - LIBNETTLE_LIBS='-Wl,--no-whole-archive $(LIBS)' ++ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:nettle.def' + LIBNETTLE_LIBS='$(LIBS)' LIBHOGWEED_SONAME='' @@ -59,8 +59,8 @@ index e95f1c825..1d7ef36bb 100644 + LIBHOGWEED_FILE='hogweed.lib' LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FILE)' - LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBHOGWEED_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' -+ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:hogweed.def' - LIBHOGWEED_LIBS='-Wl,--no-whole-archive $(LIBS) libnettle.dll.a' ++ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:hogweed.def' + LIBHOGWEED_LIBS='$(LIBS) $(LIBNETTLE_FILE)' IF_DLL='' ;; diff --git a/ports/nettle/nettle-x64.def b/ports/nettle/nettle-x64.def index e202f46fb5..ec3b69a1ff 100644 --- a/ports/nettle/nettle-x64.def +++ b/ports/nettle/nettle-x64.def @@ -2,139 +2,160 @@ EXPORTS _nettle_sha256_compress_sha_ni _nettle_sha1_compress_sha_ni _nettle_salsa20_2core + _nettle_ghash_update_pclmul + _nettle_ghash_set_key_pclmul + _nettle_cbc_aes256_encrypt_aesni + _nettle_cbc_aes192_encrypt_aesni + _nettle_cbc_aes128_encrypt_aesni + _nettle_aes256_decrypt_aesni + _nettle_aes256_encrypt_aesni + _nettle_aes192_decrypt_aesni + _nettle_aes192_encrypt_aesni + _nettle_aes128_decrypt_aesni + _nettle_aes128_encrypt_aesni _nettle_memxor_sse2 - _nettle_aes_decrypt_aesni - _nettle_aes_encrypt_aesni _nettle_cpuid - _nettle_gcm_hash8 - _nettle_aes_decrypt - _nettle_aes_encrypt - _nettle_sha256_compress + nettle_aes128_encrypt + nettle_aes128_decrypt + nettle_aes192_encrypt + nettle_aes192_decrypt + nettle_aes256_encrypt + nettle_aes256_decrypt + _nettle_ghash_set_key + _nettle_ghash_update nettle_memxor + nettle_cbc_aes128_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes256_encrypt nettle_sha1_compress - nettle_xts_aes256_decrypt_message - nettle_xts_aes256_encrypt_message - nettle_xts_aes256_set_decrypt_key + _nettle_sha256_compress nettle_xts_aes256_set_encrypt_key - nettle_xts_aes128_decrypt_message - nettle_xts_aes128_encrypt_message - nettle_xts_aes128_set_decrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message nettle_xts_aes128_set_encrypt_key - nettle_xts_decrypt_message + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message nettle_xts_encrypt_message - nettle_yarrow_key_event_estimate + nettle_xts_decrypt_message nettle_yarrow_key_event_init - nettle_yarrow256_fast_reseed + nettle_yarrow_key_event_estimate nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random nettle_yarrow256_is_seeded nettle_yarrow256_needed_sources - nettle_yarrow256_random - nettle_yarrow256_seed + nettle_yarrow256_fast_reseed nettle_yarrow256_slow_reseed - nettle_yarrow256_update _nettle_write_le64 _nettle_write_le32 _nettle_write_be32 nettle_version_major nettle_version_minor - nettle_umac128_digest nettle_umac128_set_key nettle_umac128_set_nonce nettle_umac128_update - nettle_umac96_digest + nettle_umac128_digest nettle_umac96_set_key nettle_umac96_set_nonce nettle_umac96_update - nettle_umac64_digest + nettle_umac96_digest nettle_umac64_set_key nettle_umac64_set_nonce nettle_umac64_update - nettle_umac32_digest + nettle_umac64_digest nettle_umac32_set_key nettle_umac32_set_nonce nettle_umac32_update + nettle_umac32_digest _nettle_umac_set_key _nettle_umac_poly128 _nettle_umac_poly64 - _nettle_umac_l3 _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init _nettle_umac_l2 _nettle_umac_l2_final - _nettle_umac_l2_init _nettle_umac_nh_n _nettle_umac_nh nettle_twofish128 nettle_twofish192 nettle_twofish256 + nettle_twofish_set_key nettle_twofish128_set_key nettle_twofish192_set_key nettle_twofish256_set_key - nettle_twofish_decrypt nettle_twofish_encrypt - nettle_twofish_set_key + nettle_twofish_decrypt nettle_streebog256 nettle_streebog512 - nettle_streebog256_digest - nettle_streebog256_init - nettle_streebog512_digest nettle_streebog512_init nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest nettle_serpent128 nettle_serpent192 nettle_serpent256 nettle_serpent_decrypt nettle_serpent_encrypt + nettle_serpent_set_key nettle_serpent128_set_key nettle_serpent192_set_key nettle_serpent256_set_key - nettle_serpent_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest nettle_sha3_256_shake nettle_sha3_512 - nettle_sha3_512_digest nettle_sha3_512_init nettle_sha3_512_update + nettle_sha3_512_digest nettle_sha3_384 - nettle_sha3_384_digest nettle_sha3_384_init nettle_sha3_384_update + nettle_sha3_384_digest nettle_sha3_256 - nettle_sha3_256_digest nettle_sha3_256_init nettle_sha3_256_update + nettle_sha3_256_digest nettle_sha3_224 - nettle_sha3_224_digest nettle_sha3_224_init nettle_sha3_224_update + nettle_sha3_224_digest nettle_sha3_permute - _nettle_sha3_pad _nettle_sha3_update + _nettle_sha3_pad nettle_sha512_256 nettle_sha512_224 nettle_sha512 nettle_sha384 _nettle_sha512_compress - nettle_sha384_digest - nettle_sha384_init - nettle_sha512_224_digest - nettle_sha512_224_init - nettle_sha512_256_digest - nettle_sha512_256_init - nettle_sha512_digest nettle_sha512_init nettle_sha512_update + nettle_sha512_digest + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest nettle_sha256 nettle_sha224 _nettle_sha256_compress_x86_64 - nettle_sha224_digest - nettle_sha224_init - nettle_sha256_digest nettle_sha256_init nettle_sha256_update + nettle_sha256_digest + nettle_sha224_init + nettle_sha224_digest nettle_sha1 _nettle_sha1_compress_x86_64 - nettle_sha1_digest nettle_sha1_init nettle_sha1_update + nettle_sha1_digest nettle_salsa20_256_set_key nettle_salsa20_128_set_key nettle_salsa20_set_nonce @@ -145,18 +166,18 @@ EXPORTS _nettle_salsa20_core nettle_ripemd160 _nettle_ripemd160_compress - nettle_ripemd160_digest nettle_ripemd160_init nettle_ripemd160_update + nettle_ripemd160_digest nettle_realloc nettle_xrealloc + _nettle_poly1305_set_key _nettle_poly1305_block _nettle_poly1305_digest - _nettle_poly1305_set_key - nettle_poly1305_aes_digest nettle_poly1305_aes_set_key nettle_poly1305_aes_set_nonce nettle_poly1305_aes_update + nettle_poly1305_aes_digest nettle_pbkdf2_hmac_sha512 nettle_pbkdf2_hmac_sha384 nettle_pbkdf2_hmac_sha256 @@ -178,27 +199,28 @@ EXPORTS _nettle_memxor_x86_64 nettle_memeql_sec nettle_md5 - nettle_MD5Final nettle_MD5Init nettle_MD5Update + nettle_MD5Final nettle_md5_compress - nettle_md5_digest nettle_md5_init nettle_md5_update + nettle_md5_digest nettle_md4 - nettle_md4_digest nettle_md4_init nettle_md4_update + nettle_md4_digest nettle_md2 - nettle_md2_digest nettle_md2_init nettle_md2_update - nettle_hkdf_expand + nettle_md2_digest nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init nettle_knuth_lfib_get nettle_knuth_lfib_get_array - nettle_knuth_lfib_init nettle_knuth_lfib_random + nettle_hmac_sm3 nettle_hmac_streebog256 nettle_hmac_streebog512 nettle_hmac_sha512 @@ -208,217 +230,225 @@ EXPORTS nettle_hmac_sha1 nettle_hmac_ripemd160 nettle_hmac_md5 - nettle_hmac_streebog256_digest - nettle_hmac_streebog256_set_key - nettle_hmac_streebog512_digest + nettle_hmac_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest nettle_hmac_streebog512_set_key nettle_hmac_streebog512_update - nettle_hmac_sha512_digest + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest nettle_hmac_sha512_set_key nettle_hmac_sha512_update - nettle_hmac_sha384_digest + nettle_hmac_sha512_digest nettle_hmac_sha384_set_key - nettle_hmac_sha256_digest + nettle_hmac_sha384_digest nettle_hmac_sha256_set_key nettle_hmac_sha256_update - nettle_hmac_sha224_digest + nettle_hmac_sha256_digest nettle_hmac_sha224_set_key - nettle_hmac_sha1_digest + nettle_hmac_sha224_digest nettle_hmac_sha1_set_key nettle_hmac_sha1_update - nettle_hmac_ripemd160_digest + nettle_hmac_sha1_digest nettle_hmac_ripemd160_set_key nettle_hmac_ripemd160_update - nettle_hmac_md5_digest + nettle_hmac_ripemd160_digest nettle_hmac_md5_set_key nettle_hmac_md5_update - nettle_hmac_gosthash94_digest + nettle_hmac_md5_digest nettle_hmac_gosthash94_set_key nettle_hmac_gosthash94_update - nettle_hmac_gosthash94cp_digest + nettle_hmac_gosthash94_digest nettle_hmac_gosthash94cp_set_key nettle_hmac_gosthash94cp_update - nettle_hmac_digest + nettle_hmac_gosthash94cp_digest nettle_hmac_set_key nettle_hmac_update + nettle_hmac_digest nettle_gosthash94 nettle_gosthash94cp - nettle_gosthash94_digest nettle_gosthash94_init nettle_gosthash94_update - nettle_gosthash94cp_digest + nettle_gosthash94_digest nettle_gosthash94cp_update - _nettle_gost28147_encrypt_block - _nettle_gost28147_param_CryptoPro_3411 + nettle_gosthash94cp_digest _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block nettle_cmac_des3 nettle_cmac_aes256 nettle_cmac_aes128 - nettle_cmac_des3_digest nettle_cmac_des3_set_key nettle_cmac_des3_update - nettle_cmac_aes256_digest + nettle_cmac_des3_digest nettle_cmac_aes256_set_key nettle_cmac_aes256_update - nettle_cmac_aes128_digest + nettle_cmac_aes256_digest nettle_cmac_aes128_set_key nettle_cmac_aes128_update - nettle_cmac64_digest - nettle_cmac64_init + nettle_cmac_aes128_digest nettle_cmac64_set_key + nettle_cmac64_init nettle_cmac64_update - nettle_cmac128_digest - nettle_cmac128_init + nettle_cmac64_digest nettle_cmac128_set_key + nettle_cmac128_init nettle_cmac128_update + nettle_cmac128_digest nettle_gcm_camellia256 + nettle_gcm_camellia256_set_key + nettle_gcm_camellia256_set_iv + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt nettle_gcm_camellia256_decrypt nettle_gcm_camellia256_digest - nettle_gcm_camellia256_encrypt - nettle_gcm_camellia256_set_iv - nettle_gcm_camellia256_set_key - nettle_gcm_camellia256_update nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt nettle_gcm_camellia128_decrypt nettle_gcm_camellia128_digest - nettle_gcm_camellia128_encrypt - nettle_gcm_camellia128_set_iv - nettle_gcm_camellia128_set_key - nettle_gcm_camellia128_update nettle_gcm_aes256 - nettle_gcm_aes256_decrypt - nettle_gcm_aes256_digest - nettle_gcm_aes256_encrypt - nettle_gcm_aes256_set_iv nettle_gcm_aes256_set_key nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest nettle_gcm_aes192 - nettle_gcm_aes192_decrypt - nettle_gcm_aes192_digest - nettle_gcm_aes192_encrypt - nettle_gcm_aes192_set_iv nettle_gcm_aes192_set_key nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest nettle_gcm_aes128 - nettle_gcm_aes128_decrypt - nettle_gcm_aes128_digest - nettle_gcm_aes128_encrypt - nettle_gcm_aes128_set_iv nettle_gcm_aes128_set_key nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt nettle_gcm_aes_decrypt nettle_gcm_aes_digest - nettle_gcm_aes_encrypt - nettle_gcm_aes_set_iv - nettle_gcm_aes_set_key - nettle_gcm_aes_update + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + nettle_gcm_encrypt nettle_gcm_decrypt nettle_gcm_digest - nettle_gcm_encrypt - nettle_gcm_set_iv - nettle_gcm_set_key - nettle_gcm_update + _nettle_ghash_update_table + _nettle_ghash_set_key_c nettle_eax_aes128 - nettle_eax_aes128_decrypt - nettle_eax_aes128_digest - nettle_eax_aes128_encrypt nettle_eax_aes128_set_key nettle_eax_aes128_set_nonce nettle_eax_aes128_update - nettle_eax_decrypt - nettle_eax_digest - nettle_eax_encrypt + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest nettle_eax_set_key nettle_eax_set_nonce nettle_eax_update - nettle_des3_decrypt - nettle_des3_encrypt + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest nettle_des3_set_key - nettle_des_check_parity - nettle_des_decrypt - nettle_des_encrypt - nettle_des_fix_parity + nettle_des3_encrypt + nettle_des3_decrypt nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity _nettle_ctr_crypt16 nettle_ctr_crypt - nettle_chacha_set_counter - nettle_chacha_set_counter32 nettle_chacha_set_nonce nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 nettle_chacha_set_key nettle_chacha_poly1305 - nettle_chacha_poly1305_decrypt - nettle_chacha_poly1305_digest - nettle_chacha_poly1305_encrypt nettle_chacha_poly1305_set_key nettle_chacha_poly1305_set_nonce nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest _nettle_chacha_core nettle_chacha_crypt nettle_chacha_crypt32 nettle_cnd_memcpy - nettle_siv_cmac_aes256_decrypt_message - nettle_siv_cmac_aes256_encrypt_message nettle_siv_cmac_aes256_set_key - nettle_siv_cmac_aes128_decrypt_message - nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes256_encrypt_message + nettle_siv_cmac_aes256_decrypt_message nettle_siv_cmac_aes128_set_key - nettle_siv_cmac_decrypt_message - nettle_siv_cmac_encrypt_message + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message nettle_siv_cmac_set_key - nettle_cfb8_decrypt - nettle_cfb8_encrypt - nettle_cfb_decrypt + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message nettle_cfb_encrypt - nettle_ccm_aes256_decrypt - nettle_ccm_aes256_decrypt_message - nettle_ccm_aes256_digest - nettle_ccm_aes256_encrypt - nettle_ccm_aes256_encrypt_message + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt nettle_ccm_aes256_set_key nettle_ccm_aes256_set_nonce nettle_ccm_aes256_update - nettle_ccm_aes192_decrypt - nettle_ccm_aes192_decrypt_message - nettle_ccm_aes192_digest - nettle_ccm_aes192_encrypt - nettle_ccm_aes192_encrypt_message + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message nettle_ccm_aes192_set_key nettle_ccm_aes192_set_nonce nettle_ccm_aes192_update - nettle_ccm_aes128_decrypt - nettle_ccm_aes128_decrypt_message - nettle_ccm_aes128_digest - nettle_ccm_aes128_encrypt - nettle_ccm_aes128_encrypt_message + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message nettle_ccm_aes128_set_key nettle_ccm_aes128_set_nonce nettle_ccm_aes128_update - nettle_ccm_decrypt - nettle_ccm_decrypt_message - nettle_ccm_digest - nettle_ccm_encrypt - nettle_ccm_encrypt_message + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message nettle_ccm_set_nonce nettle_ccm_update - nettle_cbc_decrypt + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + _nettle_cbc_aes256_encrypt_c + _nettle_cbc_aes192_encrypt_c + _nettle_cbc_aes128_encrypt_c nettle_cbc_encrypt + nettle_cbc_decrypt nettle_cast128 - nettle_cast128_decrypt - nettle_cast128_encrypt - nettle_cast128_set_key nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt nettle_camellia256 - nettle_camellia192_set_decrypt_key - nettle_camellia256_invert_key nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key nettle_camellia256_crypt - nettle_camellia192_set_encrypt_key nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key nettle_camellia192 nettle_camellia128 - nettle_camellia128_invert_key nettle_camellia_set_decrypt_key + nettle_camellia128_invert_key nettle_camellia128_crypt nettle_camellia128_set_encrypt_key _nettle_camellia_invert_key @@ -426,84 +456,93 @@ EXPORTS _nettle_camellia_table _nettle_camellia_crypt nettle_buffer_init - nettle_buffer_clear - nettle_buffer_copy - nettle_buffer_grow nettle_buffer_init_realloc nettle_buffer_init_size + nettle_buffer_clear nettle_buffer_reset - nettle_buffer_space + nettle_buffer_grow nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy nettle_base64url nettle_base64url_decode_init nettle_base64url_encode_init nettle_base64 - nettle_base64_decode_final nettle_base64_decode_init nettle_base64_decode_single nettle_base64_decode_update - nettle_base64_encode_final - nettle_base64_encode_group + nettle_base64_decode_final nettle_base64_encode_init - nettle_base64_encode_raw nettle_base64_encode_single nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group nettle_base16 - nettle_base16_decode_final nettle_base16_decode_init nettle_base16_decode_single nettle_base16_decode_update + nettle_base16_decode_final nettle_base16_encode_single nettle_base16_encode_update nettle_blowfish_bcrypt_hash nettle_blowfish_bcrypt_verify - _nettle_blowfish_encround _nettle_blowfish_initial_ctx - nettle_blowfish128_set_key - nettle_blowfish_decrypt - nettle_blowfish_encrypt nettle_blowfish_set_key - nettle_arctwo128 + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround nettle_arctwo40 nettle_arctwo64 + nettle_arctwo128 nettle_arctwo_gutmann128 - nettle_arctwo128_set_key - nettle_arctwo128_set_key_gutmann + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key nettle_arctwo40_set_key nettle_arctwo64_set_key - nettle_arctwo_decrypt - nettle_arctwo_encrypt - nettle_arctwo_set_key - nettle_arctwo_set_key_ekb + nettle_arctwo128_set_key nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt nettle_arcfour_crypt - nettle_arcfour128_set_key nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap nettle_aes256 - nettle_aes256_invert_key nettle_aes256_set_decrypt_key + nettle_aes256_invert_key nettle_aes256_set_encrypt_key nettle_aes192 - nettle_aes192_invert_key nettle_aes192_set_decrypt_key + nettle_aes192_invert_key nettle_aes192_set_encrypt_key nettle_aes128 - nettle_aes128_invert_key nettle_aes128_set_decrypt_key + nettle_aes128_invert_key nettle_aes128_set_encrypt_key - nettle_aes_invert_key nettle_aes_set_decrypt_key + nettle_aes_invert_key nettle_aes_set_encrypt_key _nettle_aes_set_key _nettle_aes_invert + _nettle_aes256_encrypt_c + _nettle_aes192_encrypt_c + _nettle_aes128_encrypt_c _nettle_aes_encrypt_table - nettle_aes128_encrypt - nettle_aes192_encrypt - nettle_aes256_encrypt nettle_aes_encrypt - _nettle_aes_encrypt_x86_64 - nettle_aes128_decrypt - nettle_aes192_decrypt - nettle_aes256_decrypt + _nettle_aes_encrypt + _nettle_aes256_decrypt_c + _nettle_aes192_decrypt_c + _nettle_aes128_decrypt_c + _nettle_aes_decrypt_table nettle_aes_decrypt - _nettle_aes_decrypt_x86_64 + _nettle_aes_decrypt diff --git a/ports/nettle/nettle-x86.def b/ports/nettle/nettle-x86.def index 2134495315..8f179df100 100644 --- a/ports/nettle/nettle-x86.def +++ b/ports/nettle/nettle-x86.def @@ -1,127 +1,131 @@ EXPORTS - nettle_xts_aes256_decrypt_message - nettle_xts_aes256_encrypt_message - nettle_xts_aes256_set_decrypt_key nettle_xts_aes256_set_encrypt_key - nettle_xts_aes128_decrypt_message - nettle_xts_aes128_encrypt_message - nettle_xts_aes128_set_decrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message nettle_xts_aes128_set_encrypt_key - nettle_xts_decrypt_message + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message nettle_xts_encrypt_message - nettle_yarrow_key_event_estimate + nettle_xts_decrypt_message nettle_yarrow_key_event_init - nettle_yarrow256_fast_reseed + nettle_yarrow_key_event_estimate nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random nettle_yarrow256_is_seeded nettle_yarrow256_needed_sources - nettle_yarrow256_random - nettle_yarrow256_seed + nettle_yarrow256_fast_reseed nettle_yarrow256_slow_reseed - nettle_yarrow256_update _nettle_write_le64 _nettle_write_le32 _nettle_write_be32 nettle_version_major nettle_version_minor - nettle_umac128_digest nettle_umac128_set_key nettle_umac128_set_nonce nettle_umac128_update - nettle_umac96_digest + nettle_umac128_digest nettle_umac96_set_key nettle_umac96_set_nonce nettle_umac96_update - nettle_umac64_digest + nettle_umac96_digest nettle_umac64_set_key nettle_umac64_set_nonce nettle_umac64_update - nettle_umac32_digest + nettle_umac64_digest nettle_umac32_set_key nettle_umac32_set_nonce nettle_umac32_update + nettle_umac32_digest _nettle_umac_set_key _nettle_umac_poly128 _nettle_umac_poly64 - _nettle_umac_l3 _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init _nettle_umac_l2 _nettle_umac_l2_final - _nettle_umac_l2_init _nettle_umac_nh_n _nettle_umac_nh nettle_twofish128 nettle_twofish192 nettle_twofish256 + nettle_twofish_set_key nettle_twofish128_set_key nettle_twofish192_set_key nettle_twofish256_set_key - nettle_twofish_decrypt nettle_twofish_encrypt - nettle_twofish_set_key + nettle_twofish_decrypt nettle_streebog256 nettle_streebog512 - nettle_streebog256_digest - nettle_streebog256_init - nettle_streebog512_digest nettle_streebog512_init nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest nettle_serpent128 nettle_serpent192 nettle_serpent256 nettle_serpent_decrypt nettle_serpent_encrypt + nettle_serpent_set_key nettle_serpent128_set_key nettle_serpent192_set_key nettle_serpent256_set_key - nettle_serpent_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest nettle_sha3_256_shake nettle_sha3_512 - nettle_sha3_512_digest nettle_sha3_512_init nettle_sha3_512_update + nettle_sha3_512_digest nettle_sha3_384 - nettle_sha3_384_digest nettle_sha3_384_init nettle_sha3_384_update + nettle_sha3_384_digest nettle_sha3_256 - nettle_sha3_256_digest nettle_sha3_256_init nettle_sha3_256_update + nettle_sha3_256_digest nettle_sha3_224 - nettle_sha3_224_digest nettle_sha3_224_init nettle_sha3_224_update + nettle_sha3_224_digest nettle_sha3_permute - _nettle_sha3_pad _nettle_sha3_update + _nettle_sha3_pad nettle_sha512_256 nettle_sha512_224 nettle_sha512 nettle_sha384 _nettle_sha512_compress - nettle_sha384_digest - nettle_sha384_init - nettle_sha512_224_digest - nettle_sha512_224_init - nettle_sha512_256_digest - nettle_sha512_256_init - nettle_sha512_digest nettle_sha512_init nettle_sha512_update + nettle_sha512_digest + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest nettle_sha256 nettle_sha224 _nettle_sha256_compress - nettle_sha224_digest - nettle_sha224_init - nettle_sha256_digest nettle_sha256_init nettle_sha256_update + nettle_sha256_digest + nettle_sha224_init + nettle_sha224_digest nettle_sha1 nettle_sha1_compress - nettle_sha1_digest nettle_sha1_init nettle_sha1_update + nettle_sha1_digest nettle_salsa20_256_set_key nettle_salsa20_128_set_key nettle_salsa20_set_nonce @@ -132,18 +136,18 @@ EXPORTS _nettle_salsa20_core nettle_ripemd160 _nettle_ripemd160_compress - nettle_ripemd160_digest nettle_ripemd160_init nettle_ripemd160_update + nettle_ripemd160_digest nettle_realloc nettle_xrealloc - _nettle_poly1305_block - _nettle_poly1305_digest _nettle_poly1305_set_key - nettle_poly1305_aes_digest + _nettle_poly1305_digest + _nettle_poly1305_block nettle_poly1305_aes_set_key nettle_poly1305_aes_set_nonce nettle_poly1305_aes_update + nettle_poly1305_aes_digest nettle_pbkdf2_hmac_sha512 nettle_pbkdf2_hmac_sha384 nettle_pbkdf2_hmac_sha256 @@ -165,27 +169,28 @@ EXPORTS nettle_memxor nettle_memeql_sec nettle_md5 - nettle_MD5Final nettle_MD5Init nettle_MD5Update + nettle_MD5Final nettle_md5_compress - nettle_md5_digest nettle_md5_init nettle_md5_update + nettle_md5_digest nettle_md4 - nettle_md4_digest nettle_md4_init nettle_md4_update + nettle_md4_digest nettle_md2 - nettle_md2_digest nettle_md2_init nettle_md2_update - nettle_hkdf_expand + nettle_md2_digest nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init nettle_knuth_lfib_get nettle_knuth_lfib_get_array - nettle_knuth_lfib_init nettle_knuth_lfib_random + nettle_hmac_sm3 nettle_hmac_streebog256 nettle_hmac_streebog512 nettle_hmac_sha512 @@ -195,217 +200,225 @@ EXPORTS nettle_hmac_sha1 nettle_hmac_ripemd160 nettle_hmac_md5 - nettle_hmac_streebog256_digest - nettle_hmac_streebog256_set_key - nettle_hmac_streebog512_digest + nettle_hmac_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest nettle_hmac_streebog512_set_key nettle_hmac_streebog512_update - nettle_hmac_sha512_digest + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest nettle_hmac_sha512_set_key nettle_hmac_sha512_update - nettle_hmac_sha384_digest + nettle_hmac_sha512_digest nettle_hmac_sha384_set_key - nettle_hmac_sha256_digest + nettle_hmac_sha384_digest nettle_hmac_sha256_set_key nettle_hmac_sha256_update - nettle_hmac_sha224_digest + nettle_hmac_sha256_digest nettle_hmac_sha224_set_key - nettle_hmac_sha1_digest + nettle_hmac_sha224_digest nettle_hmac_sha1_set_key nettle_hmac_sha1_update - nettle_hmac_ripemd160_digest + nettle_hmac_sha1_digest nettle_hmac_ripemd160_set_key nettle_hmac_ripemd160_update - nettle_hmac_md5_digest + nettle_hmac_ripemd160_digest nettle_hmac_md5_set_key nettle_hmac_md5_update - nettle_hmac_gosthash94_digest + nettle_hmac_md5_digest nettle_hmac_gosthash94_set_key nettle_hmac_gosthash94_update - nettle_hmac_gosthash94cp_digest + nettle_hmac_gosthash94_digest nettle_hmac_gosthash94cp_set_key nettle_hmac_gosthash94cp_update - nettle_hmac_digest + nettle_hmac_gosthash94cp_digest nettle_hmac_set_key nettle_hmac_update + nettle_hmac_digest nettle_gosthash94 nettle_gosthash94cp - nettle_gosthash94_digest nettle_gosthash94_init nettle_gosthash94_update - nettle_gosthash94cp_digest + nettle_gosthash94_digest nettle_gosthash94cp_update - _nettle_gost28147_encrypt_block - _nettle_gost28147_param_CryptoPro_3411 + nettle_gosthash94cp_digest _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block nettle_cmac_des3 nettle_cmac_aes256 nettle_cmac_aes128 - nettle_cmac_des3_digest nettle_cmac_des3_set_key nettle_cmac_des3_update - nettle_cmac_aes256_digest + nettle_cmac_des3_digest nettle_cmac_aes256_set_key nettle_cmac_aes256_update - nettle_cmac_aes128_digest + nettle_cmac_aes256_digest nettle_cmac_aes128_set_key nettle_cmac_aes128_update - nettle_cmac64_digest - nettle_cmac64_init + nettle_cmac_aes128_digest nettle_cmac64_set_key + nettle_cmac64_init nettle_cmac64_update - nettle_cmac128_digest - nettle_cmac128_init + nettle_cmac64_digest nettle_cmac128_set_key + nettle_cmac128_init nettle_cmac128_update + nettle_cmac128_digest nettle_gcm_camellia256 + nettle_gcm_camellia256_set_key + nettle_gcm_camellia256_set_iv + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt nettle_gcm_camellia256_decrypt nettle_gcm_camellia256_digest - nettle_gcm_camellia256_encrypt - nettle_gcm_camellia256_set_iv - nettle_gcm_camellia256_set_key - nettle_gcm_camellia256_update nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt nettle_gcm_camellia128_decrypt nettle_gcm_camellia128_digest - nettle_gcm_camellia128_encrypt - nettle_gcm_camellia128_set_iv - nettle_gcm_camellia128_set_key - nettle_gcm_camellia128_update nettle_gcm_aes256 - nettle_gcm_aes256_decrypt - nettle_gcm_aes256_digest - nettle_gcm_aes256_encrypt - nettle_gcm_aes256_set_iv nettle_gcm_aes256_set_key nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest nettle_gcm_aes192 - nettle_gcm_aes192_decrypt - nettle_gcm_aes192_digest - nettle_gcm_aes192_encrypt - nettle_gcm_aes192_set_iv nettle_gcm_aes192_set_key nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest nettle_gcm_aes128 - nettle_gcm_aes128_decrypt - nettle_gcm_aes128_digest - nettle_gcm_aes128_encrypt - nettle_gcm_aes128_set_iv nettle_gcm_aes128_set_key nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt nettle_gcm_aes_decrypt nettle_gcm_aes_digest - nettle_gcm_aes_encrypt - nettle_gcm_aes_set_iv - nettle_gcm_aes_set_key - nettle_gcm_aes_update + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + nettle_gcm_encrypt nettle_gcm_decrypt nettle_gcm_digest - nettle_gcm_encrypt - nettle_gcm_set_iv - nettle_gcm_set_key - nettle_gcm_update + _nettle_ghash_update + _nettle_ghash_set_key nettle_eax_aes128 - nettle_eax_aes128_decrypt - nettle_eax_aes128_digest - nettle_eax_aes128_encrypt nettle_eax_aes128_set_key nettle_eax_aes128_set_nonce nettle_eax_aes128_update - nettle_eax_decrypt - nettle_eax_digest - nettle_eax_encrypt + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest nettle_eax_set_key nettle_eax_set_nonce nettle_eax_update - nettle_des3_decrypt - nettle_des3_encrypt + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest nettle_des3_set_key - nettle_des_check_parity - nettle_des_decrypt - nettle_des_encrypt - nettle_des_fix_parity + nettle_des3_encrypt + nettle_des3_decrypt nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity _nettle_ctr_crypt16 nettle_ctr_crypt - nettle_chacha_set_counter - nettle_chacha_set_counter32 nettle_chacha_set_nonce nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 nettle_chacha_set_key nettle_chacha_poly1305 - nettle_chacha_poly1305_decrypt - nettle_chacha_poly1305_digest - nettle_chacha_poly1305_encrypt nettle_chacha_poly1305_set_key nettle_chacha_poly1305_set_nonce nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest _nettle_chacha_core nettle_chacha_crypt nettle_chacha_crypt32 nettle_cnd_memcpy - nettle_siv_cmac_aes256_decrypt_message - nettle_siv_cmac_aes256_encrypt_message nettle_siv_cmac_aes256_set_key - nettle_siv_cmac_aes128_decrypt_message - nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes256_encrypt_message + nettle_siv_cmac_aes256_decrypt_message nettle_siv_cmac_aes128_set_key - nettle_siv_cmac_decrypt_message - nettle_siv_cmac_encrypt_message + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message nettle_siv_cmac_set_key - nettle_cfb8_decrypt - nettle_cfb8_encrypt - nettle_cfb_decrypt + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message nettle_cfb_encrypt - nettle_ccm_aes256_decrypt - nettle_ccm_aes256_decrypt_message - nettle_ccm_aes256_digest - nettle_ccm_aes256_encrypt - nettle_ccm_aes256_encrypt_message + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt nettle_ccm_aes256_set_key nettle_ccm_aes256_set_nonce nettle_ccm_aes256_update - nettle_ccm_aes192_decrypt - nettle_ccm_aes192_decrypt_message - nettle_ccm_aes192_digest - nettle_ccm_aes192_encrypt - nettle_ccm_aes192_encrypt_message + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message nettle_ccm_aes192_set_key nettle_ccm_aes192_set_nonce nettle_ccm_aes192_update - nettle_ccm_aes128_decrypt - nettle_ccm_aes128_decrypt_message - nettle_ccm_aes128_digest - nettle_ccm_aes128_encrypt - nettle_ccm_aes128_encrypt_message + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message nettle_ccm_aes128_set_key nettle_ccm_aes128_set_nonce nettle_ccm_aes128_update - nettle_ccm_decrypt - nettle_ccm_decrypt_message - nettle_ccm_digest - nettle_ccm_encrypt - nettle_ccm_encrypt_message + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message nettle_ccm_set_nonce nettle_ccm_update - nettle_cbc_decrypt + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + nettle_cbc_aes256_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes128_encrypt nettle_cbc_encrypt + nettle_cbc_decrypt nettle_cast128 - nettle_cast128_decrypt - nettle_cast128_encrypt - nettle_cast128_set_key nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt nettle_camellia256 - nettle_camellia192_set_decrypt_key - nettle_camellia256_invert_key nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key nettle_camellia256_crypt - nettle_camellia192_set_encrypt_key nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key nettle_camellia192 nettle_camellia128 - nettle_camellia128_invert_key nettle_camellia_set_decrypt_key + nettle_camellia128_invert_key nettle_camellia128_crypt nettle_camellia128_set_encrypt_key _nettle_camellia_invert_key @@ -413,84 +426,93 @@ EXPORTS _nettle_camellia_table _nettle_camellia_crypt nettle_buffer_init - nettle_buffer_clear - nettle_buffer_copy - nettle_buffer_grow nettle_buffer_init_realloc nettle_buffer_init_size + nettle_buffer_clear nettle_buffer_reset - nettle_buffer_space + nettle_buffer_grow nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy nettle_base64url nettle_base64url_decode_init nettle_base64url_encode_init nettle_base64 - nettle_base64_decode_final nettle_base64_decode_init nettle_base64_decode_single nettle_base64_decode_update - nettle_base64_encode_final - nettle_base64_encode_group + nettle_base64_decode_final nettle_base64_encode_init - nettle_base64_encode_raw nettle_base64_encode_single nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group nettle_base16 - nettle_base16_decode_final nettle_base16_decode_init nettle_base16_decode_single nettle_base16_decode_update + nettle_base16_decode_final nettle_base16_encode_single nettle_base16_encode_update nettle_blowfish_bcrypt_hash nettle_blowfish_bcrypt_verify - _nettle_blowfish_encround _nettle_blowfish_initial_ctx - nettle_blowfish128_set_key - nettle_blowfish_decrypt - nettle_blowfish_encrypt nettle_blowfish_set_key - nettle_arctwo128 + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround nettle_arctwo40 nettle_arctwo64 + nettle_arctwo128 nettle_arctwo_gutmann128 - nettle_arctwo128_set_key - nettle_arctwo128_set_key_gutmann + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key nettle_arctwo40_set_key nettle_arctwo64_set_key - nettle_arctwo_decrypt - nettle_arctwo_encrypt - nettle_arctwo_set_key - nettle_arctwo_set_key_ekb + nettle_arctwo128_set_key nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt nettle_arcfour_crypt - nettle_arcfour128_set_key nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap nettle_aes256 - nettle_aes256_invert_key nettle_aes256_set_decrypt_key + nettle_aes256_invert_key nettle_aes256_set_encrypt_key nettle_aes192 - nettle_aes192_invert_key nettle_aes192_set_decrypt_key + nettle_aes192_invert_key nettle_aes192_set_encrypt_key nettle_aes128 - nettle_aes128_invert_key nettle_aes128_set_decrypt_key + nettle_aes128_invert_key nettle_aes128_set_encrypt_key - nettle_aes_invert_key nettle_aes_set_decrypt_key + nettle_aes_invert_key nettle_aes_set_encrypt_key _nettle_aes_set_key _nettle_aes_invert - _nettle_aes_encrypt_table - nettle_aes128_encrypt - nettle_aes192_encrypt nettle_aes256_encrypt + nettle_aes192_encrypt + nettle_aes128_encrypt + _nettle_aes_encrypt_table nettle_aes_encrypt _nettle_aes_encrypt - nettle_aes128_decrypt - nettle_aes192_decrypt nettle_aes256_decrypt + nettle_aes192_decrypt + nettle_aes128_decrypt + _nettle_aes_decrypt_table nettle_aes_decrypt _nettle_aes_decrypt diff --git a/ports/nettle/portfile.cmake b/ports/nettle/portfile.cmake index bb091cafaa..ba848f86da 100644 --- a/ports/nettle/portfile.cmake +++ b/ports/nettle/portfile.cmake @@ -10,17 +10,30 @@ vcpkg_from_gitlab( GITLAB_URL https://git.lysator.liu.se/ OUT_SOURCE_PATH SOURCE_PATH REPO nettle/nettle - REF 52bacacaf4339fd78289f58919732f1f35bea1c1 #v3.7.3 - SHA512 0130d14195274eeec11e8299793e3037f4b84d8fb4b5c5c9392b63ee693ed5713434070744b1a44e14a6a5090d655917c1dd296e2011cd99e3c316ef5d8ee395 + REF nettle_3.8.1_release_20220727 + SHA512 ed1fa1b77afd61fafa15b63f4324809fa69569691d16b93f403c83794672859a1760d102902349f93b1632de568c36e06a0e2b5b61877082b1982dfcf2c52172 HEAD_REF master PATCHES + subdirs.patch fix-libdir.patch compile.patch host-tools.patch ccas.patch + install-dll.patch ${extra_patches} ) +# Temporarily set to 1 to re-generate the lists of exported symbols. +# This is needed when the version is bumped. +set(GENERATE_SYMBOLS 0) +if(GENERATE_SYMBOLS) + if(VCPKG_TARGET_IS_MINGW OR NOT VCPKG_TARGET_IS_WINDOWS) + set(GENERATE_SYMBOLS 0) + else() + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + endif() +endif() + vcpkg_list(SET OPTIONS) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") vcpkg_list(APPEND OPTIONS --disable-static) @@ -28,6 +41,10 @@ else() vcpkg_list(APPEND OPTIONS --disable-shared) endif() +if("tools" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS --enable-tools) +endif() + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(ENV{CCAS} "${CURRENT_HOST_INSTALLED_DIR}/tools/yasm/yasm${VCPKG_HOST_EXECUTABLE_SUFFIX}") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") @@ -41,6 +58,8 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) nettle_cv_asm_type_percent_function=no nettle_cv_asm_align_log=no ) +else() + vcpkg_list(APPEND OPTIONS "CCAS=") # configure will use CC endif() if(VCPKG_CROSSCOMPILING) @@ -55,6 +74,8 @@ vcpkg_configure_make( --disable-documentation --disable-openssl "gmp_cv_prog_exeext_for_build=${VCPKG_HOST_EXECUTABLE_SUFFIX}" + OPTIONS_DEBUG + --disable-tools ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) @@ -88,6 +109,9 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) endif() vcpkg_install_make() +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") + if(NOT VCPKG_CROSSCOMPILING) set(tool_names desdata eccdata) # aes gcm sha twofish? list(TRANSFORM tool_names PREPEND "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") @@ -101,3 +125,9 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYINGv3") + +if(GENERATE_SYMBOLS) + include("${CMAKE_CURRENT_LIST_DIR}/lib-to-def.cmake") + lib_to_def(BASENAME nettle REGEX "_*nettle_") + lib_to_def(BASENAME hogweed REGEX "_*nettle_") +endif() diff --git a/ports/nettle/subdirs.patch b/ports/nettle/subdirs.patch new file mode 100644 index 0000000000..cd4dec9b1e --- /dev/null +++ b/ports/nettle/subdirs.patch @@ -0,0 +1,32 @@ +diff --git a/Makefile.in b/Makefile.in +index c7dd33f..6d4387e 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -22,7 +22,7 @@ OPT_NETTLE_SOURCES = @OPT_NETTLE_SOURCES@ + + FAT_TEST_LIST = @FAT_TEST_LIST@ + +-SUBDIRS = tools testsuite examples ++SUBDIRS = @IF_TOOLS@ tools + + include config.make + +diff --git a/configure.ac b/configure.ac +index b629e39..2464514 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -24,6 +24,14 @@ AC_SUBST([MINOR_VERSION]) + + AC_CANONICAL_HOST + ++AC_ARG_ENABLE(tools,[]) ++if test "x$enable_tools" = xyes ; then ++ IF_TOOLS='' ++else ++ IF_TOOLS='#' ++fi ++AC_SUBST([IF_TOOLS]) ++ + # Command line options + AC_ARG_WITH(include-path, + AC_HELP_STRING([--with-include-path], [A colon-separated list of directories to search for include files]),, diff --git a/ports/nettle/vcpkg.json b/ports/nettle/vcpkg.json index b400238a76..ade31eac42 100644 --- a/ports/nettle/vcpkg.json +++ b/ports/nettle/vcpkg.json @@ -1,7 +1,6 @@ { "name": "nettle", - "version": "3.7.3", - "port-version": 1, + "version": "3.8.1", "description": "Nettle is a low-level cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.", "homepage": "https://git.lysator.liu.se/nettle/nettle", "license": null, @@ -19,5 +18,10 @@ ], "platform": "windows" } - ] + ], + "features": { + "tools": { + "description": "Build tools" + } + } } diff --git a/versions/baseline.json b/versions/baseline.json index 40c974e17b..d42e48e0b3 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5425,8 +5425,8 @@ "port-version": 0 }, "nettle": { - "baseline": "3.7.3", - "port-version": 1 + "baseline": "3.8.1", + "port-version": 0 }, "networkdirect-sdk": { "baseline": "2.0.1", diff --git a/versions/n-/nettle.json b/versions/n-/nettle.json index c4a28cf34a..6415658430 100644 --- a/versions/n-/nettle.json +++ b/versions/n-/nettle.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1ca3c1210bb511a4d94b53684fcb557e92678d7b", + "version": "3.8.1", + "port-version": 0 + }, { "git-tree": "a8247971cc43c88dabb2b1bc2b6e34adafc451f5", "version": "3.7.3",