summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorbeck <>2023-07-05 21:23:37 +0000
committerbeck <>2023-07-05 21:23:37 +0000
commitf02026f6f76299e13e86d72eda1292aed8790474 (patch)
tree3cafd04134ea26f8b5da5e120671d9a01bff9156 /src/lib
parentf84ae72d736cf133007e9416282403a5c00bae5d (diff)
downloadopenbsd-f02026f6f76299e13e86d72eda1292aed8790474.tar.gz
openbsd-f02026f6f76299e13e86d72eda1292aed8790474.tar.bz2
openbsd-f02026f6f76299e13e86d72eda1292aed8790474.zip
Hide symbols in asn1 and bio
ok jsing@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/Symbols.namespace368
-rw-r--r--src/lib/libcrypto/asn1/a_bitstr.c13
-rw-r--r--src/lib/libcrypto/asn1/a_enum.c14
-rw-r--r--src/lib/libcrypto/asn1/a_int.c19
-rw-r--r--src/lib/libcrypto/asn1/a_mbstr.c4
-rw-r--r--src/lib/libcrypto/asn1/a_object.c10
-rw-r--r--src/lib/libcrypto/asn1/a_octet.c9
-rw-r--r--src/lib/libcrypto/asn1/a_pkey.c5
-rw-r--r--src/lib/libcrypto/asn1/a_print.c4
-rw-r--r--src/lib/libcrypto/asn1/a_pubkey.c4
-rw-r--r--src/lib/libcrypto/asn1/a_strex.c6
-rw-r--r--src/lib/libcrypto/asn1/a_string.c19
-rw-r--r--src/lib/libcrypto/asn1/a_strnid.c9
-rw-r--r--src/lib/libcrypto/asn1/a_time.c8
-rw-r--r--src/lib/libcrypto/asn1/a_time_tm.c24
-rw-r--r--src/lib/libcrypto/asn1/a_type.c14
-rw-r--r--src/lib/libcrypto/asn1/ameth_lib.c22
-rw-r--r--src/lib/libcrypto/asn1/asn1_err.c3
-rw-r--r--src/lib/libcrypto/asn1/asn1_gen.c4
-rw-r--r--src/lib/libcrypto/asn1/asn1_item.c13
-rw-r--r--src/lib/libcrypto/asn1/asn1_old.c7
-rw-r--r--src/lib/libcrypto/asn1/asn1_old_lib.c6
-rw-r--r--src/lib/libcrypto/asn1/asn1_par.c4
-rw-r--r--src/lib/libcrypto/asn1/asn1_types.c4
-rw-r--r--src/lib/libcrypto/asn1/asn_mime.c4
-rw-r--r--src/lib/libcrypto/asn1/asn_moid.c3
-rw-r--r--src/lib/libcrypto/asn1/bio_asn1.c7
-rw-r--r--src/lib/libcrypto/asn1/p5_pbe.c8
-rw-r--r--src/lib/libcrypto/asn1/p5_pbev2.c13
-rw-r--r--src/lib/libcrypto/asn1/p8_pkey.c11
-rw-r--r--src/lib/libcrypto/asn1/t_crl.c4
-rw-r--r--src/lib/libcrypto/asn1/t_pkey.c4
-rw-r--r--src/lib/libcrypto/asn1/t_req.c5
-rw-r--r--src/lib/libcrypto/asn1/t_spki.c3
-rw-r--r--src/lib/libcrypto/asn1/t_x509.c13
-rw-r--r--src/lib/libcrypto/asn1/t_x509a.c3
-rw-r--r--src/lib/libcrypto/asn1/tasn_dec.c5
-rw-r--r--src/lib/libcrypto/asn1/tasn_enc.c5
-rw-r--r--src/lib/libcrypto/asn1/tasn_fre.c6
-rw-r--r--src/lib/libcrypto/asn1/tasn_new.c6
-rw-r--r--src/lib/libcrypto/asn1/tasn_prn.c15
-rw-r--r--src/lib/libcrypto/asn1/tasn_typ.c62
-rw-r--r--src/lib/libcrypto/asn1/x_algor.c13
-rw-r--r--src/lib/libcrypto/asn1/x_attrib.c8
-rw-r--r--src/lib/libcrypto/asn1/x_crl.c36
-rw-r--r--src/lib/libcrypto/asn1/x_exten.c9
-rw-r--r--src/lib/libcrypto/asn1/x_info.c4
-rw-r--r--src/lib/libcrypto/asn1/x_name.c14
-rw-r--r--src/lib/libcrypto/asn1/x_pkey.c4
-rw-r--r--src/lib/libcrypto/asn1/x_pubkey.c35
-rw-r--r--src/lib/libcrypto/asn1/x_req.c13
-rw-r--r--src/lib/libcrypto/asn1/x_sig.c8
-rw-r--r--src/lib/libcrypto/asn1/x_spki.c10
-rw-r--r--src/lib/libcrypto/asn1/x_val.c6
-rw-r--r--src/lib/libcrypto/asn1/x_x509.c19
-rw-r--r--src/lib/libcrypto/asn1/x_x509a.c14
-rw-r--r--src/lib/libcrypto/bio/b_dump.c8
-rw-r--r--src/lib/libcrypto/bio/b_posix.c5
-rw-r--r--src/lib/libcrypto/bio/b_print.c7
-rw-r--r--src/lib/libcrypto/bio/b_sock.c10
-rw-r--r--src/lib/libcrypto/bio/bf_buff.c3
-rw-r--r--src/lib/libcrypto/bio/bf_nbio.c3
-rw-r--r--src/lib/libcrypto/bio/bf_null.c3
-rw-r--r--src/lib/libcrypto/bio/bio_cb.c3
-rw-r--r--src/lib/libcrypto/bio/bio_err.c3
-rw-r--r--src/lib/libcrypto/bio/bio_lib.c52
-rw-r--r--src/lib/libcrypto/bio/bio_meth.c20
-rw-r--r--src/lib/libcrypto/bio/bss_acpt.c5
-rw-r--r--src/lib/libcrypto/bio/bss_bio.c11
-rw-r--r--src/lib/libcrypto/bio/bss_conn.c7
-rw-r--r--src/lib/libcrypto/bio/bss_dgram.c5
-rw-r--r--src/lib/libcrypto/bio/bss_fd.c6
-rw-r--r--src/lib/libcrypto/bio/bss_file.c5
-rw-r--r--src/lib/libcrypto/bio/bss_log.c3
-rw-r--r--src/lib/libcrypto/bio/bss_mem.c4
-rw-r--r--src/lib/libcrypto/bio/bss_null.c3
-rw-r--r--src/lib/libcrypto/bio/bss_sock.c7
-rw-r--r--src/lib/libcrypto/hidden/openssl/asn1.h262
-rw-r--r--src/lib/libcrypto/hidden/openssl/asn1t.h39
-rw-r--r--src/lib/libcrypto/hidden/openssl/bio.h154
80 files changed, 1511 insertions, 80 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index faee727cfd..d6c1610db9 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -895,3 +895,371 @@ _libre_ChaCha
895_libre_CRYPTO_chacha_20 895_libre_CRYPTO_chacha_20
896_libre_CRYPTO_xchacha_20 896_libre_CRYPTO_xchacha_20
897_libre_CRYPTO_hchacha_20 897_libre_CRYPTO_hchacha_20
898_libre_d2i_ASN1_SEQUENCE_ANY
899_libre_i2d_ASN1_SEQUENCE_ANY
900_libre_d2i_ASN1_SET_ANY
901_libre_i2d_ASN1_SET_ANY
902_libre_ASN1_TYPE_new
903_libre_ASN1_TYPE_free
904_libre_d2i_ASN1_TYPE
905_libre_i2d_ASN1_TYPE
906_libre_ASN1_TYPE_get
907_libre_ASN1_TYPE_set
908_libre_ASN1_TYPE_set1
909_libre_ASN1_TYPE_cmp
910_libre_ASN1_OBJECT_new
911_libre_ASN1_OBJECT_free
912_libre_i2d_ASN1_OBJECT
913_libre_d2i_ASN1_OBJECT
914_libre_ASN1_STRING_new
915_libre_ASN1_STRING_free
916_libre_ASN1_STRING_copy
917_libre_ASN1_STRING_dup
918_libre_ASN1_STRING_type_new
919_libre_ASN1_STRING_cmp
920_libre_ASN1_STRING_set
921_libre_ASN1_STRING_set0
922_libre_ASN1_STRING_length
923_libre_ASN1_STRING_length_set
924_libre_ASN1_STRING_type
925_libre_ASN1_STRING_data
926_libre_ASN1_STRING_get0_data
927_libre_ASN1_BIT_STRING_new
928_libre_ASN1_BIT_STRING_free
929_libre_d2i_ASN1_BIT_STRING
930_libre_i2d_ASN1_BIT_STRING
931_libre_ASN1_BIT_STRING_set
932_libre_ASN1_BIT_STRING_set_bit
933_libre_ASN1_BIT_STRING_get_bit
934_libre_ASN1_BIT_STRING_check
935_libre_ASN1_BIT_STRING_name_print
936_libre_ASN1_BIT_STRING_num_asc
937_libre_ASN1_BIT_STRING_set_asc
938_libre_ASN1_INTEGER_new
939_libre_ASN1_INTEGER_free
940_libre_d2i_ASN1_INTEGER
941_libre_i2d_ASN1_INTEGER
942_libre_d2i_ASN1_UINTEGER
943_libre_ASN1_INTEGER_dup
944_libre_ASN1_INTEGER_cmp
945_libre_ASN1_ENUMERATED_new
946_libre_ASN1_ENUMERATED_free
947_libre_d2i_ASN1_ENUMERATED
948_libre_i2d_ASN1_ENUMERATED
949_libre_ASN1_UTCTIME_check
950_libre_ASN1_UTCTIME_set
951_libre_ASN1_UTCTIME_adj
952_libre_ASN1_UTCTIME_set_string
953_libre_ASN1_UTCTIME_cmp_time_t
954_libre_ASN1_GENERALIZEDTIME_check
955_libre_ASN1_GENERALIZEDTIME_set
956_libre_ASN1_GENERALIZEDTIME_adj
957_libre_ASN1_GENERALIZEDTIME_set_string
958_libre_ASN1_OCTET_STRING_new
959_libre_ASN1_OCTET_STRING_free
960_libre_d2i_ASN1_OCTET_STRING
961_libre_i2d_ASN1_OCTET_STRING
962_libre_ASN1_OCTET_STRING_dup
963_libre_ASN1_OCTET_STRING_cmp
964_libre_ASN1_OCTET_STRING_set
965_libre_ASN1_VISIBLESTRING_new
966_libre_ASN1_VISIBLESTRING_free
967_libre_d2i_ASN1_VISIBLESTRING
968_libre_i2d_ASN1_VISIBLESTRING
969_libre_ASN1_UNIVERSALSTRING_new
970_libre_ASN1_UNIVERSALSTRING_free
971_libre_d2i_ASN1_UNIVERSALSTRING
972_libre_i2d_ASN1_UNIVERSALSTRING
973_libre_ASN1_UTF8STRING_new
974_libre_ASN1_UTF8STRING_free
975_libre_d2i_ASN1_UTF8STRING
976_libre_i2d_ASN1_UTF8STRING
977_libre_ASN1_NULL_new
978_libre_ASN1_NULL_free
979_libre_d2i_ASN1_NULL
980_libre_i2d_ASN1_NULL
981_libre_ASN1_BMPSTRING_new
982_libre_ASN1_BMPSTRING_free
983_libre_d2i_ASN1_BMPSTRING
984_libre_i2d_ASN1_BMPSTRING
985_libre_ASN1_PRINTABLE_new
986_libre_ASN1_PRINTABLE_free
987_libre_d2i_ASN1_PRINTABLE
988_libre_i2d_ASN1_PRINTABLE
989_libre_DIRECTORYSTRING_new
990_libre_DIRECTORYSTRING_free
991_libre_d2i_DIRECTORYSTRING
992_libre_i2d_DIRECTORYSTRING
993_libre_DISPLAYTEXT_new
994_libre_DISPLAYTEXT_free
995_libre_d2i_DISPLAYTEXT
996_libre_i2d_DISPLAYTEXT
997_libre_ASN1_PRINTABLESTRING_new
998_libre_ASN1_PRINTABLESTRING_free
999_libre_d2i_ASN1_PRINTABLESTRING
1000_libre_i2d_ASN1_PRINTABLESTRING
1001_libre_ASN1_T61STRING_new
1002_libre_ASN1_T61STRING_free
1003_libre_d2i_ASN1_T61STRING
1004_libre_i2d_ASN1_T61STRING
1005_libre_ASN1_IA5STRING_new
1006_libre_ASN1_IA5STRING_free
1007_libre_d2i_ASN1_IA5STRING
1008_libre_i2d_ASN1_IA5STRING
1009_libre_ASN1_GENERALSTRING_new
1010_libre_ASN1_GENERALSTRING_free
1011_libre_d2i_ASN1_GENERALSTRING
1012_libre_i2d_ASN1_GENERALSTRING
1013_libre_ASN1_UTCTIME_new
1014_libre_ASN1_UTCTIME_free
1015_libre_d2i_ASN1_UTCTIME
1016_libre_i2d_ASN1_UTCTIME
1017_libre_ASN1_GENERALIZEDTIME_new
1018_libre_ASN1_GENERALIZEDTIME_free
1019_libre_d2i_ASN1_GENERALIZEDTIME
1020_libre_i2d_ASN1_GENERALIZEDTIME
1021_libre_ASN1_TIME_new
1022_libre_ASN1_TIME_free
1023_libre_d2i_ASN1_TIME
1024_libre_i2d_ASN1_TIME
1025_libre_ASN1_TIME_to_tm
1026_libre_ASN1_TIME_compare
1027_libre_ASN1_TIME_cmp_time_t
1028_libre_ASN1_TIME_normalize
1029_libre_ASN1_TIME_set_string_X509
1030_libre_ASN1_TIME_diff
1031_libre_ASN1_TIME_set
1032_libre_ASN1_TIME_set_tm
1033_libre_ASN1_TIME_adj
1034_libre_ASN1_TIME_check
1035_libre_ASN1_TIME_to_generalizedtime
1036_libre_ASN1_TIME_set_string
1037_libre_i2a_ASN1_INTEGER
1038_libre_a2i_ASN1_INTEGER
1039_libre_i2a_ASN1_ENUMERATED
1040_libre_a2i_ASN1_ENUMERATED
1041_libre_i2a_ASN1_OBJECT
1042_libre_a2i_ASN1_STRING
1043_libre_i2a_ASN1_STRING
1044_libre_i2t_ASN1_OBJECT
1045_libre_a2d_ASN1_OBJECT
1046_libre_ASN1_OBJECT_create
1047_libre_ASN1_INTEGER_get_uint64
1048_libre_ASN1_INTEGER_set_uint64
1049_libre_ASN1_INTEGER_get_int64
1050_libre_ASN1_INTEGER_set_int64
1051_libre_ASN1_INTEGER_set
1052_libre_ASN1_INTEGER_get
1053_libre_BN_to_ASN1_INTEGER
1054_libre_ASN1_INTEGER_to_BN
1055_libre_ASN1_ENUMERATED_get_int64
1056_libre_ASN1_ENUMERATED_set_int64
1057_libre_ASN1_ENUMERATED_set
1058_libre_ASN1_ENUMERATED_get
1059_libre_BN_to_ASN1_ENUMERATED
1060_libre_ASN1_ENUMERATED_to_BN
1061_libre_ASN1_PRINTABLE_type
1062_libre_ASN1_get_object
1063_libre_ASN1_put_object
1064_libre_ASN1_put_eoc
1065_libre_ASN1_object_size
1066_libre_ASN1_item_dup
1067_libre_ASN1_dup
1068_libre_ASN1_d2i_fp
1069_libre_ASN1_item_d2i_fp
1070_libre_ASN1_i2d_fp
1071_libre_ASN1_item_i2d_fp
1072_libre_ASN1_STRING_print_ex_fp
1073_libre_ASN1_STRING_to_UTF8
1074_libre_ASN1_d2i_bio
1075_libre_ASN1_item_d2i_bio
1076_libre_ASN1_i2d_bio
1077_libre_ASN1_item_i2d_bio
1078_libre_ASN1_UTCTIME_print
1079_libre_ASN1_GENERALIZEDTIME_print
1080_libre_ASN1_TIME_print
1081_libre_ASN1_STRING_print
1082_libre_ASN1_STRING_print_ex
1083_libre_ASN1_bn_print
1084_libre_ASN1_buf_print
1085_libre_ASN1_parse
1086_libre_ASN1_parse_dump
1087_libre_ASN1_tag2bit
1088_libre_ASN1_tag2str
1089_libre_ASN1_UNIVERSALSTRING_to_string
1090_libre_ASN1_TYPE_set_octetstring
1091_libre_ASN1_TYPE_get_octetstring
1092_libre_ASN1_TYPE_set_int_octetstring
1093_libre_ASN1_TYPE_get_int_octetstring
1094_libre_ASN1_item_pack
1095_libre_ASN1_item_unpack
1096_libre_ASN1_STRING_set_default_mask
1097_libre_ASN1_STRING_set_default_mask_asc
1098_libre_ASN1_STRING_get_default_mask
1099_libre_ASN1_mbstring_copy
1100_libre_ASN1_mbstring_ncopy
1101_libre_ASN1_STRING_set_by_NID
1102_libre_ASN1_STRING_TABLE_get
1103_libre_ASN1_STRING_TABLE_add
1104_libre_ASN1_STRING_TABLE_cleanup
1105_libre_ASN1_item_new
1106_libre_ASN1_item_free
1107_libre_ASN1_item_d2i
1108_libre_ASN1_item_i2d
1109_libre_ASN1_add_oid_module
1110_libre_ASN1_generate_nconf
1111_libre_ASN1_generate_v3
1112_libre_ASN1_item_print
1113_libre_ASN1_PCTX_new
1114_libre_ASN1_PCTX_free
1115_libre_ASN1_PCTX_get_flags
1116_libre_ASN1_PCTX_set_flags
1117_libre_ASN1_PCTX_get_nm_flags
1118_libre_ASN1_PCTX_set_nm_flags
1119_libre_ASN1_PCTX_get_cert_flags
1120_libre_ASN1_PCTX_set_cert_flags
1121_libre_ASN1_PCTX_get_oid_flags
1122_libre_ASN1_PCTX_set_oid_flags
1123_libre_ASN1_PCTX_get_str_flags
1124_libre_ASN1_PCTX_set_str_flags
1125_libre_BIO_f_asn1
1126_libre_SMIME_crlf_copy
1127_libre_SMIME_text
1128_libre_ERR_load_ASN1_strings
1129_libre_ASN1_time_parse
1130_libre_ASN1_time_tm_cmp
1131_libre_ASN1_item_ex_new
1132_libre_ASN1_item_ex_free
1133_libre_ASN1_template_new
1134_libre_ASN1_primitive_new
1135_libre_ASN1_template_free
1136_libre_ASN1_template_d2i
1137_libre_ASN1_item_ex_d2i
1138_libre_ASN1_item_ex_i2d
1139_libre_ASN1_template_i2d
1140_libre_ASN1_primitive_free
1141_libre_BIO_set_flags
1142_libre_BIO_test_flags
1143_libre_BIO_clear_flags
1144_libre_BIO_get_callback
1145_libre_BIO_set_callback
1146_libre_BIO_get_callback_ex
1147_libre_BIO_set_callback_ex
1148_libre_BIO_get_callback_arg
1149_libre_BIO_set_callback_arg
1150_libre_BIO_method_name
1151_libre_BIO_method_type
1152_libre_BIO_meth_new
1153_libre_BIO_meth_free
1154_libre_BIO_meth_get_write
1155_libre_BIO_meth_set_write
1156_libre_BIO_meth_get_read
1157_libre_BIO_meth_set_read
1158_libre_BIO_meth_get_puts
1159_libre_BIO_meth_set_puts
1160_libre_BIO_meth_get_gets
1161_libre_BIO_meth_set_gets
1162_libre_BIO_meth_get_ctrl
1163_libre_BIO_meth_set_ctrl
1164_libre_BIO_meth_get_create
1165_libre_BIO_meth_set_create
1166_libre_BIO_meth_get_destroy
1167_libre_BIO_meth_set_destroy
1168_libre_BIO_meth_get_callback_ctrl
1169_libre_BIO_meth_set_callback_ctrl
1170_libre_BIO_ctrl_pending
1171_libre_BIO_ctrl_wpending
1172_libre_BIO_ctrl_get_write_guarantee
1173_libre_BIO_ctrl_get_read_request
1174_libre_BIO_ctrl_reset_read_request
1175_libre_BIO_set_ex_data
1176_libre_BIO_get_ex_data
1177_libre_BIO_number_read
1178_libre_BIO_number_written
1179_libre_BIO_asn1_set_prefix
1180_libre_BIO_asn1_get_prefix
1181_libre_BIO_asn1_set_suffix
1182_libre_BIO_asn1_get_suffix
1183_libre_BIO_get_new_index
1184_libre_BIO_s_file
1185_libre_BIO_new_file
1186_libre_BIO_new_fp
1187_libre_BIO_new
1188_libre_BIO_set
1189_libre_BIO_free
1190_libre_BIO_up_ref
1191_libre_BIO_get_data
1192_libre_BIO_set_data
1193_libre_BIO_get_init
1194_libre_BIO_set_init
1195_libre_BIO_get_shutdown
1196_libre_BIO_set_shutdown
1197_libre_BIO_vfree
1198_libre_BIO_read
1199_libre_BIO_gets
1200_libre_BIO_write
1201_libre_BIO_puts
1202_libre_BIO_indent
1203_libre_BIO_ctrl
1204_libre_BIO_callback_ctrl
1205_libre_BIO_ptr_ctrl
1206_libre_BIO_int_ctrl
1207_libre_BIO_push
1208_libre_BIO_pop
1209_libre_BIO_free_all
1210_libre_BIO_find_type
1211_libre_BIO_next
1212_libre_BIO_set_next
1213_libre_BIO_get_retry_BIO
1214_libre_BIO_get_retry_reason
1215_libre_BIO_set_retry_reason
1216_libre_BIO_dup_chain
1217_libre_BIO_nread0
1218_libre_BIO_nread
1219_libre_BIO_nwrite0
1220_libre_BIO_nwrite
1221_libre_BIO_debug_callback
1222_libre_BIO_s_mem
1223_libre_BIO_new_mem_buf
1224_libre_BIO_s_socket
1225_libre_BIO_s_connect
1226_libre_BIO_s_accept
1227_libre_BIO_s_fd
1228_libre_BIO_s_log
1229_libre_BIO_s_bio
1230_libre_BIO_s_null
1231_libre_BIO_f_null
1232_libre_BIO_f_buffer
1233_libre_BIO_f_nbio_test
1234_libre_BIO_s_datagram
1235_libre_BIO_sock_should_retry
1236_libre_BIO_sock_non_fatal_error
1237_libre_BIO_dgram_non_fatal_error
1238_libre_BIO_fd_should_retry
1239_libre_BIO_fd_non_fatal_error
1240_libre_BIO_dump
1241_libre_BIO_dump_indent
1242_libre_BIO_dump_fp
1243_libre_BIO_dump_indent_fp
1244_libre_BIO_gethostbyname
1245_libre_BIO_sock_error
1246_libre_BIO_socket_ioctl
1247_libre_BIO_socket_nbio
1248_libre_BIO_get_port
1249_libre_BIO_get_host_ip
1250_libre_BIO_get_accept_socket
1251_libre_BIO_accept
1252_libre_BIO_sock_init
1253_libre_BIO_sock_cleanup
1254_libre_BIO_set_tcp_ndelay
1255_libre_BIO_new_socket
1256_libre_BIO_new_dgram
1257_libre_BIO_new_fd
1258_libre_BIO_new_connect
1259_libre_BIO_new_accept
1260_libre_BIO_copy_next_retry
1261_libre_BIO_printf
1262_libre_BIO_vprintf
1263_libre_BIO_snprintf
1264_libre_BIO_vsnprintf
1265_libre_ERR_load_BIO_strings
diff --git a/src/lib/libcrypto/asn1/a_bitstr.c b/src/lib/libcrypto/asn1/a_bitstr.c
index 767055144d..8076723de8 100644
--- a/src/lib/libcrypto/asn1/a_bitstr.c
+++ b/src/lib/libcrypto/asn1/a_bitstr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_bitstr.c,v 1.38 2023/01/13 14:46:08 tb Exp $ */ 1/* $OpenBSD: a_bitstr.c,v 1.39 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -79,12 +79,14 @@ ASN1_BIT_STRING_new(void)
79{ 79{
80 return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it); 80 return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it);
81} 81}
82LCRYPTO_ALIAS(ASN1_BIT_STRING_new);
82 83
83void 84void
84ASN1_BIT_STRING_free(ASN1_BIT_STRING *a) 85ASN1_BIT_STRING_free(ASN1_BIT_STRING *a)
85{ 86{
86 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); 87 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it);
87} 88}
89LCRYPTO_ALIAS(ASN1_BIT_STRING_free);
88 90
89static void 91static void
90asn1_abs_clear_unused_bits(ASN1_BIT_STRING *abs) 92asn1_abs_clear_unused_bits(ASN1_BIT_STRING *abs)
@@ -110,6 +112,7 @@ ASN1_BIT_STRING_set(ASN1_BIT_STRING *x, unsigned char *d, int len)
110{ 112{
111 return ASN1_STRING_set(x, d, len); 113 return ASN1_STRING_set(x, d, len);
112} 114}
115LCRYPTO_ALIAS(ASN1_BIT_STRING_set);
113 116
114int 117int
115ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value) 118ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
@@ -144,6 +147,7 @@ ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
144 147
145 return (1); 148 return (1);
146} 149}
150LCRYPTO_ALIAS(ASN1_BIT_STRING_set_bit);
147 151
148int 152int
149ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n) 153ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n)
@@ -156,6 +160,7 @@ ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n)
156 return (0); 160 return (0);
157 return ((a->data[w] & v) != 0); 161 return ((a->data[w] & v) != 0);
158} 162}
163LCRYPTO_ALIAS(ASN1_BIT_STRING_get_bit);
159 164
160/* 165/*
161 * Checks if the given bit string contains only bits specified by 166 * Checks if the given bit string contains only bits specified by
@@ -182,6 +187,7 @@ ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, const unsigned char *flags,
182 } 187 }
183 return ok; 188 return ok;
184} 189}
190LCRYPTO_ALIAS(ASN1_BIT_STRING_check);
185 191
186int 192int
187ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, 193ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
@@ -202,6 +208,7 @@ ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
202 BIO_puts(out, "\n"); 208 BIO_puts(out, "\n");
203 return 1; 209 return 1;
204} 210}
211LCRYPTO_ALIAS(ASN1_BIT_STRING_name_print);
205 212
206int 213int
207ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, 214ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value,
@@ -218,6 +225,7 @@ ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value,
218 } 225 }
219 return 1; 226 return 1;
220} 227}
228LCRYPTO_ALIAS(ASN1_BIT_STRING_set_asc);
221 229
222int 230int
223ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl) 231ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl)
@@ -231,6 +239,7 @@ ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl)
231 } 239 }
232 return -1; 240 return -1;
233} 241}
242LCRYPTO_ALIAS(ASN1_BIT_STRING_num_asc);
234 243
235int 244int
236i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp) 245i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp)
@@ -388,6 +397,7 @@ i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out)
388{ 397{
389 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it); 398 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it);
390} 399}
400LCRYPTO_ALIAS(i2d_ASN1_BIT_STRING);
391 401
392ASN1_BIT_STRING * 402ASN1_BIT_STRING *
393d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) 403d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len)
@@ -395,3 +405,4 @@ d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len)
395 return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 405 return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
396 &ASN1_BIT_STRING_it); 406 &ASN1_BIT_STRING_it);
397} 407}
408LCRYPTO_ALIAS(d2i_ASN1_BIT_STRING);
diff --git a/src/lib/libcrypto/asn1/a_enum.c b/src/lib/libcrypto/asn1/a_enum.c
index d7c8181ea9..483fe1c271 100644
--- a/src/lib/libcrypto/asn1/a_enum.c
+++ b/src/lib/libcrypto/asn1/a_enum.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_enum.c,v 1.28 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: a_enum.c,v 1.29 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -84,6 +84,7 @@ ASN1_ENUMERATED_new(void)
84{ 84{
85 return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it); 85 return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it);
86} 86}
87LCRYPTO_ALIAS(ASN1_ENUMERATED_new);
87 88
88static void 89static void
89asn1_aenum_clear(ASN1_ENUMERATED *aenum) 90asn1_aenum_clear(ASN1_ENUMERATED *aenum)
@@ -100,6 +101,7 @@ ASN1_ENUMERATED_free(ASN1_ENUMERATED *a)
100{ 101{
101 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); 102 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it);
102} 103}
104LCRYPTO_ALIAS(ASN1_ENUMERATED_free);
103 105
104int 106int
105ASN1_ENUMERATED_get_int64(int64_t *out_val, const ASN1_ENUMERATED *aenum) 107ASN1_ENUMERATED_get_int64(int64_t *out_val, const ASN1_ENUMERATED *aenum)
@@ -122,6 +124,7 @@ ASN1_ENUMERATED_get_int64(int64_t *out_val, const ASN1_ENUMERATED *aenum)
122 return asn1_aint_get_int64(&cbs, (aenum->type == V_ASN1_NEG_ENUMERATED), 124 return asn1_aint_get_int64(&cbs, (aenum->type == V_ASN1_NEG_ENUMERATED),
123 out_val); 125 out_val);
124} 126}
127LCRYPTO_ALIAS(ASN1_ENUMERATED_get_int64);
125 128
126int 129int
127ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *aenum, int64_t val) 130ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *aenum, int64_t val)
@@ -139,6 +142,7 @@ ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *aenum, int64_t val)
139 142
140 return asn1_aint_set_uint64(uval, &aenum->data, &aenum->length); 143 return asn1_aint_set_uint64(uval, &aenum->data, &aenum->length);
141} 144}
145LCRYPTO_ALIAS(ASN1_ENUMERATED_set_int64);
142 146
143long 147long
144ASN1_ENUMERATED_get(const ASN1_ENUMERATED *aenum) 148ASN1_ENUMERATED_get(const ASN1_ENUMERATED *aenum)
@@ -156,12 +160,14 @@ ASN1_ENUMERATED_get(const ASN1_ENUMERATED *aenum)
156 160
157 return (long)val; 161 return (long)val;
158} 162}
163LCRYPTO_ALIAS(ASN1_ENUMERATED_get);
159 164
160int 165int
161ASN1_ENUMERATED_set(ASN1_ENUMERATED *aenum, long val) 166ASN1_ENUMERATED_set(ASN1_ENUMERATED *aenum, long val)
162{ 167{
163 return ASN1_ENUMERATED_set_int64(aenum, val); 168 return ASN1_ENUMERATED_set_int64(aenum, val);
164} 169}
170LCRYPTO_ALIAS(ASN1_ENUMERATED_set);
165 171
166ASN1_ENUMERATED * 172ASN1_ENUMERATED *
167BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai) 173BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai)
@@ -205,6 +211,7 @@ BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai)
205 ASN1_ENUMERATED_free(ret); 211 ASN1_ENUMERATED_free(ret);
206 return (NULL); 212 return (NULL);
207} 213}
214LCRYPTO_ALIAS(BN_to_ASN1_ENUMERATED);
208 215
209BIGNUM * 216BIGNUM *
210ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn) 217ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn)
@@ -217,6 +224,7 @@ ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn)
217 BN_set_negative(ret, 1); 224 BN_set_negative(ret, 1);
218 return (ret); 225 return (ret);
219} 226}
227LCRYPTO_ALIAS(ASN1_ENUMERATED_to_BN);
220 228
221/* Based on a_int.c: equivalent ENUMERATED functions */ 229/* Based on a_int.c: equivalent ENUMERATED functions */
222 230
@@ -253,6 +261,7 @@ i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a)
253 err: 261 err:
254 return (-1); 262 return (-1);
255} 263}
264LCRYPTO_ALIAS(i2a_ASN1_ENUMERATED);
256 265
257int 266int
258a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size) 267a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size)
@@ -344,6 +353,7 @@ a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size)
344 free(s); 353 free(s);
345 return (ret); 354 return (ret);
346} 355}
356LCRYPTO_ALIAS(a2i_ASN1_ENUMERATED);
347 357
348int 358int
349c2i_ASN1_ENUMERATED_cbs(ASN1_ENUMERATED **out_aenum, CBS *cbs) 359c2i_ASN1_ENUMERATED_cbs(ASN1_ENUMERATED **out_aenum, CBS *cbs)
@@ -372,6 +382,7 @@ i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out)
372{ 382{
373 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it); 383 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it);
374} 384}
385LCRYPTO_ALIAS(i2d_ASN1_ENUMERATED);
375 386
376ASN1_ENUMERATED * 387ASN1_ENUMERATED *
377d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) 388d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len)
@@ -379,3 +390,4 @@ d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len)
379 return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 390 return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
380 &ASN1_ENUMERATED_it); 391 &ASN1_ENUMERATED_it);
381} 392}
393LCRYPTO_ALIAS(d2i_ASN1_ENUMERATED);
diff --git a/src/lib/libcrypto/asn1/a_int.c b/src/lib/libcrypto/asn1/a_int.c
index 1f4778922d..643ad2e0f0 100644
--- a/src/lib/libcrypto/asn1/a_int.c
+++ b/src/lib/libcrypto/asn1/a_int.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_int.c,v 1.46 2022/08/28 17:49:25 jsing Exp $ */ 1/* $OpenBSD: a_int.c,v 1.47 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -79,6 +79,7 @@ ASN1_INTEGER_new(void)
79{ 79{
80 return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it); 80 return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it);
81} 81}
82LCRYPTO_ALIAS(ASN1_INTEGER_new);
82 83
83static void 84static void
84asn1_aint_clear(ASN1_INTEGER *aint) 85asn1_aint_clear(ASN1_INTEGER *aint)
@@ -95,6 +96,7 @@ ASN1_INTEGER_free(ASN1_INTEGER *a)
95{ 96{
96 ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); 97 ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it);
97} 98}
99LCRYPTO_ALIAS(ASN1_INTEGER_free);
98 100
99static int 101static int
100ASN1_INTEGER_valid(const ASN1_INTEGER *a) 102ASN1_INTEGER_valid(const ASN1_INTEGER *a)
@@ -110,6 +112,7 @@ ASN1_INTEGER_dup(const ASN1_INTEGER *x)
110 112
111 return ASN1_STRING_dup(x); 113 return ASN1_STRING_dup(x);
112} 114}
115LCRYPTO_ALIAS(ASN1_INTEGER_dup);
113 116
114int 117int
115ASN1_INTEGER_cmp(const ASN1_INTEGER *a, const ASN1_INTEGER *b) 118ASN1_INTEGER_cmp(const ASN1_INTEGER *a, const ASN1_INTEGER *b)
@@ -125,6 +128,7 @@ ASN1_INTEGER_cmp(const ASN1_INTEGER *a, const ASN1_INTEGER *b)
125 128
126 return ret; 129 return ret;
127} 130}
131LCRYPTO_ALIAS(ASN1_INTEGER_cmp);
128 132
129int 133int
130asn1_aint_get_uint64(CBS *cbs, uint64_t *out_val) 134asn1_aint_get_uint64(CBS *cbs, uint64_t *out_val)
@@ -248,6 +252,7 @@ ASN1_INTEGER_get_uint64(uint64_t *out_val, const ASN1_INTEGER *aint)
248 252
249 return 1; 253 return 1;
250} 254}
255LCRYPTO_ALIAS(ASN1_INTEGER_get_uint64);
251 256
252int 257int
253ASN1_INTEGER_set_uint64(ASN1_INTEGER *aint, uint64_t val) 258ASN1_INTEGER_set_uint64(ASN1_INTEGER *aint, uint64_t val)
@@ -256,6 +261,7 @@ ASN1_INTEGER_set_uint64(ASN1_INTEGER *aint, uint64_t val)
256 261
257 return asn1_aint_set_uint64(val, &aint->data, &aint->length); 262 return asn1_aint_set_uint64(val, &aint->data, &aint->length);
258} 263}
264LCRYPTO_ALIAS(ASN1_INTEGER_set_uint64);
259 265
260int 266int
261ASN1_INTEGER_get_int64(int64_t *out_val, const ASN1_INTEGER *aint) 267ASN1_INTEGER_get_int64(int64_t *out_val, const ASN1_INTEGER *aint)
@@ -278,6 +284,7 @@ ASN1_INTEGER_get_int64(int64_t *out_val, const ASN1_INTEGER *aint)
278 return asn1_aint_get_int64(&cbs, (aint->type == V_ASN1_NEG_INTEGER), 284 return asn1_aint_get_int64(&cbs, (aint->type == V_ASN1_NEG_INTEGER),
279 out_val); 285 out_val);
280} 286}
287LCRYPTO_ALIAS(ASN1_INTEGER_get_int64);
281 288
282int 289int
283ASN1_INTEGER_set_int64(ASN1_INTEGER *aint, int64_t val) 290ASN1_INTEGER_set_int64(ASN1_INTEGER *aint, int64_t val)
@@ -295,6 +302,7 @@ ASN1_INTEGER_set_int64(ASN1_INTEGER *aint, int64_t val)
295 302
296 return asn1_aint_set_uint64(uval, &aint->data, &aint->length); 303 return asn1_aint_set_uint64(uval, &aint->data, &aint->length);
297} 304}
305LCRYPTO_ALIAS(ASN1_INTEGER_set_int64);
298 306
299long 307long
300ASN1_INTEGER_get(const ASN1_INTEGER *aint) 308ASN1_INTEGER_get(const ASN1_INTEGER *aint)
@@ -312,12 +320,14 @@ ASN1_INTEGER_get(const ASN1_INTEGER *aint)
312 320
313 return (long)val; 321 return (long)val;
314} 322}
323LCRYPTO_ALIAS(ASN1_INTEGER_get);
315 324
316int 325int
317ASN1_INTEGER_set(ASN1_INTEGER *aint, long val) 326ASN1_INTEGER_set(ASN1_INTEGER *aint, long val)
318{ 327{
319 return ASN1_INTEGER_set_int64(aint, val); 328 return ASN1_INTEGER_set_int64(aint, val);
320} 329}
330LCRYPTO_ALIAS(ASN1_INTEGER_set);
321 331
322ASN1_INTEGER * 332ASN1_INTEGER *
323BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai) 333BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
@@ -365,6 +375,7 @@ BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
365 ASN1_INTEGER_free(ret); 375 ASN1_INTEGER_free(ret);
366 return (NULL); 376 return (NULL);
367} 377}
378LCRYPTO_ALIAS(BN_to_ASN1_INTEGER);
368 379
369BIGNUM * 380BIGNUM *
370ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn) 381ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)
@@ -380,6 +391,7 @@ ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)
380 BN_set_negative(ret, 1); 391 BN_set_negative(ret, 1);
381 return (ret); 392 return (ret);
382} 393}
394LCRYPTO_ALIAS(ASN1_INTEGER_to_BN);
383 395
384int 396int
385i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a) 397i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a)
@@ -420,6 +432,7 @@ i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a)
420 err: 432 err:
421 return (-1); 433 return (-1);
422} 434}
435LCRYPTO_ALIAS(i2a_ASN1_INTEGER);
423 436
424int 437int
425a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size) 438a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
@@ -509,6 +522,7 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
509 free(s); 522 free(s);
510 return (ret); 523 return (ret);
511} 524}
525LCRYPTO_ALIAS(a2i_ASN1_INTEGER);
512 526
513static void 527static void
514asn1_aint_twos_complement(uint8_t *data, size_t data_len) 528asn1_aint_twos_complement(uint8_t *data, size_t data_len)
@@ -757,6 +771,7 @@ i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out)
757{ 771{
758 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it); 772 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it);
759} 773}
774LCRYPTO_ALIAS(i2d_ASN1_INTEGER);
760 775
761ASN1_INTEGER * 776ASN1_INTEGER *
762d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) 777d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len)
@@ -764,6 +779,7 @@ d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len)
764 return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 779 return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
765 &ASN1_INTEGER_it); 780 &ASN1_INTEGER_it);
766} 781}
782LCRYPTO_ALIAS(d2i_ASN1_INTEGER);
767 783
768/* This is a version of d2i_ASN1_INTEGER that ignores the sign bit of 784/* This is a version of d2i_ASN1_INTEGER that ignores the sign bit of
769 * ASN1 integers: some broken software can encode a positive INTEGER 785 * ASN1 integers: some broken software can encode a positive INTEGER
@@ -838,3 +854,4 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length)
838 ASN1_INTEGER_free(ret); 854 ASN1_INTEGER_free(ret);
839 return (NULL); 855 return (NULL);
840} 856}
857LCRYPTO_ALIAS(d2i_ASN1_UINTEGER);
diff --git a/src/lib/libcrypto/asn1/a_mbstr.c b/src/lib/libcrypto/asn1/a_mbstr.c
index 32b39ad5db..f050f97539 100644
--- a/src/lib/libcrypto/asn1/a_mbstr.c
+++ b/src/lib/libcrypto/asn1/a_mbstr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_mbstr.c,v 1.26 2022/12/26 07:18:51 jmc Exp $ */ 1/* $OpenBSD: a_mbstr.c,v 1.27 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -90,6 +90,7 @@ ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len,
90{ 90{
91 return ASN1_mbstring_ncopy(out, in, len, inform, mask, 0, 0); 91 return ASN1_mbstring_ncopy(out, in, len, inform, mask, 0, 0);
92} 92}
93LCRYPTO_ALIAS(ASN1_mbstring_copy);
93 94
94int 95int
95ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, 96ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
@@ -255,6 +256,7 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
255 } 256 }
256 return -1; 257 return -1;
257} 258}
259LCRYPTO_ALIAS(ASN1_mbstring_ncopy);
258 260
259/* This function traverses a string and passes the value of each character 261/* This function traverses a string and passes the value of each character
260 * to an optional function along with a void * argument. 262 * to an optional function along with a void * argument.
diff --git a/src/lib/libcrypto/asn1/a_object.c b/src/lib/libcrypto/asn1/a_object.c
index af19858f74..a87e243956 100644
--- a/src/lib/libcrypto/asn1/a_object.c
+++ b/src/lib/libcrypto/asn1/a_object.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_object.c,v 1.50 2023/05/23 11:51:12 tb Exp $ */ 1/* $OpenBSD: a_object.c,v 1.51 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -87,6 +87,7 @@ ASN1_OBJECT_new(void)
87 87
88 return a; 88 return a;
89} 89}
90LCRYPTO_ALIAS(ASN1_OBJECT_new);
90 91
91void 92void
92ASN1_OBJECT_free(ASN1_OBJECT *a) 93ASN1_OBJECT_free(ASN1_OBJECT *a)
@@ -106,6 +107,7 @@ ASN1_OBJECT_free(ASN1_OBJECT *a)
106 if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC) 107 if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC)
107 free(a); 108 free(a);
108} 109}
110LCRYPTO_ALIAS(ASN1_OBJECT_free);
109 111
110ASN1_OBJECT * 112ASN1_OBJECT *
111ASN1_OBJECT_create(int nid, unsigned char *data, int len, 113ASN1_OBJECT_create(int nid, unsigned char *data, int len,
@@ -122,6 +124,7 @@ ASN1_OBJECT_create(int nid, unsigned char *data, int len,
122 ASN1_OBJECT_FLAG_DYNAMIC_DATA; 124 ASN1_OBJECT_FLAG_DYNAMIC_DATA;
123 return (OBJ_dup(&o)); 125 return (OBJ_dup(&o));
124} 126}
127LCRYPTO_ALIAS(ASN1_OBJECT_create);
125 128
126static int 129static int
127oid_add_arc(CBB *cbb, uint64_t arc) 130oid_add_arc(CBB *cbb, uint64_t arc)
@@ -367,6 +370,7 @@ a2d_ASN1_OBJECT(unsigned char *out, int out_len, const char *in, int in_len)
367 370
368 return ret; 371 return ret;
369} 372}
373LCRYPTO_ALIAS(a2d_ASN1_OBJECT);
370 374
371static int 375static int
372i2t_ASN1_OBJECT_oid(const ASN1_OBJECT *aobj, CBB *cbb) 376i2t_ASN1_OBJECT_oid(const ASN1_OBJECT *aobj, CBB *cbb)
@@ -456,6 +460,7 @@ i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *aobj)
456{ 460{
457 return i2t_ASN1_OBJECT_internal(aobj, buf, buf_len, 0); 461 return i2t_ASN1_OBJECT_internal(aobj, buf, buf_len, 0);
458} 462}
463LCRYPTO_ALIAS(i2t_ASN1_OBJECT);
459 464
460ASN1_OBJECT * 465ASN1_OBJECT *
461t2i_ASN1_OBJECT_internal(const char *oid) 466t2i_ASN1_OBJECT_internal(const char *oid)
@@ -523,6 +528,7 @@ i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *aobj)
523 528
524 return ret; 529 return ret;
525} 530}
531LCRYPTO_ALIAS(i2a_ASN1_OBJECT);
526 532
527int 533int
528c2i_ASN1_OBJECT_cbs(ASN1_OBJECT **out_aobj, CBS *content) 534c2i_ASN1_OBJECT_cbs(ASN1_OBJECT **out_aobj, CBS *content)
@@ -627,6 +633,7 @@ i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp)
627 *pp = p; 633 *pp = p;
628 return (objsize); 634 return (objsize);
629} 635}
636LCRYPTO_ALIAS(i2d_ASN1_OBJECT);
630 637
631ASN1_OBJECT * 638ASN1_OBJECT *
632d2i_ASN1_OBJECT(ASN1_OBJECT **out_aobj, const unsigned char **pp, long length) 639d2i_ASN1_OBJECT(ASN1_OBJECT **out_aobj, const unsigned char **pp, long length)
@@ -666,3 +673,4 @@ d2i_ASN1_OBJECT(ASN1_OBJECT **out_aobj, const unsigned char **pp, long length)
666 673
667 return aobj; 674 return aobj;
668} 675}
676LCRYPTO_ALIAS(d2i_ASN1_OBJECT);
diff --git a/src/lib/libcrypto/asn1/a_octet.c b/src/lib/libcrypto/asn1/a_octet.c
index c1a25202c0..47eae5a4aa 100644
--- a/src/lib/libcrypto/asn1/a_octet.c
+++ b/src/lib/libcrypto/asn1/a_octet.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_octet.c,v 1.11 2021/12/25 08:52:44 jsing Exp $ */ 1/* $OpenBSD: a_octet.c,v 1.12 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -72,12 +72,14 @@ ASN1_OCTET_STRING_new(void)
72{ 72{
73 return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it); 73 return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it);
74} 74}
75LCRYPTO_ALIAS(ASN1_OCTET_STRING_new);
75 76
76void 77void
77ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a) 78ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a)
78{ 79{
79 ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); 80 ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it);
80} 81}
82LCRYPTO_ALIAS(ASN1_OCTET_STRING_free);
81 83
82 84
83ASN1_OCTET_STRING * 85ASN1_OCTET_STRING *
@@ -85,24 +87,28 @@ ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *x)
85{ 87{
86 return ASN1_STRING_dup(x); 88 return ASN1_STRING_dup(x);
87} 89}
90LCRYPTO_ALIAS(ASN1_OCTET_STRING_dup);
88 91
89int 92int
90ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b) 93ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b)
91{ 94{
92 return ASN1_STRING_cmp(a, b); 95 return ASN1_STRING_cmp(a, b);
93} 96}
97LCRYPTO_ALIAS(ASN1_OCTET_STRING_cmp);
94 98
95int 99int
96ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *x, const unsigned char *d, int len) 100ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *x, const unsigned char *d, int len)
97{ 101{
98 return ASN1_STRING_set(x, d, len); 102 return ASN1_STRING_set(x, d, len);
99} 103}
104LCRYPTO_ALIAS(ASN1_OCTET_STRING_set);
100 105
101int 106int
102i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out) 107i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out)
103{ 108{
104 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it); 109 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it);
105} 110}
111LCRYPTO_ALIAS(i2d_ASN1_OCTET_STRING);
106 112
107ASN1_OCTET_STRING * 113ASN1_OCTET_STRING *
108d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) 114d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len)
@@ -110,3 +116,4 @@ d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len)
110 return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 116 return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
111 &ASN1_OCTET_STRING_it); 117 &ASN1_OCTET_STRING_it);
112} 118}
119LCRYPTO_ALIAS(d2i_ASN1_OCTET_STRING);
diff --git a/src/lib/libcrypto/asn1/a_pkey.c b/src/lib/libcrypto/asn1/a_pkey.c
index c440861443..595b226051 100644
--- a/src/lib/libcrypto/asn1/a_pkey.c
+++ b/src/lib/libcrypto/asn1/a_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_pkey.c,v 1.4 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: a_pkey.c,v 1.5 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -123,6 +123,7 @@ d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
123 EVP_PKEY_free(ret); 123 EVP_PKEY_free(ret);
124 return (NULL); 124 return (NULL);
125} 125}
126LCRYPTO_ALIAS(d2i_PrivateKey);
126 127
127int 128int
128i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp) 129i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
@@ -139,6 +140,7 @@ i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
139 ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); 140 ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
140 return (-1); 141 return (-1);
141} 142}
143LCRYPTO_ALIAS(i2d_PrivateKey);
142 144
143/* This works like d2i_PrivateKey() except it automatically works out the type */ 145/* This works like d2i_PrivateKey() except it automatically works out the type */
144 146
@@ -184,3 +186,4 @@ d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length)
184 sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free); 186 sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free);
185 return d2i_PrivateKey(keytype, a, pp, length); 187 return d2i_PrivateKey(keytype, a, pp, length);
186} 188}
189LCRYPTO_ALIAS(d2i_AutoPrivateKey);
diff --git a/src/lib/libcrypto/asn1/a_print.c b/src/lib/libcrypto/asn1/a_print.c
index 979f5f4de0..5c03087f15 100644
--- a/src/lib/libcrypto/asn1/a_print.c
+++ b/src/lib/libcrypto/asn1/a_print.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_print.c,v 1.12 2023/03/12 11:49:02 tb Exp $ */ 1/* $OpenBSD: a_print.c,v 1.13 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -94,6 +94,7 @@ ASN1_PRINTABLE_type(const unsigned char *s, int len)
94 return (V_ASN1_IA5STRING); 94 return (V_ASN1_IA5STRING);
95 return (V_ASN1_PRINTABLESTRING); 95 return (V_ASN1_PRINTABLESTRING);
96} 96}
97LCRYPTO_ALIAS(ASN1_PRINTABLE_type);
97 98
98int 99int
99ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s) 100ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s)
@@ -123,3 +124,4 @@ ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s)
123 s->type = ASN1_PRINTABLE_type(s->data, s->length); 124 s->type = ASN1_PRINTABLE_type(s->data, s->length);
124 return (1); 125 return (1);
125} 126}
127LCRYPTO_ALIAS(ASN1_UNIVERSALSTRING_to_string);
diff --git a/src/lib/libcrypto/asn1/a_pubkey.c b/src/lib/libcrypto/asn1/a_pubkey.c
index 5f5df103b8..09a739fde8 100644
--- a/src/lib/libcrypto/asn1/a_pubkey.c
+++ b/src/lib/libcrypto/asn1/a_pubkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_pubkey.c,v 1.4 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: a_pubkey.c,v 1.5 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -136,6 +136,7 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
136 EVP_PKEY_free(ret); 136 EVP_PKEY_free(ret);
137 return (NULL); 137 return (NULL);
138} 138}
139LCRYPTO_ALIAS(d2i_PublicKey);
139 140
140int 141int
141i2d_PublicKey(EVP_PKEY *a, unsigned char **pp) 142i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
@@ -158,3 +159,4 @@ i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
158 return (-1); 159 return (-1);
159 } 160 }
160} 161}
162LCRYPTO_ALIAS(i2d_PublicKey);
diff --git a/src/lib/libcrypto/asn1/a_strex.c b/src/lib/libcrypto/asn1/a_strex.c
index 91aa8d2643..c40a13d013 100644
--- a/src/lib/libcrypto/asn1/a_strex.c
+++ b/src/lib/libcrypto/asn1/a_strex.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_strex.c,v 1.32 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: a_strex.c,v 1.33 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -570,6 +570,7 @@ X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
570 return X509_NAME_print(out, nm, indent); 570 return X509_NAME_print(out, nm, indent);
571 return do_name_ex(send_bio_chars, out, nm, indent, flags); 571 return do_name_ex(send_bio_chars, out, nm, indent, flags);
572} 572}
573LCRYPTO_ALIAS(X509_NAME_print_ex);
573 574
574int 575int
575X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, 576X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
@@ -587,15 +588,18 @@ X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
587 } 588 }
588 return do_name_ex(send_fp_chars, fp, nm, indent, flags); 589 return do_name_ex(send_fp_chars, fp, nm, indent, flags);
589} 590}
591LCRYPTO_ALIAS(X509_NAME_print_ex_fp);
590 592
591int 593int
592ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags) 594ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)
593{ 595{
594 return do_print_ex(send_bio_chars, out, flags, str); 596 return do_print_ex(send_bio_chars, out, flags, str);
595} 597}
598LCRYPTO_ALIAS(ASN1_STRING_print_ex);
596 599
597int 600int
598ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags) 601ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags)
599{ 602{
600 return do_print_ex(send_fp_chars, fp, flags, str); 603 return do_print_ex(send_fp_chars, fp, flags, str);
601} 604}
605LCRYPTO_ALIAS(ASN1_STRING_print_ex_fp);
diff --git a/src/lib/libcrypto/asn1/a_string.c b/src/lib/libcrypto/asn1/a_string.c
index d0e917b871..bfd2abf2f7 100644
--- a/src/lib/libcrypto/asn1/a_string.c
+++ b/src/lib/libcrypto/asn1/a_string.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_string.c,v 1.13 2022/11/28 07:50:47 tb Exp $ */ 1/* $OpenBSD: a_string.c,v 1.14 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -70,6 +70,7 @@ ASN1_STRING_new(void)
70{ 70{
71 return ASN1_STRING_type_new(V_ASN1_OCTET_STRING); 71 return ASN1_STRING_type_new(V_ASN1_OCTET_STRING);
72} 72}
73LCRYPTO_ALIAS(ASN1_STRING_new);
73 74
74ASN1_STRING * 75ASN1_STRING *
75ASN1_STRING_type_new(int type) 76ASN1_STRING_type_new(int type)
@@ -84,6 +85,7 @@ ASN1_STRING_type_new(int type)
84 85
85 return astr; 86 return astr;
86} 87}
88LCRYPTO_ALIAS(ASN1_STRING_type_new);
87 89
88static void 90static void
89ASN1_STRING_clear(ASN1_STRING *astr) 91ASN1_STRING_clear(ASN1_STRING *astr)
@@ -106,6 +108,7 @@ ASN1_STRING_free(ASN1_STRING *astr)
106 108
107 free(astr); 109 free(astr);
108} 110}
111LCRYPTO_ALIAS(ASN1_STRING_free);
109 112
110int 113int
111ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b) 114ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b)
@@ -121,6 +124,7 @@ ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b)
121 124
122 return (a->type - b->type); 125 return (a->type - b->type);
123} 126}
127LCRYPTO_ALIAS(ASN1_STRING_cmp);
124 128
125int 129int
126ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *src) 130ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *src)
@@ -136,6 +140,7 @@ ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *src)
136 140
137 return 1; 141 return 1;
138} 142}
143LCRYPTO_ALIAS(ASN1_STRING_copy);
139 144
140ASN1_STRING * 145ASN1_STRING *
141ASN1_STRING_dup(const ASN1_STRING *src) 146ASN1_STRING_dup(const ASN1_STRING *src)
@@ -153,6 +158,7 @@ ASN1_STRING_dup(const ASN1_STRING *src)
153 } 158 }
154 return astr; 159 return astr;
155} 160}
161LCRYPTO_ALIAS(ASN1_STRING_dup);
156 162
157int 163int
158ASN1_STRING_set(ASN1_STRING *astr, const void *_data, int len) 164ASN1_STRING_set(ASN1_STRING *astr, const void *_data, int len)
@@ -189,6 +195,7 @@ ASN1_STRING_set(ASN1_STRING *astr, const void *_data, int len)
189 195
190 return 1; 196 return 1;
191} 197}
198LCRYPTO_ALIAS(ASN1_STRING_set);
192 199
193void 200void
194ASN1_STRING_set0(ASN1_STRING *astr, void *data, int len) 201ASN1_STRING_set0(ASN1_STRING *astr, void *data, int len)
@@ -198,12 +205,14 @@ ASN1_STRING_set0(ASN1_STRING *astr, void *data, int len)
198 astr->data = data; 205 astr->data = data;
199 astr->length = len; 206 astr->length = len;
200} 207}
208LCRYPTO_ALIAS(ASN1_STRING_set0);
201 209
202int 210int
203ASN1_STRING_length(const ASN1_STRING *astr) 211ASN1_STRING_length(const ASN1_STRING *astr)
204{ 212{
205 return astr->length; 213 return astr->length;
206} 214}
215LCRYPTO_ALIAS(ASN1_STRING_length);
207 216
208void 217void
209ASN1_STRING_length_set(ASN1_STRING *astr, int len) 218ASN1_STRING_length_set(ASN1_STRING *astr, int len)
@@ -211,24 +220,28 @@ ASN1_STRING_length_set(ASN1_STRING *astr, int len)
211 /* This is dangerous and unfixable. */ 220 /* This is dangerous and unfixable. */
212 astr->length = len; 221 astr->length = len;
213} 222}
223LCRYPTO_ALIAS(ASN1_STRING_length_set);
214 224
215int 225int
216ASN1_STRING_type(const ASN1_STRING *astr) 226ASN1_STRING_type(const ASN1_STRING *astr)
217{ 227{
218 return astr->type; 228 return astr->type;
219} 229}
230LCRYPTO_ALIAS(ASN1_STRING_type);
220 231
221unsigned char * 232unsigned char *
222ASN1_STRING_data(ASN1_STRING *astr) 233ASN1_STRING_data(ASN1_STRING *astr)
223{ 234{
224 return astr->data; 235 return astr->data;
225} 236}
237LCRYPTO_ALIAS(ASN1_STRING_data);
226 238
227const unsigned char * 239const unsigned char *
228ASN1_STRING_get0_data(const ASN1_STRING *astr) 240ASN1_STRING_get0_data(const ASN1_STRING *astr)
229{ 241{
230 return astr->data; 242 return astr->data;
231} 243}
244LCRYPTO_ALIAS(ASN1_STRING_get0_data);
232 245
233int 246int
234ASN1_STRING_print(BIO *bp, const ASN1_STRING *astr) 247ASN1_STRING_print(BIO *bp, const ASN1_STRING *astr)
@@ -262,6 +275,7 @@ ASN1_STRING_print(BIO *bp, const ASN1_STRING *astr)
262 275
263 return 1; 276 return 1;
264} 277}
278LCRYPTO_ALIAS(ASN1_STRING_print);
265 279
266/* 280/*
267 * Utility function: convert any string type to UTF8, returns number of bytes 281 * Utility function: convert any string type to UTF8, returns number of bytes
@@ -304,6 +318,7 @@ ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in)
304 318
305 return ret; 319 return ret;
306} 320}
321LCRYPTO_ALIAS(ASN1_STRING_to_UTF8);
307 322
308int 323int
309i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *astr, int type) 324i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *astr, int type)
@@ -338,6 +353,7 @@ i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *astr, int type)
338 err: 353 err:
339 return -1; 354 return -1;
340} 355}
356LCRYPTO_ALIAS(i2a_ASN1_STRING);
341 357
342int 358int
343a2i_ASN1_STRING(BIO *bp, ASN1_STRING *astr, char *buf, int size) 359a2i_ASN1_STRING(BIO *bp, ASN1_STRING *astr, char *buf, int size)
@@ -429,3 +445,4 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *astr, char *buf, int size)
429 445
430 return ret; 446 return ret;
431} 447}
448LCRYPTO_ALIAS(a2i_ASN1_STRING);
diff --git a/src/lib/libcrypto/asn1/a_strnid.c b/src/lib/libcrypto/asn1/a_strnid.c
index 5d4e5ef8a0..2542119e76 100644
--- a/src/lib/libcrypto/asn1/a_strnid.c
+++ b/src/lib/libcrypto/asn1/a_strnid.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_strnid.c,v 1.26 2023/07/02 17:12:17 tb Exp $ */ 1/* $OpenBSD: a_strnid.c,v 1.27 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -86,12 +86,14 @@ ASN1_STRING_set_default_mask(unsigned long mask)
86{ 86{
87 global_mask = mask; 87 global_mask = mask;
88} 88}
89LCRYPTO_ALIAS(ASN1_STRING_set_default_mask);
89 90
90unsigned long 91unsigned long
91ASN1_STRING_get_default_mask(void) 92ASN1_STRING_get_default_mask(void)
92{ 93{
93 return global_mask; 94 return global_mask;
94} 95}
96LCRYPTO_ALIAS(ASN1_STRING_get_default_mask);
95 97
96/* 98/*
97 * This function sets the default to various "flavours" of configuration 99 * This function sets the default to various "flavours" of configuration
@@ -134,6 +136,7 @@ ASN1_STRING_set_default_mask_asc(const char *p)
134 ASN1_STRING_set_default_mask(mask); 136 ASN1_STRING_set_default_mask(mask);
135 return 1; 137 return 1;
136} 138}
139LCRYPTO_ALIAS(ASN1_STRING_set_default_mask_asc);
137 140
138/* 141/*
139 * The following function generates an ASN1_STRING based on limits in a table. 142 * The following function generates an ASN1_STRING based on limits in a table.
@@ -166,6 +169,7 @@ ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned char *in, int inlen,
166 return NULL; 169 return NULL;
167 return *out; 170 return *out;
168} 171}
172LCRYPTO_ALIAS(ASN1_STRING_set_by_NID);
169 173
170/* 174/*
171 * Now the tables and helper functions for the string table: 175 * Now the tables and helper functions for the string table:
@@ -370,6 +374,7 @@ ASN1_STRING_TABLE_get(int nid)
370 return OBJ_bsearch_table(&fnd, tbl_standard, 374 return OBJ_bsearch_table(&fnd, tbl_standard,
371 sizeof(tbl_standard) / sizeof(tbl_standard[0])); 375 sizeof(tbl_standard) / sizeof(tbl_standard[0]));
372} 376}
377LCRYPTO_ALIAS(ASN1_STRING_TABLE_get);
373 378
374/* 379/*
375 * Return a string table pointer which can be modified: either directly 380 * Return a string table pointer which can be modified: either directly
@@ -435,6 +440,7 @@ ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, unsigned long mask,
435 440
436 return 1; 441 return 1;
437} 442}
443LCRYPTO_ALIAS(ASN1_STRING_TABLE_add);
438 444
439void 445void
440ASN1_STRING_TABLE_cleanup(void) 446ASN1_STRING_TABLE_cleanup(void)
@@ -447,6 +453,7 @@ ASN1_STRING_TABLE_cleanup(void)
447 stable = NULL; 453 stable = NULL;
448 sk_ASN1_STRING_TABLE_pop_free(tmp, st_free); 454 sk_ASN1_STRING_TABLE_pop_free(tmp, st_free);
449} 455}
456LCRYPTO_ALIAS(ASN1_STRING_TABLE_cleanup);
450 457
451static void 458static void
452st_free(ASN1_STRING_TABLE *tbl) 459st_free(ASN1_STRING_TABLE *tbl)
diff --git a/src/lib/libcrypto/asn1/a_time.c b/src/lib/libcrypto/asn1/a_time.c
index fda06d4b99..f4ddb4d5d8 100644
--- a/src/lib/libcrypto/asn1/a_time.c
+++ b/src/lib/libcrypto/asn1/a_time.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_time.c,v 1.36 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: a_time.c,v 1.37 2023/07/05 21:23:36 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -84,12 +84,14 @@ ASN1_TIME_new(void)
84{ 84{
85 return (ASN1_TIME *)ASN1_item_new(&ASN1_TIME_it); 85 return (ASN1_TIME *)ASN1_item_new(&ASN1_TIME_it);
86} 86}
87LCRYPTO_ALIAS(ASN1_TIME_new);
87 88
88void 89void
89ASN1_TIME_free(ASN1_TIME *a) 90ASN1_TIME_free(ASN1_TIME *a)
90{ 91{
91 ASN1_item_free((ASN1_VALUE *)a, &ASN1_TIME_it); 92 ASN1_item_free((ASN1_VALUE *)a, &ASN1_TIME_it);
92} 93}
94LCRYPTO_ALIAS(ASN1_TIME_free);
93 95
94int 96int
95ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm) 97ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm)
@@ -104,6 +106,7 @@ ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm)
104 106
105 return asn1_time_time_t_to_tm(&now, tm); 107 return asn1_time_time_t_to_tm(&now, tm);
106} 108}
109LCRYPTO_ALIAS(ASN1_TIME_to_tm);
107 110
108int 111int
109ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to) 112ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to)
@@ -117,6 +120,7 @@ ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to)
117 120
118 return OPENSSL_gmtime_diff(pday, psec, &tm_from, &tm_to); 121 return OPENSSL_gmtime_diff(pday, psec, &tm_from, &tm_to);
119} 122}
123LCRYPTO_ALIAS(ASN1_TIME_diff);
120 124
121ASN1_TIME * 125ASN1_TIME *
122d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len) 126d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len)
@@ -124,9 +128,11 @@ d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len)
124 return (ASN1_TIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 128 return (ASN1_TIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
125 &ASN1_TIME_it); 129 &ASN1_TIME_it);
126} 130}
131LCRYPTO_ALIAS(d2i_ASN1_TIME);
127 132
128int 133int
129i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out) 134i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out)
130{ 135{
131 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_TIME_it); 136 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_TIME_it);
132} 137}
138LCRYPTO_ALIAS(i2d_ASN1_TIME);
diff --git a/src/lib/libcrypto/asn1/a_time_tm.c b/src/lib/libcrypto/asn1/a_time_tm.c
index c8b0172621..c269d770b4 100644
--- a/src/lib/libcrypto/asn1/a_time_tm.c
+++ b/src/lib/libcrypto/asn1/a_time_tm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_time_tm.c,v 1.27 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: a_time_tm.c,v 1.28 2023/07/05 21:23:36 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2015 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2015 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -60,6 +60,7 @@ ASN1_time_tm_cmp(struct tm *tm1, struct tm *tm2)
60 return (1); 60 return (1);
61 return 0; 61 return 0;
62} 62}
63LCRYPTO_ALIAS(ASN1_time_tm_cmp);
63 64
64int 65int
65ASN1_time_tm_clamp_notafter(struct tm *tm) 66ASN1_time_tm_clamp_notafter(struct tm *tm)
@@ -76,6 +77,7 @@ ASN1_time_tm_clamp_notafter(struct tm *tm)
76#endif 77#endif
77 return 1; 78 return 1;
78} 79}
80LCRYPTO_ALIAS(ASN1_time_tm_clamp_notafter);
79 81
80/* Convert time to GeneralizedTime, X.690, 11.7. */ 82/* Convert time to GeneralizedTime, X.690, 11.7. */
81ASN1_TIME * 83ASN1_TIME *
@@ -344,6 +346,7 @@ ASN1_time_parse(const char *bytes, size_t len, struct tm *tm, int mode)
344 346
345 return -1; 347 return -1;
346} 348}
349LCRYPTO_ALIAS(ASN1_time_parse);
347 350
348/* 351/*
349 * ASN1_TIME generic functions. 352 * ASN1_TIME generic functions.
@@ -404,6 +407,7 @@ ASN1_TIME_set(ASN1_TIME *s, time_t t)
404{ 407{
405 return (ASN1_TIME_adj(s, t, 0, 0)); 408 return (ASN1_TIME_adj(s, t, 0, 0));
406} 409}
410LCRYPTO_ALIAS(ASN1_TIME_set);
407 411
408ASN1_TIME * 412ASN1_TIME *
409ASN1_TIME_set_tm(ASN1_TIME *s, struct tm *tm) 413ASN1_TIME_set_tm(ASN1_TIME *s, struct tm *tm)
@@ -414,12 +418,14 @@ ASN1_TIME_set_tm(ASN1_TIME *s, struct tm *tm)
414 return NULL; 418 return NULL;
415 return (ASN1_TIME_adj(s, t, 0, 0)); 419 return (ASN1_TIME_adj(s, t, 0, 0));
416} 420}
421LCRYPTO_ALIAS(ASN1_TIME_set_tm);
417 422
418ASN1_TIME * 423ASN1_TIME *
419ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec) 424ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec)
420{ 425{
421 return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, RFC5280)); 426 return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, RFC5280));
422} 427}
428LCRYPTO_ALIAS(ASN1_TIME_adj);
423 429
424int 430int
425ASN1_TIME_check(const ASN1_TIME *t) 431ASN1_TIME_check(const ASN1_TIME *t)
@@ -428,6 +434,7 @@ ASN1_TIME_check(const ASN1_TIME *t)
428 return (0); 434 return (0);
429 return (t->type == ASN1_time_parse(t->data, t->length, NULL, t->type)); 435 return (t->type == ASN1_time_parse(t->data, t->length, NULL, t->type));
430} 436}
437LCRYPTO_ALIAS(ASN1_TIME_check);
431 438
432ASN1_GENERALIZEDTIME * 439ASN1_GENERALIZEDTIME *
433ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out) 440ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
@@ -450,12 +457,14 @@ ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
450 457
451 return (agt); 458 return (agt);
452} 459}
460LCRYPTO_ALIAS(ASN1_TIME_to_generalizedtime);
453 461
454int 462int
455ASN1_TIME_set_string(ASN1_TIME *s, const char *str) 463ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
456{ 464{
457 return (ASN1_TIME_set_string_internal(s, str, 0)); 465 return (ASN1_TIME_set_string_internal(s, str, 0));
458} 466}
467LCRYPTO_ALIAS(ASN1_TIME_set_string);
459 468
460static int 469static int
461ASN1_TIME_cmp_time_t_internal(const ASN1_TIME *s, time_t t2, int mode) 470ASN1_TIME_cmp_time_t_internal(const ASN1_TIME *s, time_t t2, int mode)
@@ -500,6 +509,7 @@ ASN1_TIME_compare(const ASN1_TIME *t1, const ASN1_TIME *t2)
500 509
501 return ASN1_time_tm_cmp(&tm1, &tm2); 510 return ASN1_time_tm_cmp(&tm1, &tm2);
502} 511}
512LCRYPTO_ALIAS(ASN1_TIME_compare);
503 513
504int 514int
505ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t) 515ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t)
@@ -511,6 +521,7 @@ ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t)
511 V_ASN1_GENERALIZEDTIME); 521 V_ASN1_GENERALIZEDTIME);
512 return -2; 522 return -2;
513} 523}
524LCRYPTO_ALIAS(ASN1_TIME_cmp_time_t);
514 525
515/* 526/*
516 * ASN1_UTCTIME wrappers 527 * ASN1_UTCTIME wrappers
@@ -523,6 +534,7 @@ ASN1_UTCTIME_check(const ASN1_UTCTIME *d)
523 return (0); 534 return (0);
524 return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type)); 535 return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type));
525} 536}
537LCRYPTO_ALIAS(ASN1_UTCTIME_check);
526 538
527int 539int
528ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str) 540ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
@@ -531,12 +543,14 @@ ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
531 return (0); 543 return (0);
532 return (ASN1_TIME_set_string_internal(s, str, V_ASN1_UTCTIME)); 544 return (ASN1_TIME_set_string_internal(s, str, V_ASN1_UTCTIME));
533} 545}
546LCRYPTO_ALIAS(ASN1_UTCTIME_set_string);
534 547
535ASN1_UTCTIME * 548ASN1_UTCTIME *
536ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) 549ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
537{ 550{
538 return (ASN1_UTCTIME_adj(s, t, 0, 0)); 551 return (ASN1_UTCTIME_adj(s, t, 0, 0));
539} 552}
553LCRYPTO_ALIAS(ASN1_UTCTIME_set);
540 554
541ASN1_UTCTIME * 555ASN1_UTCTIME *
542ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec) 556ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec)
@@ -544,6 +558,7 @@ ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec)
544 return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, 558 return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec,
545 V_ASN1_UTCTIME)); 559 V_ASN1_UTCTIME));
546} 560}
561LCRYPTO_ALIAS(ASN1_UTCTIME_adj);
547 562
548int 563int
549ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) 564ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
@@ -552,6 +567,7 @@ ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
552 return ASN1_TIME_cmp_time_t_internal(s, t, V_ASN1_UTCTIME); 567 return ASN1_TIME_cmp_time_t_internal(s, t, V_ASN1_UTCTIME);
553 return -2; 568 return -2;
554} 569}
570LCRYPTO_ALIAS(ASN1_UTCTIME_cmp_time_t);
555 571
556/* 572/*
557 * ASN1_GENERALIZEDTIME wrappers 573 * ASN1_GENERALIZEDTIME wrappers
@@ -564,6 +580,7 @@ ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *d)
564 return (0); 580 return (0);
565 return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type)); 581 return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type));
566} 582}
583LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_check);
567 584
568int 585int
569ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str) 586ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str)
@@ -572,12 +589,14 @@ ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str)
572 return (0); 589 return (0);
573 return (ASN1_TIME_set_string_internal(s, str, V_ASN1_GENERALIZEDTIME)); 590 return (ASN1_TIME_set_string_internal(s, str, V_ASN1_GENERALIZEDTIME));
574} 591}
592LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_set_string);
575 593
576ASN1_GENERALIZEDTIME * 594ASN1_GENERALIZEDTIME *
577ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t) 595ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t)
578{ 596{
579 return (ASN1_GENERALIZEDTIME_adj(s, t, 0, 0)); 597 return (ASN1_GENERALIZEDTIME_adj(s, t, 0, 0));
580} 598}
599LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_set);
581 600
582ASN1_GENERALIZEDTIME * 601ASN1_GENERALIZEDTIME *
583ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, 602ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day,
@@ -586,6 +605,7 @@ ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day,
586 return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, 605 return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec,
587 V_ASN1_GENERALIZEDTIME)); 606 V_ASN1_GENERALIZEDTIME));
588} 607}
608LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_adj);
589 609
590int 610int
591ASN1_TIME_normalize(ASN1_TIME *t) 611ASN1_TIME_normalize(ASN1_TIME *t)
@@ -596,9 +616,11 @@ ASN1_TIME_normalize(ASN1_TIME *t)
596 return 0; 616 return 0;
597 return tm_to_rfc5280_time(&tm, t) != NULL; 617 return tm_to_rfc5280_time(&tm, t) != NULL;
598} 618}
619LCRYPTO_ALIAS(ASN1_TIME_normalize);
599 620
600int 621int
601ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str) 622ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str)
602{ 623{
603 return ASN1_TIME_set_string_internal(s, str, RFC5280); 624 return ASN1_TIME_set_string_internal(s, str, RFC5280);
604} 625}
626LCRYPTO_ALIAS(ASN1_TIME_set_string_X509);
diff --git a/src/lib/libcrypto/asn1/a_type.c b/src/lib/libcrypto/asn1/a_type.c
index a382cd71d3..e1506cdcb4 100644
--- a/src/lib/libcrypto/asn1/a_type.c
+++ b/src/lib/libcrypto/asn1/a_type.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_type.c,v 1.25 2023/03/11 14:05:02 jsing Exp $ */ 1/* $OpenBSD: a_type.c,v 1.26 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -94,12 +94,14 @@ ASN1_TYPE_new(void)
94{ 94{
95 return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it); 95 return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it);
96} 96}
97LCRYPTO_ALIAS(ASN1_TYPE_new);
97 98
98void 99void
99ASN1_TYPE_free(ASN1_TYPE *a) 100ASN1_TYPE_free(ASN1_TYPE *a)
100{ 101{
101 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it); 102 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it);
102} 103}
104LCRYPTO_ALIAS(ASN1_TYPE_free);
103 105
104int 106int
105ASN1_TYPE_get(const ASN1_TYPE *a) 107ASN1_TYPE_get(const ASN1_TYPE *a)
@@ -113,6 +115,7 @@ ASN1_TYPE_get(const ASN1_TYPE *a)
113 115
114 return 0; 116 return 0;
115} 117}
118LCRYPTO_ALIAS(ASN1_TYPE_get);
116 119
117void 120void
118ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value) 121ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
@@ -127,6 +130,7 @@ ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
127 else 130 else
128 a->value.ptr = value; 131 a->value.ptr = value;
129} 132}
133LCRYPTO_ALIAS(ASN1_TYPE_set);
130 134
131int 135int
132ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value) 136ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
@@ -149,6 +153,7 @@ ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
149 } 153 }
150 return 1; 154 return 1;
151} 155}
156LCRYPTO_ALIAS(ASN1_TYPE_set1);
152 157
153/* Returns 0 if they are equal, != 0 otherwise. */ 158/* Returns 0 if they are equal, != 0 otherwise. */
154int 159int
@@ -198,6 +203,7 @@ ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b)
198 203
199 return result; 204 return result;
200} 205}
206LCRYPTO_ALIAS(ASN1_TYPE_cmp);
201 207
202int 208int
203ASN1_TYPE_set_octetstring(ASN1_TYPE *a, const unsigned char *data, int len) 209ASN1_TYPE_set_octetstring(ASN1_TYPE *a, const unsigned char *data, int len)
@@ -213,6 +219,7 @@ ASN1_TYPE_set_octetstring(ASN1_TYPE *a, const unsigned char *data, int len)
213 ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os); 219 ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os);
214 return (1); 220 return (1);
215} 221}
222LCRYPTO_ALIAS(ASN1_TYPE_set_octetstring);
216 223
217int 224int
218ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len) 225ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len)
@@ -234,6 +241,7 @@ ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len)
234 memcpy(data, p, num); 241 memcpy(data, p, num);
235 return (ret); 242 return (ret);
236} 243}
244LCRYPTO_ALIAS(ASN1_TYPE_get_octetstring);
237 245
238int 246int
239ASN1_TYPE_set_int_octetstring(ASN1_TYPE *at, long num, const unsigned char *data, 247ASN1_TYPE_set_int_octetstring(ASN1_TYPE *at, long num, const unsigned char *data,
@@ -265,6 +273,7 @@ ASN1_TYPE_set_int_octetstring(ASN1_TYPE *at, long num, const unsigned char *data
265 273
266 return ret; 274 return ret;
267} 275}
276LCRYPTO_ALIAS(ASN1_TYPE_set_int_octetstring);
268 277
269int 278int
270ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *at, long *num, unsigned char *data, 279ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *at, long *num, unsigned char *data,
@@ -300,6 +309,7 @@ ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *at, long *num, unsigned char *dat
300 309
301 return ret; 310 return ret;
302} 311}
312LCRYPTO_ALIAS(ASN1_TYPE_get_int_octetstring);
303 313
304ASN1_TYPE * 314ASN1_TYPE *
305ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t) 315ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t)
@@ -337,6 +347,7 @@ i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out)
337{ 347{
338 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it); 348 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it);
339} 349}
350LCRYPTO_ALIAS(i2d_ASN1_TYPE);
340 351
341ASN1_TYPE * 352ASN1_TYPE *
342d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len) 353d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len)
@@ -344,3 +355,4 @@ d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len)
344 return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 355 return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
345 &ASN1_ANY_it); 356 &ASN1_ANY_it);
346} 357}
358LCRYPTO_ALIAS(d2i_ASN1_TYPE);
diff --git a/src/lib/libcrypto/asn1/ameth_lib.c b/src/lib/libcrypto/asn1/ameth_lib.c
index e9f9927620..5a1dfd7ce3 100644
--- a/src/lib/libcrypto/asn1/ameth_lib.c
+++ b/src/lib/libcrypto/asn1/ameth_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ameth_lib.c,v 1.30 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: ameth_lib.c,v 1.31 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -120,6 +120,7 @@ EVP_PKEY_asn1_get_count(void)
120 120
121 return num; 121 return num;
122} 122}
123LCRYPTO_ALIAS(EVP_PKEY_asn1_get_count);
123 124
124const EVP_PKEY_ASN1_METHOD * 125const EVP_PKEY_ASN1_METHOD *
125EVP_PKEY_asn1_get0(int idx) 126EVP_PKEY_asn1_get0(int idx)
@@ -135,6 +136,7 @@ EVP_PKEY_asn1_get0(int idx)
135 136
136 return sk_EVP_PKEY_ASN1_METHOD_value(asn1_app_methods, idx); 137 return sk_EVP_PKEY_ASN1_METHOD_value(asn1_app_methods, idx);
137} 138}
139LCRYPTO_ALIAS(EVP_PKEY_asn1_get0);
138 140
139static const EVP_PKEY_ASN1_METHOD * 141static const EVP_PKEY_ASN1_METHOD *
140pkey_asn1_find(int pkey_id) 142pkey_asn1_find(int pkey_id)
@@ -183,6 +185,7 @@ EVP_PKEY_asn1_find(ENGINE **pe, int type)
183 } 185 }
184 return mp; 186 return mp;
185} 187}
188LCRYPTO_ALIAS(EVP_PKEY_asn1_find);
186 189
187const EVP_PKEY_ASN1_METHOD * 190const EVP_PKEY_ASN1_METHOD *
188EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len) 191EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len)
@@ -219,6 +222,7 @@ EVP_PKEY_asn1_find_str(ENGINE **pe, const char *str, int len)
219 } 222 }
220 return NULL; 223 return NULL;
221} 224}
225LCRYPTO_ALIAS(EVP_PKEY_asn1_find_str);
222 226
223int 227int
224EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth) 228EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
@@ -234,6 +238,7 @@ EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
234 238
235 return 1; 239 return 1;
236} 240}
241LCRYPTO_ALIAS(EVP_PKEY_asn1_add0);
237 242
238int 243int
239EVP_PKEY_asn1_add_alias(int to, int from) 244EVP_PKEY_asn1_add_alias(int to, int from)
@@ -251,6 +256,7 @@ EVP_PKEY_asn1_add_alias(int to, int from)
251 } 256 }
252 return 1; 257 return 1;
253} 258}
259LCRYPTO_ALIAS(EVP_PKEY_asn1_add_alias);
254 260
255int 261int
256EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags, 262EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
@@ -271,12 +277,14 @@ EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags,
271 *ppem_str = ameth->pem_str; 277 *ppem_str = ameth->pem_str;
272 return 1; 278 return 1;
273} 279}
280LCRYPTO_ALIAS(EVP_PKEY_asn1_get0_info);
274 281
275const EVP_PKEY_ASN1_METHOD* 282const EVP_PKEY_ASN1_METHOD*
276EVP_PKEY_get0_asn1(const EVP_PKEY *pkey) 283EVP_PKEY_get0_asn1(const EVP_PKEY *pkey)
277{ 284{
278 return pkey->ameth; 285 return pkey->ameth;
279} 286}
287LCRYPTO_ALIAS(EVP_PKEY_get0_asn1);
280 288
281EVP_PKEY_ASN1_METHOD* 289EVP_PKEY_ASN1_METHOD*
282EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info) 290EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info)
@@ -306,6 +314,7 @@ EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info)
306 EVP_PKEY_asn1_free(ameth); 314 EVP_PKEY_asn1_free(ameth);
307 return NULL; 315 return NULL;
308} 316}
317LCRYPTO_ALIAS(EVP_PKEY_asn1_new);
309 318
310void 319void
311EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src) 320EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src)
@@ -326,6 +335,7 @@ EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src)
326 dst->pem_str = preserve.pem_str; 335 dst->pem_str = preserve.pem_str;
327 dst->info = preserve.info; 336 dst->info = preserve.info;
328} 337}
338LCRYPTO_ALIAS(EVP_PKEY_asn1_copy);
329 339
330void 340void
331EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth) 341EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
@@ -336,6 +346,7 @@ EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
336 free(ameth); 346 free(ameth);
337 } 347 }
338} 348}
349LCRYPTO_ALIAS(EVP_PKEY_asn1_free);
339 350
340void 351void
341EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, 352EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
@@ -354,6 +365,7 @@ EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
354 ameth->pkey_size = pkey_size; 365 ameth->pkey_size = pkey_size;
355 ameth->pkey_bits = pkey_bits; 366 ameth->pkey_bits = pkey_bits;
356} 367}
368LCRYPTO_ALIAS(EVP_PKEY_asn1_set_public);
357 369
358void 370void
359EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, 371EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
@@ -366,6 +378,7 @@ EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
366 ameth->priv_encode = priv_encode; 378 ameth->priv_encode = priv_encode;
367 ameth->priv_print = priv_print; 379 ameth->priv_print = priv_print;
368} 380}
381LCRYPTO_ALIAS(EVP_PKEY_asn1_set_private);
369 382
370void 383void
371EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, 384EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
@@ -384,6 +397,7 @@ EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
384 ameth->param_cmp = param_cmp; 397 ameth->param_cmp = param_cmp;
385 ameth->param_print = param_print; 398 ameth->param_print = param_print;
386} 399}
400LCRYPTO_ALIAS(EVP_PKEY_asn1_set_param);
387 401
388void 402void
389EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, 403EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
@@ -391,6 +405,7 @@ EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
391{ 405{
392 ameth->pkey_free = pkey_free; 406 ameth->pkey_free = pkey_free;
393} 407}
408LCRYPTO_ALIAS(EVP_PKEY_asn1_set_free);
394 409
395void 410void
396EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, 411EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
@@ -398,6 +413,7 @@ EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
398{ 413{
399 ameth->pkey_ctrl = pkey_ctrl; 414 ameth->pkey_ctrl = pkey_ctrl;
400} 415}
416LCRYPTO_ALIAS(EVP_PKEY_asn1_set_ctrl);
401 417
402void 418void
403EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, 419EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
@@ -405,6 +421,7 @@ EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
405{ 421{
406 ameth->pkey_security_bits = pkey_security_bits; 422 ameth->pkey_security_bits = pkey_security_bits;
407} 423}
424LCRYPTO_ALIAS(EVP_PKEY_asn1_set_security_bits);
408 425
409void 426void
410EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth, 427EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
@@ -412,6 +429,7 @@ EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
412{ 429{
413 ameth->pkey_check = pkey_check; 430 ameth->pkey_check = pkey_check;
414} 431}
432LCRYPTO_ALIAS(EVP_PKEY_asn1_set_check);
415 433
416void 434void
417EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth, 435EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
@@ -419,6 +437,7 @@ EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
419{ 437{
420 ameth->pkey_public_check = pkey_public_check; 438 ameth->pkey_public_check = pkey_public_check;
421} 439}
440LCRYPTO_ALIAS(EVP_PKEY_asn1_set_public_check);
422 441
423void 442void
424EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, 443EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
@@ -426,3 +445,4 @@ EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
426{ 445{
427 ameth->pkey_param_check = pkey_param_check; 446 ameth->pkey_param_check = pkey_param_check;
428} 447}
448LCRYPTO_ALIAS(EVP_PKEY_asn1_set_param_check);
diff --git a/src/lib/libcrypto/asn1/asn1_err.c b/src/lib/libcrypto/asn1/asn1_err.c
index f67fa71340..28570386f6 100644
--- a/src/lib/libcrypto/asn1/asn1_err.c
+++ b/src/lib/libcrypto/asn1/asn1_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_err.c,v 1.25 2022/08/29 06:48:58 jsing Exp $ */ 1/* $OpenBSD: asn1_err.c,v 1.26 2023/07/05 21:23:36 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -211,3 +211,4 @@ ERR_load_ASN1_strings(void)
211 } 211 }
212#endif 212#endif
213} 213}
214LCRYPTO_ALIAS(ERR_load_ASN1_strings);
diff --git a/src/lib/libcrypto/asn1/asn1_gen.c b/src/lib/libcrypto/asn1/asn1_gen.c
index b64aa8966a..228f236b7e 100644
--- a/src/lib/libcrypto/asn1/asn1_gen.c
+++ b/src/lib/libcrypto/asn1/asn1_gen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_gen.c,v 1.20 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: asn1_gen.c,v 1.21 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2002. 3 * project 2002.
4 */ 4 */
@@ -133,6 +133,7 @@ ASN1_generate_nconf(const char *str, CONF *nconf)
133 X509V3_set_nconf(&cnf, nconf); 133 X509V3_set_nconf(&cnf, nconf);
134 return ASN1_generate_v3(str, &cnf); 134 return ASN1_generate_v3(str, &cnf);
135} 135}
136LCRYPTO_ALIAS(ASN1_generate_nconf);
136 137
137ASN1_TYPE * 138ASN1_TYPE *
138ASN1_generate_v3(const char *str, X509V3_CTX *cnf) 139ASN1_generate_v3(const char *str, X509V3_CTX *cnf)
@@ -266,6 +267,7 @@ ASN1_generate_v3(const char *str, X509V3_CTX *cnf)
266 267
267 return ret; 268 return ret;
268} 269}
270LCRYPTO_ALIAS(ASN1_generate_v3);
269 271
270static int 272static int
271asn1_cb(const char *elem, int len, void *bitstr) 273asn1_cb(const char *elem, int len, void *bitstr)
diff --git a/src/lib/libcrypto/asn1/asn1_item.c b/src/lib/libcrypto/asn1/asn1_item.c
index 3b02b6664a..ba2f015070 100644
--- a/src/lib/libcrypto/asn1/asn1_item.c
+++ b/src/lib/libcrypto/asn1/asn1_item.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_item.c,v 1.14 2023/06/15 13:58:56 tb Exp $ */ 1/* $OpenBSD: asn1_item.c,v 1.15 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -138,6 +138,7 @@ ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *asn,
138 free(str); 138 free(str);
139 return (1); 139 return (1);
140} 140}
141LCRYPTO_ALIAS(ASN1_item_digest);
141 142
142/* 143/*
143 * ASN1_ITEM version of ASN1_dup(): follows the same model except there's no 144 * ASN1_ITEM version of ASN1_dup(): follows the same model except there's no
@@ -166,6 +167,7 @@ ASN1_item_dup(const ASN1_ITEM *it, void *x)
166 free(b); 167 free(b);
167 return (ret); 168 return (ret);
168} 169}
170LCRYPTO_ALIAS(ASN1_item_dup);
169 171
170/* Pack an ASN1 object into an ASN1_STRING. */ 172/* Pack an ASN1 object into an ASN1_STRING. */
171ASN1_STRING * 173ASN1_STRING *
@@ -200,6 +202,7 @@ ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING **oct)
200 ASN1_STRING_free(octmp); 202 ASN1_STRING_free(octmp);
201 return NULL; 203 return NULL;
202} 204}
205LCRYPTO_ALIAS(ASN1_item_pack);
203 206
204/* Extract an ASN1 object from an ASN1_STRING. */ 207/* Extract an ASN1 object from an ASN1_STRING. */
205void * 208void *
@@ -213,6 +216,7 @@ ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it)
213 ASN1error(ASN1_R_DECODE_ERROR); 216 ASN1error(ASN1_R_DECODE_ERROR);
214 return ret; 217 return ret;
215} 218}
219LCRYPTO_ALIAS(ASN1_item_unpack);
216 220
217int 221int
218ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, 222ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
@@ -226,6 +230,7 @@ ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
226 } 230 }
227 return ASN1_item_sign_ctx(it, algor1, algor2, signature, asn, &ctx); 231 return ASN1_item_sign_ctx(it, algor1, algor2, signature, asn, &ctx);
228} 232}
233LCRYPTO_ALIAS(ASN1_item_sign);
229 234
230int 235int
231ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, 236ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
@@ -335,6 +340,7 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
335 340
336 return ret; 341 return ret;
337} 342}
343LCRYPTO_ALIAS(ASN1_item_sign_ctx);
338 344
339int 345int
340ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, 346ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
@@ -420,6 +426,7 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
420 426
421 return ret; 427 return ret;
422} 428}
429LCRYPTO_ALIAS(ASN1_item_verify);
423 430
424#define HEADER_SIZE 8 431#define HEADER_SIZE 8
425#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024) 432#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024)
@@ -586,6 +593,7 @@ ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x)
586 BUF_MEM_free(b); 593 BUF_MEM_free(b);
587 return (ret); 594 return (ret);
588} 595}
596LCRYPTO_ALIAS(ASN1_item_d2i_bio);
589 597
590void * 598void *
591ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x) 599ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
@@ -602,6 +610,7 @@ ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
602 BIO_free(b); 610 BIO_free(b);
603 return (ret); 611 return (ret);
604} 612}
613LCRYPTO_ALIAS(ASN1_item_d2i_fp);
605 614
606int 615int
607ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x) 616ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x)
@@ -629,6 +638,7 @@ ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x)
629 free(b); 638 free(b);
630 return (ret); 639 return (ret);
631} 640}
641LCRYPTO_ALIAS(ASN1_item_i2d_bio);
632 642
633int 643int
634ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x) 644ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x)
@@ -645,3 +655,4 @@ ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x)
645 BIO_free(b); 655 BIO_free(b);
646 return (ret); 656 return (ret);
647} 657}
658LCRYPTO_ALIAS(ASN1_item_i2d_fp);
diff --git a/src/lib/libcrypto/asn1/asn1_old.c b/src/lib/libcrypto/asn1/asn1_old.c
index d7f0d968cd..a1d4aa2573 100644
--- a/src/lib/libcrypto/asn1/asn1_old.c
+++ b/src/lib/libcrypto/asn1/asn1_old.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_old.c,v 1.3 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: asn1_old.c,v 1.4 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -91,6 +91,7 @@ ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x)
91 free(b); 91 free(b);
92 return (ret); 92 return (ret);
93} 93}
94LCRYPTO_ALIAS(ASN1_dup);
94 95
95void * 96void *
96ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x) 97ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
@@ -107,6 +108,7 @@ ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
107 BIO_free(b); 108 BIO_free(b);
108 return (ret); 109 return (ret);
109} 110}
111LCRYPTO_ALIAS(ASN1_d2i_fp);
110 112
111void * 113void *
112ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x) 114ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x)
@@ -128,6 +130,7 @@ ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x)
128 BUF_MEM_free(b); 130 BUF_MEM_free(b);
129 return (ret); 131 return (ret);
130} 132}
133LCRYPTO_ALIAS(ASN1_d2i_bio);
131 134
132int 135int
133ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x) 136ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x)
@@ -144,6 +147,7 @@ ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x)
144 BIO_free(b); 147 BIO_free(b);
145 return (ret); 148 return (ret);
146} 149}
150LCRYPTO_ALIAS(ASN1_i2d_fp);
147 151
148int 152int
149ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x) 153ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x)
@@ -176,5 +180,6 @@ ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x)
176 free(b); 180 free(b);
177 return (ret); 181 return (ret);
178} 182}
183LCRYPTO_ALIAS(ASN1_i2d_bio);
179 184
180#endif 185#endif
diff --git a/src/lib/libcrypto/asn1/asn1_old_lib.c b/src/lib/libcrypto/asn1/asn1_old_lib.c
index f19cb1ca22..80362ae689 100644
--- a/src/lib/libcrypto/asn1/asn1_old_lib.c
+++ b/src/lib/libcrypto/asn1/asn1_old_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_old_lib.c,v 1.5 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: asn1_old_lib.c,v 1.6 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -118,6 +118,7 @@ ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
118 118
119 return ret; 119 return ret;
120} 120}
121LCRYPTO_ALIAS(ASN1_get_object);
121 122
122/* class 0 is constructed 123/* class 0 is constructed
123 * constructed == 2 for indefinite length constructed */ 124 * constructed == 2 for indefinite length constructed */
@@ -151,6 +152,7 @@ ASN1_put_object(unsigned char **pp, int constructed, int length, int tag,
151 asn1_put_length(&p, length); 152 asn1_put_length(&p, length);
152 *pp = p; 153 *pp = p;
153} 154}
155LCRYPTO_ALIAS(ASN1_put_object);
154 156
155int 157int
156ASN1_put_eoc(unsigned char **pp) 158ASN1_put_eoc(unsigned char **pp)
@@ -162,6 +164,7 @@ ASN1_put_eoc(unsigned char **pp)
162 *pp = p; 164 *pp = p;
163 return 2; 165 return 2;
164} 166}
167LCRYPTO_ALIAS(ASN1_put_eoc);
165 168
166static void 169static void
167asn1_put_length(unsigned char **pp, int length) 170asn1_put_length(unsigned char **pp, int length)
@@ -210,3 +213,4 @@ ASN1_object_size(int constructed, int length, int tag)
210 } 213 }
211 return (ret); 214 return (ret);
212} 215}
216LCRYPTO_ALIAS(ASN1_object_size);
diff --git a/src/lib/libcrypto/asn1/asn1_par.c b/src/lib/libcrypto/asn1/asn1_par.c
index 6c14f271b6..712bb5260e 100644
--- a/src/lib/libcrypto/asn1/asn1_par.c
+++ b/src/lib/libcrypto/asn1/asn1_par.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_par.c,v 1.34 2022/02/12 03:07:24 jsing Exp $ */ 1/* $OpenBSD: asn1_par.c,v 1.35 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -107,12 +107,14 @@ ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent)
107{ 107{
108 return (asn1_parse2(bp, &pp, len, 0, 0, indent, 0)); 108 return (asn1_parse2(bp, &pp, len, 0, 0, indent, 0));
109} 109}
110LCRYPTO_ALIAS(ASN1_parse);
110 111
111int 112int
112ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, int dump) 113ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, int dump)
113{ 114{
114 return (asn1_parse2(bp, &pp, len, 0, 0, indent, dump)); 115 return (asn1_parse2(bp, &pp, len, 0, 0, indent, dump));
115} 116}
117LCRYPTO_ALIAS(ASN1_parse_dump);
116 118
117static int 119static int
118asn1_parse2(BIO *bp, const unsigned char **pp, long length, int offset, 120asn1_parse2(BIO *bp, const unsigned char **pp, long length, int offset,
diff --git a/src/lib/libcrypto/asn1/asn1_types.c b/src/lib/libcrypto/asn1/asn1_types.c
index d8b7c1e88e..5f9644a718 100644
--- a/src/lib/libcrypto/asn1/asn1_types.c
+++ b/src/lib/libcrypto/asn1/asn1_types.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_types.c,v 1.2 2022/09/03 18:52:18 jsing Exp $ */ 1/* $OpenBSD: asn1_types.c,v 1.3 2023/07/05 21:23:36 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2021 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2021 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -287,6 +287,7 @@ ASN1_tag2bit(int tag)
287 287
288 return 0; 288 return 0;
289} 289}
290LCRYPTO_ALIAS(ASN1_tag2bit);
290 291
291const char * 292const char *
292ASN1_tag2str(int tag) 293ASN1_tag2str(int tag)
@@ -301,3 +302,4 @@ ASN1_tag2str(int tag)
301 302
302 return "(unknown)"; 303 return "(unknown)";
303} 304}
305LCRYPTO_ALIAS(ASN1_tag2str);
diff --git a/src/lib/libcrypto/asn1/asn_mime.c b/src/lib/libcrypto/asn1/asn_mime.c
index c433eb2bef..56a428aec3 100644
--- a/src/lib/libcrypto/asn1/asn_mime.c
+++ b/src/lib/libcrypto/asn1/asn_mime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_mime.c,v 1.31 2023/04/19 16:36:34 tb Exp $ */ 1/* $OpenBSD: asn_mime.c,v 1.32 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -565,6 +565,7 @@ SMIME_crlf_copy(BIO *in, BIO *out, int flags)
565 BIO_free(bf); 565 BIO_free(bf);
566 return 1; 566 return 1;
567} 567}
568LCRYPTO_ALIAS(SMIME_crlf_copy);
568 569
569/* Strip off headers if they are text/plain */ 570/* Strip off headers if they are text/plain */
570int 571int
@@ -597,6 +598,7 @@ SMIME_text(BIO *in, BIO *out)
597 return 0; 598 return 0;
598 return 1; 599 return 1;
599} 600}
601LCRYPTO_ALIAS(SMIME_text);
600 602
601/* 603/*
602 * Split a multipart/XXX message body into component parts: result is 604 * Split a multipart/XXX message body into component parts: result is
diff --git a/src/lib/libcrypto/asn1/asn_moid.c b/src/lib/libcrypto/asn1/asn_moid.c
index 166ebae3fb..4da35c0e06 100644
--- a/src/lib/libcrypto/asn1/asn_moid.c
+++ b/src/lib/libcrypto/asn1/asn_moid.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_moid.c,v 1.15 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: asn_moid.c,v 1.16 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL 2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
@@ -105,6 +105,7 @@ ASN1_add_oid_module(void)
105{ 105{
106 CONF_module_add("oid_section", oid_module_init, oid_module_finish); 106 CONF_module_add("oid_section", oid_module_init, oid_module_finish);
107} 107}
108LCRYPTO_ALIAS(ASN1_add_oid_module);
108 109
109/* Create an OID based on a name value pair. Accept two formats. 110/* Create an OID based on a name value pair. Accept two formats.
110 * shortname = 1.2.3.4 111 * shortname = 1.2.3.4
diff --git a/src/lib/libcrypto/asn1/bio_asn1.c b/src/lib/libcrypto/asn1/bio_asn1.c
index 7e25a9c410..e544bf9c9c 100644
--- a/src/lib/libcrypto/asn1/bio_asn1.c
+++ b/src/lib/libcrypto/asn1/bio_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_asn1.c,v 1.21 2023/03/25 10:45:20 tb Exp $ */ 1/* $OpenBSD: bio_asn1.c,v 1.22 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -144,6 +144,7 @@ BIO_f_asn1(void)
144{ 144{
145 return (&methods_asn1); 145 return (&methods_asn1);
146} 146}
147LCRYPTO_ALIAS(BIO_f_asn1);
147 148
148static int 149static int
149asn1_bio_new(BIO *b) 150asn1_bio_new(BIO *b)
@@ -470,21 +471,25 @@ BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, asn1_ps_func *prefix_free)
470{ 471{
471 return asn1_bio_set_ex(b, BIO_C_SET_PREFIX, prefix, prefix_free); 472 return asn1_bio_set_ex(b, BIO_C_SET_PREFIX, prefix, prefix_free);
472} 473}
474LCRYPTO_ALIAS(BIO_asn1_set_prefix);
473 475
474int 476int
475BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, asn1_ps_func **pprefix_free) 477BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, asn1_ps_func **pprefix_free)
476{ 478{
477 return asn1_bio_get_ex(b, BIO_C_GET_PREFIX, pprefix, pprefix_free); 479 return asn1_bio_get_ex(b, BIO_C_GET_PREFIX, pprefix, pprefix_free);
478} 480}
481LCRYPTO_ALIAS(BIO_asn1_get_prefix);
479 482
480int 483int
481BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, asn1_ps_func *suffix_free) 484BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, asn1_ps_func *suffix_free)
482{ 485{
483 return asn1_bio_set_ex(b, BIO_C_SET_SUFFIX, suffix, suffix_free); 486 return asn1_bio_set_ex(b, BIO_C_SET_SUFFIX, suffix, suffix_free);
484} 487}
488LCRYPTO_ALIAS(BIO_asn1_set_suffix);
485 489
486int 490int
487BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, asn1_ps_func **psuffix_free) 491BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, asn1_ps_func **psuffix_free)
488{ 492{
489 return asn1_bio_get_ex(b, BIO_C_GET_SUFFIX, psuffix, psuffix_free); 493 return asn1_bio_get_ex(b, BIO_C_GET_SUFFIX, psuffix, psuffix_free);
490} 494}
495LCRYPTO_ALIAS(BIO_asn1_get_suffix);
diff --git a/src/lib/libcrypto/asn1/p5_pbe.c b/src/lib/libcrypto/asn1/p5_pbe.c
index a150b20bcd..a7fc9aa19f 100644
--- a/src/lib/libcrypto/asn1/p5_pbe.c
+++ b/src/lib/libcrypto/asn1/p5_pbe.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p5_pbe.c,v 1.23 2021/12/25 13:17:48 jsing Exp $ */ 1/* $OpenBSD: p5_pbe.c,v 1.24 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -95,24 +95,28 @@ d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len)
95 return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 95 return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
96 &PBEPARAM_it); 96 &PBEPARAM_it);
97} 97}
98LCRYPTO_ALIAS(d2i_PBEPARAM);
98 99
99int 100int
100i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) 101i2d_PBEPARAM(PBEPARAM *a, unsigned char **out)
101{ 102{
102 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it); 103 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
103} 104}
105LCRYPTO_ALIAS(i2d_PBEPARAM);
104 106
105PBEPARAM * 107PBEPARAM *
106PBEPARAM_new(void) 108PBEPARAM_new(void)
107{ 109{
108 return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it); 110 return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
109} 111}
112LCRYPTO_ALIAS(PBEPARAM_new);
110 113
111void 114void
112PBEPARAM_free(PBEPARAM *a) 115PBEPARAM_free(PBEPARAM *a)
113{ 116{
114 ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it); 117 ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it);
115} 118}
119LCRYPTO_ALIAS(PBEPARAM_free);
116 120
117 121
118/* Set an algorithm identifier for a PKCS#5 PBE algorithm */ 122/* Set an algorithm identifier for a PKCS#5 PBE algorithm */
@@ -165,6 +169,7 @@ PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,
165 ASN1_STRING_free(pbe_str); 169 ASN1_STRING_free(pbe_str);
166 return 0; 170 return 0;
167} 171}
172LCRYPTO_ALIAS(PKCS5_pbe_set0_algor);
168 173
169/* Return an algorithm identifier for a PKCS#5 PBE algorithm */ 174/* Return an algorithm identifier for a PKCS#5 PBE algorithm */
170 175
@@ -184,3 +189,4 @@ PKCS5_pbe_set(int alg, int iter, const unsigned char *salt, int saltlen)
184 X509_ALGOR_free(ret); 189 X509_ALGOR_free(ret);
185 return NULL; 190 return NULL;
186} 191}
192LCRYPTO_ALIAS(PKCS5_pbe_set);
diff --git a/src/lib/libcrypto/asn1/p5_pbev2.c b/src/lib/libcrypto/asn1/p5_pbev2.c
index 85818a900a..0fab422da9 100644
--- a/src/lib/libcrypto/asn1/p5_pbev2.c
+++ b/src/lib/libcrypto/asn1/p5_pbev2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p5_pbev2.c,v 1.28 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: p5_pbev2.c,v 1.29 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999-2004. 3 * project 1999-2004.
4 */ 4 */
@@ -97,24 +97,28 @@ d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len)
97 return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 97 return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
98 &PBE2PARAM_it); 98 &PBE2PARAM_it);
99} 99}
100LCRYPTO_ALIAS(d2i_PBE2PARAM);
100 101
101int 102int
102i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) 103i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out)
103{ 104{
104 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it); 105 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it);
105} 106}
107LCRYPTO_ALIAS(i2d_PBE2PARAM);
106 108
107PBE2PARAM * 109PBE2PARAM *
108PBE2PARAM_new(void) 110PBE2PARAM_new(void)
109{ 111{
110 return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it); 112 return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it);
111} 113}
114LCRYPTO_ALIAS(PBE2PARAM_new);
112 115
113void 116void
114PBE2PARAM_free(PBE2PARAM *a) 117PBE2PARAM_free(PBE2PARAM *a)
115{ 118{
116 ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it); 119 ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it);
117} 120}
121LCRYPTO_ALIAS(PBE2PARAM_free);
118 122
119static const ASN1_TEMPLATE PBKDF2PARAM_seq_tt[] = { 123static const ASN1_TEMPLATE PBKDF2PARAM_seq_tt[] = {
120 { 124 {
@@ -157,24 +161,28 @@ d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len)
157 return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 161 return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
158 &PBKDF2PARAM_it); 162 &PBKDF2PARAM_it);
159} 163}
164LCRYPTO_ALIAS(d2i_PBKDF2PARAM);
160 165
161int 166int
162i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) 167i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out)
163{ 168{
164 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it); 169 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it);
165} 170}
171LCRYPTO_ALIAS(i2d_PBKDF2PARAM);
166 172
167PBKDF2PARAM * 173PBKDF2PARAM *
168PBKDF2PARAM_new(void) 174PBKDF2PARAM_new(void)
169{ 175{
170 return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it); 176 return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it);
171} 177}
178LCRYPTO_ALIAS(PBKDF2PARAM_new);
172 179
173void 180void
174PBKDF2PARAM_free(PBKDF2PARAM *a) 181PBKDF2PARAM_free(PBKDF2PARAM *a)
175{ 182{
176 ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it); 183 ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it);
177} 184}
185LCRYPTO_ALIAS(PBKDF2PARAM_free);
178 186
179/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: 187/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm:
180 * yes I know this is horrible! 188 * yes I know this is horrible!
@@ -285,6 +293,7 @@ PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
285 293
286 return NULL; 294 return NULL;
287} 295}
296LCRYPTO_ALIAS(PKCS5_pbe2_set_iv);
288 297
289X509_ALGOR * 298X509_ALGOR *
290PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt, 299PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
@@ -292,6 +301,7 @@ PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
292{ 301{
293 return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, NULL, -1); 302 return PKCS5_pbe2_set_iv(cipher, iter, salt, saltlen, NULL, -1);
294} 303}
304LCRYPTO_ALIAS(PKCS5_pbe2_set);
295 305
296X509_ALGOR * 306X509_ALGOR *
297PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid, 307PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid,
@@ -372,3 +382,4 @@ PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid,
372 X509_ALGOR_free(keyfunc); 382 X509_ALGOR_free(keyfunc);
373 return NULL; 383 return NULL;
374} 384}
385LCRYPTO_ALIAS(PKCS5_pbkdf2_set);
diff --git a/src/lib/libcrypto/asn1/p8_pkey.c b/src/lib/libcrypto/asn1/p8_pkey.c
index 24f1457453..a757c95d6d 100644
--- a/src/lib/libcrypto/asn1/p8_pkey.c
+++ b/src/lib/libcrypto/asn1/p8_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p8_pkey.c,v 1.21 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: p8_pkey.c,v 1.22 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -121,24 +121,28 @@ d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long
121 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 121 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
122 &PKCS8_PRIV_KEY_INFO_it); 122 &PKCS8_PRIV_KEY_INFO_it);
123} 123}
124LCRYPTO_ALIAS(d2i_PKCS8_PRIV_KEY_INFO);
124 125
125int 126int
126i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out) 127i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out)
127{ 128{
128 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it); 129 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it);
129} 130}
131LCRYPTO_ALIAS(i2d_PKCS8_PRIV_KEY_INFO);
130 132
131PKCS8_PRIV_KEY_INFO * 133PKCS8_PRIV_KEY_INFO *
132PKCS8_PRIV_KEY_INFO_new(void) 134PKCS8_PRIV_KEY_INFO_new(void)
133{ 135{
134 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it); 136 return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
135} 137}
138LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_new);
136 139
137void 140void
138PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a) 141PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a)
139{ 142{
140 ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it); 143 ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it);
141} 144}
145LCRYPTO_ALIAS(PKCS8_PRIV_KEY_INFO_free);
142 146
143int 147int
144PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, 148PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
@@ -154,6 +158,7 @@ PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
154 ASN1_STRING_set0(priv->pkey, penc, penclen); 158 ASN1_STRING_set0(priv->pkey, penc, penclen);
155 return 1; 159 return 1;
156} 160}
161LCRYPTO_ALIAS(PKCS8_pkey_set0);
157 162
158int 163int
159PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk, 164PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
@@ -169,12 +174,14 @@ PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
169 *pa = p8->pkeyalg; 174 *pa = p8->pkeyalg;
170 return 1; 175 return 1;
171} 176}
177LCRYPTO_ALIAS(PKCS8_pkey_get0);
172 178
173const STACK_OF(X509_ATTRIBUTE) * 179const STACK_OF(X509_ATTRIBUTE) *
174PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8) 180PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)
175{ 181{
176 return p8->attributes; 182 return p8->attributes;
177} 183}
184LCRYPTO_ALIAS(PKCS8_pkey_get0_attrs);
178 185
179int 186int
180PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, 187PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
@@ -185,4 +192,4 @@ PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
185 return 1; 192 return 1;
186 return 0; 193 return 0;
187} 194}
188 195LCRYPTO_ALIAS(PKCS8_pkey_add1_attr_by_NID);
diff --git a/src/lib/libcrypto/asn1/t_crl.c b/src/lib/libcrypto/asn1/t_crl.c
index 34c9200a03..1bbff98a58 100644
--- a/src/lib/libcrypto/asn1/t_crl.c
+++ b/src/lib/libcrypto/asn1/t_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_crl.c,v 1.21 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: t_crl.c,v 1.22 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -83,6 +83,7 @@ X509_CRL_print_fp(FILE *fp, X509_CRL *x)
83 BIO_free(b); 83 BIO_free(b);
84 return (ret); 84 return (ret);
85} 85}
86LCRYPTO_ALIAS(X509_CRL_print_fp);
86 87
87int 88int
88X509_CRL_print(BIO *out, X509_CRL *x) 89X509_CRL_print(BIO *out, X509_CRL *x)
@@ -143,3 +144,4 @@ X509_CRL_print(BIO *out, X509_CRL *x)
143 err: 144 err:
144 return 0; 145 return 0;
145} 146}
147LCRYPTO_ALIAS(X509_CRL_print);
diff --git a/src/lib/libcrypto/asn1/t_pkey.c b/src/lib/libcrypto/asn1/t_pkey.c
index 0392dc41d7..3257cd08c8 100644
--- a/src/lib/libcrypto/asn1/t_pkey.c
+++ b/src/lib/libcrypto/asn1/t_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_pkey.c,v 1.19 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: t_pkey.c,v 1.20 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -114,6 +114,7 @@ ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num,
114 } 114 }
115 return (1); 115 return (1);
116} 116}
117LCRYPTO_ALIAS(ASN1_bn_print);
117 118
118#define ASN1_BUF_PRINT_WIDTH 15 119#define ASN1_BUF_PRINT_WIDTH 15
119#define ASN1_BUF_PRINT_MAX_INDENT 64 120#define ASN1_BUF_PRINT_MAX_INDENT 64
@@ -143,3 +144,4 @@ ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int indent)
143 144
144 return 1; 145 return 1;
145} 146}
147LCRYPTO_ALIAS(ASN1_buf_print);
diff --git a/src/lib/libcrypto/asn1/t_req.c b/src/lib/libcrypto/asn1/t_req.c
index 0ede4cebc9..0fb46c286f 100644
--- a/src/lib/libcrypto/asn1/t_req.c
+++ b/src/lib/libcrypto/asn1/t_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_req.c,v 1.24 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: t_req.c,v 1.25 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -91,6 +91,7 @@ X509_REQ_print_fp(FILE *fp, X509_REQ *x)
91 BIO_free(b); 91 BIO_free(b);
92 return (ret); 92 return (ret);
93} 93}
94LCRYPTO_ALIAS(X509_REQ_print_fp);
94 95
95int 96int
96X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, 97X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
@@ -254,9 +255,11 @@ X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
254 X509error(ERR_R_BUF_LIB); 255 X509error(ERR_R_BUF_LIB);
255 return (0); 256 return (0);
256} 257}
258LCRYPTO_ALIAS(X509_REQ_print_ex);
257 259
258int 260int
259X509_REQ_print(BIO *bp, X509_REQ *x) 261X509_REQ_print(BIO *bp, X509_REQ *x)
260{ 262{
261 return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); 263 return X509_REQ_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
262} 264}
265LCRYPTO_ALIAS(X509_REQ_print);
diff --git a/src/lib/libcrypto/asn1/t_spki.c b/src/lib/libcrypto/asn1/t_spki.c
index 2da8717a58..7e33bc77af 100644
--- a/src/lib/libcrypto/asn1/t_spki.c
+++ b/src/lib/libcrypto/asn1/t_spki.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_spki.c,v 1.14 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: t_spki.c,v 1.15 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -113,3 +113,4 @@ NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
113 BIO_write(out, "\n", 1); 113 BIO_write(out, "\n", 1);
114 return 1; 114 return 1;
115} 115}
116LCRYPTO_ALIAS(NETSCAPE_SPKI_print);
diff --git a/src/lib/libcrypto/asn1/t_x509.c b/src/lib/libcrypto/asn1/t_x509.c
index d0fbf9049a..7db4ff7dbf 100644
--- a/src/lib/libcrypto/asn1/t_x509.c
+++ b/src/lib/libcrypto/asn1/t_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_x509.c,v 1.41 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: t_x509.c,v 1.42 2023/07/05 21:23:36 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -85,6 +85,7 @@ X509_print_fp(FILE *fp, X509 *x)
85{ 85{
86 return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); 86 return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
87} 87}
88LCRYPTO_ALIAS(X509_print_fp);
88 89
89int 90int
90X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag) 91X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
@@ -101,12 +102,14 @@ X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
101 BIO_free(b); 102 BIO_free(b);
102 return (ret); 103 return (ret);
103} 104}
105LCRYPTO_ALIAS(X509_print_ex_fp);
104 106
105int 107int
106X509_print(BIO *bp, X509 *x) 108X509_print(BIO *bp, X509 *x)
107{ 109{
108 return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); 110 return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
109} 111}
112LCRYPTO_ALIAS(X509_print);
110 113
111int 114int
112X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) 115X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
@@ -250,6 +253,7 @@ X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
250 free(m); 253 free(m);
251 return (ret); 254 return (ret);
252} 255}
256LCRYPTO_ALIAS(X509_print_ex);
253 257
254int 258int
255X509_ocspid_print(BIO *bp, X509 *x) 259X509_ocspid_print(BIO *bp, X509 *x)
@@ -301,6 +305,7 @@ X509_ocspid_print(BIO *bp, X509 *x)
301 free(der); 305 free(der);
302 return (0); 306 return (0);
303} 307}
308LCRYPTO_ALIAS(X509_ocspid_print);
304 309
305int 310int
306X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent) 311X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
@@ -326,6 +331,7 @@ X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
326 331
327 return 1; 332 return 1;
328} 333}
334LCRYPTO_ALIAS(X509_signature_dump);
329 335
330int 336int
331X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig) 337X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
@@ -352,6 +358,7 @@ X509_signature_print(BIO *bp, const X509_ALGOR *sigalg, const ASN1_STRING *sig)
352 return 0; 358 return 0;
353 return 1; 359 return 1;
354} 360}
361LCRYPTO_ALIAS(X509_signature_print);
355 362
356int 363int
357ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm) 364ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
@@ -363,6 +370,7 @@ ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
363 BIO_write(bp, "Bad time value", 14); 370 BIO_write(bp, "Bad time value", 14);
364 return (0); 371 return (0);
365} 372}
373LCRYPTO_ALIAS(ASN1_TIME_print);
366 374
367static const char *mon[12] = { 375static const char *mon[12] = {
368 "Jan", "Feb", "Mar", "Apr", "May", "Jun", 376 "Jan", "Feb", "Mar", "Apr", "May", "Jun",
@@ -422,6 +430,7 @@ ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
422 BIO_write(bp, "Bad time value", 14); 430 BIO_write(bp, "Bad time value", 14);
423 return (0); 431 return (0);
424} 432}
433LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_print);
425 434
426int 435int
427ASN1_UTCTIME_print(BIO *bp, const ASN1_UTCTIME *tm) 436ASN1_UTCTIME_print(BIO *bp, const ASN1_UTCTIME *tm)
@@ -465,6 +474,7 @@ ASN1_UTCTIME_print(BIO *bp, const ASN1_UTCTIME *tm)
465 BIO_write(bp, "Bad time value", 14); 474 BIO_write(bp, "Bad time value", 14);
466 return (0); 475 return (0);
467} 476}
477LCRYPTO_ALIAS(ASN1_UTCTIME_print);
468 478
469int 479int
470X509_NAME_print(BIO *bp, const X509_NAME *name, int obase) 480X509_NAME_print(BIO *bp, const X509_NAME *name, int obase)
@@ -510,3 +520,4 @@ X509_NAME_print(BIO *bp, const X509_NAME *name, int obase)
510 free(b); 520 free(b);
511 return (ret); 521 return (ret);
512} 522}
523LCRYPTO_ALIAS(X509_NAME_print);
diff --git a/src/lib/libcrypto/asn1/t_x509a.c b/src/lib/libcrypto/asn1/t_x509a.c
index 09e5ecd387..bbab9962d5 100644
--- a/src/lib/libcrypto/asn1/t_x509a.c
+++ b/src/lib/libcrypto/asn1/t_x509a.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_x509a.c,v 1.11 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: t_x509a.c,v 1.12 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -117,3 +117,4 @@ X509_CERT_AUX_print(BIO *out, X509_CERT_AUX *aux, int indent)
117 } 117 }
118 return 1; 118 return 1;
119} 119}
120LCRYPTO_ALIAS(X509_CERT_AUX_print);
diff --git a/src/lib/libcrypto/asn1/tasn_dec.c b/src/lib/libcrypto/asn1/tasn_dec.c
index 8964d467c2..553cab2494 100644
--- a/src/lib/libcrypto/asn1/tasn_dec.c
+++ b/src/lib/libcrypto/asn1/tasn_dec.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_dec.c,v 1.86 2023/04/30 16:46:49 job Exp $ */ 1/* $OpenBSD: tasn_dec.c,v 1.87 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -1237,6 +1237,7 @@ ASN1_item_d2i(ASN1_VALUE **pval, const unsigned char **in, long inlen,
1237 1237
1238 return *pval; 1238 return *pval;
1239} 1239}
1240LCRYPTO_ALIAS(ASN1_item_d2i);
1240 1241
1241int 1242int
1242ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long inlen, 1243ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long inlen,
@@ -1256,6 +1257,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long inlen,
1256 1257
1257 return ret; 1258 return ret;
1258} 1259}
1260LCRYPTO_ALIAS(ASN1_item_ex_d2i);
1259 1261
1260int 1262int
1261ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, 1263ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
@@ -1273,3 +1275,4 @@ ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
1273 1275
1274 return ret; 1276 return ret;
1275} 1277}
1278LCRYPTO_ALIAS(ASN1_template_d2i);
diff --git a/src/lib/libcrypto/asn1/tasn_enc.c b/src/lib/libcrypto/asn1/tasn_enc.c
index bbe8a2e949..be0579f840 100644
--- a/src/lib/libcrypto/asn1/tasn_enc.c
+++ b/src/lib/libcrypto/asn1/tasn_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_enc.c,v 1.31 2023/04/30 16:46:49 job Exp $ */ 1/* $OpenBSD: tasn_enc.c,v 1.32 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -92,6 +92,7 @@ ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it)
92{ 92{
93 return asn1_item_flags_i2d(val, out, it, 0); 93 return asn1_item_flags_i2d(val, out, it, 0);
94} 94}
95LCRYPTO_ALIAS(ASN1_item_i2d);
95 96
96/* Encode an ASN1 item, this is use by the 97/* Encode an ASN1 item, this is use by the
97 * standard 'i2d' function. 'out' points to 98 * standard 'i2d' function. 'out' points to
@@ -268,6 +269,7 @@ ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it,
268 } 269 }
269 return 0; 270 return 0;
270} 271}
272LCRYPTO_ALIAS(ASN1_item_ex_i2d);
271 273
272int 274int
273ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out, 275ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out,
@@ -275,6 +277,7 @@ ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out,
275{ 277{
276 return asn1_template_ex_i2d(pval, out, tt, -1, 0); 278 return asn1_template_ex_i2d(pval, out, tt, -1, 0);
277} 279}
280LCRYPTO_ALIAS(ASN1_template_i2d);
278 281
279static int 282static int
280asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out, 283asn1_template_ex_i2d(ASN1_VALUE **pval, unsigned char **out,
diff --git a/src/lib/libcrypto/asn1/tasn_fre.c b/src/lib/libcrypto/asn1/tasn_fre.c
index 38f3764f18..eb205dd6ab 100644
--- a/src/lib/libcrypto/asn1/tasn_fre.c
+++ b/src/lib/libcrypto/asn1/tasn_fre.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_fre.c,v 1.21 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: tasn_fre.c,v 1.22 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -73,12 +73,14 @@ ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)
73{ 73{
74 asn1_item_free(&val, it); 74 asn1_item_free(&val, it);
75} 75}
76LCRYPTO_ALIAS(ASN1_item_free);
76 77
77void 78void
78ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it) 79ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
79{ 80{
80 asn1_item_free(pval, it); 81 asn1_item_free(pval, it);
81} 82}
83LCRYPTO_ALIAS(ASN1_item_ex_free);
82 84
83static void 85static void
84asn1_item_free(ASN1_VALUE **pval, const ASN1_ITEM *it) 86asn1_item_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
@@ -183,6 +185,7 @@ ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
183 } else 185 } else
184 asn1_item_free(pval, tt->item); 186 asn1_item_free(pval, tt->item);
185} 187}
188LCRYPTO_ALIAS(ASN1_template_free);
186 189
187void 190void
188ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it) 191ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
@@ -239,3 +242,4 @@ ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
239 } 242 }
240 *pval = NULL; 243 *pval = NULL;
241} 244}
245LCRYPTO_ALIAS(ASN1_primitive_free);
diff --git a/src/lib/libcrypto/asn1/tasn_new.c b/src/lib/libcrypto/asn1/tasn_new.c
index 5d436cf25c..555267c48f 100644
--- a/src/lib/libcrypto/asn1/tasn_new.c
+++ b/src/lib/libcrypto/asn1/tasn_new.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_new.c,v 1.23 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: tasn_new.c,v 1.24 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -79,6 +79,7 @@ ASN1_item_new(const ASN1_ITEM *it)
79 return ret; 79 return ret;
80 return NULL; 80 return NULL;
81} 81}
82LCRYPTO_ALIAS(ASN1_item_new);
82 83
83/* Allocate an ASN1 structure */ 84/* Allocate an ASN1 structure */
84 85
@@ -87,6 +88,7 @@ ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
87{ 88{
88 return asn1_item_ex_new(pval, it); 89 return asn1_item_ex_new(pval, it);
89} 90}
91LCRYPTO_ALIAS(ASN1_item_ex_new);
90 92
91static int 93static int
92asn1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it) 94asn1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
@@ -246,6 +248,7 @@ ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
246 done: 248 done:
247 return ret; 249 return ret;
248} 250}
251LCRYPTO_ALIAS(ASN1_template_new);
249 252
250static void 253static void
251asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt) 254asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
@@ -315,6 +318,7 @@ ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
315 return 1; 318 return 1;
316 return 0; 319 return 0;
317} 320}
321LCRYPTO_ALIAS(ASN1_primitive_new);
318 322
319static void 323static void
320asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) 324asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
diff --git a/src/lib/libcrypto/asn1/tasn_prn.c b/src/lib/libcrypto/asn1/tasn_prn.c
index 9652a9766a..3f61a689d0 100644
--- a/src/lib/libcrypto/asn1/tasn_prn.c
+++ b/src/lib/libcrypto/asn1/tasn_prn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_prn.c,v 1.24 2023/04/17 08:43:16 tb Exp $ */ 1/* $OpenBSD: tasn_prn.c,v 1.25 2023/07/05 21:23:36 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -88,72 +88,84 @@ ASN1_PCTX_new(void)
88 88
89 return p; 89 return p;
90} 90}
91LCRYPTO_ALIAS(ASN1_PCTX_new);
91 92
92void 93void
93ASN1_PCTX_free(ASN1_PCTX *p) 94ASN1_PCTX_free(ASN1_PCTX *p)
94{ 95{
95 free(p); 96 free(p);
96} 97}
98LCRYPTO_ALIAS(ASN1_PCTX_free);
97 99
98unsigned long 100unsigned long
99ASN1_PCTX_get_flags(const ASN1_PCTX *p) 101ASN1_PCTX_get_flags(const ASN1_PCTX *p)
100{ 102{
101 return p->flags; 103 return p->flags;
102} 104}
105LCRYPTO_ALIAS(ASN1_PCTX_get_flags);
103 106
104void 107void
105ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags) 108ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags)
106{ 109{
107 p->flags = flags; 110 p->flags = flags;
108} 111}
112LCRYPTO_ALIAS(ASN1_PCTX_set_flags);
109 113
110unsigned long 114unsigned long
111ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p) 115ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p)
112{ 116{
113 return p->nm_flags; 117 return p->nm_flags;
114} 118}
119LCRYPTO_ALIAS(ASN1_PCTX_get_nm_flags);
115 120
116void 121void
117ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags) 122ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags)
118{ 123{
119 p->nm_flags = flags; 124 p->nm_flags = flags;
120} 125}
126LCRYPTO_ALIAS(ASN1_PCTX_set_nm_flags);
121 127
122unsigned long 128unsigned long
123ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p) 129ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p)
124{ 130{
125 return p->cert_flags; 131 return p->cert_flags;
126} 132}
133LCRYPTO_ALIAS(ASN1_PCTX_get_cert_flags);
127 134
128void 135void
129ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags) 136ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags)
130{ 137{
131 p->cert_flags = flags; 138 p->cert_flags = flags;
132} 139}
140LCRYPTO_ALIAS(ASN1_PCTX_set_cert_flags);
133 141
134unsigned long 142unsigned long
135ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p) 143ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p)
136{ 144{
137 return p->oid_flags; 145 return p->oid_flags;
138} 146}
147LCRYPTO_ALIAS(ASN1_PCTX_get_oid_flags);
139 148
140void 149void
141ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags) 150ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags)
142{ 151{
143 p->oid_flags = flags; 152 p->oid_flags = flags;
144} 153}
154LCRYPTO_ALIAS(ASN1_PCTX_set_oid_flags);
145 155
146unsigned long 156unsigned long
147ASN1_PCTX_get_str_flags(const ASN1_PCTX *p) 157ASN1_PCTX_get_str_flags(const ASN1_PCTX *p)
148{ 158{
149 return p->str_flags; 159 return p->str_flags;
150} 160}
161LCRYPTO_ALIAS(ASN1_PCTX_get_str_flags);
151 162
152void 163void
153ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags) 164ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags)
154{ 165{
155 p->str_flags = flags; 166 p->str_flags = flags;
156} 167}
168LCRYPTO_ALIAS(ASN1_PCTX_set_str_flags);
157 169
158/* Main print routines */ 170/* Main print routines */
159 171
@@ -186,6 +198,7 @@ ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it,
186 return asn1_item_print_ctx(out, &ifld, indent, it, NULL, sname, 198 return asn1_item_print_ctx(out, &ifld, indent, it, NULL, sname,
187 0, pctx); 199 0, pctx);
188} 200}
201LCRYPTO_ALIAS(ASN1_item_print);
189 202
190static int 203static int
191asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, const ASN1_ITEM *it, 204asn1_item_print_ctx(BIO *out, ASN1_VALUE **fld, int indent, const ASN1_ITEM *it,
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c
index c373f34915..21e3885851 100644
--- a/src/lib/libcrypto/asn1/tasn_typ.c
+++ b/src/lib/libcrypto/asn1/tasn_typ.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_typ.c,v 1.17 2021/12/26 15:20:21 tb Exp $ */ 1/* $OpenBSD: tasn_typ.c,v 1.18 2023/07/05 21:23:37 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -73,24 +73,28 @@ d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len)
73 return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 73 return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
74 &ASN1_NULL_it); 74 &ASN1_NULL_it);
75} 75}
76LCRYPTO_ALIAS(d2i_ASN1_NULL);
76 77
77int 78int
78i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out) 79i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out)
79{ 80{
80 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it); 81 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it);
81} 82}
83LCRYPTO_ALIAS(i2d_ASN1_NULL);
82 84
83ASN1_NULL * 85ASN1_NULL *
84ASN1_NULL_new(void) 86ASN1_NULL_new(void)
85{ 87{
86 return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it); 88 return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it);
87} 89}
90LCRYPTO_ALIAS(ASN1_NULL_new);
88 91
89void 92void
90ASN1_NULL_free(ASN1_NULL *a) 93ASN1_NULL_free(ASN1_NULL *a)
91{ 94{
92 ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); 95 ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it);
93} 96}
97LCRYPTO_ALIAS(ASN1_NULL_free);
94 98
95 99
96const ASN1_ITEM ASN1_UTF8STRING_it = { 100const ASN1_ITEM ASN1_UTF8STRING_it = {
@@ -105,24 +109,28 @@ d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len)
105 return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 109 return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
106 &ASN1_UTF8STRING_it); 110 &ASN1_UTF8STRING_it);
107} 111}
112LCRYPTO_ALIAS(d2i_ASN1_UTF8STRING);
108 113
109int 114int
110i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out) 115i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out)
111{ 116{
112 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it); 117 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it);
113} 118}
119LCRYPTO_ALIAS(i2d_ASN1_UTF8STRING);
114 120
115ASN1_UTF8STRING * 121ASN1_UTF8STRING *
116ASN1_UTF8STRING_new(void) 122ASN1_UTF8STRING_new(void)
117{ 123{
118 return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it); 124 return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it);
119} 125}
126LCRYPTO_ALIAS(ASN1_UTF8STRING_new);
120 127
121void 128void
122ASN1_UTF8STRING_free(ASN1_UTF8STRING *a) 129ASN1_UTF8STRING_free(ASN1_UTF8STRING *a)
123{ 130{
124 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); 131 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it);
125} 132}
133LCRYPTO_ALIAS(ASN1_UTF8STRING_free);
126 134
127 135
128const ASN1_ITEM ASN1_PRINTABLESTRING_it = { 136const ASN1_ITEM ASN1_PRINTABLESTRING_it = {
@@ -138,24 +146,28 @@ d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in,
138 return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 146 return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
139 &ASN1_PRINTABLESTRING_it); 147 &ASN1_PRINTABLESTRING_it);
140} 148}
149LCRYPTO_ALIAS(d2i_ASN1_PRINTABLESTRING);
141 150
142int 151int
143i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out) 152i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out)
144{ 153{
145 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it); 154 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it);
146} 155}
156LCRYPTO_ALIAS(i2d_ASN1_PRINTABLESTRING);
147 157
148ASN1_PRINTABLESTRING * 158ASN1_PRINTABLESTRING *
149ASN1_PRINTABLESTRING_new(void) 159ASN1_PRINTABLESTRING_new(void)
150{ 160{
151 return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it); 161 return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it);
152} 162}
163LCRYPTO_ALIAS(ASN1_PRINTABLESTRING_new);
153 164
154void 165void
155ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a) 166ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a)
156{ 167{
157 ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); 168 ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it);
158} 169}
170LCRYPTO_ALIAS(ASN1_PRINTABLESTRING_free);
159 171
160 172
161const ASN1_ITEM ASN1_T61STRING_it = { 173const ASN1_ITEM ASN1_T61STRING_it = {
@@ -170,24 +182,28 @@ d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len)
170 return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 182 return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
171 &ASN1_T61STRING_it); 183 &ASN1_T61STRING_it);
172} 184}
185LCRYPTO_ALIAS(d2i_ASN1_T61STRING);
173 186
174int 187int
175i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out) 188i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out)
176{ 189{
177 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it); 190 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it);
178} 191}
192LCRYPTO_ALIAS(i2d_ASN1_T61STRING);
179 193
180ASN1_T61STRING * 194ASN1_T61STRING *
181ASN1_T61STRING_new(void) 195ASN1_T61STRING_new(void)
182{ 196{
183 return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it); 197 return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it);
184} 198}
199LCRYPTO_ALIAS(ASN1_T61STRING_new);
185 200
186void 201void
187ASN1_T61STRING_free(ASN1_T61STRING *a) 202ASN1_T61STRING_free(ASN1_T61STRING *a)
188{ 203{
189 ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); 204 ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it);
190} 205}
206LCRYPTO_ALIAS(ASN1_T61STRING_free);
191 207
192 208
193const ASN1_ITEM ASN1_IA5STRING_it = { 209const ASN1_ITEM ASN1_IA5STRING_it = {
@@ -202,24 +218,28 @@ d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len)
202 return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 218 return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
203 &ASN1_IA5STRING_it); 219 &ASN1_IA5STRING_it);
204} 220}
221LCRYPTO_ALIAS(d2i_ASN1_IA5STRING);
205 222
206int 223int
207i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out) 224i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out)
208{ 225{
209 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it); 226 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it);
210} 227}
228LCRYPTO_ALIAS(i2d_ASN1_IA5STRING);
211 229
212ASN1_IA5STRING * 230ASN1_IA5STRING *
213ASN1_IA5STRING_new(void) 231ASN1_IA5STRING_new(void)
214{ 232{
215 return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it); 233 return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it);
216} 234}
235LCRYPTO_ALIAS(ASN1_IA5STRING_new);
217 236
218void 237void
219ASN1_IA5STRING_free(ASN1_IA5STRING *a) 238ASN1_IA5STRING_free(ASN1_IA5STRING *a)
220{ 239{
221 ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); 240 ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it);
222} 241}
242LCRYPTO_ALIAS(ASN1_IA5STRING_free);
223 243
224 244
225const ASN1_ITEM ASN1_GENERALSTRING_it = { 245const ASN1_ITEM ASN1_GENERALSTRING_it = {
@@ -235,24 +255,28 @@ d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in,
235 return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 255 return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
236 &ASN1_GENERALSTRING_it); 256 &ASN1_GENERALSTRING_it);
237} 257}
258LCRYPTO_ALIAS(d2i_ASN1_GENERALSTRING);
238 259
239int 260int
240i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out) 261i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out)
241{ 262{
242 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it); 263 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it);
243} 264}
265LCRYPTO_ALIAS(i2d_ASN1_GENERALSTRING);
244 266
245ASN1_GENERALSTRING * 267ASN1_GENERALSTRING *
246ASN1_GENERALSTRING_new(void) 268ASN1_GENERALSTRING_new(void)
247{ 269{
248 return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it); 270 return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it);
249} 271}
272LCRYPTO_ALIAS(ASN1_GENERALSTRING_new);
250 273
251void 274void
252ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a) 275ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a)
253{ 276{
254 ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); 277 ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it);
255} 278}
279LCRYPTO_ALIAS(ASN1_GENERALSTRING_free);
256 280
257 281
258const ASN1_ITEM ASN1_UTCTIME_it = { 282const ASN1_ITEM ASN1_UTCTIME_it = {
@@ -267,24 +291,28 @@ d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len)
267 return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 291 return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
268 &ASN1_UTCTIME_it); 292 &ASN1_UTCTIME_it);
269} 293}
294LCRYPTO_ALIAS(d2i_ASN1_UTCTIME);
270 295
271int 296int
272i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out) 297i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out)
273{ 298{
274 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it); 299 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it);
275} 300}
301LCRYPTO_ALIAS(i2d_ASN1_UTCTIME);
276 302
277ASN1_UTCTIME * 303ASN1_UTCTIME *
278ASN1_UTCTIME_new(void) 304ASN1_UTCTIME_new(void)
279{ 305{
280 return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it); 306 return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it);
281} 307}
308LCRYPTO_ALIAS(ASN1_UTCTIME_new);
282 309
283void 310void
284ASN1_UTCTIME_free(ASN1_UTCTIME *a) 311ASN1_UTCTIME_free(ASN1_UTCTIME *a)
285{ 312{
286 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); 313 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it);
287} 314}
315LCRYPTO_ALIAS(ASN1_UTCTIME_free);
288 316
289 317
290const ASN1_ITEM ASN1_GENERALIZEDTIME_it = { 318const ASN1_ITEM ASN1_GENERALIZEDTIME_it = {
@@ -300,24 +328,28 @@ d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in,
300 return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 328 return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
301 &ASN1_GENERALIZEDTIME_it); 329 &ASN1_GENERALIZEDTIME_it);
302} 330}
331LCRYPTO_ALIAS(d2i_ASN1_GENERALIZEDTIME);
303 332
304int 333int
305i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out) 334i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out)
306{ 335{
307 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it); 336 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it);
308} 337}
338LCRYPTO_ALIAS(i2d_ASN1_GENERALIZEDTIME);
309 339
310ASN1_GENERALIZEDTIME * 340ASN1_GENERALIZEDTIME *
311ASN1_GENERALIZEDTIME_new(void) 341ASN1_GENERALIZEDTIME_new(void)
312{ 342{
313 return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it); 343 return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it);
314} 344}
345LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_new);
315 346
316void 347void
317ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a) 348ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a)
318{ 349{
319 ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); 350 ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it);
320} 351}
352LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_free);
321 353
322 354
323const ASN1_ITEM ASN1_VISIBLESTRING_it = { 355const ASN1_ITEM ASN1_VISIBLESTRING_it = {
@@ -333,24 +365,28 @@ d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in,
333 return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 365 return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
334 &ASN1_VISIBLESTRING_it); 366 &ASN1_VISIBLESTRING_it);
335} 367}
368LCRYPTO_ALIAS(d2i_ASN1_VISIBLESTRING);
336 369
337int 370int
338i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out) 371i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out)
339{ 372{
340 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it); 373 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it);
341} 374}
375LCRYPTO_ALIAS(i2d_ASN1_VISIBLESTRING);
342 376
343ASN1_VISIBLESTRING * 377ASN1_VISIBLESTRING *
344ASN1_VISIBLESTRING_new(void) 378ASN1_VISIBLESTRING_new(void)
345{ 379{
346 return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it); 380 return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it);
347} 381}
382LCRYPTO_ALIAS(ASN1_VISIBLESTRING_new);
348 383
349void 384void
350ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a) 385ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a)
351{ 386{
352 ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); 387 ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it);
353} 388}
389LCRYPTO_ALIAS(ASN1_VISIBLESTRING_free);
354 390
355 391
356const ASN1_ITEM ASN1_UNIVERSALSTRING_it = { 392const ASN1_ITEM ASN1_UNIVERSALSTRING_it = {
@@ -366,24 +402,28 @@ d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in,
366 return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 402 return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
367 &ASN1_UNIVERSALSTRING_it); 403 &ASN1_UNIVERSALSTRING_it);
368} 404}
405LCRYPTO_ALIAS(d2i_ASN1_UNIVERSALSTRING);
369 406
370int 407int
371i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out) 408i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out)
372{ 409{
373 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it); 410 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it);
374} 411}
412LCRYPTO_ALIAS(i2d_ASN1_UNIVERSALSTRING);
375 413
376ASN1_UNIVERSALSTRING * 414ASN1_UNIVERSALSTRING *
377ASN1_UNIVERSALSTRING_new(void) 415ASN1_UNIVERSALSTRING_new(void)
378{ 416{
379 return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it); 417 return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it);
380} 418}
419LCRYPTO_ALIAS(ASN1_UNIVERSALSTRING_new);
381 420
382void 421void
383ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a) 422ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a)
384{ 423{
385 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); 424 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it);
386} 425}
426LCRYPTO_ALIAS(ASN1_UNIVERSALSTRING_free);
387 427
388 428
389const ASN1_ITEM ASN1_BMPSTRING_it = { 429const ASN1_ITEM ASN1_BMPSTRING_it = {
@@ -398,24 +438,28 @@ d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len)
398 return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 438 return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
399 &ASN1_BMPSTRING_it); 439 &ASN1_BMPSTRING_it);
400} 440}
441LCRYPTO_ALIAS(d2i_ASN1_BMPSTRING);
401 442
402int 443int
403i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out) 444i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out)
404{ 445{
405 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it); 446 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it);
406} 447}
448LCRYPTO_ALIAS(i2d_ASN1_BMPSTRING);
407 449
408ASN1_BMPSTRING * 450ASN1_BMPSTRING *
409ASN1_BMPSTRING_new(void) 451ASN1_BMPSTRING_new(void)
410{ 452{
411 return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it); 453 return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it);
412} 454}
455LCRYPTO_ALIAS(ASN1_BMPSTRING_new);
413 456
414void 457void
415ASN1_BMPSTRING_free(ASN1_BMPSTRING *a) 458ASN1_BMPSTRING_free(ASN1_BMPSTRING *a)
416{ 459{
417 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); 460 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it);
418} 461}
462LCRYPTO_ALIAS(ASN1_BMPSTRING_free);
419 463
420const ASN1_ITEM ASN1_ANY_it = { 464const ASN1_ITEM ASN1_ANY_it = {
421 .itype = ASN1_ITYPE_PRIMITIVE, 465 .itype = ASN1_ITYPE_PRIMITIVE,
@@ -452,24 +496,28 @@ d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len)
452 return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 496 return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
453 &ASN1_PRINTABLE_it); 497 &ASN1_PRINTABLE_it);
454} 498}
499LCRYPTO_ALIAS(d2i_ASN1_PRINTABLE);
455 500
456int 501int
457i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out) 502i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out)
458{ 503{
459 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it); 504 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it);
460} 505}
506LCRYPTO_ALIAS(i2d_ASN1_PRINTABLE);
461 507
462ASN1_STRING * 508ASN1_STRING *
463ASN1_PRINTABLE_new(void) 509ASN1_PRINTABLE_new(void)
464{ 510{
465 return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it); 511 return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it);
466} 512}
513LCRYPTO_ALIAS(ASN1_PRINTABLE_new);
467 514
468void 515void
469ASN1_PRINTABLE_free(ASN1_STRING *a) 516ASN1_PRINTABLE_free(ASN1_STRING *a)
470{ 517{
471 ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it); 518 ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it);
472} 519}
520LCRYPTO_ALIAS(ASN1_PRINTABLE_free);
473 521
474 522
475const ASN1_ITEM DISPLAYTEXT_it = { 523const ASN1_ITEM DISPLAYTEXT_it = {
@@ -488,24 +536,28 @@ d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len)
488 return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 536 return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
489 &DISPLAYTEXT_it); 537 &DISPLAYTEXT_it);
490} 538}
539LCRYPTO_ALIAS(d2i_DISPLAYTEXT);
491 540
492int 541int
493i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out) 542i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out)
494{ 543{
495 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it); 544 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it);
496} 545}
546LCRYPTO_ALIAS(i2d_DISPLAYTEXT);
497 547
498ASN1_STRING * 548ASN1_STRING *
499DISPLAYTEXT_new(void) 549DISPLAYTEXT_new(void)
500{ 550{
501 return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it); 551 return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it);
502} 552}
553LCRYPTO_ALIAS(DISPLAYTEXT_new);
503 554
504void 555void
505DISPLAYTEXT_free(ASN1_STRING *a) 556DISPLAYTEXT_free(ASN1_STRING *a)
506{ 557{
507 ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it); 558 ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it);
508} 559}
560LCRYPTO_ALIAS(DISPLAYTEXT_free);
509 561
510 562
511const ASN1_ITEM DIRECTORYSTRING_it = { 563const ASN1_ITEM DIRECTORYSTRING_it = {
@@ -524,24 +576,28 @@ d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len)
524 return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 576 return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
525 &DIRECTORYSTRING_it); 577 &DIRECTORYSTRING_it);
526} 578}
579LCRYPTO_ALIAS(d2i_DIRECTORYSTRING);
527 580
528int 581int
529i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out) 582i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out)
530{ 583{
531 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it); 584 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it);
532} 585}
586LCRYPTO_ALIAS(i2d_DIRECTORYSTRING);
533 587
534ASN1_STRING * 588ASN1_STRING *
535DIRECTORYSTRING_new(void) 589DIRECTORYSTRING_new(void)
536{ 590{
537 return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it); 591 return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it);
538} 592}
593LCRYPTO_ALIAS(DIRECTORYSTRING_new);
539 594
540void 595void
541DIRECTORYSTRING_free(ASN1_STRING *a) 596DIRECTORYSTRING_free(ASN1_STRING *a)
542{ 597{
543 ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it); 598 ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it);
544} 599}
600LCRYPTO_ALIAS(DIRECTORYSTRING_free);
545 601
546/* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ 602/* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */
547 603
@@ -640,12 +696,14 @@ d2i_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len)
640 return (ASN1_SEQUENCE_ANY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 696 return (ASN1_SEQUENCE_ANY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
641 &ASN1_SEQUENCE_ANY_it); 697 &ASN1_SEQUENCE_ANY_it);
642} 698}
699LCRYPTO_ALIAS(d2i_ASN1_SEQUENCE_ANY);
643 700
644int 701int
645i2d_ASN1_SEQUENCE_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out) 702i2d_ASN1_SEQUENCE_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out)
646{ 703{
647 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_SEQUENCE_ANY_it); 704 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_SEQUENCE_ANY_it);
648} 705}
706LCRYPTO_ALIAS(i2d_ASN1_SEQUENCE_ANY);
649 707
650ASN1_SEQUENCE_ANY * 708ASN1_SEQUENCE_ANY *
651d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len) 709d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len)
@@ -653,9 +711,11 @@ d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len)
653 return (ASN1_SEQUENCE_ANY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 711 return (ASN1_SEQUENCE_ANY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
654 &ASN1_SET_ANY_it); 712 &ASN1_SET_ANY_it);
655} 713}
714LCRYPTO_ALIAS(d2i_ASN1_SET_ANY);
656 715
657int 716int
658i2d_ASN1_SET_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out) 717i2d_ASN1_SET_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out)
659{ 718{
660 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_SET_ANY_it); 719 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_SET_ANY_it);
661} 720}
721LCRYPTO_ALIAS(i2d_ASN1_SET_ANY);
diff --git a/src/lib/libcrypto/asn1/x_algor.c b/src/lib/libcrypto/asn1/x_algor.c
index efb0c342aa..8d9f9c4752 100644
--- a/src/lib/libcrypto/asn1/x_algor.c
+++ b/src/lib/libcrypto/asn1/x_algor.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_algor.c,v 1.23 2021/12/12 14:27:20 tb Exp $ */ 1/* $OpenBSD: x_algor.c,v 1.24 2023/07/05 21:23:37 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -109,24 +109,28 @@ d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len)
109 return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 109 return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
110 &X509_ALGOR_it); 110 &X509_ALGOR_it);
111} 111}
112LCRYPTO_ALIAS(d2i_X509_ALGOR);
112 113
113int 114int
114i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out) 115i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out)
115{ 116{
116 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it); 117 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it);
117} 118}
119LCRYPTO_ALIAS(i2d_X509_ALGOR);
118 120
119X509_ALGOR * 121X509_ALGOR *
120X509_ALGOR_new(void) 122X509_ALGOR_new(void)
121{ 123{
122 return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it); 124 return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it);
123} 125}
126LCRYPTO_ALIAS(X509_ALGOR_new);
124 127
125void 128void
126X509_ALGOR_free(X509_ALGOR *a) 129X509_ALGOR_free(X509_ALGOR *a)
127{ 130{
128 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); 131 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
129} 132}
133LCRYPTO_ALIAS(X509_ALGOR_free);
130 134
131X509_ALGORS * 135X509_ALGORS *
132d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len) 136d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
@@ -134,18 +138,21 @@ d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len)
134 return (X509_ALGORS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 138 return (X509_ALGORS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
135 &X509_ALGORS_it); 139 &X509_ALGORS_it);
136} 140}
141LCRYPTO_ALIAS(d2i_X509_ALGORS);
137 142
138int 143int
139i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out) 144i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out)
140{ 145{
141 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it); 146 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGORS_it);
142} 147}
148LCRYPTO_ALIAS(i2d_X509_ALGORS);
143 149
144X509_ALGOR * 150X509_ALGOR *
145X509_ALGOR_dup(X509_ALGOR *x) 151X509_ALGOR_dup(X509_ALGOR *x)
146{ 152{
147 return ASN1_item_dup(&X509_ALGOR_it, x); 153 return ASN1_item_dup(&X509_ALGOR_it, x);
148} 154}
155LCRYPTO_ALIAS(X509_ALGOR_dup);
149 156
150int 157int
151X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval) 158X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval)
@@ -174,6 +181,7 @@ X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval)
174 ASN1_TYPE_set(alg->parameter, ptype, pval); 181 ASN1_TYPE_set(alg->parameter, ptype, pval);
175 return 1; 182 return 1;
176} 183}
184LCRYPTO_ALIAS(X509_ALGOR_set0);
177 185
178void 186void
179X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval, 187X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval,
@@ -191,6 +199,7 @@ X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval,
191 *ppval = algor->parameter->value.ptr; 199 *ppval = algor->parameter->value.ptr;
192 } 200 }
193} 201}
202LCRYPTO_ALIAS(X509_ALGOR_get0);
194 203
195/* Set up an X509_ALGOR DigestAlgorithmIdentifier from an EVP_MD */ 204/* Set up an X509_ALGOR DigestAlgorithmIdentifier from an EVP_MD */
196 205
@@ -204,6 +213,7 @@ X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md)
204 213
205 X509_ALGOR_set0(alg, OBJ_nid2obj(EVP_MD_type(md)), param_type, NULL); 214 X509_ALGOR_set0(alg, OBJ_nid2obj(EVP_MD_type(md)), param_type, NULL);
206} 215}
216LCRYPTO_ALIAS(X509_ALGOR_set_md);
207 217
208/* Returns 0 if they are equal, != 0 otherwise. */ 218/* Returns 0 if they are equal, != 0 otherwise. */
209int 219int
@@ -218,3 +228,4 @@ X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
218 } 228 }
219 return(rv); 229 return(rv);
220} 230}
231LCRYPTO_ALIAS(X509_ALGOR_cmp);
diff --git a/src/lib/libcrypto/asn1/x_attrib.c b/src/lib/libcrypto/asn1/x_attrib.c
index d116094c10..1ed9f67f2e 100644
--- a/src/lib/libcrypto/asn1/x_attrib.c
+++ b/src/lib/libcrypto/asn1/x_attrib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_attrib.c,v 1.18 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_attrib.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -111,30 +111,35 @@ d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len)
111 return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 111 return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
112 &X509_ATTRIBUTE_it); 112 &X509_ATTRIBUTE_it);
113} 113}
114LCRYPTO_ALIAS(d2i_X509_ATTRIBUTE);
114 115
115int 116int
116i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out) 117i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out)
117{ 118{
118 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it); 119 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it);
119} 120}
121LCRYPTO_ALIAS(i2d_X509_ATTRIBUTE);
120 122
121X509_ATTRIBUTE * 123X509_ATTRIBUTE *
122X509_ATTRIBUTE_new(void) 124X509_ATTRIBUTE_new(void)
123{ 125{
124 return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it); 126 return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it);
125} 127}
128LCRYPTO_ALIAS(X509_ATTRIBUTE_new);
126 129
127void 130void
128X509_ATTRIBUTE_free(X509_ATTRIBUTE *a) 131X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
129{ 132{
130 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); 133 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
131} 134}
135LCRYPTO_ALIAS(X509_ATTRIBUTE_free);
132 136
133X509_ATTRIBUTE * 137X509_ATTRIBUTE *
134X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x) 138X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
135{ 139{
136 return ASN1_item_dup(&X509_ATTRIBUTE_it, x); 140 return ASN1_item_dup(&X509_ATTRIBUTE_it, x);
137} 141}
142LCRYPTO_ALIAS(X509_ATTRIBUTE_dup);
138 143
139X509_ATTRIBUTE * 144X509_ATTRIBUTE *
140X509_ATTRIBUTE_create(int nid, int atrtype, void *value) 145X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
@@ -163,3 +168,4 @@ X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
163 ASN1_TYPE_free(val); 168 ASN1_TYPE_free(val);
164 return (NULL); 169 return (NULL);
165} 170}
171LCRYPTO_ALIAS(X509_ATTRIBUTE_create);
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c
index f637bddd36..74e07da3b5 100644
--- a/src/lib/libcrypto/asn1/x_crl.c
+++ b/src/lib/libcrypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.39 2022/12/26 16:00:36 tb Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.40 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -442,30 +442,35 @@ d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len)
442 return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 442 return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
443 &X509_REVOKED_it); 443 &X509_REVOKED_it);
444} 444}
445LCRYPTO_ALIAS(d2i_X509_REVOKED);
445 446
446int 447int
447i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out) 448i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out)
448{ 449{
449 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it); 450 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it);
450} 451}
452LCRYPTO_ALIAS(i2d_X509_REVOKED);
451 453
452X509_REVOKED * 454X509_REVOKED *
453X509_REVOKED_new(void) 455X509_REVOKED_new(void)
454{ 456{
455 return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it); 457 return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it);
456} 458}
459LCRYPTO_ALIAS(X509_REVOKED_new);
457 460
458void 461void
459X509_REVOKED_free(X509_REVOKED *a) 462X509_REVOKED_free(X509_REVOKED *a)
460{ 463{
461 ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it); 464 ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it);
462} 465}
466LCRYPTO_ALIAS(X509_REVOKED_free);
463 467
464X509_REVOKED * 468X509_REVOKED *
465X509_REVOKED_dup(X509_REVOKED *a) 469X509_REVOKED_dup(X509_REVOKED *a)
466{ 470{
467 return ASN1_item_dup(&X509_REVOKED_it, a); 471 return ASN1_item_dup(&X509_REVOKED_it, a);
468} 472}
473LCRYPTO_ALIAS(X509_REVOKED_dup);
469 474
470X509_CRL_INFO * 475X509_CRL_INFO *
471d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len) 476d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
@@ -473,24 +478,28 @@ d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len)
473 return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 478 return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
474 &X509_CRL_INFO_it); 479 &X509_CRL_INFO_it);
475} 480}
481LCRYPTO_ALIAS(d2i_X509_CRL_INFO);
476 482
477int 483int
478i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out) 484i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out)
479{ 485{
480 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it); 486 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it);
481} 487}
488LCRYPTO_ALIAS(i2d_X509_CRL_INFO);
482 489
483X509_CRL_INFO * 490X509_CRL_INFO *
484X509_CRL_INFO_new(void) 491X509_CRL_INFO_new(void)
485{ 492{
486 return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it); 493 return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it);
487} 494}
495LCRYPTO_ALIAS(X509_CRL_INFO_new);
488 496
489void 497void
490X509_CRL_INFO_free(X509_CRL_INFO *a) 498X509_CRL_INFO_free(X509_CRL_INFO *a)
491{ 499{
492 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it); 500 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it);
493} 501}
502LCRYPTO_ALIAS(X509_CRL_INFO_free);
494 503
495X509_CRL * 504X509_CRL *
496d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len) 505d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
@@ -498,30 +507,35 @@ d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len)
498 return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 507 return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
499 &X509_CRL_it); 508 &X509_CRL_it);
500} 509}
510LCRYPTO_ALIAS(d2i_X509_CRL);
501 511
502int 512int
503i2d_X509_CRL(X509_CRL *a, unsigned char **out) 513i2d_X509_CRL(X509_CRL *a, unsigned char **out)
504{ 514{
505 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it); 515 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it);
506} 516}
517LCRYPTO_ALIAS(i2d_X509_CRL);
507 518
508X509_CRL * 519X509_CRL *
509X509_CRL_new(void) 520X509_CRL_new(void)
510{ 521{
511 return (X509_CRL *)ASN1_item_new(&X509_CRL_it); 522 return (X509_CRL *)ASN1_item_new(&X509_CRL_it);
512} 523}
524LCRYPTO_ALIAS(X509_CRL_new);
513 525
514void 526void
515X509_CRL_free(X509_CRL *a) 527X509_CRL_free(X509_CRL *a)
516{ 528{
517 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); 529 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
518} 530}
531LCRYPTO_ALIAS(X509_CRL_free);
519 532
520X509_CRL * 533X509_CRL *
521X509_CRL_dup(X509_CRL *x) 534X509_CRL_dup(X509_CRL *x)
522{ 535{
523 return ASN1_item_dup(&X509_CRL_it, x); 536 return ASN1_item_dup(&X509_CRL_it, x);
524} 537}
538LCRYPTO_ALIAS(X509_CRL_dup);
525 539
526static int 540static int
527X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b) 541X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b)
@@ -544,6 +558,7 @@ X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev)
544 inf->enc.modified = 1; 558 inf->enc.modified = 1;
545 return 1; 559 return 1;
546} 560}
561LCRYPTO_ALIAS(X509_CRL_add0_revoked);
547 562
548int 563int
549X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r) 564X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r)
@@ -552,6 +567,7 @@ X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r)
552 return crl->meth->crl_verify(crl, r); 567 return crl->meth->crl_verify(crl, r);
553 return 0; 568 return 0;
554} 569}
570LCRYPTO_ALIAS(X509_CRL_verify);
555 571
556int 572int
557X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret, 573X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret,
@@ -561,6 +577,7 @@ X509_CRL_get0_by_serial(X509_CRL *crl, X509_REVOKED **ret,
561 return crl->meth->crl_lookup(crl, ret, serial, NULL); 577 return crl->meth->crl_lookup(crl, ret, serial, NULL);
562 return 0; 578 return 0;
563} 579}
580LCRYPTO_ALIAS(X509_CRL_get0_by_serial);
564 581
565int 582int
566X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x) 583X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
@@ -570,6 +587,7 @@ X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
570 X509_get_serialNumber(x), X509_get_issuer_name(x)); 587 X509_get_serialNumber(x), X509_get_issuer_name(x));
571 return 0; 588 return 0;
572} 589}
590LCRYPTO_ALIAS(X509_CRL_get0_by_cert);
573 591
574static int 592static int
575def_crl_verify(X509_CRL *crl, EVP_PKEY *r) 593def_crl_verify(X509_CRL *crl, EVP_PKEY *r)
@@ -648,6 +666,7 @@ X509_CRL_set_default_method(const X509_CRL_METHOD *meth)
648 else 666 else
649 default_crl_method = meth; 667 default_crl_method = meth;
650} 668}
669LCRYPTO_ALIAS(X509_CRL_set_default_method);
651 670
652X509_CRL_METHOD * 671X509_CRL_METHOD *
653X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl), 672X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl),
@@ -669,6 +688,7 @@ X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl),
669 688
670 return m; 689 return m;
671} 690}
691LCRYPTO_ALIAS(X509_CRL_METHOD_new);
672 692
673void 693void
674X509_CRL_METHOD_free(X509_CRL_METHOD *m) 694X509_CRL_METHOD_free(X509_CRL_METHOD *m)
@@ -679,72 +699,84 @@ X509_CRL_METHOD_free(X509_CRL_METHOD *m)
679 return; 699 return;
680 free(m); 700 free(m);
681} 701}
702LCRYPTO_ALIAS(X509_CRL_METHOD_free);
682 703
683void 704void
684X509_CRL_set_meth_data(X509_CRL *crl, void *dat) 705X509_CRL_set_meth_data(X509_CRL *crl, void *dat)
685{ 706{
686 crl->meth_data = dat; 707 crl->meth_data = dat;
687} 708}
709LCRYPTO_ALIAS(X509_CRL_set_meth_data);
688 710
689void * 711void *
690X509_CRL_get_meth_data(X509_CRL *crl) 712X509_CRL_get_meth_data(X509_CRL *crl)
691{ 713{
692 return crl->meth_data; 714 return crl->meth_data;
693} 715}
716LCRYPTO_ALIAS(X509_CRL_get_meth_data);
694 717
695int 718int
696X509_CRL_get_signature_nid(const X509_CRL *crl) 719X509_CRL_get_signature_nid(const X509_CRL *crl)
697{ 720{
698 return OBJ_obj2nid(crl->sig_alg->algorithm); 721 return OBJ_obj2nid(crl->sig_alg->algorithm);
699} 722}
723LCRYPTO_ALIAS(X509_CRL_get_signature_nid);
700 724
701const STACK_OF(X509_EXTENSION) * 725const STACK_OF(X509_EXTENSION) *
702X509_CRL_get0_extensions(const X509_CRL *crl) 726X509_CRL_get0_extensions(const X509_CRL *crl)
703{ 727{
704 return crl->crl->extensions; 728 return crl->crl->extensions;
705} 729}
730LCRYPTO_ALIAS(X509_CRL_get0_extensions);
706 731
707long 732long
708X509_CRL_get_version(const X509_CRL *crl) 733X509_CRL_get_version(const X509_CRL *crl)
709{ 734{
710 return ASN1_INTEGER_get(crl->crl->version); 735 return ASN1_INTEGER_get(crl->crl->version);
711} 736}
737LCRYPTO_ALIAS(X509_CRL_get_version);
712 738
713const ASN1_TIME * 739const ASN1_TIME *
714X509_CRL_get0_lastUpdate(const X509_CRL *crl) 740X509_CRL_get0_lastUpdate(const X509_CRL *crl)
715{ 741{
716 return crl->crl->lastUpdate; 742 return crl->crl->lastUpdate;
717} 743}
744LCRYPTO_ALIAS(X509_CRL_get0_lastUpdate);
718 745
719ASN1_TIME * 746ASN1_TIME *
720X509_CRL_get_lastUpdate(X509_CRL *crl) 747X509_CRL_get_lastUpdate(X509_CRL *crl)
721{ 748{
722 return crl->crl->lastUpdate; 749 return crl->crl->lastUpdate;
723} 750}
751LCRYPTO_ALIAS(X509_CRL_get_lastUpdate);
724 752
725const ASN1_TIME * 753const ASN1_TIME *
726X509_CRL_get0_nextUpdate(const X509_CRL *crl) 754X509_CRL_get0_nextUpdate(const X509_CRL *crl)
727{ 755{
728 return crl->crl->nextUpdate; 756 return crl->crl->nextUpdate;
729} 757}
758LCRYPTO_ALIAS(X509_CRL_get0_nextUpdate);
730 759
731ASN1_TIME * 760ASN1_TIME *
732X509_CRL_get_nextUpdate(X509_CRL *crl) 761X509_CRL_get_nextUpdate(X509_CRL *crl)
733{ 762{
734 return crl->crl->nextUpdate; 763 return crl->crl->nextUpdate;
735} 764}
765LCRYPTO_ALIAS(X509_CRL_get_nextUpdate);
736 766
737X509_NAME * 767X509_NAME *
738X509_CRL_get_issuer(const X509_CRL *crl) 768X509_CRL_get_issuer(const X509_CRL *crl)
739{ 769{
740 return crl->crl->issuer; 770 return crl->crl->issuer;
741} 771}
772LCRYPTO_ALIAS(X509_CRL_get_issuer);
742 773
743STACK_OF(X509_REVOKED) * 774STACK_OF(X509_REVOKED) *
744X509_CRL_get_REVOKED(X509_CRL *crl) 775X509_CRL_get_REVOKED(X509_CRL *crl)
745{ 776{
746 return crl->crl->revoked; 777 return crl->crl->revoked;
747} 778}
779LCRYPTO_ALIAS(X509_CRL_get_REVOKED);
748 780
749void 781void
750X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, 782X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
@@ -755,9 +787,11 @@ X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
755 if (palg != NULL) 787 if (palg != NULL)
756 *palg = crl->sig_alg; 788 *palg = crl->sig_alg;
757} 789}
790LCRYPTO_ALIAS(X509_CRL_get0_signature);
758 791
759const X509_ALGOR * 792const X509_ALGOR *
760X509_CRL_get0_tbs_sigalg(const X509_CRL *crl) 793X509_CRL_get0_tbs_sigalg(const X509_CRL *crl)
761{ 794{
762 return crl->crl->sig_alg; 795 return crl->crl->sig_alg;
763} 796}
797LCRYPTO_ALIAS(X509_CRL_get0_tbs_sigalg);
diff --git a/src/lib/libcrypto/asn1/x_exten.c b/src/lib/libcrypto/asn1/x_exten.c
index fc54b49747..4bf81a9da2 100644
--- a/src/lib/libcrypto/asn1/x_exten.c
+++ b/src/lib/libcrypto/asn1/x_exten.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_exten.c,v 1.18 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_exten.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -116,24 +116,28 @@ d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len)
116 return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 116 return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
117 &X509_EXTENSION_it); 117 &X509_EXTENSION_it);
118} 118}
119LCRYPTO_ALIAS(d2i_X509_EXTENSION);
119 120
120int 121int
121i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out) 122i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out)
122{ 123{
123 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it); 124 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it);
124} 125}
126LCRYPTO_ALIAS(i2d_X509_EXTENSION);
125 127
126X509_EXTENSION * 128X509_EXTENSION *
127X509_EXTENSION_new(void) 129X509_EXTENSION_new(void)
128{ 130{
129 return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it); 131 return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it);
130} 132}
133LCRYPTO_ALIAS(X509_EXTENSION_new);
131 134
132void 135void
133X509_EXTENSION_free(X509_EXTENSION *a) 136X509_EXTENSION_free(X509_EXTENSION *a)
134{ 137{
135 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); 138 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
136} 139}
140LCRYPTO_ALIAS(X509_EXTENSION_free);
137 141
138X509_EXTENSIONS * 142X509_EXTENSIONS *
139d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len) 143d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
@@ -141,15 +145,18 @@ d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len)
141 return (X509_EXTENSIONS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 145 return (X509_EXTENSIONS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
142 &X509_EXTENSIONS_it); 146 &X509_EXTENSIONS_it);
143} 147}
148LCRYPTO_ALIAS(d2i_X509_EXTENSIONS);
144 149
145int 150int
146i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out) 151i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out)
147{ 152{
148 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it); 153 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSIONS_it);
149} 154}
155LCRYPTO_ALIAS(i2d_X509_EXTENSIONS);
150 156
151X509_EXTENSION * 157X509_EXTENSION *
152X509_EXTENSION_dup(X509_EXTENSION *x) 158X509_EXTENSION_dup(X509_EXTENSION *x)
153{ 159{
154 return ASN1_item_dup(&X509_EXTENSION_it, x); 160 return ASN1_item_dup(&X509_EXTENSION_it, x);
155} 161}
162LCRYPTO_ALIAS(X509_EXTENSION_dup);
diff --git a/src/lib/libcrypto/asn1/x_info.c b/src/lib/libcrypto/asn1/x_info.c
index 9285e3e289..c3fa1288cc 100644
--- a/src/lib/libcrypto/asn1/x_info.c
+++ b/src/lib/libcrypto/asn1/x_info.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_info.c,v 1.18 2020/09/03 17:29:05 tb Exp $ */ 1/* $OpenBSD: x_info.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -75,6 +75,7 @@ X509_INFO_new(void)
75 75
76 return ret; 76 return ret;
77} 77}
78LCRYPTO_ALIAS(X509_INFO_new);
78 79
79void 80void
80X509_INFO_free(X509_INFO *x) 81X509_INFO_free(X509_INFO *x)
@@ -92,3 +93,4 @@ X509_INFO_free(X509_INFO *x)
92 93
93 free(x); 94 free(x);
94} 95}
96LCRYPTO_ALIAS(X509_INFO_free);
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c
index ea3a3c8714..fa511d3993 100644
--- a/src/lib/libcrypto/asn1/x_name.c
+++ b/src/lib/libcrypto/asn1/x_name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_name.c,v 1.38 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_name.c,v 1.39 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -117,30 +117,35 @@ d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len)
117 return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 117 return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
118 &X509_NAME_ENTRY_it); 118 &X509_NAME_ENTRY_it);
119} 119}
120LCRYPTO_ALIAS(d2i_X509_NAME_ENTRY);
120 121
121int 122int
122i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out) 123i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out)
123{ 124{
124 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it); 125 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it);
125} 126}
127LCRYPTO_ALIAS(i2d_X509_NAME_ENTRY);
126 128
127X509_NAME_ENTRY * 129X509_NAME_ENTRY *
128X509_NAME_ENTRY_new(void) 130X509_NAME_ENTRY_new(void)
129{ 131{
130 return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it); 132 return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it);
131} 133}
134LCRYPTO_ALIAS(X509_NAME_ENTRY_new);
132 135
133void 136void
134X509_NAME_ENTRY_free(X509_NAME_ENTRY *a) 137X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
135{ 138{
136 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); 139 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
137} 140}
141LCRYPTO_ALIAS(X509_NAME_ENTRY_free);
138 142
139X509_NAME_ENTRY * 143X509_NAME_ENTRY *
140X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x) 144X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
141{ 145{
142 return ASN1_item_dup(&X509_NAME_ENTRY_it, x); 146 return ASN1_item_dup(&X509_NAME_ENTRY_it, x);
143} 147}
148LCRYPTO_ALIAS(X509_NAME_ENTRY_dup);
144 149
145/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } 150/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
146 * so declare two template wrappers for this 151 * so declare two template wrappers for this
@@ -214,30 +219,35 @@ d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len)
214 return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 219 return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
215 &X509_NAME_it); 220 &X509_NAME_it);
216} 221}
222LCRYPTO_ALIAS(d2i_X509_NAME);
217 223
218int 224int
219i2d_X509_NAME(X509_NAME *a, unsigned char **out) 225i2d_X509_NAME(X509_NAME *a, unsigned char **out)
220{ 226{
221 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it); 227 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it);
222} 228}
229LCRYPTO_ALIAS(i2d_X509_NAME);
223 230
224X509_NAME * 231X509_NAME *
225X509_NAME_new(void) 232X509_NAME_new(void)
226{ 233{
227 return (X509_NAME *)ASN1_item_new(&X509_NAME_it); 234 return (X509_NAME *)ASN1_item_new(&X509_NAME_it);
228} 235}
236LCRYPTO_ALIAS(X509_NAME_new);
229 237
230void 238void
231X509_NAME_free(X509_NAME *a) 239X509_NAME_free(X509_NAME *a)
232{ 240{
233 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); 241 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
234} 242}
243LCRYPTO_ALIAS(X509_NAME_free);
235 244
236X509_NAME * 245X509_NAME *
237X509_NAME_dup(X509_NAME *x) 246X509_NAME_dup(X509_NAME *x)
238{ 247{
239 return ASN1_item_dup(&X509_NAME_it, x); 248 return ASN1_item_dup(&X509_NAME_it, x);
240} 249}
250LCRYPTO_ALIAS(X509_NAME_dup);
241 251
242static int 252static int
243x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it) 253x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
@@ -635,6 +645,7 @@ X509_NAME_set(X509_NAME **xn, X509_NAME *name)
635 *xn = name; 645 *xn = name;
636 return 1; 646 return 1;
637} 647}
648LCRYPTO_ALIAS(X509_NAME_set);
638 649
639int 650int
640X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen) 651X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
@@ -648,3 +659,4 @@ X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen)
648 *pderlen = nm->bytes->length; 659 *pderlen = nm->bytes->length;
649 return 1; 660 return 1;
650} 661}
662LCRYPTO_ALIAS(X509_NAME_get0_der);
diff --git a/src/lib/libcrypto/asn1/x_pkey.c b/src/lib/libcrypto/asn1/x_pkey.c
index fdf0e002f1..a71d1fdd7e 100644
--- a/src/lib/libcrypto/asn1/x_pkey.c
+++ b/src/lib/libcrypto/asn1/x_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pkey.c,v 1.21 2021/12/25 13:17:48 jsing Exp $ */ 1/* $OpenBSD: x_pkey.c,v 1.22 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -98,6 +98,7 @@ X509_PKEY_new(void)
98 } 98 }
99 return NULL; 99 return NULL;
100} 100}
101LCRYPTO_ALIAS(X509_PKEY_new);
101 102
102void 103void
103X509_PKEY_free(X509_PKEY *x) 104X509_PKEY_free(X509_PKEY *x)
@@ -119,3 +120,4 @@ X509_PKEY_free(X509_PKEY *x)
119 free(x->key_data); 120 free(x->key_data);
120 free(x); 121 free(x);
121} 122}
123LCRYPTO_ALIAS(X509_PKEY_free);
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c
index 4c255d634e..29211b3190 100644
--- a/src/lib/libcrypto/asn1/x_pubkey.c
+++ b/src/lib/libcrypto/asn1/x_pubkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pubkey.c,v 1.33 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_pubkey.c,v 1.34 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -118,24 +118,28 @@ d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len)
118 return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 118 return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
119 &X509_PUBKEY_it); 119 &X509_PUBKEY_it);
120} 120}
121LCRYPTO_ALIAS(d2i_X509_PUBKEY);
121 122
122int 123int
123i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) 124i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out)
124{ 125{
125 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); 126 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it);
126} 127}
128LCRYPTO_ALIAS(i2d_X509_PUBKEY);
127 129
128X509_PUBKEY * 130X509_PUBKEY *
129X509_PUBKEY_new(void) 131X509_PUBKEY_new(void)
130{ 132{
131 return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); 133 return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it);
132} 134}
135LCRYPTO_ALIAS(X509_PUBKEY_new);
133 136
134void 137void
135X509_PUBKEY_free(X509_PUBKEY *a) 138X509_PUBKEY_free(X509_PUBKEY *a)
136{ 139{
137 ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); 140 ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it);
138} 141}
142LCRYPTO_ALIAS(X509_PUBKEY_free);
139 143
140int 144int
141X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) 145X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
@@ -174,6 +178,7 @@ X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
174 X509_PUBKEY_free(pk); 178 X509_PUBKEY_free(pk);
175 return 0; 179 return 0;
176} 180}
181LCRYPTO_ALIAS(X509_PUBKEY_set);
177 182
178EVP_PKEY * 183EVP_PKEY *
179X509_PUBKEY_get0(X509_PUBKEY *key) 184X509_PUBKEY_get0(X509_PUBKEY *key)
@@ -226,6 +231,7 @@ X509_PUBKEY_get0(X509_PUBKEY *key)
226 EVP_PKEY_free(ret); 231 EVP_PKEY_free(ret);
227 return (NULL); 232 return (NULL);
228} 233}
234LCRYPTO_ALIAS(X509_PUBKEY_get0);
229 235
230EVP_PKEY * 236EVP_PKEY *
231X509_PUBKEY_get(X509_PUBKEY *key) 237X509_PUBKEY_get(X509_PUBKEY *key)
@@ -239,6 +245,7 @@ X509_PUBKEY_get(X509_PUBKEY *key)
239 245
240 return pkey; 246 return pkey;
241} 247}
248LCRYPTO_ALIAS(X509_PUBKEY_get);
242 249
243/* 250/*
244 * Decode an X509_PUBKEY into the specified key type. 251 * Decode an X509_PUBKEY into the specified key type.
@@ -403,12 +410,14 @@ d2i_PUBKEY(EVP_PKEY **pkey, const unsigned char **in, long len)
403 return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len, 410 return (EVP_PKEY *)ASN1_item_d2i((ASN1_VALUE **)pkey, in, len,
404 &EVP_PKEY_PUBKEY_it); 411 &EVP_PKEY_PUBKEY_it);
405} 412}
413LCRYPTO_ALIAS(d2i_PUBKEY);
406 414
407int 415int
408i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out) 416i2d_PUBKEY(EVP_PKEY *pkey, unsigned char **out)
409{ 417{
410 return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it); 418 return ASN1_item_i2d((ASN1_VALUE *)pkey, out, &EVP_PKEY_PUBKEY_it);
411} 419}
420LCRYPTO_ALIAS(i2d_PUBKEY);
412 421
413EVP_PKEY * 422EVP_PKEY *
414d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey) 423d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
@@ -416,12 +425,14 @@ d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **pkey)
416 return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp, 425 return (EVP_PKEY *)ASN1_item_d2i_bio(&EVP_PKEY_PUBKEY_it, bp,
417 (ASN1_VALUE **)pkey); 426 (ASN1_VALUE **)pkey);
418} 427}
428LCRYPTO_ALIAS(d2i_PUBKEY_bio);
419 429
420int 430int
421i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) 431i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
422{ 432{
423 return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey); 433 return ASN1_item_i2d_bio(&EVP_PKEY_PUBKEY_it, bp, (ASN1_VALUE *)pkey);
424} 434}
435LCRYPTO_ALIAS(i2d_PUBKEY_bio);
425 436
426EVP_PKEY * 437EVP_PKEY *
427d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey) 438d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
@@ -429,12 +440,14 @@ d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **pkey)
429 return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp, 440 return (EVP_PKEY *)ASN1_item_d2i_fp(&EVP_PKEY_PUBKEY_it, fp,
430 (ASN1_VALUE **)pkey); 441 (ASN1_VALUE **)pkey);
431} 442}
443LCRYPTO_ALIAS(d2i_PUBKEY_fp);
432 444
433int 445int
434i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) 446i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
435{ 447{
436 return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey); 448 return ASN1_item_i2d_fp(&EVP_PKEY_PUBKEY_it, fp, (ASN1_VALUE *)pkey);
437} 449}
450LCRYPTO_ALIAS(i2d_PUBKEY_fp);
438 451
439/* 452/*
440 * The following are equivalents but which return RSA and DSA keys. 453 * The following are equivalents but which return RSA and DSA keys.
@@ -497,36 +510,42 @@ d2i_RSA_PUBKEY(RSA **rsa, const unsigned char **in, long len)
497 return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len, 510 return (RSA *)ASN1_item_d2i((ASN1_VALUE **)rsa, in, len,
498 &RSA_PUBKEY_it); 511 &RSA_PUBKEY_it);
499} 512}
513LCRYPTO_ALIAS(d2i_RSA_PUBKEY);
500 514
501int 515int
502i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out) 516i2d_RSA_PUBKEY(RSA *rsa, unsigned char **out)
503{ 517{
504 return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it); 518 return ASN1_item_i2d((ASN1_VALUE *)rsa, out, &RSA_PUBKEY_it);
505} 519}
520LCRYPTO_ALIAS(i2d_RSA_PUBKEY);
506 521
507RSA * 522RSA *
508d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) 523d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
509{ 524{
510 return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa); 525 return (RSA *)ASN1_item_d2i_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE **)rsa);
511} 526}
527LCRYPTO_ALIAS(d2i_RSA_PUBKEY_bio);
512 528
513int 529int
514i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) 530i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
515{ 531{
516 return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa); 532 return ASN1_item_i2d_bio(&RSA_PUBKEY_it, bp, (ASN1_VALUE *)rsa);
517} 533}
534LCRYPTO_ALIAS(i2d_RSA_PUBKEY_bio);
518 535
519RSA * 536RSA *
520d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) 537d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
521{ 538{
522 return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa); 539 return (RSA *)ASN1_item_d2i_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE **)rsa);
523} 540}
541LCRYPTO_ALIAS(d2i_RSA_PUBKEY_fp);
524 542
525int 543int
526i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) 544i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
527{ 545{
528 return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa); 546 return ASN1_item_i2d_fp(&RSA_PUBKEY_it, fp, (ASN1_VALUE *)rsa);
529} 547}
548LCRYPTO_ALIAS(i2d_RSA_PUBKEY_fp);
530#endif 549#endif
531 550
532#ifndef OPENSSL_NO_DSA 551#ifndef OPENSSL_NO_DSA
@@ -587,36 +606,42 @@ d2i_DSA_PUBKEY(DSA **dsa, const unsigned char **in, long len)
587 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len, 606 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)dsa, in, len,
588 &DSA_PUBKEY_it); 607 &DSA_PUBKEY_it);
589} 608}
609LCRYPTO_ALIAS(d2i_DSA_PUBKEY);
590 610
591int 611int
592i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out) 612i2d_DSA_PUBKEY(DSA *dsa, unsigned char **out)
593{ 613{
594 return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it); 614 return ASN1_item_i2d((ASN1_VALUE *)dsa, out, &DSA_PUBKEY_it);
595} 615}
616LCRYPTO_ALIAS(i2d_DSA_PUBKEY);
596 617
597DSA * 618DSA *
598d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) 619d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
599{ 620{
600 return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa); 621 return (DSA *)ASN1_item_d2i_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE **)dsa);
601} 622}
623LCRYPTO_ALIAS(d2i_DSA_PUBKEY_bio);
602 624
603int 625int
604i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) 626i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
605{ 627{
606 return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa); 628 return ASN1_item_i2d_bio(&DSA_PUBKEY_it, bp, (ASN1_VALUE *)dsa);
607} 629}
630LCRYPTO_ALIAS(i2d_DSA_PUBKEY_bio);
608 631
609DSA * 632DSA *
610d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) 633d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
611{ 634{
612 return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa); 635 return (DSA *)ASN1_item_d2i_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE **)dsa);
613} 636}
637LCRYPTO_ALIAS(d2i_DSA_PUBKEY_fp);
614 638
615int 639int
616i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) 640i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
617{ 641{
618 return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa); 642 return ASN1_item_i2d_fp(&DSA_PUBKEY_it, fp, (ASN1_VALUE *)dsa);
619} 643}
644LCRYPTO_ALIAS(i2d_DSA_PUBKEY_fp);
620 645
621#endif 646#endif
622 647
@@ -678,36 +703,42 @@ d2i_EC_PUBKEY(EC_KEY **ec, const unsigned char **in, long len)
678 return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len, 703 return (EC_KEY *)ASN1_item_d2i((ASN1_VALUE **)ec, in, len,
679 &EC_PUBKEY_it); 704 &EC_PUBKEY_it);
680} 705}
706LCRYPTO_ALIAS(d2i_EC_PUBKEY);
681 707
682int 708int
683i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out) 709i2d_EC_PUBKEY(EC_KEY *ec, unsigned char **out)
684{ 710{
685 return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it); 711 return ASN1_item_i2d((ASN1_VALUE *)ec, out, &EC_PUBKEY_it);
686} 712}
713LCRYPTO_ALIAS(i2d_EC_PUBKEY);
687 714
688EC_KEY * 715EC_KEY *
689d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec) 716d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **ec)
690{ 717{
691 return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec); 718 return (EC_KEY *)ASN1_item_d2i_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE **)ec);
692} 719}
720LCRYPTO_ALIAS(d2i_EC_PUBKEY_bio);
693 721
694int 722int
695i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec) 723i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ec)
696{ 724{
697 return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec); 725 return ASN1_item_i2d_bio(&EC_PUBKEY_it, bp, (ASN1_VALUE *)ec);
698} 726}
727LCRYPTO_ALIAS(i2d_EC_PUBKEY_bio);
699 728
700EC_KEY * 729EC_KEY *
701d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec) 730d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **ec)
702{ 731{
703 return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec); 732 return (EC_KEY *)ASN1_item_d2i_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE **)ec);
704} 733}
734LCRYPTO_ALIAS(d2i_EC_PUBKEY_fp);
705 735
706int 736int
707i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec) 737i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *ec)
708{ 738{
709 return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec); 739 return ASN1_item_i2d_fp(&EC_PUBKEY_it, fp, (ASN1_VALUE *)ec);
710} 740}
741LCRYPTO_ALIAS(i2d_EC_PUBKEY_fp);
711#endif 742#endif
712 743
713int 744int
@@ -724,6 +755,7 @@ X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype,
724 755
725 return asn1_abs_set_unused_bits(pub->public_key, 0); 756 return asn1_abs_set_unused_bits(pub->public_key, 0);
726} 757}
758LCRYPTO_ALIAS(X509_PUBKEY_set0_param);
727 759
728int 760int
729X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk, 761X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
@@ -739,3 +771,4 @@ X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk,
739 *pa = pub->algor; 771 *pa = pub->algor;
740 return 1; 772 return 1;
741} 773}
774LCRYPTO_ALIAS(X509_PUBKEY_get0_param);
diff --git a/src/lib/libcrypto/asn1/x_req.c b/src/lib/libcrypto/asn1/x_req.c
index 42b917333a..9323f65071 100644
--- a/src/lib/libcrypto/asn1/x_req.c
+++ b/src/lib/libcrypto/asn1/x_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_req.c,v 1.19 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_req.c,v 1.20 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -143,24 +143,28 @@ d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len)
143 return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 143 return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
144 &X509_REQ_INFO_it); 144 &X509_REQ_INFO_it);
145} 145}
146LCRYPTO_ALIAS(d2i_X509_REQ_INFO);
146 147
147int 148int
148i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out) 149i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out)
149{ 150{
150 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it); 151 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it);
151} 152}
153LCRYPTO_ALIAS(i2d_X509_REQ_INFO);
152 154
153X509_REQ_INFO * 155X509_REQ_INFO *
154X509_REQ_INFO_new(void) 156X509_REQ_INFO_new(void)
155{ 157{
156 return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it); 158 return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it);
157} 159}
160LCRYPTO_ALIAS(X509_REQ_INFO_new);
158 161
159void 162void
160X509_REQ_INFO_free(X509_REQ_INFO *a) 163X509_REQ_INFO_free(X509_REQ_INFO *a)
161{ 164{
162 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it); 165 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it);
163} 166}
167LCRYPTO_ALIAS(X509_REQ_INFO_free);
164 168
165static const ASN1_AUX X509_REQ_aux = { 169static const ASN1_AUX X509_REQ_aux = {
166 .app_data = NULL, 170 .app_data = NULL,
@@ -203,36 +207,42 @@ d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len)
203 return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 207 return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
204 &X509_REQ_it); 208 &X509_REQ_it);
205} 209}
210LCRYPTO_ALIAS(d2i_X509_REQ);
206 211
207int 212int
208i2d_X509_REQ(X509_REQ *a, unsigned char **out) 213i2d_X509_REQ(X509_REQ *a, unsigned char **out)
209{ 214{
210 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it); 215 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it);
211} 216}
217LCRYPTO_ALIAS(i2d_X509_REQ);
212 218
213X509_REQ * 219X509_REQ *
214X509_REQ_new(void) 220X509_REQ_new(void)
215{ 221{
216 return (X509_REQ *)ASN1_item_new(&X509_REQ_it); 222 return (X509_REQ *)ASN1_item_new(&X509_REQ_it);
217} 223}
224LCRYPTO_ALIAS(X509_REQ_new);
218 225
219void 226void
220X509_REQ_free(X509_REQ *a) 227X509_REQ_free(X509_REQ *a)
221{ 228{
222 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); 229 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
223} 230}
231LCRYPTO_ALIAS(X509_REQ_free);
224 232
225X509_REQ * 233X509_REQ *
226X509_REQ_dup(X509_REQ *x) 234X509_REQ_dup(X509_REQ *x)
227{ 235{
228 return ASN1_item_dup(&X509_REQ_it, x); 236 return ASN1_item_dup(&X509_REQ_it, x);
229} 237}
238LCRYPTO_ALIAS(X509_REQ_dup);
230 239
231int 240int
232X509_REQ_get_signature_nid(const X509_REQ *req) 241X509_REQ_get_signature_nid(const X509_REQ *req)
233{ 242{
234 return OBJ_obj2nid(req->sig_alg->algorithm); 243 return OBJ_obj2nid(req->sig_alg->algorithm);
235} 244}
245LCRYPTO_ALIAS(X509_REQ_get_signature_nid);
236 246
237void 247void
238X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, 248X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
@@ -243,3 +253,4 @@ X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
243 if (palg != NULL) 253 if (palg != NULL)
244 *palg = req->sig_alg; 254 *palg = req->sig_alg;
245} 255}
256LCRYPTO_ALIAS(X509_REQ_get0_signature);
diff --git a/src/lib/libcrypto/asn1/x_sig.c b/src/lib/libcrypto/asn1/x_sig.c
index 9406a2d65b..9e1ed75d01 100644
--- a/src/lib/libcrypto/asn1/x_sig.c
+++ b/src/lib/libcrypto/asn1/x_sig.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_sig.c,v 1.14 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_sig.c,v 1.15 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -92,24 +92,28 @@ d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len)
92 return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 92 return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
93 &X509_SIG_it); 93 &X509_SIG_it);
94} 94}
95LCRYPTO_ALIAS(d2i_X509_SIG);
95 96
96int 97int
97i2d_X509_SIG(X509_SIG *a, unsigned char **out) 98i2d_X509_SIG(X509_SIG *a, unsigned char **out)
98{ 99{
99 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it); 100 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it);
100} 101}
102LCRYPTO_ALIAS(i2d_X509_SIG);
101 103
102X509_SIG * 104X509_SIG *
103X509_SIG_new(void) 105X509_SIG_new(void)
104{ 106{
105 return (X509_SIG *)ASN1_item_new(&X509_SIG_it); 107 return (X509_SIG *)ASN1_item_new(&X509_SIG_it);
106} 108}
109LCRYPTO_ALIAS(X509_SIG_new);
107 110
108void 111void
109X509_SIG_free(X509_SIG *a) 112X509_SIG_free(X509_SIG *a)
110{ 113{
111 ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it); 114 ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it);
112} 115}
116LCRYPTO_ALIAS(X509_SIG_free);
113 117
114void 118void
115X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, 119X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
@@ -120,6 +124,7 @@ X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
120 if (pdigest != NULL) 124 if (pdigest != NULL)
121 *pdigest = sig->digest; 125 *pdigest = sig->digest;
122} 126}
127LCRYPTO_ALIAS(X509_SIG_get0);
123 128
124void 129void
125X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest) 130X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
@@ -129,3 +134,4 @@ X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
129 if (pdigest != NULL) 134 if (pdigest != NULL)
130 *pdigest = sig->digest; 135 *pdigest = sig->digest;
131} 136}
137LCRYPTO_ALIAS(X509_SIG_getm);
diff --git a/src/lib/libcrypto/asn1/x_spki.c b/src/lib/libcrypto/asn1/x_spki.c
index 2aa860feb9..534fc7ac5c 100644
--- a/src/lib/libcrypto/asn1/x_spki.c
+++ b/src/lib/libcrypto/asn1/x_spki.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_spki.c,v 1.11 2015/02/11 04:00:39 jsing Exp $ */ 1/* $OpenBSD: x_spki.c,v 1.12 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -94,24 +94,28 @@ d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len)
94 return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 94 return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
95 &NETSCAPE_SPKAC_it); 95 &NETSCAPE_SPKAC_it);
96} 96}
97LCRYPTO_ALIAS(d2i_NETSCAPE_SPKAC);
97 98
98int 99int
99i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out) 100i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out)
100{ 101{
101 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it); 102 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it);
102} 103}
104LCRYPTO_ALIAS(i2d_NETSCAPE_SPKAC);
103 105
104NETSCAPE_SPKAC * 106NETSCAPE_SPKAC *
105NETSCAPE_SPKAC_new(void) 107NETSCAPE_SPKAC_new(void)
106{ 108{
107 return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it); 109 return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it);
108} 110}
111LCRYPTO_ALIAS(NETSCAPE_SPKAC_new);
109 112
110void 113void
111NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a) 114NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a)
112{ 115{
113 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); 116 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it);
114} 117}
118LCRYPTO_ALIAS(NETSCAPE_SPKAC_free);
115 119
116static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = { 120static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = {
117 { 121 {
@@ -154,21 +158,25 @@ d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len)
154 return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 158 return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
155 &NETSCAPE_SPKI_it); 159 &NETSCAPE_SPKI_it);
156} 160}
161LCRYPTO_ALIAS(d2i_NETSCAPE_SPKI);
157 162
158int 163int
159i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out) 164i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out)
160{ 165{
161 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it); 166 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it);
162} 167}
168LCRYPTO_ALIAS(i2d_NETSCAPE_SPKI);
163 169
164NETSCAPE_SPKI * 170NETSCAPE_SPKI *
165NETSCAPE_SPKI_new(void) 171NETSCAPE_SPKI_new(void)
166{ 172{
167 return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it); 173 return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it);
168} 174}
175LCRYPTO_ALIAS(NETSCAPE_SPKI_new);
169 176
170void 177void
171NETSCAPE_SPKI_free(NETSCAPE_SPKI *a) 178NETSCAPE_SPKI_free(NETSCAPE_SPKI *a)
172{ 179{
173 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it); 180 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it);
174} 181}
182LCRYPTO_ALIAS(NETSCAPE_SPKI_free);
diff --git a/src/lib/libcrypto/asn1/x_val.c b/src/lib/libcrypto/asn1/x_val.c
index eb2ba783bb..83c4823e26 100644
--- a/src/lib/libcrypto/asn1/x_val.c
+++ b/src/lib/libcrypto/asn1/x_val.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_val.c,v 1.11 2015/02/11 04:00:39 jsing Exp $ */ 1/* $OpenBSD: x_val.c,v 1.12 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -90,21 +90,25 @@ d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len)
90 return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 90 return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
91 &X509_VAL_it); 91 &X509_VAL_it);
92} 92}
93LCRYPTO_ALIAS(d2i_X509_VAL);
93 94
94int 95int
95i2d_X509_VAL(X509_VAL *a, unsigned char **out) 96i2d_X509_VAL(X509_VAL *a, unsigned char **out)
96{ 97{
97 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it); 98 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it);
98} 99}
100LCRYPTO_ALIAS(i2d_X509_VAL);
99 101
100X509_VAL * 102X509_VAL *
101X509_VAL_new(void) 103X509_VAL_new(void)
102{ 104{
103 return (X509_VAL *)ASN1_item_new(&X509_VAL_it); 105 return (X509_VAL *)ASN1_item_new(&X509_VAL_it);
104} 106}
107LCRYPTO_ALIAS(X509_VAL_new);
105 108
106void 109void
107X509_VAL_free(X509_VAL *a) 110X509_VAL_free(X509_VAL *a)
108{ 111{
109 ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it); 112 ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it);
110} 113}
114LCRYPTO_ALIAS(X509_VAL_free);
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c
index 0c10bec4c8..5aa7147548 100644
--- a/src/lib/libcrypto/asn1/x_x509.c
+++ b/src/lib/libcrypto/asn1/x_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509.c,v 1.35 2023/04/28 16:30:14 tb Exp $ */ 1/* $OpenBSD: x_x509.c,v 1.36 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -149,24 +149,28 @@ d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len)
149 return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 149 return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
150 &X509_CINF_it); 150 &X509_CINF_it);
151} 151}
152LCRYPTO_ALIAS(d2i_X509_CINF);
152 153
153int 154int
154i2d_X509_CINF(X509_CINF *a, unsigned char **out) 155i2d_X509_CINF(X509_CINF *a, unsigned char **out)
155{ 156{
156 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it); 157 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it);
157} 158}
159LCRYPTO_ALIAS(i2d_X509_CINF);
158 160
159X509_CINF * 161X509_CINF *
160X509_CINF_new(void) 162X509_CINF_new(void)
161{ 163{
162 return (X509_CINF *)ASN1_item_new(&X509_CINF_it); 164 return (X509_CINF *)ASN1_item_new(&X509_CINF_it);
163} 165}
166LCRYPTO_ALIAS(X509_CINF_new);
164 167
165void 168void
166X509_CINF_free(X509_CINF *a) 169X509_CINF_free(X509_CINF *a)
167{ 170{
168 ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it); 171 ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it);
169} 172}
173LCRYPTO_ALIAS(X509_CINF_free);
170/* X509 top level structure needs a bit of customisation */ 174/* X509 top level structure needs a bit of customisation */
171 175
172static int 176static int
@@ -259,30 +263,35 @@ d2i_X509(X509 **a, const unsigned char **in, long len)
259 return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 263 return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
260 &X509_it); 264 &X509_it);
261} 265}
266LCRYPTO_ALIAS(d2i_X509);
262 267
263int 268int
264i2d_X509(X509 *a, unsigned char **out) 269i2d_X509(X509 *a, unsigned char **out)
265{ 270{
266 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it); 271 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it);
267} 272}
273LCRYPTO_ALIAS(i2d_X509);
268 274
269X509 * 275X509 *
270X509_new(void) 276X509_new(void)
271{ 277{
272 return (X509 *)ASN1_item_new(&X509_it); 278 return (X509 *)ASN1_item_new(&X509_it);
273} 279}
280LCRYPTO_ALIAS(X509_new);
274 281
275void 282void
276X509_free(X509 *a) 283X509_free(X509 *a)
277{ 284{
278 ASN1_item_free((ASN1_VALUE *)a, &X509_it); 285 ASN1_item_free((ASN1_VALUE *)a, &X509_it);
279} 286}
287LCRYPTO_ALIAS(X509_free);
280 288
281X509 * 289X509 *
282X509_dup(X509 *x) 290X509_dup(X509 *x)
283{ 291{
284 return ASN1_item_dup(&X509_it, x); 292 return ASN1_item_dup(&X509_it, x);
285} 293}
294LCRYPTO_ALIAS(X509_dup);
286 295
287int 296int
288X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 297X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
@@ -291,18 +300,21 @@ X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
291 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, argl, argp, 300 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, argl, argp,
292 new_func, dup_func, free_func); 301 new_func, dup_func, free_func);
293} 302}
303LCRYPTO_ALIAS(X509_get_ex_new_index);
294 304
295int 305int
296X509_set_ex_data(X509 *r, int idx, void *arg) 306X509_set_ex_data(X509 *r, int idx, void *arg)
297{ 307{
298 return (CRYPTO_set_ex_data(&r->ex_data, idx, arg)); 308 return (CRYPTO_set_ex_data(&r->ex_data, idx, arg));
299} 309}
310LCRYPTO_ALIAS(X509_set_ex_data);
300 311
301void * 312void *
302X509_get_ex_data(X509 *r, int idx) 313X509_get_ex_data(X509 *r, int idx)
303{ 314{
304 return (CRYPTO_get_ex_data(&r->ex_data, idx)); 315 return (CRYPTO_get_ex_data(&r->ex_data, idx));
305} 316}
317LCRYPTO_ALIAS(X509_get_ex_data);
306 318
307/* X509_AUX ASN1 routines. X509_AUX is the name given to 319/* X509_AUX ASN1 routines. X509_AUX is the name given to
308 * a certificate with extra info tagged on the end. Since these 320 * a certificate with extra info tagged on the end. Since these
@@ -340,6 +352,7 @@ d2i_X509_AUX(X509 **a, const unsigned char **pp, long length)
340 X509_free(ret); 352 X509_free(ret);
341 return NULL; 353 return NULL;
342} 354}
355LCRYPTO_ALIAS(d2i_X509_AUX);
343 356
344int 357int
345i2d_X509_AUX(X509 *a, unsigned char **pp) 358i2d_X509_AUX(X509 *a, unsigned char **pp)
@@ -351,6 +364,7 @@ i2d_X509_AUX(X509 *a, unsigned char **pp)
351 length += i2d_X509_CERT_AUX(a->aux, pp); 364 length += i2d_X509_CERT_AUX(a->aux, pp);
352 return length; 365 return length;
353} 366}
367LCRYPTO_ALIAS(i2d_X509_AUX);
354 368
355int 369int
356i2d_re_X509_tbs(X509 *x, unsigned char **pp) 370i2d_re_X509_tbs(X509 *x, unsigned char **pp)
@@ -358,6 +372,7 @@ i2d_re_X509_tbs(X509 *x, unsigned char **pp)
358 x->cert_info->enc.modified = 1; 372 x->cert_info->enc.modified = 1;
359 return i2d_X509_CINF(x->cert_info, pp); 373 return i2d_X509_CINF(x->cert_info, pp);
360} 374}
375LCRYPTO_ALIAS(i2d_re_X509_tbs);
361 376
362void 377void
363X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, 378X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
@@ -368,9 +383,11 @@ X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
368 if (palg != NULL) 383 if (palg != NULL)
369 *palg = x->sig_alg; 384 *palg = x->sig_alg;
370} 385}
386LCRYPTO_ALIAS(X509_get0_signature);
371 387
372int 388int
373X509_get_signature_nid(const X509 *x) 389X509_get_signature_nid(const X509 *x)
374{ 390{
375 return OBJ_obj2nid(x->sig_alg->algorithm); 391 return OBJ_obj2nid(x->sig_alg->algorithm);
376} 392}
393LCRYPTO_ALIAS(X509_get_signature_nid);
diff --git a/src/lib/libcrypto/asn1/x_x509a.c b/src/lib/libcrypto/asn1/x_x509a.c
index a5e1f71e1a..36c7599bc6 100644
--- a/src/lib/libcrypto/asn1/x_x509a.c
+++ b/src/lib/libcrypto/asn1/x_x509a.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509a.c,v 1.19 2022/11/26 16:08:50 tb Exp $ */ 1/* $OpenBSD: x_x509a.c,v 1.20 2023/07/05 21:23:37 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -126,24 +126,28 @@ d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len)
126 return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 126 return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
127 &X509_CERT_AUX_it); 127 &X509_CERT_AUX_it);
128} 128}
129LCRYPTO_ALIAS(d2i_X509_CERT_AUX);
129 130
130int 131int
131i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out) 132i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out)
132{ 133{
133 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it); 134 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it);
134} 135}
136LCRYPTO_ALIAS(i2d_X509_CERT_AUX);
135 137
136X509_CERT_AUX * 138X509_CERT_AUX *
137X509_CERT_AUX_new(void) 139X509_CERT_AUX_new(void)
138{ 140{
139 return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it); 141 return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it);
140} 142}
143LCRYPTO_ALIAS(X509_CERT_AUX_new);
141 144
142void 145void
143X509_CERT_AUX_free(X509_CERT_AUX *a) 146X509_CERT_AUX_free(X509_CERT_AUX *a)
144{ 147{
145 ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it); 148 ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it);
146} 149}
150LCRYPTO_ALIAS(X509_CERT_AUX_free);
147 151
148static X509_CERT_AUX * 152static X509_CERT_AUX *
149aux_get(X509 *x) 153aux_get(X509 *x)
@@ -172,6 +176,7 @@ X509_alias_set1(X509 *x, const unsigned char *name, int len)
172 return 0; 176 return 0;
173 return ASN1_STRING_set(aux->alias, name, len); 177 return ASN1_STRING_set(aux->alias, name, len);
174} 178}
179LCRYPTO_ALIAS(X509_alias_set1);
175 180
176int 181int
177X509_keyid_set1(X509 *x, const unsigned char *id, int len) 182X509_keyid_set1(X509 *x, const unsigned char *id, int len)
@@ -190,6 +195,7 @@ X509_keyid_set1(X509 *x, const unsigned char *id, int len)
190 return 0; 195 return 0;
191 return ASN1_STRING_set(aux->keyid, id, len); 196 return ASN1_STRING_set(aux->keyid, id, len);
192} 197}
198LCRYPTO_ALIAS(X509_keyid_set1);
193 199
194unsigned char * 200unsigned char *
195X509_alias_get0(X509 *x, int *len) 201X509_alias_get0(X509 *x, int *len)
@@ -200,6 +206,7 @@ X509_alias_get0(X509 *x, int *len)
200 *len = x->aux->alias->length; 206 *len = x->aux->alias->length;
201 return x->aux->alias->data; 207 return x->aux->alias->data;
202} 208}
209LCRYPTO_ALIAS(X509_alias_get0);
203 210
204unsigned char * 211unsigned char *
205X509_keyid_get0(X509 *x, int *len) 212X509_keyid_get0(X509 *x, int *len)
@@ -210,6 +217,7 @@ X509_keyid_get0(X509 *x, int *len)
210 *len = x->aux->keyid->length; 217 *len = x->aux->keyid->length;
211 return x->aux->keyid->data; 218 return x->aux->keyid->data;
212} 219}
220LCRYPTO_ALIAS(X509_keyid_get0);
213 221
214int 222int
215X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj) 223X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
@@ -232,6 +240,7 @@ X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
232 ASN1_OBJECT_free(objtmp); 240 ASN1_OBJECT_free(objtmp);
233 return 0; 241 return 0;
234} 242}
243LCRYPTO_ALIAS(X509_add1_trust_object);
235 244
236int 245int
237X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj) 246X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
@@ -254,6 +263,7 @@ X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
254 ASN1_OBJECT_free(objtmp); 263 ASN1_OBJECT_free(objtmp);
255 return 0; 264 return 0;
256} 265}
266LCRYPTO_ALIAS(X509_add1_reject_object);
257 267
258void 268void
259X509_trust_clear(X509 *x) 269X509_trust_clear(X509 *x)
@@ -263,6 +273,7 @@ X509_trust_clear(X509 *x)
263 x->aux->trust = NULL; 273 x->aux->trust = NULL;
264 } 274 }
265} 275}
276LCRYPTO_ALIAS(X509_trust_clear);
266 277
267void 278void
268X509_reject_clear(X509 *x) 279X509_reject_clear(X509 *x)
@@ -272,3 +283,4 @@ X509_reject_clear(X509 *x)
272 x->aux->reject = NULL; 283 x->aux->reject = NULL;
273 } 284 }
274} 285}
286LCRYPTO_ALIAS(X509_reject_clear);
diff --git a/src/lib/libcrypto/bio/b_dump.c b/src/lib/libcrypto/bio/b_dump.c
index 61a83fc44b..70bb9882f3 100644
--- a/src/lib/libcrypto/bio/b_dump.c
+++ b/src/lib/libcrypto/bio/b_dump.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: b_dump.c,v 1.23 2022/10/17 18:26:41 jsing Exp $ */ 1/* $OpenBSD: b_dump.c,v 1.24 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -75,6 +75,7 @@ BIO_dump_cb(int (*cb)(const void *data, size_t len, void *u),
75{ 75{
76 return BIO_dump_indent_cb(cb, u, s, len, 0); 76 return BIO_dump_indent_cb(cb, u, s, len, 0);
77} 77}
78LCRYPTO_ALIAS(BIO_dump_cb);
78 79
79int 80int
80BIO_dump_indent_cb(int (*cb)(const void *data, size_t len, void *u), 81BIO_dump_indent_cb(int (*cb)(const void *data, size_t len, void *u),
@@ -148,6 +149,7 @@ BIO_dump_indent_cb(int (*cb)(const void *data, size_t len, void *u),
148#endif 149#endif
149 return (ret); 150 return (ret);
150} 151}
152LCRYPTO_ALIAS(BIO_dump_indent_cb);
151 153
152static int 154static int
153write_fp(const void *data, size_t len, void *fp) 155write_fp(const void *data, size_t len, void *fp)
@@ -160,12 +162,14 @@ BIO_dump_fp(FILE *fp, const char *s, int len)
160{ 162{
161 return BIO_dump_cb(write_fp, fp, s, len); 163 return BIO_dump_cb(write_fp, fp, s, len);
162} 164}
165LCRYPTO_ALIAS(BIO_dump_fp);
163 166
164int 167int
165BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent) 168BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent)
166{ 169{
167 return BIO_dump_indent_cb(write_fp, fp, s, len, indent); 170 return BIO_dump_indent_cb(write_fp, fp, s, len, indent);
168} 171}
172LCRYPTO_ALIAS(BIO_dump_indent_fp);
169 173
170static int 174static int
171write_bio(const void *data, size_t len, void *bp) 175write_bio(const void *data, size_t len, void *bp)
@@ -178,9 +182,11 @@ BIO_dump(BIO *bp, const char *s, int len)
178{ 182{
179 return BIO_dump_cb(write_bio, bp, s, len); 183 return BIO_dump_cb(write_bio, bp, s, len);
180} 184}
185LCRYPTO_ALIAS(BIO_dump);
181 186
182int 187int
183BIO_dump_indent(BIO *bp, const char *s, int len, int indent) 188BIO_dump_indent(BIO *bp, const char *s, int len, int indent)
184{ 189{
185 return BIO_dump_indent_cb(write_bio, bp, s, len, indent); 190 return BIO_dump_indent_cb(write_bio, bp, s, len, indent);
186} 191}
192LCRYPTO_ALIAS(BIO_dump_indent);
diff --git a/src/lib/libcrypto/bio/b_posix.c b/src/lib/libcrypto/bio/b_posix.c
index aed51bd717..d78f25a1f7 100644
--- a/src/lib/libcrypto/bio/b_posix.c
+++ b/src/lib/libcrypto/bio/b_posix.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: b_posix.c,v 1.2 2018/03/17 16:20:01 beck Exp $ */ 1/* $OpenBSD: b_posix.c,v 1.3 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -72,11 +72,13 @@ BIO_sock_init(void)
72 return (0); 72 return (0);
73 return (1); 73 return (1);
74} 74}
75LCRYPTO_ALIAS(BIO_sock_init);
75 76
76void 77void
77BIO_sock_cleanup(void) 78BIO_sock_cleanup(void)
78{ 79{
79} 80}
81LCRYPTO_ALIAS(BIO_sock_cleanup);
80 82
81int 83int
82BIO_socket_nbio(int s, int mode) 84BIO_socket_nbio(int s, int mode)
@@ -88,3 +90,4 @@ BIO_socket_nbio(int s, int mode)
88 return (fcntl(s, F_SETFL, flags & ~O_NONBLOCK) != -1); 90 return (fcntl(s, F_SETFL, flags & ~O_NONBLOCK) != -1);
89 return (1); 91 return (1);
90} 92}
93LCRYPTO_ALIAS(BIO_socket_nbio);
diff --git a/src/lib/libcrypto/bio/b_print.c b/src/lib/libcrypto/bio/b_print.c
index c9d54809a7..a750ac413f 100644
--- a/src/lib/libcrypto/bio/b_print.c
+++ b/src/lib/libcrypto/bio/b_print.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: b_print.c,v 1.26 2019/06/28 05:47:57 deraadt Exp $ */ 1/* $OpenBSD: b_print.c,v 1.27 2023/07/05 21:23:37 beck Exp $ */
2 2
3/* Theo de Raadt places this file in the public domain. */ 3/* Theo de Raadt places this file in the public domain. */
4 4
@@ -15,6 +15,7 @@ BIO_printf(BIO *bio, const char *format, ...)
15 va_end(args); 15 va_end(args);
16 return (ret); 16 return (ret);
17} 17}
18LCRYPTO_ALIAS(BIO_printf);
18 19
19#ifdef HAVE_FUNOPEN 20#ifdef HAVE_FUNOPEN
20static int 21static int
@@ -39,6 +40,7 @@ BIO_vprintf(BIO *bio, const char *format, va_list args)
39fail: 40fail:
40 return (ret); 41 return (ret);
41} 42}
43LCRYPTO_ALIAS(BIO_vprintf);
42 44
43#else /* !HAVE_FUNOPEN */ 45#else /* !HAVE_FUNOPEN */
44 46
@@ -55,6 +57,7 @@ BIO_vprintf(BIO *bio, const char *format, va_list args)
55 free(buf); 57 free(buf);
56 return (ret); 58 return (ret);
57} 59}
60LCRYPTO_ALIAS(BIO_vprintf);
58 61
59#endif /* HAVE_FUNOPEN */ 62#endif /* HAVE_FUNOPEN */
60 63
@@ -92,6 +95,7 @@ BIO_snprintf(char *buf, size_t n, const char *format, ...)
92 return (-1); 95 return (-1);
93 return (ret); 96 return (ret);
94} 97}
98LCRYPTO_ALIAS(BIO_snprintf);
95 99
96int 100int
97BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) 101BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
@@ -104,3 +108,4 @@ BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
104 return (-1); 108 return (-1);
105 return (ret); 109 return (ret);
106} 110}
111LCRYPTO_ALIAS(BIO_vsnprintf);
diff --git a/src/lib/libcrypto/bio/b_sock.c b/src/lib/libcrypto/bio/b_sock.c
index 301f73914a..00bbe9c37e 100644
--- a/src/lib/libcrypto/bio/b_sock.c
+++ b/src/lib/libcrypto/bio/b_sock.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: b_sock.c,v 1.70 2022/12/22 20:13:45 schwarze Exp $ */ 1/* $OpenBSD: b_sock.c,v 1.71 2023/07/05 21:23:37 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2017 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2017 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -62,6 +62,7 @@ BIO_get_host_ip(const char *str, unsigned char *ip)
62 freeaddrinfo(res); 62 freeaddrinfo(res);
63 return (1); 63 return (1);
64} 64}
65LCRYPTO_ALIAS(BIO_get_host_ip);
65 66
66int 67int
67BIO_get_port(const char *str, unsigned short *port_ptr) 68BIO_get_port(const char *str, unsigned short *port_ptr)
@@ -89,6 +90,7 @@ BIO_get_port(const char *str, unsigned short *port_ptr)
89 freeaddrinfo(res); 90 freeaddrinfo(res);
90 return (1); 91 return (1);
91} 92}
93LCRYPTO_ALIAS(BIO_get_port);
92 94
93int 95int
94BIO_sock_error(int sock) 96BIO_sock_error(int sock)
@@ -101,12 +103,14 @@ BIO_sock_error(int sock)
101 return (1); 103 return (1);
102 return (err); 104 return (err);
103} 105}
106LCRYPTO_ALIAS(BIO_sock_error);
104 107
105struct hostent * 108struct hostent *
106BIO_gethostbyname(const char *name) 109BIO_gethostbyname(const char *name)
107{ 110{
108 return gethostbyname(name); 111 return gethostbyname(name);
109} 112}
113LCRYPTO_ALIAS(BIO_gethostbyname);
110 114
111int 115int
112BIO_socket_ioctl(int fd, long type, void *arg) 116BIO_socket_ioctl(int fd, long type, void *arg)
@@ -118,6 +122,7 @@ BIO_socket_ioctl(int fd, long type, void *arg)
118 SYSerror(errno); 122 SYSerror(errno);
119 return (ret); 123 return (ret);
120} 124}
125LCRYPTO_ALIAS(BIO_socket_ioctl);
121 126
122int 127int
123BIO_get_accept_socket(char *host, int bind_mode) 128BIO_get_accept_socket(char *host, int bind_mode)
@@ -203,6 +208,7 @@ err:
203 } 208 }
204 return (s); 209 return (s);
205} 210}
211LCRYPTO_ALIAS(BIO_get_accept_socket);
206 212
207int 213int
208BIO_accept(int sock, char **addr) 214BIO_accept(int sock, char **addr)
@@ -245,9 +251,11 @@ BIO_accept(int sock, char **addr)
245end: 251end:
246 return (ret); 252 return (ret);
247} 253}
254LCRYPTO_ALIAS(BIO_accept);
248 255
249int 256int
250BIO_set_tcp_ndelay(int s, int on) 257BIO_set_tcp_ndelay(int s, int on)
251{ 258{
252 return (setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) == 0); 259 return (setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) == 0);
253} 260}
261LCRYPTO_ALIAS(BIO_set_tcp_ndelay);
diff --git a/src/lib/libcrypto/bio/bf_buff.c b/src/lib/libcrypto/bio/bf_buff.c
index aa079c5f9e..226c16835a 100644
--- a/src/lib/libcrypto/bio/bf_buff.c
+++ b/src/lib/libcrypto/bio/bf_buff.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bf_buff.c,v 1.27 2022/01/14 08:40:57 tb Exp $ */ 1/* $OpenBSD: bf_buff.c,v 1.28 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -93,6 +93,7 @@ BIO_f_buffer(void)
93{ 93{
94 return (&methods_buffer); 94 return (&methods_buffer);
95} 95}
96LCRYPTO_ALIAS(BIO_f_buffer);
96 97
97static int 98static int
98buffer_new(BIO *bi) 99buffer_new(BIO *bi)
diff --git a/src/lib/libcrypto/bio/bf_nbio.c b/src/lib/libcrypto/bio/bf_nbio.c
index 086479ec4c..2aed3b8fb6 100644
--- a/src/lib/libcrypto/bio/bf_nbio.c
+++ b/src/lib/libcrypto/bio/bf_nbio.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bf_nbio.c,v 1.22 2022/01/14 08:40:57 tb Exp $ */ 1/* $OpenBSD: bf_nbio.c,v 1.23 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -100,6 +100,7 @@ BIO_f_nbio_test(void)
100{ 100{
101 return (&methods_nbiof); 101 return (&methods_nbiof);
102} 102}
103LCRYPTO_ALIAS(BIO_f_nbio_test);
103 104
104static int 105static int
105nbiof_new(BIO *bi) 106nbiof_new(BIO *bi)
diff --git a/src/lib/libcrypto/bio/bf_null.c b/src/lib/libcrypto/bio/bf_null.c
index 129def8c99..055daeb7a9 100644
--- a/src/lib/libcrypto/bio/bf_null.c
+++ b/src/lib/libcrypto/bio/bf_null.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bf_null.c,v 1.14 2022/01/14 08:40:57 tb Exp $ */ 1/* $OpenBSD: bf_null.c,v 1.15 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -93,6 +93,7 @@ BIO_f_null(void)
93{ 93{
94 return (&methods_nullf); 94 return (&methods_nullf);
95} 95}
96LCRYPTO_ALIAS(BIO_f_null);
96 97
97static int 98static int
98nullf_new(BIO *bi) 99nullf_new(BIO *bi)
diff --git a/src/lib/libcrypto/bio/bio_cb.c b/src/lib/libcrypto/bio/bio_cb.c
index 2ca411cd26..18e9be8d68 100644
--- a/src/lib/libcrypto/bio/bio_cb.c
+++ b/src/lib/libcrypto/bio/bio_cb.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_cb.c,v 1.18 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bio_cb.c,v 1.19 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -153,3 +153,4 @@ BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, long argl,
153 fputs(buf, stderr); 153 fputs(buf, stderr);
154 return (r); 154 return (r);
155} 155}
156LCRYPTO_ALIAS(BIO_debug_callback);
diff --git a/src/lib/libcrypto/bio/bio_err.c b/src/lib/libcrypto/bio/bio_err.c
index fa5d16aff8..36fabca21c 100644
--- a/src/lib/libcrypto/bio/bio_err.c
+++ b/src/lib/libcrypto/bio/bio_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_err.c,v 1.19 2022/07/12 14:42:48 kn Exp $ */ 1/* $OpenBSD: bio_err.c,v 1.20 2023/07/05 21:23:37 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -117,3 +117,4 @@ ERR_load_BIO_strings(void)
117 } 117 }
118#endif 118#endif
119} 119}
120LCRYPTO_ALIAS(ERR_load_BIO_strings);
diff --git a/src/lib/libcrypto/bio/bio_lib.c b/src/lib/libcrypto/bio/bio_lib.c
index d14507884b..31127cb444 100644
--- a/src/lib/libcrypto/bio/bio_lib.c
+++ b/src/lib/libcrypto/bio/bio_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_lib.c,v 1.44 2023/03/15 06:14:02 tb Exp $ */ 1/* $OpenBSD: bio_lib.c,v 1.45 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -129,6 +129,7 @@ BIO_get_new_index(void)
129 129
130 return index; 130 return index;
131} 131}
132LCRYPTO_ALIAS(BIO_get_new_index);
132 133
133BIO * 134BIO *
134BIO_new(const BIO_METHOD *method) 135BIO_new(const BIO_METHOD *method)
@@ -147,6 +148,7 @@ BIO_new(const BIO_METHOD *method)
147 } 148 }
148 return (ret); 149 return (ret);
149} 150}
151LCRYPTO_ALIAS(BIO_new);
150 152
151int 153int
152BIO_set(BIO *bio, const BIO_METHOD *method) 154BIO_set(BIO *bio, const BIO_METHOD *method)
@@ -176,6 +178,7 @@ BIO_set(BIO *bio, const BIO_METHOD *method)
176 } 178 }
177 return (1); 179 return (1);
178} 180}
181LCRYPTO_ALIAS(BIO_set);
179 182
180int 183int
181BIO_free(BIO *a) 184BIO_free(BIO *a)
@@ -201,12 +204,14 @@ BIO_free(BIO *a)
201 free(a); 204 free(a);
202 return (1); 205 return (1);
203} 206}
207LCRYPTO_ALIAS(BIO_free);
204 208
205void 209void
206BIO_vfree(BIO *a) 210BIO_vfree(BIO *a)
207{ 211{
208 BIO_free(a); 212 BIO_free(a);
209} 213}
214LCRYPTO_ALIAS(BIO_vfree);
210 215
211int 216int
212BIO_up_ref(BIO *bio) 217BIO_up_ref(BIO *bio)
@@ -214,108 +219,126 @@ BIO_up_ref(BIO *bio)
214 int refs = CRYPTO_add(&bio->references, 1, CRYPTO_LOCK_BIO); 219 int refs = CRYPTO_add(&bio->references, 1, CRYPTO_LOCK_BIO);
215 return (refs > 1) ? 1 : 0; 220 return (refs > 1) ? 1 : 0;
216} 221}
222LCRYPTO_ALIAS(BIO_up_ref);
217 223
218void * 224void *
219BIO_get_data(BIO *a) 225BIO_get_data(BIO *a)
220{ 226{
221 return (a->ptr); 227 return (a->ptr);
222} 228}
229LCRYPTO_ALIAS(BIO_get_data);
223 230
224void 231void
225BIO_set_data(BIO *a, void *ptr) 232BIO_set_data(BIO *a, void *ptr)
226{ 233{
227 a->ptr = ptr; 234 a->ptr = ptr;
228} 235}
236LCRYPTO_ALIAS(BIO_set_data);
229 237
230int 238int
231BIO_get_init(BIO *a) 239BIO_get_init(BIO *a)
232{ 240{
233 return a->init; 241 return a->init;
234} 242}
243LCRYPTO_ALIAS(BIO_get_init);
235 244
236void 245void
237BIO_set_init(BIO *a, int init) 246BIO_set_init(BIO *a, int init)
238{ 247{
239 a->init = init; 248 a->init = init;
240} 249}
250LCRYPTO_ALIAS(BIO_set_init);
241 251
242int 252int
243BIO_get_shutdown(BIO *a) 253BIO_get_shutdown(BIO *a)
244{ 254{
245 return (a->shutdown); 255 return (a->shutdown);
246} 256}
257LCRYPTO_ALIAS(BIO_get_shutdown);
247 258
248void 259void
249BIO_set_shutdown(BIO *a, int shut) 260BIO_set_shutdown(BIO *a, int shut)
250{ 261{
251 a->shutdown = shut; 262 a->shutdown = shut;
252} 263}
264LCRYPTO_ALIAS(BIO_set_shutdown);
253 265
254void 266void
255BIO_clear_flags(BIO *b, int flags) 267BIO_clear_flags(BIO *b, int flags)
256{ 268{
257 b->flags &= ~flags; 269 b->flags &= ~flags;
258} 270}
271LCRYPTO_ALIAS(BIO_clear_flags);
259 272
260int 273int
261BIO_test_flags(const BIO *b, int flags) 274BIO_test_flags(const BIO *b, int flags)
262{ 275{
263 return (b->flags & flags); 276 return (b->flags & flags);
264} 277}
278LCRYPTO_ALIAS(BIO_test_flags);
265 279
266void 280void
267BIO_set_flags(BIO *b, int flags) 281BIO_set_flags(BIO *b, int flags)
268{ 282{
269 b->flags |= flags; 283 b->flags |= flags;
270} 284}
285LCRYPTO_ALIAS(BIO_set_flags);
271 286
272BIO_callback_fn 287BIO_callback_fn
273BIO_get_callback(const BIO *b) 288BIO_get_callback(const BIO *b)
274{ 289{
275 return b->callback; 290 return b->callback;
276} 291}
292LCRYPTO_ALIAS(BIO_get_callback);
277 293
278void 294void
279BIO_set_callback(BIO *b, BIO_callback_fn cb) 295BIO_set_callback(BIO *b, BIO_callback_fn cb)
280{ 296{
281 b->callback = cb; 297 b->callback = cb;
282} 298}
299LCRYPTO_ALIAS(BIO_set_callback);
283 300
284BIO_callback_fn_ex 301BIO_callback_fn_ex
285BIO_get_callback_ex(const BIO *b) 302BIO_get_callback_ex(const BIO *b)
286{ 303{
287 return b->callback_ex; 304 return b->callback_ex;
288} 305}
306LCRYPTO_ALIAS(BIO_get_callback_ex);
289 307
290void 308void
291BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex cb) 309BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex cb)
292{ 310{
293 b->callback_ex = cb; 311 b->callback_ex = cb;
294} 312}
313LCRYPTO_ALIAS(BIO_set_callback_ex);
295 314
296void 315void
297BIO_set_callback_arg(BIO *b, char *arg) 316BIO_set_callback_arg(BIO *b, char *arg)
298{ 317{
299 b->cb_arg = arg; 318 b->cb_arg = arg;
300} 319}
320LCRYPTO_ALIAS(BIO_set_callback_arg);
301 321
302char * 322char *
303BIO_get_callback_arg(const BIO *b) 323BIO_get_callback_arg(const BIO *b)
304{ 324{
305 return b->cb_arg; 325 return b->cb_arg;
306} 326}
327LCRYPTO_ALIAS(BIO_get_callback_arg);
307 328
308const char * 329const char *
309BIO_method_name(const BIO *b) 330BIO_method_name(const BIO *b)
310{ 331{
311 return b->method->name; 332 return b->method->name;
312} 333}
334LCRYPTO_ALIAS(BIO_method_name);
313 335
314int 336int
315BIO_method_type(const BIO *b) 337BIO_method_type(const BIO *b)
316{ 338{
317 return b->method->type; 339 return b->method->type;
318} 340}
341LCRYPTO_ALIAS(BIO_method_type);
319 342
320int 343int
321BIO_read(BIO *b, void *out, int outl) 344BIO_read(BIO *b, void *out, int outl)
@@ -373,6 +396,7 @@ BIO_read(BIO *b, void *out, int outl)
373 396
374 return (ret); 397 return (ret);
375} 398}
399LCRYPTO_ALIAS(BIO_read);
376 400
377int 401int
378BIO_write(BIO *b, const void *in, int inl) 402BIO_write(BIO *b, const void *in, int inl)
@@ -429,6 +453,7 @@ BIO_write(BIO *b, const void *in, int inl)
429 453
430 return (ret); 454 return (ret);
431} 455}
456LCRYPTO_ALIAS(BIO_write);
432 457
433int 458int
434BIO_puts(BIO *b, const char *in) 459BIO_puts(BIO *b, const char *in)
@@ -473,6 +498,7 @@ BIO_puts(BIO *b, const char *in)
473 498
474 return (ret); 499 return (ret);
475} 500}
501LCRYPTO_ALIAS(BIO_puts);
476 502
477int 503int
478BIO_gets(BIO *b, char *in, int inl) 504BIO_gets(BIO *b, char *in, int inl)
@@ -515,6 +541,7 @@ BIO_gets(BIO *b, char *in, int inl)
515 541
516 return (ret); 542 return (ret);
517} 543}
544LCRYPTO_ALIAS(BIO_gets);
518 545
519int 546int
520BIO_indent(BIO *b, int indent, int max) 547BIO_indent(BIO *b, int indent, int max)
@@ -528,6 +555,7 @@ BIO_indent(BIO *b, int indent, int max)
528 return 0; 555 return 0;
529 return 1; 556 return 1;
530} 557}
558LCRYPTO_ALIAS(BIO_indent);
531 559
532long 560long
533BIO_int_ctrl(BIO *b, int cmd, long larg, int iarg) 561BIO_int_ctrl(BIO *b, int cmd, long larg, int iarg)
@@ -537,6 +565,7 @@ BIO_int_ctrl(BIO *b, int cmd, long larg, int iarg)
537 i = iarg; 565 i = iarg;
538 return (BIO_ctrl(b, cmd, larg, (char *)&i)); 566 return (BIO_ctrl(b, cmd, larg, (char *)&i));
539} 567}
568LCRYPTO_ALIAS(BIO_int_ctrl);
540 569
541char * 570char *
542BIO_ptr_ctrl(BIO *b, int cmd, long larg) 571BIO_ptr_ctrl(BIO *b, int cmd, long larg)
@@ -548,6 +577,7 @@ BIO_ptr_ctrl(BIO *b, int cmd, long larg)
548 else 577 else
549 return (p); 578 return (p);
550} 579}
580LCRYPTO_ALIAS(BIO_ptr_ctrl);
551 581
552long 582long
553BIO_ctrl(BIO *b, int cmd, long larg, void *parg) 583BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
@@ -577,6 +607,7 @@ BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
577 607
578 return (ret); 608 return (ret);
579} 609}
610LCRYPTO_ALIAS(BIO_ctrl);
580 611
581long 612long
582BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp) 613BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
@@ -607,6 +638,7 @@ BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
607 638
608 return (ret); 639 return (ret);
609} 640}
641LCRYPTO_ALIAS(BIO_callback_ctrl);
610 642
611/* It is unfortunate to duplicate in functions what the BIO_(w)pending macros 643/* It is unfortunate to duplicate in functions what the BIO_(w)pending macros
612 * do; but those macros have inappropriate return type, and for interfacing 644 * do; but those macros have inappropriate return type, and for interfacing
@@ -616,12 +648,14 @@ BIO_ctrl_pending(BIO *bio)
616{ 648{
617 return BIO_ctrl(bio, BIO_CTRL_PENDING, 0, NULL); 649 return BIO_ctrl(bio, BIO_CTRL_PENDING, 0, NULL);
618} 650}
651LCRYPTO_ALIAS(BIO_ctrl_pending);
619 652
620size_t 653size_t
621BIO_ctrl_wpending(BIO *bio) 654BIO_ctrl_wpending(BIO *bio)
622{ 655{
623 return BIO_ctrl(bio, BIO_CTRL_WPENDING, 0, NULL); 656 return BIO_ctrl(bio, BIO_CTRL_WPENDING, 0, NULL);
624} 657}
658LCRYPTO_ALIAS(BIO_ctrl_wpending);
625 659
626 660
627/* 661/*
@@ -649,6 +683,7 @@ BIO_push(BIO *b, BIO *bio)
649 BIO_ctrl(b, BIO_CTRL_PUSH, 0, lb); 683 BIO_ctrl(b, BIO_CTRL_PUSH, 0, lb);
650 return (b); 684 return (b);
651} 685}
686LCRYPTO_ALIAS(BIO_push);
652 687
653/* Remove the first and return the rest */ 688/* Remove the first and return the rest */
654BIO * 689BIO *
@@ -671,6 +706,7 @@ BIO_pop(BIO *b)
671 b->prev_bio = NULL; 706 b->prev_bio = NULL;
672 return (ret); 707 return (ret);
673} 708}
709LCRYPTO_ALIAS(BIO_pop);
674 710
675BIO * 711BIO *
676BIO_get_retry_BIO(BIO *bio, int *reason) 712BIO_get_retry_BIO(BIO *bio, int *reason)
@@ -690,18 +726,21 @@ BIO_get_retry_BIO(BIO *bio, int *reason)
690 *reason = last->retry_reason; 726 *reason = last->retry_reason;
691 return (last); 727 return (last);
692} 728}
729LCRYPTO_ALIAS(BIO_get_retry_BIO);
693 730
694int 731int
695BIO_get_retry_reason(BIO *bio) 732BIO_get_retry_reason(BIO *bio)
696{ 733{
697 return (bio->retry_reason); 734 return (bio->retry_reason);
698} 735}
736LCRYPTO_ALIAS(BIO_get_retry_reason);
699 737
700void 738void
701BIO_set_retry_reason(BIO *bio, int reason) 739BIO_set_retry_reason(BIO *bio, int reason)
702{ 740{
703 bio->retry_reason = reason; 741 bio->retry_reason = reason;
704} 742}
743LCRYPTO_ALIAS(BIO_set_retry_reason);
705 744
706BIO * 745BIO *
707BIO_find_type(BIO *bio, int type) 746BIO_find_type(BIO *bio, int type)
@@ -724,6 +763,7 @@ BIO_find_type(BIO *bio, int type)
724 } while (bio != NULL); 763 } while (bio != NULL);
725 return (NULL); 764 return (NULL);
726} 765}
766LCRYPTO_ALIAS(BIO_find_type);
727 767
728BIO * 768BIO *
729BIO_next(BIO *b) 769BIO_next(BIO *b)
@@ -732,6 +772,7 @@ BIO_next(BIO *b)
732 return NULL; 772 return NULL;
733 return b->next_bio; 773 return b->next_bio;
734} 774}
775LCRYPTO_ALIAS(BIO_next);
735 776
736/* 777/*
737 * Two chains "bio -> oldtail" and "oldhead -> next" become 778 * Two chains "bio -> oldtail" and "oldhead -> next" become
@@ -753,6 +794,7 @@ BIO_set_next(BIO *bio, BIO *next)
753 if (next != NULL) 794 if (next != NULL)
754 next->prev_bio = bio; 795 next->prev_bio = bio;
755} 796}
797LCRYPTO_ALIAS(BIO_set_next);
756 798
757void 799void
758BIO_free_all(BIO *bio) 800BIO_free_all(BIO *bio)
@@ -770,6 +812,7 @@ BIO_free_all(BIO *bio)
770 break; 812 break;
771 } 813 }
772} 814}
815LCRYPTO_ALIAS(BIO_free_all);
773 816
774BIO * 817BIO *
775BIO_dup_chain(BIO *in) 818BIO_dup_chain(BIO *in)
@@ -813,6 +856,7 @@ err:
813 return (NULL); 856 return (NULL);
814 857
815} 858}
859LCRYPTO_ALIAS(BIO_dup_chain);
816 860
817void 861void
818BIO_copy_next_retry(BIO *b) 862BIO_copy_next_retry(BIO *b)
@@ -820,6 +864,7 @@ BIO_copy_next_retry(BIO *b)
820 BIO_set_flags(b, BIO_get_retry_flags(b->next_bio)); 864 BIO_set_flags(b, BIO_get_retry_flags(b->next_bio));
821 b->retry_reason = b->next_bio->retry_reason; 865 b->retry_reason = b->next_bio->retry_reason;
822} 866}
867LCRYPTO_ALIAS(BIO_copy_next_retry);
823 868
824int 869int
825BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 870BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
@@ -828,18 +873,21 @@ BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
828 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, argl, argp, 873 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, argl, argp,
829 new_func, dup_func, free_func); 874 new_func, dup_func, free_func);
830} 875}
876LCRYPTO_ALIAS(BIO_get_ex_new_index);
831 877
832int 878int
833BIO_set_ex_data(BIO *bio, int idx, void *data) 879BIO_set_ex_data(BIO *bio, int idx, void *data)
834{ 880{
835 return (CRYPTO_set_ex_data(&(bio->ex_data), idx, data)); 881 return (CRYPTO_set_ex_data(&(bio->ex_data), idx, data));
836} 882}
883LCRYPTO_ALIAS(BIO_set_ex_data);
837 884
838void * 885void *
839BIO_get_ex_data(BIO *bio, int idx) 886BIO_get_ex_data(BIO *bio, int idx)
840{ 887{
841 return (CRYPTO_get_ex_data(&(bio->ex_data), idx)); 888 return (CRYPTO_get_ex_data(&(bio->ex_data), idx));
842} 889}
890LCRYPTO_ALIAS(BIO_get_ex_data);
843 891
844unsigned long 892unsigned long
845BIO_number_read(BIO *bio) 893BIO_number_read(BIO *bio)
@@ -848,6 +896,7 @@ BIO_number_read(BIO *bio)
848 return bio->num_read; 896 return bio->num_read;
849 return 0; 897 return 0;
850} 898}
899LCRYPTO_ALIAS(BIO_number_read);
851 900
852unsigned long 901unsigned long
853BIO_number_written(BIO *bio) 902BIO_number_written(BIO *bio)
@@ -856,3 +905,4 @@ BIO_number_written(BIO *bio)
856 return bio->num_write; 905 return bio->num_write;
857 return 0; 906 return 0;
858} 907}
908LCRYPTO_ALIAS(BIO_number_written);
diff --git a/src/lib/libcrypto/bio/bio_meth.c b/src/lib/libcrypto/bio/bio_meth.c
index d7d100df95..37f866a0c4 100644
--- a/src/lib/libcrypto/bio/bio_meth.c
+++ b/src/lib/libcrypto/bio/bio_meth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_meth.c,v 1.8 2022/01/14 08:40:57 tb Exp $ */ 1/* $OpenBSD: bio_meth.c,v 1.9 2023/07/05 21:23:37 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> 3 * Copyright (c) 2018 Theo Buehler <tb@openbsd.org>
4 * 4 *
@@ -34,18 +34,21 @@ BIO_meth_new(int type, const char *name)
34 34
35 return biom; 35 return biom;
36} 36}
37LCRYPTO_ALIAS(BIO_meth_new);
37 38
38void 39void
39BIO_meth_free(BIO_METHOD *biom) 40BIO_meth_free(BIO_METHOD *biom)
40{ 41{
41 free(biom); 42 free(biom);
42} 43}
44LCRYPTO_ALIAS(BIO_meth_free);
43 45
44int 46int
45(*BIO_meth_get_write(const BIO_METHOD *biom))(BIO *, const char *, int) 47(*BIO_meth_get_write(const BIO_METHOD *biom))(BIO *, const char *, int)
46{ 48{
47 return biom->bwrite; 49 return biom->bwrite;
48} 50}
51LCRYPTO_ALIAS(BIO_meth_get_write);
49 52
50int 53int
51BIO_meth_set_write(BIO_METHOD *biom, int (*write)(BIO *, const char *, int)) 54BIO_meth_set_write(BIO_METHOD *biom, int (*write)(BIO *, const char *, int))
@@ -53,12 +56,14 @@ BIO_meth_set_write(BIO_METHOD *biom, int (*write)(BIO *, const char *, int))
53 biom->bwrite = write; 56 biom->bwrite = write;
54 return 1; 57 return 1;
55} 58}
59LCRYPTO_ALIAS(BIO_meth_set_write);
56 60
57int 61int
58(*BIO_meth_get_read(const BIO_METHOD *biom))(BIO *, char *, int) 62(*BIO_meth_get_read(const BIO_METHOD *biom))(BIO *, char *, int)
59{ 63{
60 return biom->bread; 64 return biom->bread;
61} 65}
66LCRYPTO_ALIAS(BIO_meth_get_read);
62 67
63int 68int
64BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int)) 69BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int))
@@ -66,12 +71,14 @@ BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int))
66 biom->bread = read; 71 biom->bread = read;
67 return 1; 72 return 1;
68} 73}
74LCRYPTO_ALIAS(BIO_meth_set_read);
69 75
70int 76int
71(*BIO_meth_get_puts(const BIO_METHOD *biom))(BIO *, const char *) 77(*BIO_meth_get_puts(const BIO_METHOD *biom))(BIO *, const char *)
72{ 78{
73 return biom->bputs; 79 return biom->bputs;
74} 80}
81LCRYPTO_ALIAS(BIO_meth_get_puts);
75 82
76int 83int
77BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *)) 84BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *))
@@ -79,12 +86,14 @@ BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *))
79 biom->bputs = puts; 86 biom->bputs = puts;
80 return 1; 87 return 1;
81} 88}
89LCRYPTO_ALIAS(BIO_meth_set_puts);
82 90
83int 91int
84(*BIO_meth_get_gets(const BIO_METHOD *biom))(BIO *, char *, int) 92(*BIO_meth_get_gets(const BIO_METHOD *biom))(BIO *, char *, int)
85{ 93{
86 return biom->bgets; 94 return biom->bgets;
87} 95}
96LCRYPTO_ALIAS(BIO_meth_get_gets);
88 97
89int 98int
90BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int)) 99BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int))
@@ -92,12 +101,14 @@ BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int))
92 biom->bgets = gets; 101 biom->bgets = gets;
93 return 1; 102 return 1;
94} 103}
104LCRYPTO_ALIAS(BIO_meth_set_gets);
95 105
96long 106long
97(*BIO_meth_get_ctrl(const BIO_METHOD *biom))(BIO *, int, long, void *) 107(*BIO_meth_get_ctrl(const BIO_METHOD *biom))(BIO *, int, long, void *)
98{ 108{
99 return biom->ctrl; 109 return biom->ctrl;
100} 110}
111LCRYPTO_ALIAS(BIO_meth_get_ctrl);
101 112
102int 113int
103BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *)) 114BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *))
@@ -105,12 +116,14 @@ BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *))
105 biom->ctrl = ctrl; 116 biom->ctrl = ctrl;
106 return 1; 117 return 1;
107} 118}
119LCRYPTO_ALIAS(BIO_meth_set_ctrl);
108 120
109int 121int
110(*BIO_meth_get_create(const BIO_METHOD *biom))(BIO *) 122(*BIO_meth_get_create(const BIO_METHOD *biom))(BIO *)
111{ 123{
112 return biom->create; 124 return biom->create;
113} 125}
126LCRYPTO_ALIAS(BIO_meth_get_create);
114 127
115int 128int
116BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *)) 129BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *))
@@ -118,12 +131,14 @@ BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *))
118 biom->create = create; 131 biom->create = create;
119 return 1; 132 return 1;
120} 133}
134LCRYPTO_ALIAS(BIO_meth_set_create);
121 135
122int 136int
123(*BIO_meth_get_destroy(const BIO_METHOD *biom))(BIO *) 137(*BIO_meth_get_destroy(const BIO_METHOD *biom))(BIO *)
124{ 138{
125 return biom->destroy; 139 return biom->destroy;
126} 140}
141LCRYPTO_ALIAS(BIO_meth_get_destroy);
127 142
128int 143int
129BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *)) 144BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *))
@@ -131,12 +146,14 @@ BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *))
131 biom->destroy = destroy; 146 biom->destroy = destroy;
132 return 1; 147 return 1;
133} 148}
149LCRYPTO_ALIAS(BIO_meth_set_destroy);
134 150
135long 151long
136(*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom))(BIO *, int, BIO_info_cb *) 152(*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom))(BIO *, int, BIO_info_cb *)
137{ 153{
138 return biom->callback_ctrl; 154 return biom->callback_ctrl;
139} 155}
156LCRYPTO_ALIAS(BIO_meth_get_callback_ctrl);
140 157
141int 158int
142BIO_meth_set_callback_ctrl(BIO_METHOD *biom, 159BIO_meth_set_callback_ctrl(BIO_METHOD *biom,
@@ -145,3 +162,4 @@ BIO_meth_set_callback_ctrl(BIO_METHOD *biom,
145 biom->callback_ctrl = callback_ctrl; 162 biom->callback_ctrl = callback_ctrl;
146 return 1; 163 return 1;
147} 164}
165LCRYPTO_ALIAS(BIO_meth_set_callback_ctrl);
diff --git a/src/lib/libcrypto/bio/bss_acpt.c b/src/lib/libcrypto/bio/bss_acpt.c
index a619bd7c5d..d74c710a7f 100644
--- a/src/lib/libcrypto/bio/bss_acpt.c
+++ b/src/lib/libcrypto/bio/bss_acpt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_acpt.c,v 1.30 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_acpt.c,v 1.31 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -118,6 +118,7 @@ BIO_s_accept(void)
118{ 118{
119 return (&methods_acceptp); 119 return (&methods_acceptp);
120} 120}
121LCRYPTO_ALIAS(BIO_s_accept);
121 122
122static int 123static int
123acpt_new(BIO *bi) 124acpt_new(BIO *bi)
@@ -452,4 +453,4 @@ BIO_new_accept(const char *str)
452 return (NULL); 453 return (NULL);
453 } 454 }
454} 455}
455 456LCRYPTO_ALIAS(BIO_new_accept);
diff --git a/src/lib/libcrypto/bio/bss_bio.c b/src/lib/libcrypto/bio/bss_bio.c
index c92d35d118..0de0b604b3 100644
--- a/src/lib/libcrypto/bio/bss_bio.c
+++ b/src/lib/libcrypto/bio/bss_bio.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_bio.c,v 1.25 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_bio.c,v 1.26 2023/07/05 21:23:37 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -112,6 +112,7 @@ BIO_s_bio(void)
112{ 112{
113 return &methods_biop; 113 return &methods_biop;
114} 114}
115LCRYPTO_ALIAS(BIO_s_bio);
115 116
116struct bio_bio_st { 117struct bio_bio_st {
117 BIO *peer; /* NULL if buf == NULL. 118 BIO *peer; /* NULL if buf == NULL.
@@ -795,24 +796,28 @@ BIO_new_bio_pair(BIO **bio1_p, size_t writebuf1, BIO **bio2_p, size_t writebuf2)
795 *bio2_p = bio2; 796 *bio2_p = bio2;
796 return ret; 797 return ret;
797} 798}
799LCRYPTO_ALIAS(BIO_new_bio_pair);
798 800
799size_t 801size_t
800BIO_ctrl_get_write_guarantee(BIO *bio) 802BIO_ctrl_get_write_guarantee(BIO *bio)
801{ 803{
802 return BIO_ctrl(bio, BIO_C_GET_WRITE_GUARANTEE, 0, NULL); 804 return BIO_ctrl(bio, BIO_C_GET_WRITE_GUARANTEE, 0, NULL);
803} 805}
806LCRYPTO_ALIAS(BIO_ctrl_get_write_guarantee);
804 807
805size_t 808size_t
806BIO_ctrl_get_read_request(BIO *bio) 809BIO_ctrl_get_read_request(BIO *bio)
807{ 810{
808 return BIO_ctrl(bio, BIO_C_GET_READ_REQUEST, 0, NULL); 811 return BIO_ctrl(bio, BIO_C_GET_READ_REQUEST, 0, NULL);
809} 812}
813LCRYPTO_ALIAS(BIO_ctrl_get_read_request);
810 814
811int 815int
812BIO_ctrl_reset_read_request(BIO *bio) 816BIO_ctrl_reset_read_request(BIO *bio)
813{ 817{
814 return (BIO_ctrl(bio, BIO_C_RESET_READ_REQUEST, 0, NULL) != 0); 818 return (BIO_ctrl(bio, BIO_C_RESET_READ_REQUEST, 0, NULL) != 0);
815} 819}
820LCRYPTO_ALIAS(BIO_ctrl_reset_read_request);
816 821
817 822
818/* BIO_nread0/nread/nwrite0/nwrite are available only for BIO pairs for now 823/* BIO_nread0/nread/nwrite0/nwrite are available only for BIO pairs for now
@@ -834,6 +839,7 @@ BIO_nread0(BIO *bio, char **buf)
834 else 839 else
835 return (int) ret; 840 return (int) ret;
836} 841}
842LCRYPTO_ALIAS(BIO_nread0);
837 843
838int 844int
839BIO_nread(BIO *bio, char **buf, int num) 845BIO_nread(BIO *bio, char **buf, int num)
@@ -850,6 +856,7 @@ BIO_nread(BIO *bio, char **buf, int num)
850 bio->num_read += ret; 856 bio->num_read += ret;
851 return ret; 857 return ret;
852} 858}
859LCRYPTO_ALIAS(BIO_nread);
853 860
854int 861int
855BIO_nwrite0(BIO *bio, char **buf) 862BIO_nwrite0(BIO *bio, char **buf)
@@ -867,6 +874,7 @@ BIO_nwrite0(BIO *bio, char **buf)
867 else 874 else
868 return (int) ret; 875 return (int) ret;
869} 876}
877LCRYPTO_ALIAS(BIO_nwrite0);
870 878
871int 879int
872BIO_nwrite(BIO *bio, char **buf, int num) 880BIO_nwrite(BIO *bio, char **buf, int num)
@@ -883,3 +891,4 @@ BIO_nwrite(BIO *bio, char **buf, int num)
883 bio->num_write += ret; 891 bio->num_write += ret;
884 return ret; 892 return ret;
885} 893}
894LCRYPTO_ALIAS(BIO_nwrite);
diff --git a/src/lib/libcrypto/bio/bss_conn.c b/src/lib/libcrypto/bio/bss_conn.c
index 8e30bccd51..ded9c0be6d 100644
--- a/src/lib/libcrypto/bio/bss_conn.c
+++ b/src/lib/libcrypto/bio/bss_conn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_conn.c,v 1.37 2022/01/14 08:40:57 tb Exp $ */ 1/* $OpenBSD: bss_conn.c,v 1.38 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -309,6 +309,7 @@ BIO_CONNECT_new(void)
309 memset((char *)&ret->them, 0, sizeof(ret->them)); 309 memset((char *)&ret->them, 0, sizeof(ret->them));
310 return (ret); 310 return (ret);
311} 311}
312LCRYPTO_ALIAS(BIO_CONNECT_new);
312 313
313void 314void
314BIO_CONNECT_free(BIO_CONNECT *a) 315BIO_CONNECT_free(BIO_CONNECT *a)
@@ -320,12 +321,14 @@ BIO_CONNECT_free(BIO_CONNECT *a)
320 free(a->param_port); 321 free(a->param_port);
321 free(a); 322 free(a);
322} 323}
324LCRYPTO_ALIAS(BIO_CONNECT_free);
323 325
324const BIO_METHOD * 326const BIO_METHOD *
325BIO_s_connect(void) 327BIO_s_connect(void)
326{ 328{
327 return (&methods_connectp); 329 return (&methods_connectp);
328} 330}
331LCRYPTO_ALIAS(BIO_s_connect);
329 332
330static int 333static int
331conn_new(BIO *bi) 334conn_new(BIO *bi)
@@ -594,4 +597,4 @@ BIO_new_connect(const char *str)
594 return (NULL); 597 return (NULL);
595 } 598 }
596} 599}
597 600LCRYPTO_ALIAS(BIO_new_connect);
diff --git a/src/lib/libcrypto/bio/bss_dgram.c b/src/lib/libcrypto/bio/bss_dgram.c
index 0d70daa20e..65a8f6fae4 100644
--- a/src/lib/libcrypto/bio/bss_dgram.c
+++ b/src/lib/libcrypto/bio/bss_dgram.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_dgram.c,v 1.44 2022/12/26 07:18:51 jmc Exp $ */ 1/* $OpenBSD: bss_dgram.c,v 1.45 2023/07/05 21:23:37 beck Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -119,6 +119,7 @@ BIO_s_datagram(void)
119{ 119{
120 return (&methods_dgramp); 120 return (&methods_dgramp);
121} 121}
122LCRYPTO_ALIAS(BIO_s_datagram);
122 123
123BIO * 124BIO *
124BIO_new_dgram(int fd, int close_flag) 125BIO_new_dgram(int fd, int close_flag)
@@ -131,6 +132,7 @@ BIO_new_dgram(int fd, int close_flag)
131 BIO_set_fd(ret, fd, close_flag); 132 BIO_set_fd(ret, fd, close_flag);
132 return (ret); 133 return (ret);
133} 134}
135LCRYPTO_ALIAS(BIO_new_dgram);
134 136
135static int 137static int
136dgram_new(BIO *bi) 138dgram_new(BIO *bi)
@@ -656,5 +658,6 @@ BIO_dgram_non_fatal_error(int err)
656 } 658 }
657 return (0); 659 return (0);
658} 660}
661LCRYPTO_ALIAS(BIO_dgram_non_fatal_error);
659 662
660#endif 663#endif
diff --git a/src/lib/libcrypto/bio/bss_fd.c b/src/lib/libcrypto/bio/bss_fd.c
index 7d7c427913..63eac32329 100644
--- a/src/lib/libcrypto/bio/bss_fd.c
+++ b/src/lib/libcrypto/bio/bss_fd.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_fd.c,v 1.20 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_fd.c,v 1.21 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -93,6 +93,7 @@ BIO_s_fd(void)
93{ 93{
94 return (&methods_fdp); 94 return (&methods_fdp);
95} 95}
96LCRYPTO_ALIAS(BIO_s_fd);
96 97
97BIO * 98BIO *
98BIO_new_fd(int fd, int close_flag) 99BIO_new_fd(int fd, int close_flag)
@@ -104,6 +105,7 @@ BIO_new_fd(int fd, int close_flag)
104 BIO_set_fd(ret, fd, close_flag); 105 BIO_set_fd(ret, fd, close_flag);
105 return (ret); 106 return (ret);
106} 107}
108LCRYPTO_ALIAS(BIO_new_fd);
107 109
108static int 110static int
109fd_new(BIO *bi) 111fd_new(BIO *bi)
@@ -251,6 +253,7 @@ BIO_fd_should_retry(int i)
251 } 253 }
252 return (0); 254 return (0);
253} 255}
256LCRYPTO_ALIAS(BIO_fd_should_retry);
254 257
255int 258int
256BIO_fd_non_fatal_error(int err) 259BIO_fd_non_fatal_error(int err)
@@ -267,3 +270,4 @@ BIO_fd_non_fatal_error(int err)
267 } 270 }
268 return (0); 271 return (0);
269} 272}
273LCRYPTO_ALIAS(BIO_fd_non_fatal_error);
diff --git a/src/lib/libcrypto/bio/bss_file.c b/src/lib/libcrypto/bio/bss_file.c
index 0c9b755025..9b6ca2bdd8 100644
--- a/src/lib/libcrypto/bio/bss_file.c
+++ b/src/lib/libcrypto/bio/bss_file.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_file.c,v 1.34 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_file.c,v 1.35 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -137,6 +137,7 @@ BIO_new_file(const char *filename, const char *mode)
137 BIO_set_fp(ret, file, BIO_CLOSE); 137 BIO_set_fp(ret, file, BIO_CLOSE);
138 return (ret); 138 return (ret);
139} 139}
140LCRYPTO_ALIAS(BIO_new_file);
140 141
141BIO * 142BIO *
142BIO_new_fp(FILE *stream, int close_flag) 143BIO_new_fp(FILE *stream, int close_flag)
@@ -149,12 +150,14 @@ BIO_new_fp(FILE *stream, int close_flag)
149 BIO_set_fp(ret, stream, close_flag); 150 BIO_set_fp(ret, stream, close_flag);
150 return (ret); 151 return (ret);
151} 152}
153LCRYPTO_ALIAS(BIO_new_fp);
152 154
153const BIO_METHOD * 155const BIO_METHOD *
154BIO_s_file(void) 156BIO_s_file(void)
155{ 157{
156 return (&methods_filep); 158 return (&methods_filep);
157} 159}
160LCRYPTO_ALIAS(BIO_s_file);
158 161
159static int 162static int
160file_new(BIO *bi) 163file_new(BIO *bi)
diff --git a/src/lib/libcrypto/bio/bss_log.c b/src/lib/libcrypto/bio/bss_log.c
index 296c87ff89..9e2e882646 100644
--- a/src/lib/libcrypto/bio/bss_log.c
+++ b/src/lib/libcrypto/bio/bss_log.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_log.c,v 1.23 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_log.c,v 1.24 2023/07/05 21:23:37 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -98,6 +98,7 @@ BIO_s_log(void)
98{ 98{
99 return (&methods_slg); 99 return (&methods_slg);
100} 100}
101LCRYPTO_ALIAS(BIO_s_log);
101 102
102static int 103static int
103slg_new(BIO *bi) 104slg_new(BIO *bi)
diff --git a/src/lib/libcrypto/bio/bss_mem.c b/src/lib/libcrypto/bio/bss_mem.c
index 2d03083235..6d0d54db84 100644
--- a/src/lib/libcrypto/bio/bss_mem.c
+++ b/src/lib/libcrypto/bio/bss_mem.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_mem.c,v 1.21 2022/02/19 15:59:12 jsing Exp $ */ 1/* $OpenBSD: bss_mem.c,v 1.22 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -117,6 +117,7 @@ BIO_s_mem(void)
117{ 117{
118 return &mem_method; 118 return &mem_method;
119} 119}
120LCRYPTO_ALIAS(BIO_s_mem);
120 121
121BIO * 122BIO *
122BIO_new_mem_buf(const void *buf, int buf_len) 123BIO_new_mem_buf(const void *buf, int buf_len)
@@ -148,6 +149,7 @@ BIO_new_mem_buf(const void *buf, int buf_len)
148 149
149 return bio; 150 return bio;
150} 151}
152LCRYPTO_ALIAS(BIO_new_mem_buf);
151 153
152static int 154static int
153mem_new(BIO *bio) 155mem_new(BIO *bio)
diff --git a/src/lib/libcrypto/bio/bss_null.c b/src/lib/libcrypto/bio/bss_null.c
index 8a15b36b31..5f9340967b 100644
--- a/src/lib/libcrypto/bio/bss_null.c
+++ b/src/lib/libcrypto/bio/bss_null.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_null.c,v 1.12 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_null.c,v 1.13 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -89,6 +89,7 @@ BIO_s_null(void)
89{ 89{
90 return (&null_method); 90 return (&null_method);
91} 91}
92LCRYPTO_ALIAS(BIO_s_null);
92 93
93static int 94static int
94null_new(BIO *bi) 95null_new(BIO *bi)
diff --git a/src/lib/libcrypto/bio/bss_sock.c b/src/lib/libcrypto/bio/bss_sock.c
index 3b9a87fd8a..1a13d7fbf7 100644
--- a/src/lib/libcrypto/bio/bss_sock.c
+++ b/src/lib/libcrypto/bio/bss_sock.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bss_sock.c,v 1.25 2022/01/07 09:02:17 tb Exp $ */ 1/* $OpenBSD: bss_sock.c,v 1.26 2023/07/05 21:23:37 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -91,6 +91,7 @@ BIO_s_socket(void)
91{ 91{
92 return (&methods_sockp); 92 return (&methods_sockp);
93} 93}
94LCRYPTO_ALIAS(BIO_s_socket);
94 95
95BIO * 96BIO *
96BIO_new_socket(int fd, int close_flag) 97BIO_new_socket(int fd, int close_flag)
@@ -103,6 +104,7 @@ BIO_new_socket(int fd, int close_flag)
103 BIO_set_fd(ret, fd, close_flag); 104 BIO_set_fd(ret, fd, close_flag);
104 return (ret); 105 return (ret);
105} 106}
107LCRYPTO_ALIAS(BIO_new_socket);
106 108
107static int 109static int
108sock_new(BIO *bi) 110sock_new(BIO *bi)
@@ -222,6 +224,7 @@ BIO_sock_should_retry(int i)
222 } 224 }
223 return (0); 225 return (0);
224} 226}
227LCRYPTO_ALIAS(BIO_sock_should_retry);
225 228
226int 229int
227BIO_sock_non_fatal_error(int err) 230BIO_sock_non_fatal_error(int err)
@@ -238,4 +241,4 @@ BIO_sock_non_fatal_error(int err)
238 } 241 }
239 return (0); 242 return (0);
240} 243}
241 244LCRYPTO_ALIAS(BIO_sock_non_fatal_error);
diff --git a/src/lib/libcrypto/hidden/openssl/asn1.h b/src/lib/libcrypto/hidden/openssl/asn1.h
new file mode 100644
index 0000000000..0bdfd7b056
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/asn1.h
@@ -0,0 +1,262 @@
1/* $OpenBSD: asn1.h,v 1.1 2023/07/05 21:23:37 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_ASN1_H
19#define _LIBCRYPTO_ASN1_H
20
21#ifndef _MSC_VER
22#include_next <openssl/asn1.h>
23#else
24#include "../include/openssl/asn1.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(d2i_ASN1_SEQUENCE_ANY);
29LCRYPTO_USED(i2d_ASN1_SEQUENCE_ANY);
30LCRYPTO_USED(d2i_ASN1_SET_ANY);
31LCRYPTO_USED(i2d_ASN1_SET_ANY);
32LCRYPTO_USED(ASN1_TYPE_new);
33LCRYPTO_USED(ASN1_TYPE_free);
34LCRYPTO_USED(d2i_ASN1_TYPE);
35LCRYPTO_USED(i2d_ASN1_TYPE);
36LCRYPTO_USED(ASN1_TYPE_get);
37LCRYPTO_USED(ASN1_TYPE_set);
38LCRYPTO_USED(ASN1_TYPE_set1);
39LCRYPTO_USED(ASN1_TYPE_cmp);
40LCRYPTO_USED(ASN1_OBJECT_new);
41LCRYPTO_USED(ASN1_OBJECT_free);
42LCRYPTO_USED(i2d_ASN1_OBJECT);
43LCRYPTO_USED(d2i_ASN1_OBJECT);
44LCRYPTO_USED(ASN1_STRING_new);
45LCRYPTO_USED(ASN1_STRING_free);
46LCRYPTO_USED(ASN1_STRING_copy);
47LCRYPTO_USED(ASN1_STRING_dup);
48LCRYPTO_USED(ASN1_STRING_type_new);
49LCRYPTO_USED(ASN1_STRING_cmp);
50LCRYPTO_USED(ASN1_STRING_set);
51LCRYPTO_USED(ASN1_STRING_set0);
52LCRYPTO_USED(ASN1_STRING_length);
53LCRYPTO_USED(ASN1_STRING_length_set);
54LCRYPTO_USED(ASN1_STRING_type);
55LCRYPTO_USED(ASN1_STRING_data);
56LCRYPTO_USED(ASN1_STRING_get0_data);
57LCRYPTO_USED(ASN1_BIT_STRING_new);
58LCRYPTO_USED(ASN1_BIT_STRING_free);
59LCRYPTO_USED(d2i_ASN1_BIT_STRING);
60LCRYPTO_USED(i2d_ASN1_BIT_STRING);
61LCRYPTO_USED(ASN1_BIT_STRING_set);
62LCRYPTO_USED(ASN1_BIT_STRING_set_bit);
63LCRYPTO_USED(ASN1_BIT_STRING_get_bit);
64LCRYPTO_USED(ASN1_BIT_STRING_check);
65LCRYPTO_USED(ASN1_BIT_STRING_name_print);
66LCRYPTO_USED(ASN1_BIT_STRING_num_asc);
67LCRYPTO_USED(ASN1_BIT_STRING_set_asc);
68LCRYPTO_USED(ASN1_INTEGER_new);
69LCRYPTO_USED(ASN1_INTEGER_free);
70LCRYPTO_USED(d2i_ASN1_INTEGER);
71LCRYPTO_USED(i2d_ASN1_INTEGER);
72LCRYPTO_USED(d2i_ASN1_UINTEGER);
73LCRYPTO_USED(ASN1_INTEGER_dup);
74LCRYPTO_USED(ASN1_INTEGER_cmp);
75LCRYPTO_USED(ASN1_ENUMERATED_new);
76LCRYPTO_USED(ASN1_ENUMERATED_free);
77LCRYPTO_USED(d2i_ASN1_ENUMERATED);
78LCRYPTO_USED(i2d_ASN1_ENUMERATED);
79LCRYPTO_USED(ASN1_UTCTIME_check);
80LCRYPTO_USED(ASN1_UTCTIME_set);
81LCRYPTO_USED(ASN1_UTCTIME_adj);
82LCRYPTO_USED(ASN1_UTCTIME_set_string);
83LCRYPTO_USED(ASN1_UTCTIME_cmp_time_t);
84LCRYPTO_USED(ASN1_GENERALIZEDTIME_check);
85LCRYPTO_USED(ASN1_GENERALIZEDTIME_set);
86LCRYPTO_USED(ASN1_GENERALIZEDTIME_adj);
87LCRYPTO_USED(ASN1_GENERALIZEDTIME_set_string);
88LCRYPTO_USED(ASN1_OCTET_STRING_new);
89LCRYPTO_USED(ASN1_OCTET_STRING_free);
90LCRYPTO_USED(d2i_ASN1_OCTET_STRING);
91LCRYPTO_USED(i2d_ASN1_OCTET_STRING);
92LCRYPTO_USED(ASN1_OCTET_STRING_dup);
93LCRYPTO_USED(ASN1_OCTET_STRING_cmp);
94LCRYPTO_USED(ASN1_OCTET_STRING_set);
95LCRYPTO_USED(ASN1_VISIBLESTRING_new);
96LCRYPTO_USED(ASN1_VISIBLESTRING_free);
97LCRYPTO_USED(d2i_ASN1_VISIBLESTRING);
98LCRYPTO_USED(i2d_ASN1_VISIBLESTRING);
99LCRYPTO_USED(ASN1_UNIVERSALSTRING_new);
100LCRYPTO_USED(ASN1_UNIVERSALSTRING_free);
101LCRYPTO_USED(d2i_ASN1_UNIVERSALSTRING);
102LCRYPTO_USED(i2d_ASN1_UNIVERSALSTRING);
103LCRYPTO_USED(ASN1_UTF8STRING_new);
104LCRYPTO_USED(ASN1_UTF8STRING_free);
105LCRYPTO_USED(d2i_ASN1_UTF8STRING);
106LCRYPTO_USED(i2d_ASN1_UTF8STRING);
107LCRYPTO_USED(ASN1_NULL_new);
108LCRYPTO_USED(ASN1_NULL_free);
109LCRYPTO_USED(d2i_ASN1_NULL);
110LCRYPTO_USED(i2d_ASN1_NULL);
111LCRYPTO_USED(ASN1_BMPSTRING_new);
112LCRYPTO_USED(ASN1_BMPSTRING_free);
113LCRYPTO_USED(d2i_ASN1_BMPSTRING);
114LCRYPTO_USED(i2d_ASN1_BMPSTRING);
115LCRYPTO_USED(ASN1_PRINTABLE_new);
116LCRYPTO_USED(ASN1_PRINTABLE_free);
117LCRYPTO_USED(d2i_ASN1_PRINTABLE);
118LCRYPTO_USED(i2d_ASN1_PRINTABLE);
119LCRYPTO_USED(DIRECTORYSTRING_new);
120LCRYPTO_USED(DIRECTORYSTRING_free);
121LCRYPTO_USED(d2i_DIRECTORYSTRING);
122LCRYPTO_USED(i2d_DIRECTORYSTRING);
123LCRYPTO_USED(DISPLAYTEXT_new);
124LCRYPTO_USED(DISPLAYTEXT_free);
125LCRYPTO_USED(d2i_DISPLAYTEXT);
126LCRYPTO_USED(i2d_DISPLAYTEXT);
127LCRYPTO_USED(ASN1_PRINTABLESTRING_new);
128LCRYPTO_USED(ASN1_PRINTABLESTRING_free);
129LCRYPTO_USED(d2i_ASN1_PRINTABLESTRING);
130LCRYPTO_USED(i2d_ASN1_PRINTABLESTRING);
131LCRYPTO_USED(ASN1_T61STRING_new);
132LCRYPTO_USED(ASN1_T61STRING_free);
133LCRYPTO_USED(d2i_ASN1_T61STRING);
134LCRYPTO_USED(i2d_ASN1_T61STRING);
135LCRYPTO_USED(ASN1_IA5STRING_new);
136LCRYPTO_USED(ASN1_IA5STRING_free);
137LCRYPTO_USED(d2i_ASN1_IA5STRING);
138LCRYPTO_USED(i2d_ASN1_IA5STRING);
139LCRYPTO_USED(ASN1_GENERALSTRING_new);
140LCRYPTO_USED(ASN1_GENERALSTRING_free);
141LCRYPTO_USED(d2i_ASN1_GENERALSTRING);
142LCRYPTO_USED(i2d_ASN1_GENERALSTRING);
143LCRYPTO_USED(ASN1_UTCTIME_new);
144LCRYPTO_USED(ASN1_UTCTIME_free);
145LCRYPTO_USED(d2i_ASN1_UTCTIME);
146LCRYPTO_USED(i2d_ASN1_UTCTIME);
147LCRYPTO_USED(ASN1_GENERALIZEDTIME_new);
148LCRYPTO_USED(ASN1_GENERALIZEDTIME_free);
149LCRYPTO_USED(d2i_ASN1_GENERALIZEDTIME);
150LCRYPTO_USED(i2d_ASN1_GENERALIZEDTIME);
151LCRYPTO_USED(ASN1_TIME_new);
152LCRYPTO_USED(ASN1_TIME_free);
153LCRYPTO_USED(d2i_ASN1_TIME);
154LCRYPTO_USED(i2d_ASN1_TIME);
155LCRYPTO_USED(ASN1_TIME_to_tm);
156LCRYPTO_USED(ASN1_TIME_compare);
157LCRYPTO_USED(ASN1_TIME_cmp_time_t);
158LCRYPTO_USED(ASN1_TIME_normalize);
159LCRYPTO_USED(ASN1_TIME_set_string_X509);
160LCRYPTO_USED(ASN1_TIME_diff);
161LCRYPTO_USED(ASN1_TIME_set);
162LCRYPTO_USED(ASN1_TIME_set_tm);
163LCRYPTO_USED(ASN1_TIME_adj);
164LCRYPTO_USED(ASN1_TIME_check);
165LCRYPTO_USED(ASN1_TIME_to_generalizedtime);
166LCRYPTO_USED(ASN1_TIME_set_string);
167LCRYPTO_USED(i2a_ASN1_INTEGER);
168LCRYPTO_USED(a2i_ASN1_INTEGER);
169LCRYPTO_USED(i2a_ASN1_ENUMERATED);
170LCRYPTO_USED(a2i_ASN1_ENUMERATED);
171LCRYPTO_USED(i2a_ASN1_OBJECT);
172LCRYPTO_USED(a2i_ASN1_STRING);
173LCRYPTO_USED(i2a_ASN1_STRING);
174LCRYPTO_USED(i2t_ASN1_OBJECT);
175LCRYPTO_USED(a2d_ASN1_OBJECT);
176LCRYPTO_USED(ASN1_OBJECT_create);
177LCRYPTO_USED(ASN1_INTEGER_get_uint64);
178LCRYPTO_USED(ASN1_INTEGER_set_uint64);
179LCRYPTO_USED(ASN1_INTEGER_get_int64);
180LCRYPTO_USED(ASN1_INTEGER_set_int64);
181LCRYPTO_USED(ASN1_INTEGER_set);
182LCRYPTO_USED(ASN1_INTEGER_get);
183LCRYPTO_USED(BN_to_ASN1_INTEGER);
184LCRYPTO_USED(ASN1_INTEGER_to_BN);
185LCRYPTO_USED(ASN1_ENUMERATED_get_int64);
186LCRYPTO_USED(ASN1_ENUMERATED_set_int64);
187LCRYPTO_USED(ASN1_ENUMERATED_set);
188LCRYPTO_USED(ASN1_ENUMERATED_get);
189LCRYPTO_USED(BN_to_ASN1_ENUMERATED);
190LCRYPTO_USED(ASN1_ENUMERATED_to_BN);
191LCRYPTO_USED(ASN1_PRINTABLE_type);
192LCRYPTO_USED(ASN1_get_object);
193LCRYPTO_USED(ASN1_put_object);
194LCRYPTO_USED(ASN1_put_eoc);
195LCRYPTO_USED(ASN1_object_size);
196LCRYPTO_USED(ASN1_item_dup);
197LCRYPTO_USED(ASN1_dup);
198LCRYPTO_USED(ASN1_d2i_fp);
199LCRYPTO_USED(ASN1_item_d2i_fp);
200LCRYPTO_USED(ASN1_i2d_fp);
201LCRYPTO_USED(ASN1_item_i2d_fp);
202LCRYPTO_USED(ASN1_STRING_print_ex_fp);
203LCRYPTO_USED(ASN1_STRING_to_UTF8);
204LCRYPTO_USED(ASN1_d2i_bio);
205LCRYPTO_USED(ASN1_item_d2i_bio);
206LCRYPTO_USED(ASN1_i2d_bio);
207LCRYPTO_USED(ASN1_item_i2d_bio);
208LCRYPTO_USED(ASN1_UTCTIME_print);
209LCRYPTO_USED(ASN1_GENERALIZEDTIME_print);
210LCRYPTO_USED(ASN1_TIME_print);
211LCRYPTO_USED(ASN1_STRING_print);
212LCRYPTO_USED(ASN1_STRING_print_ex);
213LCRYPTO_USED(ASN1_bn_print);
214LCRYPTO_USED(ASN1_buf_print);
215LCRYPTO_USED(ASN1_parse);
216LCRYPTO_USED(ASN1_parse_dump);
217LCRYPTO_USED(ASN1_tag2bit);
218LCRYPTO_USED(ASN1_tag2str);
219LCRYPTO_USED(ASN1_UNIVERSALSTRING_to_string);
220LCRYPTO_USED(ASN1_TYPE_set_octetstring);
221LCRYPTO_USED(ASN1_TYPE_get_octetstring);
222LCRYPTO_USED(ASN1_TYPE_set_int_octetstring);
223LCRYPTO_USED(ASN1_TYPE_get_int_octetstring);
224LCRYPTO_USED(ASN1_item_pack);
225LCRYPTO_USED(ASN1_item_unpack);
226LCRYPTO_USED(ASN1_STRING_set_default_mask);
227LCRYPTO_USED(ASN1_STRING_set_default_mask_asc);
228LCRYPTO_USED(ASN1_STRING_get_default_mask);
229LCRYPTO_USED(ASN1_mbstring_copy);
230LCRYPTO_USED(ASN1_mbstring_ncopy);
231LCRYPTO_USED(ASN1_STRING_set_by_NID);
232LCRYPTO_USED(ASN1_STRING_TABLE_get);
233LCRYPTO_USED(ASN1_STRING_TABLE_add);
234LCRYPTO_USED(ASN1_STRING_TABLE_cleanup);
235LCRYPTO_USED(ASN1_item_new);
236LCRYPTO_USED(ASN1_item_free);
237LCRYPTO_USED(ASN1_item_d2i);
238LCRYPTO_USED(ASN1_item_i2d);
239LCRYPTO_USED(ASN1_add_oid_module);
240LCRYPTO_USED(ASN1_generate_nconf);
241LCRYPTO_USED(ASN1_generate_v3);
242LCRYPTO_USED(ASN1_item_print);
243LCRYPTO_USED(ASN1_PCTX_new);
244LCRYPTO_USED(ASN1_PCTX_free);
245LCRYPTO_USED(ASN1_PCTX_get_flags);
246LCRYPTO_USED(ASN1_PCTX_set_flags);
247LCRYPTO_USED(ASN1_PCTX_get_nm_flags);
248LCRYPTO_USED(ASN1_PCTX_set_nm_flags);
249LCRYPTO_USED(ASN1_PCTX_get_cert_flags);
250LCRYPTO_USED(ASN1_PCTX_set_cert_flags);
251LCRYPTO_USED(ASN1_PCTX_get_oid_flags);
252LCRYPTO_USED(ASN1_PCTX_set_oid_flags);
253LCRYPTO_USED(ASN1_PCTX_get_str_flags);
254LCRYPTO_USED(ASN1_PCTX_set_str_flags);
255LCRYPTO_USED(BIO_f_asn1);
256LCRYPTO_USED(SMIME_crlf_copy);
257LCRYPTO_USED(SMIME_text);
258LCRYPTO_USED(ERR_load_ASN1_strings);
259LCRYPTO_USED(ASN1_time_parse);
260LCRYPTO_USED(ASN1_time_tm_cmp);
261
262#endif /* _LIBCRYPTO_ASN1_H */
diff --git a/src/lib/libcrypto/hidden/openssl/asn1t.h b/src/lib/libcrypto/hidden/openssl/asn1t.h
new file mode 100644
index 0000000000..dcc95cf0b2
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/asn1t.h
@@ -0,0 +1,39 @@
1/* $OpenBSD: asn1t.h,v 1.1 2023/07/05 21:23:37 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_ASN1T_H
19#define _LIBCRYPTO_ASN1T_H
20
21#ifndef _MSC_VER
22#include_next <openssl/asn1t.h>
23#else
24#include "../include/openssl/asn1t.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(ASN1_item_ex_new);
29LCRYPTO_USED(ASN1_item_ex_free);
30LCRYPTO_USED(ASN1_template_new);
31LCRYPTO_USED(ASN1_primitive_new);
32LCRYPTO_USED(ASN1_template_free);
33LCRYPTO_USED(ASN1_template_d2i);
34LCRYPTO_USED(ASN1_item_ex_d2i);
35LCRYPTO_USED(ASN1_item_ex_i2d);
36LCRYPTO_USED(ASN1_template_i2d);
37LCRYPTO_USED(ASN1_primitive_free);
38
39#endif /* _LIBCRYPTO_ASN1T_H */
diff --git a/src/lib/libcrypto/hidden/openssl/bio.h b/src/lib/libcrypto/hidden/openssl/bio.h
new file mode 100644
index 0000000000..72c50d5196
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/bio.h
@@ -0,0 +1,154 @@
1/* $OpenBSD: bio.h,v 1.1 2023/07/05 21:23:37 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_BIO_H
19#define _LIBCRYPTO_BIO_H
20
21#ifndef _MSC_VER
22#include_next <openssl/bio.h>
23#else
24#include "../include/openssl/bio.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(BIO_set_flags);
29LCRYPTO_USED(BIO_test_flags);
30LCRYPTO_USED(BIO_clear_flags);
31LCRYPTO_USED(BIO_get_callback);
32LCRYPTO_USED(BIO_set_callback);
33LCRYPTO_USED(BIO_get_callback_ex);
34LCRYPTO_USED(BIO_set_callback_ex);
35LCRYPTO_USED(BIO_get_callback_arg);
36LCRYPTO_USED(BIO_set_callback_arg);
37LCRYPTO_USED(BIO_method_name);
38LCRYPTO_USED(BIO_method_type);
39LCRYPTO_USED(BIO_meth_new);
40LCRYPTO_USED(BIO_meth_free);
41LCRYPTO_USED(BIO_meth_get_write);
42LCRYPTO_USED(BIO_meth_set_write);
43LCRYPTO_USED(BIO_meth_get_read);
44LCRYPTO_USED(BIO_meth_set_read);
45LCRYPTO_USED(BIO_meth_get_puts);
46LCRYPTO_USED(BIO_meth_set_puts);
47LCRYPTO_USED(BIO_meth_get_gets);
48LCRYPTO_USED(BIO_meth_set_gets);
49LCRYPTO_USED(BIO_meth_get_ctrl);
50LCRYPTO_USED(BIO_meth_set_ctrl);
51LCRYPTO_USED(BIO_meth_get_create);
52LCRYPTO_USED(BIO_meth_set_create);
53LCRYPTO_USED(BIO_meth_get_destroy);
54LCRYPTO_USED(BIO_meth_set_destroy);
55LCRYPTO_USED(BIO_meth_get_callback_ctrl);
56LCRYPTO_USED(BIO_meth_set_callback_ctrl);
57LCRYPTO_USED(BIO_ctrl_pending);
58LCRYPTO_USED(BIO_ctrl_wpending);
59LCRYPTO_USED(BIO_ctrl_get_write_guarantee);
60LCRYPTO_USED(BIO_ctrl_get_read_request);
61LCRYPTO_USED(BIO_ctrl_reset_read_request);
62LCRYPTO_USED(BIO_set_ex_data);
63LCRYPTO_USED(BIO_get_ex_data);
64LCRYPTO_USED(BIO_number_read);
65LCRYPTO_USED(BIO_number_written);
66LCRYPTO_USED(BIO_asn1_set_prefix);
67LCRYPTO_USED(BIO_asn1_get_prefix);
68LCRYPTO_USED(BIO_asn1_set_suffix);
69LCRYPTO_USED(BIO_asn1_get_suffix);
70LCRYPTO_USED(BIO_get_new_index);
71LCRYPTO_USED(BIO_s_file);
72LCRYPTO_USED(BIO_new_file);
73LCRYPTO_USED(BIO_new_fp);
74LCRYPTO_USED(BIO_new);
75LCRYPTO_USED(BIO_set);
76LCRYPTO_USED(BIO_free);
77LCRYPTO_USED(BIO_up_ref);
78LCRYPTO_USED(BIO_get_data);
79LCRYPTO_USED(BIO_set_data);
80LCRYPTO_USED(BIO_get_init);
81LCRYPTO_USED(BIO_set_init);
82LCRYPTO_USED(BIO_get_shutdown);
83LCRYPTO_USED(BIO_set_shutdown);
84LCRYPTO_USED(BIO_vfree);
85LCRYPTO_USED(BIO_read);
86LCRYPTO_USED(BIO_gets);
87LCRYPTO_USED(BIO_write);
88LCRYPTO_USED(BIO_puts);
89LCRYPTO_USED(BIO_indent);
90LCRYPTO_USED(BIO_ctrl);
91LCRYPTO_USED(BIO_callback_ctrl);
92LCRYPTO_USED(BIO_ptr_ctrl);
93LCRYPTO_USED(BIO_int_ctrl);
94LCRYPTO_USED(BIO_push);
95LCRYPTO_USED(BIO_pop);
96LCRYPTO_USED(BIO_free_all);
97LCRYPTO_USED(BIO_find_type);
98LCRYPTO_USED(BIO_next);
99LCRYPTO_USED(BIO_set_next);
100LCRYPTO_USED(BIO_get_retry_BIO);
101LCRYPTO_USED(BIO_get_retry_reason);
102LCRYPTO_USED(BIO_set_retry_reason);
103LCRYPTO_USED(BIO_dup_chain);
104LCRYPTO_USED(BIO_nread0);
105LCRYPTO_USED(BIO_nread);
106LCRYPTO_USED(BIO_nwrite0);
107LCRYPTO_USED(BIO_nwrite);
108LCRYPTO_USED(BIO_debug_callback);
109LCRYPTO_USED(BIO_s_mem);
110LCRYPTO_USED(BIO_new_mem_buf);
111LCRYPTO_USED(BIO_s_socket);
112LCRYPTO_USED(BIO_s_connect);
113LCRYPTO_USED(BIO_s_accept);
114LCRYPTO_USED(BIO_s_fd);
115LCRYPTO_USED(BIO_s_log);
116LCRYPTO_USED(BIO_s_bio);
117LCRYPTO_USED(BIO_s_null);
118LCRYPTO_USED(BIO_f_null);
119LCRYPTO_USED(BIO_f_buffer);
120LCRYPTO_USED(BIO_f_nbio_test);
121LCRYPTO_USED(BIO_s_datagram);
122LCRYPTO_USED(BIO_sock_should_retry);
123LCRYPTO_USED(BIO_sock_non_fatal_error);
124LCRYPTO_USED(BIO_dgram_non_fatal_error);
125LCRYPTO_USED(BIO_fd_should_retry);
126LCRYPTO_USED(BIO_fd_non_fatal_error);
127LCRYPTO_USED(BIO_dump);
128LCRYPTO_USED(BIO_dump_indent);
129LCRYPTO_USED(BIO_dump_fp);
130LCRYPTO_USED(BIO_dump_indent_fp);
131LCRYPTO_USED(BIO_gethostbyname);
132LCRYPTO_USED(BIO_sock_error);
133LCRYPTO_USED(BIO_socket_ioctl);
134LCRYPTO_USED(BIO_socket_nbio);
135LCRYPTO_USED(BIO_get_port);
136LCRYPTO_USED(BIO_get_host_ip);
137LCRYPTO_USED(BIO_get_accept_socket);
138LCRYPTO_USED(BIO_accept);
139LCRYPTO_USED(BIO_sock_init);
140LCRYPTO_USED(BIO_sock_cleanup);
141LCRYPTO_USED(BIO_set_tcp_ndelay);
142LCRYPTO_USED(BIO_new_socket);
143LCRYPTO_USED(BIO_new_dgram);
144LCRYPTO_USED(BIO_new_fd);
145LCRYPTO_USED(BIO_new_connect);
146LCRYPTO_USED(BIO_new_accept);
147LCRYPTO_USED(BIO_copy_next_retry);
148LCRYPTO_USED(BIO_printf);
149LCRYPTO_USED(BIO_vprintf);
150LCRYPTO_USED(BIO_snprintf);
151LCRYPTO_USED(BIO_vsnprintf);
152LCRYPTO_USED(ERR_load_BIO_strings);
153
154#endif /* _LIBCRYPTO_BIO_H */