summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2022-11-14 17:48:50 +0000
committerbeck <>2022-11-14 17:48:50 +0000
commit109899f1b36632f5f1c469c4f562df69585eb21e (patch)
treec42f727f8848b4a56e738422f26e8b44150174e4 /src
parentfd2db7678bc81cd8abe106c7bd1c724c8b01888d (diff)
downloadopenbsd-109899f1b36632f5f1c469c4f562df69585eb21e.tar.gz
openbsd-109899f1b36632f5f1c469c4f562df69585eb21e.tar.bz2
openbsd-109899f1b36632f5f1c469c4f562df69585eb21e.zip
Hide public symbols in libcrypto/x509 .c files
ok tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/Symbols.namespace649
-rw-r--r--src/lib/libcrypto/hidden/openssl/x509.h278
-rw-r--r--src/lib/libcrypto/hidden/openssl/x509_vfy.h162
-rw-r--r--src/lib/libcrypto/hidden/openssl/x509v3.h284
-rw-r--r--src/lib/libcrypto/x509/by_dir.c3
-rw-r--r--src/lib/libcrypto/x509/by_file.c7
-rw-r--r--src/lib/libcrypto/x509/by_mem.c3
-rw-r--r--src/lib/libcrypto/x509/pcy_lib.c11
-rw-r--r--src/lib/libcrypto/x509/pcy_tree.c4
-rw-r--r--src/lib/libcrypto/x509/x509_addr.c29
-rw-r--r--src/lib/libcrypto/x509/x509_akeya.c6
-rw-r--r--src/lib/libcrypto/x509/x509_alt.c9
-rw-r--r--src/lib/libcrypto/x509/x509_asid.c26
-rw-r--r--src/lib/libcrypto/x509/x509_att.c21
-rw-r--r--src/lib/libcrypto/x509/x509_bcons.c6
-rw-r--r--src/lib/libcrypto/x509/x509_bitst.c4
-rw-r--r--src/lib/libcrypto/x509/x509_cmp.c27
-rw-r--r--src/lib/libcrypto/x509/x509_conf.c21
-rw-r--r--src/lib/libcrypto/x509/x509_cpols.c23
-rw-r--r--src/lib/libcrypto/x509/x509_crld.c19
-rw-r--r--src/lib/libcrypto/x509/x509_d2.c5
-rw-r--r--src/lib/libcrypto/x509/x509_def.c8
-rw-r--r--src/lib/libcrypto/x509/x509_enum.c3
-rw-r--r--src/lib/libcrypto/x509/x509_err.c4
-rw-r--r--src/lib/libcrypto/x509/x509_ext.c29
-rw-r--r--src/lib/libcrypto/x509/x509_extku.c6
-rw-r--r--src/lib/libcrypto/x509/x509_genn.c25
-rw-r--r--src/lib/libcrypto/x509/x509_info.c11
-rw-r--r--src/lib/libcrypto/x509/x509_lib.c12
-rw-r--r--src/lib/libcrypto/x509/x509_lu.c44
-rw-r--r--src/lib/libcrypto/x509/x509_ncons.c7
-rw-r--r--src/lib/libcrypto/x509/x509_obj.c3
-rw-r--r--src/lib/libcrypto/x509/x509_pcia.c10
-rw-r--r--src/lib/libcrypto/x509/x509_pcons.c4
-rw-r--r--src/lib/libcrypto/x509/x509_pku.c6
-rw-r--r--src/lib/libcrypto/x509/x509_pmaps.c4
-rw-r--r--src/lib/libcrypto/x509/x509_prn.c6
-rw-r--r--src/lib/libcrypto/x509/x509_purp.c21
-rw-r--r--src/lib/libcrypto/x509/x509_r2x.c3
-rw-r--r--src/lib/libcrypto/x509/x509_req.c22
-rw-r--r--src/lib/libcrypto/x509/x509_set.c20
-rw-r--r--src/lib/libcrypto/x509/x509_skey.c4
-rw-r--r--src/lib/libcrypto/x509/x509_sxnet.c16
-rw-r--r--src/lib/libcrypto/x509/x509_trs.c13
-rw-r--r--src/lib/libcrypto/x509/x509_txt.c3
-rw-r--r--src/lib/libcrypto/x509/x509_utl.c28
-rw-r--r--src/lib/libcrypto/x509/x509_v3.c17
-rw-r--r--src/lib/libcrypto/x509/x509_vfy.c54
-rw-r--r--src/lib/libcrypto/x509/x509_vpm.c32
-rw-r--r--src/lib/libcrypto/x509/x509cset.c16
-rw-r--r--src/lib/libcrypto/x509/x509name.c21
-rw-r--r--src/lib/libcrypto/x509/x509rset.c7
-rw-r--r--src/lib/libcrypto/x509/x509spki.c6
-rw-r--r--src/lib/libcrypto/x509/x509type.c3
-rw-r--r--src/lib/libcrypto/x509/x_all.c60
55 files changed, 2073 insertions, 52 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 270be2262a..b4be562f6a 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -257,3 +257,652 @@ _libre_UI_set_result
257_libre_UI_UTIL_read_pw_string 257_libre_UI_UTIL_read_pw_string
258_libre_UI_UTIL_read_pw 258_libre_UI_UTIL_read_pw
259_libre_ERR_load_UI_strings 259_libre_ERR_load_UI_strings
260_libre_X509_CRL_up_ref
261_libre_i2d_re_X509_CRL_tbs
262_libre_X509_get_X509_PUBKEY
263_libre_X509_verify_cert_error_string
264_libre_X509_verify
265_libre_X509_REQ_verify
266_libre_NETSCAPE_SPKI_verify
267_libre_NETSCAPE_SPKI_b64_decode
268_libre_NETSCAPE_SPKI_b64_encode
269_libre_NETSCAPE_SPKI_get_pubkey
270_libre_NETSCAPE_SPKI_set_pubkey
271_libre_X509_sign
272_libre_X509_sign_ctx
273_libre_X509_REQ_sign
274_libre_X509_REQ_sign_ctx
275_libre_X509_CRL_sign
276_libre_X509_CRL_sign_ctx
277_libre_NETSCAPE_SPKI_sign
278_libre_X509_pubkey_digest
279_libre_X509_digest
280_libre_X509_CRL_digest
281_libre_X509_REQ_digest
282_libre_X509_NAME_digest
283_libre_d2i_X509_fp
284_libre_i2d_X509_fp
285_libre_d2i_X509_CRL_fp
286_libre_i2d_X509_CRL_fp
287_libre_d2i_X509_REQ_fp
288_libre_i2d_X509_REQ_fp
289_libre_d2i_RSAPrivateKey_fp
290_libre_i2d_RSAPrivateKey_fp
291_libre_d2i_RSAPublicKey_fp
292_libre_i2d_RSAPublicKey_fp
293_libre_d2i_DSAPrivateKey_fp
294_libre_i2d_DSAPrivateKey_fp
295_libre_d2i_ECPrivateKey_fp
296_libre_i2d_ECPrivateKey_fp
297_libre_d2i_PKCS8_fp
298_libre_i2d_PKCS8_fp
299_libre_d2i_PKCS8_PRIV_KEY_INFO_fp
300_libre_i2d_PKCS8_PRIV_KEY_INFO_fp
301_libre_i2d_PKCS8PrivateKeyInfo_fp
302_libre_i2d_PrivateKey_fp
303_libre_d2i_PrivateKey_fp
304_libre_d2i_X509_bio
305_libre_i2d_X509_bio
306_libre_d2i_X509_CRL_bio
307_libre_i2d_X509_CRL_bio
308_libre_d2i_X509_REQ_bio
309_libre_i2d_X509_REQ_bio
310_libre_d2i_RSAPrivateKey_bio
311_libre_i2d_RSAPrivateKey_bio
312_libre_d2i_RSAPublicKey_bio
313_libre_i2d_RSAPublicKey_bio
314_libre_d2i_DSAPrivateKey_bio
315_libre_i2d_DSAPrivateKey_bio
316_libre_d2i_ECPrivateKey_bio
317_libre_i2d_ECPrivateKey_bio
318_libre_d2i_PKCS8_bio
319_libre_i2d_PKCS8_bio
320_libre_d2i_PKCS8_PRIV_KEY_INFO_bio
321_libre_i2d_PKCS8_PRIV_KEY_INFO_bio
322_libre_i2d_PKCS8PrivateKeyInfo_bio
323_libre_i2d_PrivateKey_bio
324_libre_d2i_PrivateKey_bio
325_libre_X509_cmp_time
326_libre_X509_cmp_current_time
327_libre_X509_time_adj
328_libre_X509_time_adj_ex
329_libre_X509_gmtime_adj
330_libre_X509_get_default_cert_area
331_libre_X509_get_default_cert_dir
332_libre_X509_get_default_cert_file
333_libre_X509_get_default_cert_dir_env
334_libre_X509_get_default_cert_file_env
335_libre_X509_get_default_private_dir
336_libre_X509_to_X509_REQ
337_libre_X509_REQ_to_X509
338_libre_X509_get_pubkey_parameters
339_libre_X509_TRUST_set_default
340_libre_X509_TRUST_set
341_libre_X509_NAME_oneline
342_libre_X509_get0_extensions
343_libre_X509_get0_tbs_sigalg
344_libre_X509_set_version
345_libre_X509_get_version
346_libre_X509_set_serialNumber
347_libre_X509_get_serialNumber
348_libre_X509_get0_serialNumber
349_libre_X509_set_issuer_name
350_libre_X509_get_issuer_name
351_libre_X509_set_subject_name
352_libre_X509_get_subject_name
353_libre_X509_set_notBefore
354_libre_X509_set1_notBefore
355_libre_X509_set_notAfter
356_libre_X509_set1_notAfter
357_libre_X509_get0_notBefore
358_libre_X509_getm_notBefore
359_libre_X509_get0_notAfter
360_libre_X509_getm_notAfter
361_libre_X509_set_pubkey
362_libre_X509_get_pubkey
363_libre_X509_get0_pubkey
364_libre_X509_get0_pubkey_bitstr
365_libre_X509_certificate_type
366_libre_X509_get_signature_type
367_libre_X509_REQ_set_version
368_libre_X509_REQ_get_version
369_libre_X509_REQ_set_subject_name
370_libre_X509_REQ_get_subject_name
371_libre_X509_REQ_set_pubkey
372_libre_X509_REQ_get_pubkey
373_libre_i2d_re_X509_REQ_tbs
374_libre_X509_REQ_get0_pubkey
375_libre_X509_REQ_extension_nid
376_libre_X509_REQ_get_extension_nids
377_libre_X509_REQ_set_extension_nids
378_libre_X509_REQ_get_extensions
379_libre_X509_REQ_add_extensions_nid
380_libre_X509_REQ_add_extensions
381_libre_X509_REQ_get_attr_count
382_libre_X509_REQ_get_attr_by_NID
383_libre_X509_REQ_get_attr_by_OBJ
384_libre_X509_REQ_get_attr
385_libre_X509_REQ_delete_attr
386_libre_X509_REQ_add1_attr
387_libre_X509_REQ_add1_attr_by_OBJ
388_libre_X509_REQ_add1_attr_by_NID
389_libre_X509_REQ_add1_attr_by_txt
390_libre_X509_CRL_set_version
391_libre_X509_CRL_set_issuer_name
392_libre_X509_CRL_set_lastUpdate
393_libre_X509_CRL_set1_lastUpdate
394_libre_X509_CRL_set_nextUpdate
395_libre_X509_CRL_set1_nextUpdate
396_libre_X509_CRL_sort
397_libre_X509_REVOKED_get0_extensions
398_libre_X509_REVOKED_get0_revocationDate
399_libre_X509_REVOKED_get0_serialNumber
400_libre_X509_REVOKED_set_revocationDate
401_libre_X509_REVOKED_set_serialNumber
402_libre_X509_REQ_check_private_key
403_libre_X509_check_private_key
404_libre_X509_issuer_and_serial_cmp
405_libre_X509_issuer_and_serial_hash
406_libre_X509_issuer_name_cmp
407_libre_X509_issuer_name_hash
408_libre_X509_subject_name_cmp
409_libre_X509_subject_name_hash
410_libre_X509_issuer_name_hash_old
411_libre_X509_subject_name_hash_old
412_libre_X509_cmp
413_libre_X509_NAME_cmp
414_libre_X509_NAME_hash
415_libre_X509_NAME_hash_old
416_libre_X509_CRL_cmp
417_libre_X509_CRL_match
418_libre_X509_NAME_entry_count
419_libre_X509_NAME_get_text_by_NID
420_libre_X509_NAME_get_text_by_OBJ
421_libre_X509_NAME_get_index_by_NID
422_libre_X509_NAME_get_index_by_OBJ
423_libre_X509_NAME_get_entry
424_libre_X509_NAME_delete_entry
425_libre_X509_NAME_add_entry
426_libre_X509_NAME_add_entry_by_OBJ
427_libre_X509_NAME_add_entry_by_NID
428_libre_X509_NAME_ENTRY_create_by_txt
429_libre_X509_NAME_ENTRY_create_by_NID
430_libre_X509_NAME_add_entry_by_txt
431_libre_X509_NAME_ENTRY_create_by_OBJ
432_libre_X509_NAME_ENTRY_set_object
433_libre_X509_NAME_ENTRY_set_data
434_libre_X509_NAME_ENTRY_get_object
435_libre_X509_NAME_ENTRY_get_data
436_libre_X509_NAME_ENTRY_set
437_libre_X509v3_get_ext_count
438_libre_X509v3_get_ext_by_NID
439_libre_X509v3_get_ext_by_OBJ
440_libre_X509v3_get_ext_by_critical
441_libre_X509v3_get_ext
442_libre_X509v3_delete_ext
443_libre_X509v3_add_ext
444_libre_X509_get_ext_count
445_libre_X509_get_ext_by_NID
446_libre_X509_get_ext_by_OBJ
447_libre_X509_get_ext_by_critical
448_libre_X509_get_ext
449_libre_X509_delete_ext
450_libre_X509_add_ext
451_libre_X509_get_ext_d2i
452_libre_X509_add1_ext_i2d
453_libre_X509_CRL_get_ext_count
454_libre_X509_CRL_get_ext_by_NID
455_libre_X509_CRL_get_ext_by_OBJ
456_libre_X509_CRL_get_ext_by_critical
457_libre_X509_CRL_get_ext
458_libre_X509_CRL_delete_ext
459_libre_X509_CRL_add_ext
460_libre_X509_CRL_get_ext_d2i
461_libre_X509_CRL_add1_ext_i2d
462_libre_X509_REVOKED_get_ext_count
463_libre_X509_REVOKED_get_ext_by_NID
464_libre_X509_REVOKED_get_ext_by_OBJ
465_libre_X509_REVOKED_get_ext_by_critical
466_libre_X509_REVOKED_get_ext
467_libre_X509_REVOKED_delete_ext
468_libre_X509_REVOKED_add_ext
469_libre_X509_REVOKED_get_ext_d2i
470_libre_X509_REVOKED_add1_ext_i2d
471_libre_X509_EXTENSION_create_by_NID
472_libre_X509_EXTENSION_create_by_OBJ
473_libre_X509_EXTENSION_set_object
474_libre_X509_EXTENSION_set_critical
475_libre_X509_EXTENSION_set_data
476_libre_X509_EXTENSION_get_object
477_libre_X509_EXTENSION_get_data
478_libre_X509_EXTENSION_get_critical
479_libre_X509at_get_attr_count
480_libre_X509at_get_attr_by_NID
481_libre_X509at_get_attr_by_OBJ
482_libre_X509at_get_attr
483_libre_X509at_delete_attr
484_libre_X509at_add1_attr
485_libre_X509at_add1_attr_by_OBJ
486_libre_X509at_add1_attr_by_NID
487_libre_X509at_add1_attr_by_txt
488_libre_X509at_get0_data_by_OBJ
489_libre_X509_ATTRIBUTE_create_by_NID
490_libre_X509_ATTRIBUTE_create_by_OBJ
491_libre_X509_ATTRIBUTE_create_by_txt
492_libre_X509_ATTRIBUTE_set1_object
493_libre_X509_ATTRIBUTE_set1_data
494_libre_X509_ATTRIBUTE_get0_data
495_libre_X509_ATTRIBUTE_count
496_libre_X509_ATTRIBUTE_get0_object
497_libre_X509_ATTRIBUTE_get0_type
498_libre_X509_verify_cert
499_libre_X509_find_by_issuer_and_serial
500_libre_X509_find_by_subject
501_libre_X509_check_trust
502_libre_X509_TRUST_get_count
503_libre_X509_TRUST_get0
504_libre_X509_TRUST_get_by_id
505_libre_X509_TRUST_add
506_libre_X509_TRUST_cleanup
507_libre_X509_TRUST_get_flags
508_libre_X509_TRUST_get0_name
509_libre_X509_TRUST_get_trust
510_libre_X509_up_ref
511_libre_X509_chain_up_ref
512_libre_ERR_load_X509_strings
513_libre_X509_STORE_set_depth
514_libre_X509_STORE_CTX_set_depth
515_libre_X509_OBJECT_new
516_libre_X509_OBJECT_free
517_libre_X509_OBJECT_idx_by_subject
518_libre_X509_OBJECT_retrieve_by_subject
519_libre_X509_OBJECT_retrieve_match
520_libre_X509_OBJECT_up_ref_count
521_libre_X509_OBJECT_get_type
522_libre_X509_OBJECT_get0_X509
523_libre_X509_OBJECT_get0_X509_CRL
524_libre_X509_STORE_new
525_libre_X509_STORE_free
526_libre_X509_STORE_up_ref
527_libre_X509_STORE_get1_certs
528_libre_X509_STORE_get1_crls
529_libre_X509_STORE_get0_objects
530_libre_X509_STORE_get_ex_data
531_libre_X509_STORE_set_ex_data
532_libre_X509_STORE_set_flags
533_libre_X509_STORE_set_purpose
534_libre_X509_STORE_set_trust
535_libre_X509_STORE_set1_param
536_libre_X509_STORE_get0_param
537_libre_X509_STORE_get_verify_cb
538_libre_X509_STORE_set_verify_cb
539_libre_X509_STORE_CTX_new
540_libre_X509_STORE_CTX_get1_issuer
541_libre_X509_STORE_CTX_free
542_libre_X509_STORE_CTX_init
543_libre_X509_STORE_CTX_get0_cert
544_libre_X509_STORE_CTX_get0_chain
545_libre_X509_STORE_CTX_get0_store
546_libre_X509_STORE_CTX_get0_untrusted
547_libre_X509_STORE_CTX_set0_untrusted
548_libre_X509_STORE_CTX_trusted_stack
549_libre_X509_STORE_CTX_set0_trusted_stack
550_libre_X509_STORE_CTX_cleanup
551_libre_X509_STORE_add_lookup
552_libre_X509_LOOKUP_hash_dir
553_libre_X509_LOOKUP_file
554_libre_X509_LOOKUP_mem
555_libre_X509_STORE_add_cert
556_libre_X509_STORE_add_crl
557_libre_X509_STORE_CTX_get_by_subject
558_libre_X509_STORE_CTX_get_obj_by_subject
559_libre_X509_LOOKUP_ctrl
560_libre_X509_load_cert_file
561_libre_X509_load_crl_file
562_libre_X509_load_cert_crl_file
563_libre_X509_LOOKUP_new
564_libre_X509_LOOKUP_free
565_libre_X509_LOOKUP_init
566_libre_X509_LOOKUP_by_subject
567_libre_X509_LOOKUP_by_issuer_serial
568_libre_X509_LOOKUP_by_fingerprint
569_libre_X509_LOOKUP_by_alias
570_libre_X509_LOOKUP_shutdown
571_libre_X509_STORE_load_locations
572_libre_X509_STORE_load_mem
573_libre_X509_STORE_set_default_paths
574_libre_X509_STORE_CTX_get_ex_new_index
575_libre_X509_STORE_CTX_set_ex_data
576_libre_X509_STORE_CTX_get_ex_data
577_libre_X509_STORE_CTX_get_error
578_libre_X509_STORE_CTX_set_error
579_libre_X509_STORE_CTX_get_error_depth
580_libre_X509_STORE_CTX_set_error_depth
581_libre_X509_STORE_CTX_get_current_cert
582_libre_X509_STORE_CTX_set_current_cert
583_libre_X509_STORE_CTX_get0_current_issuer
584_libre_X509_STORE_CTX_get0_current_crl
585_libre_X509_STORE_CTX_get0_parent_ctx
586_libre_X509_STORE_CTX_get_chain
587_libre_X509_STORE_CTX_get1_chain
588_libre_X509_STORE_CTX_set_cert
589_libre_X509_STORE_CTX_set_chain
590_libre_X509_STORE_CTX_set0_crls
591_libre_X509_STORE_CTX_set_purpose
592_libre_X509_STORE_CTX_set_trust
593_libre_X509_STORE_CTX_purpose_inherit
594_libre_X509_STORE_CTX_set_flags
595_libre_X509_STORE_CTX_set_time
596_libre_X509_STORE_CTX_set0_verified_chain
597_libre_X509_STORE_CTX_get_verify
598_libre_X509_STORE_CTX_set_verify
599_libre_X509_STORE_CTX_get_verify_cb
600_libre_X509_STORE_CTX_set_verify_cb
601_libre_X509_STORE_set_verify
602_libre_X509_STORE_get_verify
603_libre_X509_STORE_CTX_get0_policy_tree
604_libre_X509_STORE_CTX_get_explicit_policy
605_libre_X509_STORE_CTX_get_num_untrusted
606_libre_X509_STORE_CTX_get0_param
607_libre_X509_STORE_CTX_set0_param
608_libre_X509_STORE_CTX_set_default
609_libre_X509_VERIFY_PARAM_new
610_libre_X509_VERIFY_PARAM_free
611_libre_X509_VERIFY_PARAM_inherit
612_libre_X509_VERIFY_PARAM_set1
613_libre_X509_VERIFY_PARAM_set1_name
614_libre_X509_VERIFY_PARAM_set_flags
615_libre_X509_VERIFY_PARAM_clear_flags
616_libre_X509_VERIFY_PARAM_get_flags
617_libre_X509_VERIFY_PARAM_set_purpose
618_libre_X509_VERIFY_PARAM_set_trust
619_libre_X509_VERIFY_PARAM_set_depth
620_libre_X509_VERIFY_PARAM_set_auth_level
621_libre_X509_VERIFY_PARAM_get_time
622_libre_X509_VERIFY_PARAM_set_time
623_libre_X509_VERIFY_PARAM_add0_policy
624_libre_X509_VERIFY_PARAM_set1_policies
625_libre_X509_VERIFY_PARAM_get_depth
626_libre_X509_VERIFY_PARAM_set1_host
627_libre_X509_VERIFY_PARAM_add1_host
628_libre_X509_VERIFY_PARAM_set_hostflags
629_libre_X509_VERIFY_PARAM_get0_peername
630_libre_X509_VERIFY_PARAM_set1_email
631_libre_X509_VERIFY_PARAM_set1_ip
632_libre_X509_VERIFY_PARAM_set1_ip_asc
633_libre_X509_VERIFY_PARAM_get0_name
634_libre_X509_VERIFY_PARAM_get0
635_libre_X509_VERIFY_PARAM_get_count
636_libre_X509_VERIFY_PARAM_add0_table
637_libre_X509_VERIFY_PARAM_lookup
638_libre_X509_VERIFY_PARAM_table_cleanup
639_libre_X509_policy_check
640_libre_X509_policy_tree_free
641_libre_X509_policy_tree_level_count
642_libre_X509_policy_tree_get0_level
643_libre_X509_policy_tree_get0_policies
644_libre_X509_policy_tree_get0_user_policies
645_libre_X509_policy_level_node_count
646_libre_X509_policy_level_get0_node
647_libre_X509_policy_node_get0_policy
648_libre_X509_policy_node_get0_qualifiers
649_libre_X509_policy_node_get0_parent
650_libre_PROXY_POLICY_new
651_libre_PROXY_POLICY_free
652_libre_d2i_PROXY_POLICY
653_libre_i2d_PROXY_POLICY
654_libre_PROXY_CERT_INFO_EXTENSION_new
655_libre_PROXY_CERT_INFO_EXTENSION_free
656_libre_d2i_PROXY_CERT_INFO_EXTENSION
657_libre_i2d_PROXY_CERT_INFO_EXTENSION
658_libre_BASIC_CONSTRAINTS_new
659_libre_BASIC_CONSTRAINTS_free
660_libre_d2i_BASIC_CONSTRAINTS
661_libre_i2d_BASIC_CONSTRAINTS
662_libre_SXNET_new
663_libre_SXNET_free
664_libre_d2i_SXNET
665_libre_i2d_SXNET
666_libre_SXNETID_new
667_libre_SXNETID_free
668_libre_d2i_SXNETID
669_libre_i2d_SXNETID
670_libre_SXNET_add_id_asc
671_libre_SXNET_add_id_ulong
672_libre_SXNET_add_id_INTEGER
673_libre_SXNET_get_id_asc
674_libre_SXNET_get_id_ulong
675_libre_SXNET_get_id_INTEGER
676_libre_AUTHORITY_KEYID_new
677_libre_AUTHORITY_KEYID_free
678_libre_d2i_AUTHORITY_KEYID
679_libre_i2d_AUTHORITY_KEYID
680_libre_PKEY_USAGE_PERIOD_new
681_libre_PKEY_USAGE_PERIOD_free
682_libre_d2i_PKEY_USAGE_PERIOD
683_libre_i2d_PKEY_USAGE_PERIOD
684_libre_GENERAL_NAME_new
685_libre_GENERAL_NAME_free
686_libre_d2i_GENERAL_NAME
687_libre_i2d_GENERAL_NAME
688_libre_GENERAL_NAME_dup
689_libre_GENERAL_NAME_cmp
690_libre_v2i_ASN1_BIT_STRING
691_libre_i2v_ASN1_BIT_STRING
692_libre_i2v_GENERAL_NAME
693_libre_GENERAL_NAME_print
694_libre_GENERAL_NAMES_new
695_libre_GENERAL_NAMES_free
696_libre_d2i_GENERAL_NAMES
697_libre_i2d_GENERAL_NAMES
698_libre_i2v_GENERAL_NAMES
699_libre_v2i_GENERAL_NAMES
700_libre_OTHERNAME_new
701_libre_OTHERNAME_free
702_libre_d2i_OTHERNAME
703_libre_i2d_OTHERNAME
704_libre_EDIPARTYNAME_new
705_libre_EDIPARTYNAME_free
706_libre_d2i_EDIPARTYNAME
707_libre_i2d_EDIPARTYNAME
708_libre_OTHERNAME_cmp
709_libre_GENERAL_NAME_set0_value
710_libre_GENERAL_NAME_get0_value
711_libre_GENERAL_NAME_set0_othername
712_libre_GENERAL_NAME_get0_otherName
713_libre_i2s_ASN1_OCTET_STRING
714_libre_s2i_ASN1_OCTET_STRING
715_libre_EXTENDED_KEY_USAGE_new
716_libre_EXTENDED_KEY_USAGE_free
717_libre_d2i_EXTENDED_KEY_USAGE
718_libre_i2d_EXTENDED_KEY_USAGE
719_libre_i2a_ACCESS_DESCRIPTION
720_libre_CERTIFICATEPOLICIES_new
721_libre_CERTIFICATEPOLICIES_free
722_libre_d2i_CERTIFICATEPOLICIES
723_libre_i2d_CERTIFICATEPOLICIES
724_libre_POLICYINFO_new
725_libre_POLICYINFO_free
726_libre_d2i_POLICYINFO
727_libre_i2d_POLICYINFO
728_libre_POLICYQUALINFO_new
729_libre_POLICYQUALINFO_free
730_libre_d2i_POLICYQUALINFO
731_libre_i2d_POLICYQUALINFO
732_libre_USERNOTICE_new
733_libre_USERNOTICE_free
734_libre_d2i_USERNOTICE
735_libre_i2d_USERNOTICE
736_libre_NOTICEREF_new
737_libre_NOTICEREF_free
738_libre_d2i_NOTICEREF
739_libre_i2d_NOTICEREF
740_libre_CRL_DIST_POINTS_new
741_libre_CRL_DIST_POINTS_free
742_libre_d2i_CRL_DIST_POINTS
743_libre_i2d_CRL_DIST_POINTS
744_libre_DIST_POINT_new
745_libre_DIST_POINT_free
746_libre_d2i_DIST_POINT
747_libre_i2d_DIST_POINT
748_libre_DIST_POINT_NAME_new
749_libre_DIST_POINT_NAME_free
750_libre_d2i_DIST_POINT_NAME
751_libre_i2d_DIST_POINT_NAME
752_libre_ISSUING_DIST_POINT_new
753_libre_ISSUING_DIST_POINT_free
754_libre_d2i_ISSUING_DIST_POINT
755_libre_i2d_ISSUING_DIST_POINT
756_libre_DIST_POINT_set_dpname
757_libre_NAME_CONSTRAINTS_check
758_libre_ACCESS_DESCRIPTION_new
759_libre_ACCESS_DESCRIPTION_free
760_libre_d2i_ACCESS_DESCRIPTION
761_libre_i2d_ACCESS_DESCRIPTION
762_libre_AUTHORITY_INFO_ACCESS_new
763_libre_AUTHORITY_INFO_ACCESS_free
764_libre_d2i_AUTHORITY_INFO_ACCESS
765_libre_i2d_AUTHORITY_INFO_ACCESS
766_libre_POLICY_MAPPING_new
767_libre_POLICY_MAPPING_free
768_libre_GENERAL_SUBTREE_new
769_libre_GENERAL_SUBTREE_free
770_libre_NAME_CONSTRAINTS_new
771_libre_NAME_CONSTRAINTS_free
772_libre_POLICY_CONSTRAINTS_new
773_libre_POLICY_CONSTRAINTS_free
774_libre_a2i_GENERAL_NAME
775_libre_v2i_GENERAL_NAME
776_libre_v2i_GENERAL_NAME_ex
777_libre_X509V3_conf_free
778_libre_X509V3_EXT_nconf_nid
779_libre_X509V3_EXT_nconf
780_libre_X509V3_EXT_add_nconf_sk
781_libre_X509V3_EXT_add_nconf
782_libre_X509V3_EXT_REQ_add_nconf
783_libre_X509V3_EXT_CRL_add_nconf
784_libre_X509V3_EXT_conf_nid
785_libre_X509V3_EXT_conf
786_libre_X509V3_EXT_add_conf
787_libre_X509V3_EXT_REQ_add_conf
788_libre_X509V3_EXT_CRL_add_conf
789_libre_X509V3_add_value_bool_nf
790_libre_X509V3_get_value_bool
791_libre_X509V3_get_value_int
792_libre_X509V3_set_nconf
793_libre_X509V3_set_conf_lhash
794_libre_X509V3_get_string
795_libre_X509V3_get_section
796_libre_X509V3_string_free
797_libre_X509V3_section_free
798_libre_X509V3_set_ctx
799_libre_X509V3_add_value
800_libre_X509V3_add_value_uchar
801_libre_X509V3_add_value_bool
802_libre_X509V3_add_value_int
803_libre_i2s_ASN1_INTEGER
804_libre_s2i_ASN1_INTEGER
805_libre_i2s_ASN1_ENUMERATED
806_libre_i2s_ASN1_ENUMERATED_TABLE
807_libre_X509V3_EXT_add
808_libre_X509V3_EXT_add_list
809_libre_X509V3_EXT_add_alias
810_libre_X509V3_EXT_cleanup
811_libre_X509V3_EXT_get
812_libre_X509V3_EXT_get_nid
813_libre_X509V3_add_standard_extensions
814_libre_X509V3_parse_list
815_libre_X509V3_EXT_d2i
816_libre_X509V3_get_d2i
817_libre_X509V3_EXT_i2d
818_libre_X509V3_add1_i2d
819_libre_hex_to_string
820_libre_string_to_hex
821_libre_X509V3_EXT_val_prn
822_libre_X509V3_EXT_print
823_libre_X509V3_EXT_print_fp
824_libre_X509V3_extensions_print
825_libre_X509_check_ca
826_libre_X509_check_purpose
827_libre_X509_supported_extension
828_libre_X509_PURPOSE_set
829_libre_X509_check_issued
830_libre_X509_check_akid
831_libre_X509_PURPOSE_get_count
832_libre_X509_PURPOSE_get0
833_libre_X509_PURPOSE_get_by_sname
834_libre_X509_PURPOSE_get_by_id
835_libre_X509_PURPOSE_add
836_libre_X509_PURPOSE_get0_name
837_libre_X509_PURPOSE_get0_sname
838_libre_X509_PURPOSE_get_trust
839_libre_X509_PURPOSE_cleanup
840_libre_X509_PURPOSE_get_id
841_libre_X509_get_extension_flags
842_libre_X509_get_key_usage
843_libre_X509_get_extended_key_usage
844_libre_X509_get1_email
845_libre_X509_REQ_get1_email
846_libre_X509_email_free
847_libre_X509_get1_ocsp
848_libre_X509_check_host
849_libre_X509_check_email
850_libre_X509_check_ip
851_libre_X509_check_ip_asc
852_libre_a2i_IPADDRESS
853_libre_a2i_IPADDRESS_NC
854_libre_a2i_ipadd
855_libre_X509V3_NAME_from_section
856_libre_X509_POLICY_NODE_print
857_libre_ASRange_new
858_libre_ASRange_free
859_libre_d2i_ASRange
860_libre_i2d_ASRange
861_libre_ASIdOrRange_new
862_libre_ASIdOrRange_free
863_libre_d2i_ASIdOrRange
864_libre_i2d_ASIdOrRange
865_libre_ASIdentifierChoice_new
866_libre_ASIdentifierChoice_free
867_libre_d2i_ASIdentifierChoice
868_libre_i2d_ASIdentifierChoice
869_libre_ASIdentifiers_new
870_libre_ASIdentifiers_free
871_libre_d2i_ASIdentifiers
872_libre_i2d_ASIdentifiers
873_libre_IPAddressRange_new
874_libre_IPAddressRange_free
875_libre_d2i_IPAddressRange
876_libre_i2d_IPAddressRange
877_libre_IPAddressOrRange_new
878_libre_IPAddressOrRange_free
879_libre_d2i_IPAddressOrRange
880_libre_i2d_IPAddressOrRange
881_libre_IPAddressChoice_new
882_libre_IPAddressChoice_free
883_libre_d2i_IPAddressChoice
884_libre_i2d_IPAddressChoice
885_libre_IPAddressFamily_new
886_libre_IPAddressFamily_free
887_libre_d2i_IPAddressFamily
888_libre_i2d_IPAddressFamily
889_libre_X509v3_asid_add_inherit
890_libre_X509v3_asid_add_id_or_range
891_libre_X509v3_addr_add_inherit
892_libre_X509v3_addr_add_prefix
893_libre_X509v3_addr_add_range
894_libre_X509v3_addr_get_afi
895_libre_X509v3_addr_get_range
896_libre_X509v3_asid_is_canonical
897_libre_X509v3_addr_is_canonical
898_libre_X509v3_asid_canonize
899_libre_X509v3_addr_canonize
900_libre_X509v3_asid_inherits
901_libre_X509v3_addr_inherits
902_libre_X509v3_asid_subset
903_libre_X509v3_addr_subset
904_libre_X509v3_asid_validate_path
905_libre_X509v3_addr_validate_path
906_libre_X509v3_asid_validate_resource_set
907_libre_X509v3_addr_validate_resource_set
908_libre_ERR_load_X509V3_strings
diff --git a/src/lib/libcrypto/hidden/openssl/x509.h b/src/lib/libcrypto/hidden/openssl/x509.h
new file mode 100644
index 0000000000..59af41f917
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/x509.h
@@ -0,0 +1,278 @@
1/* $OpenBSD: x509.h,v 1.1 2022/11/14 17:48:49 beck Exp $ */
2/*
3 * Copyright (c) 2022 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_X509_H
19#define _LIBCRYPTO_X509_H
20
21#include_next <openssl/x509.h>
22#include "crypto_namespace.h"
23
24LCRYPTO_USED(X509_CRL_up_ref);
25LCRYPTO_USED(i2d_re_X509_CRL_tbs);
26LCRYPTO_USED(X509_get_X509_PUBKEY);
27LCRYPTO_USED(X509_verify_cert_error_string);
28LCRYPTO_USED(X509_verify);
29LCRYPTO_USED(X509_REQ_verify);
30LCRYPTO_USED(NETSCAPE_SPKI_verify);
31LCRYPTO_USED(NETSCAPE_SPKI_b64_decode);
32LCRYPTO_USED(NETSCAPE_SPKI_b64_encode);
33LCRYPTO_USED(NETSCAPE_SPKI_get_pubkey);
34LCRYPTO_USED(NETSCAPE_SPKI_set_pubkey);
35LCRYPTO_USED(X509_sign);
36LCRYPTO_USED(X509_sign_ctx);
37LCRYPTO_USED(X509_REQ_sign);
38LCRYPTO_USED(X509_REQ_sign_ctx);
39LCRYPTO_USED(X509_CRL_sign);
40LCRYPTO_USED(X509_CRL_sign_ctx);
41LCRYPTO_USED(NETSCAPE_SPKI_sign);
42LCRYPTO_USED(X509_pubkey_digest);
43LCRYPTO_USED(X509_digest);
44LCRYPTO_USED(X509_CRL_digest);
45LCRYPTO_USED(X509_REQ_digest);
46LCRYPTO_USED(X509_NAME_digest);
47LCRYPTO_USED(d2i_X509_fp);
48LCRYPTO_USED(i2d_X509_fp);
49LCRYPTO_USED(d2i_X509_CRL_fp);
50LCRYPTO_USED(i2d_X509_CRL_fp);
51LCRYPTO_USED(d2i_X509_REQ_fp);
52LCRYPTO_USED(i2d_X509_REQ_fp);
53LCRYPTO_USED(d2i_RSAPrivateKey_fp);
54LCRYPTO_USED(i2d_RSAPrivateKey_fp);
55LCRYPTO_USED(d2i_RSAPublicKey_fp);
56LCRYPTO_USED(i2d_RSAPublicKey_fp);
57LCRYPTO_USED(d2i_DSAPrivateKey_fp);
58LCRYPTO_USED(i2d_DSAPrivateKey_fp);
59LCRYPTO_USED(d2i_ECPrivateKey_fp);
60LCRYPTO_USED(i2d_ECPrivateKey_fp);
61LCRYPTO_USED(d2i_PKCS8_fp);
62LCRYPTO_USED(i2d_PKCS8_fp);
63LCRYPTO_USED(d2i_PKCS8_PRIV_KEY_INFO_fp);
64LCRYPTO_USED(i2d_PKCS8_PRIV_KEY_INFO_fp);
65LCRYPTO_USED(i2d_PKCS8PrivateKeyInfo_fp);
66LCRYPTO_USED(i2d_PrivateKey_fp);
67LCRYPTO_USED(d2i_PrivateKey_fp);
68LCRYPTO_USED(d2i_X509_bio);
69LCRYPTO_USED(i2d_X509_bio);
70LCRYPTO_USED(d2i_X509_CRL_bio);
71LCRYPTO_USED(i2d_X509_CRL_bio);
72LCRYPTO_USED(d2i_X509_REQ_bio);
73LCRYPTO_USED(i2d_X509_REQ_bio);
74LCRYPTO_USED(d2i_RSAPrivateKey_bio);
75LCRYPTO_USED(i2d_RSAPrivateKey_bio);
76LCRYPTO_USED(d2i_RSAPublicKey_bio);
77LCRYPTO_USED(i2d_RSAPublicKey_bio);
78LCRYPTO_USED(d2i_DSAPrivateKey_bio);
79LCRYPTO_USED(i2d_DSAPrivateKey_bio);
80LCRYPTO_USED(d2i_ECPrivateKey_bio);
81LCRYPTO_USED(i2d_ECPrivateKey_bio);
82LCRYPTO_USED(d2i_PKCS8_bio);
83LCRYPTO_USED(i2d_PKCS8_bio);
84LCRYPTO_USED(d2i_PKCS8_PRIV_KEY_INFO_bio);
85LCRYPTO_USED(i2d_PKCS8_PRIV_KEY_INFO_bio);
86LCRYPTO_USED(i2d_PKCS8PrivateKeyInfo_bio);
87LCRYPTO_USED(i2d_PrivateKey_bio);
88LCRYPTO_USED(d2i_PrivateKey_bio);
89LCRYPTO_USED(X509_cmp_time);
90LCRYPTO_USED(X509_cmp_current_time);
91LCRYPTO_USED(X509_time_adj);
92LCRYPTO_USED(X509_time_adj_ex);
93LCRYPTO_USED(X509_gmtime_adj);
94LCRYPTO_USED(X509_get_default_cert_area);
95LCRYPTO_USED(X509_get_default_cert_dir);
96LCRYPTO_USED(X509_get_default_cert_file);
97LCRYPTO_USED(X509_get_default_cert_dir_env);
98LCRYPTO_USED(X509_get_default_cert_file_env);
99LCRYPTO_USED(X509_get_default_private_dir);
100LCRYPTO_USED(X509_to_X509_REQ);
101LCRYPTO_USED(X509_REQ_to_X509);
102LCRYPTO_USED(X509_get_pubkey_parameters);
103LCRYPTO_USED(X509_TRUST_set_default);
104LCRYPTO_USED(X509_TRUST_set);
105LCRYPTO_USED(X509_NAME_oneline);
106LCRYPTO_USED(X509_get0_extensions);
107LCRYPTO_USED(X509_get0_tbs_sigalg);
108LCRYPTO_USED(X509_set_version);
109LCRYPTO_USED(X509_get_version);
110LCRYPTO_USED(X509_set_serialNumber);
111LCRYPTO_USED(X509_get_serialNumber);
112LCRYPTO_USED(X509_get0_serialNumber);
113LCRYPTO_USED(X509_set_issuer_name);
114LCRYPTO_USED(X509_get_issuer_name);
115LCRYPTO_USED(X509_set_subject_name);
116LCRYPTO_USED(X509_get_subject_name);
117LCRYPTO_USED(X509_set_notBefore);
118LCRYPTO_USED(X509_set1_notBefore);
119LCRYPTO_USED(X509_set_notAfter);
120LCRYPTO_USED(X509_set1_notAfter);
121LCRYPTO_USED(X509_get0_notBefore);
122LCRYPTO_USED(X509_getm_notBefore);
123LCRYPTO_USED(X509_get0_notAfter);
124LCRYPTO_USED(X509_getm_notAfter);
125LCRYPTO_USED(X509_set_pubkey);
126LCRYPTO_USED(X509_get_pubkey);
127LCRYPTO_USED(X509_get0_pubkey);
128LCRYPTO_USED(X509_get0_pubkey_bitstr);
129LCRYPTO_USED(X509_certificate_type);
130LCRYPTO_USED(X509_get_signature_type);
131LCRYPTO_USED(X509_REQ_set_version);
132LCRYPTO_USED(X509_REQ_get_version);
133LCRYPTO_USED(X509_REQ_set_subject_name);
134LCRYPTO_USED(X509_REQ_get_subject_name);
135LCRYPTO_USED(X509_REQ_set_pubkey);
136LCRYPTO_USED(X509_REQ_get_pubkey);
137LCRYPTO_USED(i2d_re_X509_REQ_tbs);
138LCRYPTO_USED(X509_REQ_get0_pubkey);
139LCRYPTO_USED(X509_REQ_extension_nid);
140LCRYPTO_USED(X509_REQ_get_extension_nids);
141LCRYPTO_USED(X509_REQ_set_extension_nids);
142LCRYPTO_USED(X509_REQ_get_extensions);
143LCRYPTO_USED(X509_REQ_add_extensions_nid);
144LCRYPTO_USED(X509_REQ_add_extensions);
145LCRYPTO_USED(X509_REQ_get_attr_count);
146LCRYPTO_USED(X509_REQ_get_attr_by_NID);
147LCRYPTO_USED(X509_REQ_get_attr_by_OBJ);
148LCRYPTO_USED(X509_REQ_get_attr);
149LCRYPTO_USED(X509_REQ_delete_attr);
150LCRYPTO_USED(X509_REQ_add1_attr);
151LCRYPTO_USED(X509_REQ_add1_attr_by_OBJ);
152LCRYPTO_USED(X509_REQ_add1_attr_by_NID);
153LCRYPTO_USED(X509_REQ_add1_attr_by_txt);
154LCRYPTO_USED(X509_CRL_set_version);
155LCRYPTO_USED(X509_CRL_set_issuer_name);
156LCRYPTO_USED(X509_CRL_set_lastUpdate);
157LCRYPTO_USED(X509_CRL_set1_lastUpdate);
158LCRYPTO_USED(X509_CRL_set_nextUpdate);
159LCRYPTO_USED(X509_CRL_set1_nextUpdate);
160LCRYPTO_USED(X509_CRL_sort);
161LCRYPTO_USED(X509_REVOKED_get0_extensions);
162LCRYPTO_USED(X509_REVOKED_get0_revocationDate);
163LCRYPTO_USED(X509_REVOKED_get0_serialNumber);
164LCRYPTO_USED(X509_REVOKED_set_revocationDate);
165LCRYPTO_USED(X509_REVOKED_set_serialNumber);
166LCRYPTO_USED(X509_REQ_check_private_key);
167LCRYPTO_USED(X509_check_private_key);
168LCRYPTO_USED(X509_issuer_and_serial_cmp);
169LCRYPTO_USED(X509_issuer_and_serial_hash);
170LCRYPTO_USED(X509_issuer_name_cmp);
171LCRYPTO_USED(X509_issuer_name_hash);
172LCRYPTO_USED(X509_subject_name_cmp);
173LCRYPTO_USED(X509_subject_name_hash);
174LCRYPTO_USED(X509_issuer_name_hash_old);
175LCRYPTO_USED(X509_subject_name_hash_old);
176LCRYPTO_USED(X509_cmp);
177LCRYPTO_USED(X509_NAME_cmp);
178LCRYPTO_USED(X509_NAME_hash);
179LCRYPTO_USED(X509_NAME_hash_old);
180LCRYPTO_USED(X509_CRL_cmp);
181LCRYPTO_USED(X509_CRL_match);
182LCRYPTO_USED(X509_NAME_entry_count);
183LCRYPTO_USED(X509_NAME_get_text_by_NID);
184LCRYPTO_USED(X509_NAME_get_text_by_OBJ);
185LCRYPTO_USED(X509_NAME_get_index_by_NID);
186LCRYPTO_USED(X509_NAME_get_index_by_OBJ);
187LCRYPTO_USED(X509_NAME_get_entry);
188LCRYPTO_USED(X509_NAME_delete_entry);
189LCRYPTO_USED(X509_NAME_add_entry);
190LCRYPTO_USED(X509_NAME_add_entry_by_OBJ);
191LCRYPTO_USED(X509_NAME_add_entry_by_NID);
192LCRYPTO_USED(X509_NAME_ENTRY_create_by_txt);
193LCRYPTO_USED(X509_NAME_ENTRY_create_by_NID);
194LCRYPTO_USED(X509_NAME_add_entry_by_txt);
195LCRYPTO_USED(X509_NAME_ENTRY_create_by_OBJ);
196LCRYPTO_USED(X509_NAME_ENTRY_set_object);
197LCRYPTO_USED(X509_NAME_ENTRY_set_data);
198LCRYPTO_USED(X509_NAME_ENTRY_get_object);
199LCRYPTO_USED(X509_NAME_ENTRY_get_data);
200LCRYPTO_USED(X509_NAME_ENTRY_set);
201LCRYPTO_USED(X509v3_get_ext_count);
202LCRYPTO_USED(X509v3_get_ext_by_NID);
203LCRYPTO_USED(X509v3_get_ext_by_OBJ);
204LCRYPTO_USED(X509v3_get_ext_by_critical);
205LCRYPTO_USED(X509v3_get_ext);
206LCRYPTO_USED(X509v3_delete_ext);
207LCRYPTO_USED(X509v3_add_ext);
208LCRYPTO_USED(X509_get_ext_count);
209LCRYPTO_USED(X509_get_ext_by_NID);
210LCRYPTO_USED(X509_get_ext_by_OBJ);
211LCRYPTO_USED(X509_get_ext_by_critical);
212LCRYPTO_USED(X509_get_ext);
213LCRYPTO_USED(X509_delete_ext);
214LCRYPTO_USED(X509_add_ext);
215LCRYPTO_USED(X509_get_ext_d2i);
216LCRYPTO_USED(X509_add1_ext_i2d);
217LCRYPTO_USED(X509_CRL_get_ext_count);
218LCRYPTO_USED(X509_CRL_get_ext_by_NID);
219LCRYPTO_USED(X509_CRL_get_ext_by_OBJ);
220LCRYPTO_USED(X509_CRL_get_ext_by_critical);
221LCRYPTO_USED(X509_CRL_get_ext);
222LCRYPTO_USED(X509_CRL_delete_ext);
223LCRYPTO_USED(X509_CRL_add_ext);
224LCRYPTO_USED(X509_CRL_get_ext_d2i);
225LCRYPTO_USED(X509_CRL_add1_ext_i2d);
226LCRYPTO_USED(X509_REVOKED_get_ext_count);
227LCRYPTO_USED(X509_REVOKED_get_ext_by_NID);
228LCRYPTO_USED(X509_REVOKED_get_ext_by_OBJ);
229LCRYPTO_USED(X509_REVOKED_get_ext_by_critical);
230LCRYPTO_USED(X509_REVOKED_get_ext);
231LCRYPTO_USED(X509_REVOKED_delete_ext);
232LCRYPTO_USED(X509_REVOKED_add_ext);
233LCRYPTO_USED(X509_REVOKED_get_ext_d2i);
234LCRYPTO_USED(X509_REVOKED_add1_ext_i2d);
235LCRYPTO_USED(X509_EXTENSION_create_by_NID);
236LCRYPTO_USED(X509_EXTENSION_create_by_OBJ);
237LCRYPTO_USED(X509_EXTENSION_set_object);
238LCRYPTO_USED(X509_EXTENSION_set_critical);
239LCRYPTO_USED(X509_EXTENSION_set_data);
240LCRYPTO_USED(X509_EXTENSION_get_object);
241LCRYPTO_USED(X509_EXTENSION_get_data);
242LCRYPTO_USED(X509_EXTENSION_get_critical);
243LCRYPTO_USED(X509at_get_attr_count);
244LCRYPTO_USED(X509at_get_attr_by_NID);
245LCRYPTO_USED(X509at_get_attr_by_OBJ);
246LCRYPTO_USED(X509at_get_attr);
247LCRYPTO_USED(X509at_delete_attr);
248LCRYPTO_USED(X509at_add1_attr);
249LCRYPTO_USED(X509at_add1_attr_by_OBJ);
250LCRYPTO_USED(X509at_add1_attr_by_NID);
251LCRYPTO_USED(X509at_add1_attr_by_txt);
252LCRYPTO_USED(X509at_get0_data_by_OBJ);
253LCRYPTO_USED(X509_ATTRIBUTE_create_by_NID);
254LCRYPTO_USED(X509_ATTRIBUTE_create_by_OBJ);
255LCRYPTO_USED(X509_ATTRIBUTE_create_by_txt);
256LCRYPTO_USED(X509_ATTRIBUTE_set1_object);
257LCRYPTO_USED(X509_ATTRIBUTE_set1_data);
258LCRYPTO_USED(X509_ATTRIBUTE_get0_data);
259LCRYPTO_USED(X509_ATTRIBUTE_count);
260LCRYPTO_USED(X509_ATTRIBUTE_get0_object);
261LCRYPTO_USED(X509_ATTRIBUTE_get0_type);
262LCRYPTO_USED(X509_verify_cert);
263LCRYPTO_USED(X509_find_by_issuer_and_serial);
264LCRYPTO_USED(X509_find_by_subject);
265LCRYPTO_USED(X509_check_trust);
266LCRYPTO_USED(X509_TRUST_get_count);
267LCRYPTO_USED(X509_TRUST_get0);
268LCRYPTO_USED(X509_TRUST_get_by_id);
269LCRYPTO_USED(X509_TRUST_add);
270LCRYPTO_USED(X509_TRUST_cleanup);
271LCRYPTO_USED(X509_TRUST_get_flags);
272LCRYPTO_USED(X509_TRUST_get0_name);
273LCRYPTO_USED(X509_TRUST_get_trust);
274LCRYPTO_USED(X509_up_ref);
275LCRYPTO_USED(X509_chain_up_ref);
276LCRYPTO_USED(ERR_load_X509_strings);
277
278#endif /* _LIBCRYPTO_X509_H */
diff --git a/src/lib/libcrypto/hidden/openssl/x509_vfy.h b/src/lib/libcrypto/hidden/openssl/x509_vfy.h
new file mode 100644
index 0000000000..3a52206b45
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/x509_vfy.h
@@ -0,0 +1,162 @@
1/* $OpenBSD: x509_vfy.h,v 1.1 2022/11/14 17:48:49 beck Exp $ */
2/*
3 * Copyright (c) 2022 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_X509_VFY_H
19#define _LIBCRYPTO_X509_VFY_H
20
21#include_next <openssl/x509_vfy.h>
22#include "crypto_namespace.h"
23
24LCRYPTO_USED(X509_STORE_set_depth);
25LCRYPTO_USED(X509_STORE_CTX_set_depth);
26LCRYPTO_USED(X509_OBJECT_new);
27LCRYPTO_USED(X509_OBJECT_free);
28LCRYPTO_USED(X509_OBJECT_idx_by_subject);
29LCRYPTO_USED(X509_OBJECT_retrieve_by_subject);
30LCRYPTO_USED(X509_OBJECT_retrieve_match);
31LCRYPTO_USED(X509_OBJECT_up_ref_count);
32LCRYPTO_USED(X509_OBJECT_get_type);
33LCRYPTO_USED(X509_OBJECT_get0_X509);
34LCRYPTO_USED(X509_OBJECT_get0_X509_CRL);
35LCRYPTO_USED(X509_STORE_new);
36LCRYPTO_USED(X509_STORE_free);
37LCRYPTO_USED(X509_STORE_up_ref);
38LCRYPTO_USED(X509_STORE_get1_certs);
39LCRYPTO_USED(X509_STORE_get1_crls);
40LCRYPTO_USED(X509_STORE_get0_objects);
41LCRYPTO_USED(X509_STORE_get_ex_data);
42LCRYPTO_USED(X509_STORE_set_ex_data);
43LCRYPTO_USED(X509_STORE_set_flags);
44LCRYPTO_USED(X509_STORE_set_purpose);
45LCRYPTO_USED(X509_STORE_set_trust);
46LCRYPTO_USED(X509_STORE_set1_param);
47LCRYPTO_USED(X509_STORE_get0_param);
48LCRYPTO_USED(X509_STORE_get_verify_cb);
49LCRYPTO_USED(X509_STORE_set_verify_cb);
50LCRYPTO_USED(X509_STORE_CTX_new);
51LCRYPTO_USED(X509_STORE_CTX_get1_issuer);
52LCRYPTO_USED(X509_STORE_CTX_free);
53LCRYPTO_USED(X509_STORE_CTX_init);
54LCRYPTO_USED(X509_STORE_CTX_get0_cert);
55LCRYPTO_USED(X509_STORE_CTX_get0_chain);
56LCRYPTO_USED(X509_STORE_CTX_get0_store);
57LCRYPTO_USED(X509_STORE_CTX_get0_untrusted);
58LCRYPTO_USED(X509_STORE_CTX_set0_untrusted);
59LCRYPTO_USED(X509_STORE_CTX_trusted_stack);
60LCRYPTO_USED(X509_STORE_CTX_set0_trusted_stack);
61LCRYPTO_USED(X509_STORE_CTX_cleanup);
62LCRYPTO_USED(X509_STORE_add_lookup);
63LCRYPTO_USED(X509_LOOKUP_hash_dir);
64LCRYPTO_USED(X509_LOOKUP_file);
65LCRYPTO_USED(X509_LOOKUP_mem);
66LCRYPTO_USED(X509_STORE_add_cert);
67LCRYPTO_USED(X509_STORE_add_crl);
68LCRYPTO_USED(X509_STORE_CTX_get_by_subject);
69LCRYPTO_USED(X509_STORE_CTX_get_obj_by_subject);
70LCRYPTO_USED(X509_LOOKUP_ctrl);
71LCRYPTO_USED(X509_load_cert_file);
72LCRYPTO_USED(X509_load_crl_file);
73LCRYPTO_USED(X509_load_cert_crl_file);
74LCRYPTO_USED(X509_LOOKUP_new);
75LCRYPTO_USED(X509_LOOKUP_free);
76LCRYPTO_USED(X509_LOOKUP_init);
77LCRYPTO_USED(X509_LOOKUP_by_subject);
78LCRYPTO_USED(X509_LOOKUP_by_issuer_serial);
79LCRYPTO_USED(X509_LOOKUP_by_fingerprint);
80LCRYPTO_USED(X509_LOOKUP_by_alias);
81LCRYPTO_USED(X509_LOOKUP_shutdown);
82LCRYPTO_USED(X509_STORE_load_locations);
83LCRYPTO_USED(X509_STORE_load_mem);
84LCRYPTO_USED(X509_STORE_set_default_paths);
85LCRYPTO_USED(X509_STORE_CTX_get_ex_new_index);
86LCRYPTO_USED(X509_STORE_CTX_set_ex_data);
87LCRYPTO_USED(X509_STORE_CTX_get_ex_data);
88LCRYPTO_USED(X509_STORE_CTX_get_error);
89LCRYPTO_USED(X509_STORE_CTX_set_error);
90LCRYPTO_USED(X509_STORE_CTX_get_error_depth);
91LCRYPTO_USED(X509_STORE_CTX_set_error_depth);
92LCRYPTO_USED(X509_STORE_CTX_get_current_cert);
93LCRYPTO_USED(X509_STORE_CTX_set_current_cert);
94LCRYPTO_USED(X509_STORE_CTX_get0_current_issuer);
95LCRYPTO_USED(X509_STORE_CTX_get0_current_crl);
96LCRYPTO_USED(X509_STORE_CTX_get0_parent_ctx);
97LCRYPTO_USED(X509_STORE_CTX_get_chain);
98LCRYPTO_USED(X509_STORE_CTX_get1_chain);
99LCRYPTO_USED(X509_STORE_CTX_set_cert);
100LCRYPTO_USED(X509_STORE_CTX_set_chain);
101LCRYPTO_USED(X509_STORE_CTX_set0_crls);
102LCRYPTO_USED(X509_STORE_CTX_set_purpose);
103LCRYPTO_USED(X509_STORE_CTX_set_trust);
104LCRYPTO_USED(X509_STORE_CTX_purpose_inherit);
105LCRYPTO_USED(X509_STORE_CTX_set_flags);
106LCRYPTO_USED(X509_STORE_CTX_set_time);
107LCRYPTO_USED(X509_STORE_CTX_set0_verified_chain);
108LCRYPTO_USED(X509_STORE_CTX_get_verify);
109LCRYPTO_USED(X509_STORE_CTX_set_verify);
110LCRYPTO_USED(X509_STORE_CTX_get_verify_cb);
111LCRYPTO_USED(X509_STORE_CTX_set_verify_cb);
112LCRYPTO_USED(X509_STORE_set_verify);
113LCRYPTO_USED(X509_STORE_get_verify);
114LCRYPTO_USED(X509_STORE_CTX_get0_policy_tree);
115LCRYPTO_USED(X509_STORE_CTX_get_explicit_policy);
116LCRYPTO_USED(X509_STORE_CTX_get_num_untrusted);
117LCRYPTO_USED(X509_STORE_CTX_get0_param);
118LCRYPTO_USED(X509_STORE_CTX_set0_param);
119LCRYPTO_USED(X509_STORE_CTX_set_default);
120LCRYPTO_USED(X509_VERIFY_PARAM_new);
121LCRYPTO_USED(X509_VERIFY_PARAM_free);
122LCRYPTO_USED(X509_VERIFY_PARAM_inherit);
123LCRYPTO_USED(X509_VERIFY_PARAM_set1);
124LCRYPTO_USED(X509_VERIFY_PARAM_set1_name);
125LCRYPTO_USED(X509_VERIFY_PARAM_set_flags);
126LCRYPTO_USED(X509_VERIFY_PARAM_clear_flags);
127LCRYPTO_USED(X509_VERIFY_PARAM_get_flags);
128LCRYPTO_USED(X509_VERIFY_PARAM_set_purpose);
129LCRYPTO_USED(X509_VERIFY_PARAM_set_trust);
130LCRYPTO_USED(X509_VERIFY_PARAM_set_depth);
131LCRYPTO_USED(X509_VERIFY_PARAM_set_auth_level);
132LCRYPTO_USED(X509_VERIFY_PARAM_get_time);
133LCRYPTO_USED(X509_VERIFY_PARAM_set_time);
134LCRYPTO_USED(X509_VERIFY_PARAM_add0_policy);
135LCRYPTO_USED(X509_VERIFY_PARAM_set1_policies);
136LCRYPTO_USED(X509_VERIFY_PARAM_get_depth);
137LCRYPTO_USED(X509_VERIFY_PARAM_set1_host);
138LCRYPTO_USED(X509_VERIFY_PARAM_add1_host);
139LCRYPTO_USED(X509_VERIFY_PARAM_set_hostflags);
140LCRYPTO_USED(X509_VERIFY_PARAM_get0_peername);
141LCRYPTO_USED(X509_VERIFY_PARAM_set1_email);
142LCRYPTO_USED(X509_VERIFY_PARAM_set1_ip);
143LCRYPTO_USED(X509_VERIFY_PARAM_set1_ip_asc);
144LCRYPTO_USED(X509_VERIFY_PARAM_get0_name);
145LCRYPTO_USED(X509_VERIFY_PARAM_get0);
146LCRYPTO_USED(X509_VERIFY_PARAM_get_count);
147LCRYPTO_USED(X509_VERIFY_PARAM_add0_table);
148LCRYPTO_USED(X509_VERIFY_PARAM_lookup);
149LCRYPTO_USED(X509_VERIFY_PARAM_table_cleanup);
150LCRYPTO_USED(X509_policy_check);
151LCRYPTO_USED(X509_policy_tree_free);
152LCRYPTO_USED(X509_policy_tree_level_count);
153LCRYPTO_USED(X509_policy_tree_get0_level);
154LCRYPTO_USED(X509_policy_tree_get0_policies);
155LCRYPTO_USED(X509_policy_tree_get0_user_policies);
156LCRYPTO_USED(X509_policy_level_node_count);
157LCRYPTO_USED(X509_policy_level_get0_node);
158LCRYPTO_USED(X509_policy_node_get0_policy);
159LCRYPTO_USED(X509_policy_node_get0_qualifiers);
160LCRYPTO_USED(X509_policy_node_get0_parent);
161
162#endif /* _LIBCRYPTO_X509_VFY_H */
diff --git a/src/lib/libcrypto/hidden/openssl/x509v3.h b/src/lib/libcrypto/hidden/openssl/x509v3.h
new file mode 100644
index 0000000000..eed75e0749
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/x509v3.h
@@ -0,0 +1,284 @@
1/* $OpenBSD: x509v3.h,v 1.1 2022/11/14 17:48:49 beck Exp $ */
2/*
3 * Copyright (c) 2022 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_X509V3_H
19#define _LIBCRYPTO_X509V3_H
20
21#include_next <openssl/x509v3.h>
22#include "crypto_namespace.h"
23
24LCRYPTO_USED(PROXY_POLICY_new);
25LCRYPTO_USED(PROXY_POLICY_free);
26LCRYPTO_USED(d2i_PROXY_POLICY);
27LCRYPTO_USED(i2d_PROXY_POLICY);
28LCRYPTO_USED(PROXY_CERT_INFO_EXTENSION_new);
29LCRYPTO_USED(PROXY_CERT_INFO_EXTENSION_free);
30LCRYPTO_USED(d2i_PROXY_CERT_INFO_EXTENSION);
31LCRYPTO_USED(i2d_PROXY_CERT_INFO_EXTENSION);
32LCRYPTO_USED(BASIC_CONSTRAINTS_new);
33LCRYPTO_USED(BASIC_CONSTRAINTS_free);
34LCRYPTO_USED(d2i_BASIC_CONSTRAINTS);
35LCRYPTO_USED(i2d_BASIC_CONSTRAINTS);
36LCRYPTO_USED(SXNET_new);
37LCRYPTO_USED(SXNET_free);
38LCRYPTO_USED(d2i_SXNET);
39LCRYPTO_USED(i2d_SXNET);
40LCRYPTO_USED(SXNETID_new);
41LCRYPTO_USED(SXNETID_free);
42LCRYPTO_USED(d2i_SXNETID);
43LCRYPTO_USED(i2d_SXNETID);
44LCRYPTO_USED(SXNET_add_id_asc);
45LCRYPTO_USED(SXNET_add_id_ulong);
46LCRYPTO_USED(SXNET_add_id_INTEGER);
47LCRYPTO_USED(SXNET_get_id_asc);
48LCRYPTO_USED(SXNET_get_id_ulong);
49LCRYPTO_USED(SXNET_get_id_INTEGER);
50LCRYPTO_USED(AUTHORITY_KEYID_new);
51LCRYPTO_USED(AUTHORITY_KEYID_free);
52LCRYPTO_USED(d2i_AUTHORITY_KEYID);
53LCRYPTO_USED(i2d_AUTHORITY_KEYID);
54LCRYPTO_USED(PKEY_USAGE_PERIOD_new);
55LCRYPTO_USED(PKEY_USAGE_PERIOD_free);
56LCRYPTO_USED(d2i_PKEY_USAGE_PERIOD);
57LCRYPTO_USED(i2d_PKEY_USAGE_PERIOD);
58LCRYPTO_USED(GENERAL_NAME_new);
59LCRYPTO_USED(GENERAL_NAME_free);
60LCRYPTO_USED(d2i_GENERAL_NAME);
61LCRYPTO_USED(i2d_GENERAL_NAME);
62LCRYPTO_USED(GENERAL_NAME_dup);
63LCRYPTO_USED(GENERAL_NAME_cmp);
64LCRYPTO_USED(v2i_ASN1_BIT_STRING);
65LCRYPTO_USED(i2v_ASN1_BIT_STRING);
66LCRYPTO_USED(i2v_GENERAL_NAME);
67LCRYPTO_USED(GENERAL_NAME_print);
68LCRYPTO_USED(GENERAL_NAMES_new);
69LCRYPTO_USED(GENERAL_NAMES_free);
70LCRYPTO_USED(d2i_GENERAL_NAMES);
71LCRYPTO_USED(i2d_GENERAL_NAMES);
72LCRYPTO_USED(i2v_GENERAL_NAMES);
73LCRYPTO_USED(v2i_GENERAL_NAMES);
74LCRYPTO_USED(OTHERNAME_new);
75LCRYPTO_USED(OTHERNAME_free);
76LCRYPTO_USED(d2i_OTHERNAME);
77LCRYPTO_USED(i2d_OTHERNAME);
78LCRYPTO_USED(EDIPARTYNAME_new);
79LCRYPTO_USED(EDIPARTYNAME_free);
80LCRYPTO_USED(d2i_EDIPARTYNAME);
81LCRYPTO_USED(i2d_EDIPARTYNAME);
82LCRYPTO_USED(OTHERNAME_cmp);
83LCRYPTO_USED(GENERAL_NAME_set0_value);
84LCRYPTO_USED(GENERAL_NAME_get0_value);
85LCRYPTO_USED(GENERAL_NAME_set0_othername);
86LCRYPTO_USED(GENERAL_NAME_get0_otherName);
87LCRYPTO_USED(i2s_ASN1_OCTET_STRING);
88LCRYPTO_USED(s2i_ASN1_OCTET_STRING);
89LCRYPTO_USED(EXTENDED_KEY_USAGE_new);
90LCRYPTO_USED(EXTENDED_KEY_USAGE_free);
91LCRYPTO_USED(d2i_EXTENDED_KEY_USAGE);
92LCRYPTO_USED(i2d_EXTENDED_KEY_USAGE);
93LCRYPTO_USED(i2a_ACCESS_DESCRIPTION);
94LCRYPTO_USED(CERTIFICATEPOLICIES_new);
95LCRYPTO_USED(CERTIFICATEPOLICIES_free);
96LCRYPTO_USED(d2i_CERTIFICATEPOLICIES);
97LCRYPTO_USED(i2d_CERTIFICATEPOLICIES);
98LCRYPTO_USED(POLICYINFO_new);
99LCRYPTO_USED(POLICYINFO_free);
100LCRYPTO_USED(d2i_POLICYINFO);
101LCRYPTO_USED(i2d_POLICYINFO);
102LCRYPTO_USED(POLICYQUALINFO_new);
103LCRYPTO_USED(POLICYQUALINFO_free);
104LCRYPTO_USED(d2i_POLICYQUALINFO);
105LCRYPTO_USED(i2d_POLICYQUALINFO);
106LCRYPTO_USED(USERNOTICE_new);
107LCRYPTO_USED(USERNOTICE_free);
108LCRYPTO_USED(d2i_USERNOTICE);
109LCRYPTO_USED(i2d_USERNOTICE);
110LCRYPTO_USED(NOTICEREF_new);
111LCRYPTO_USED(NOTICEREF_free);
112LCRYPTO_USED(d2i_NOTICEREF);
113LCRYPTO_USED(i2d_NOTICEREF);
114LCRYPTO_USED(CRL_DIST_POINTS_new);
115LCRYPTO_USED(CRL_DIST_POINTS_free);
116LCRYPTO_USED(d2i_CRL_DIST_POINTS);
117LCRYPTO_USED(i2d_CRL_DIST_POINTS);
118LCRYPTO_USED(DIST_POINT_new);
119LCRYPTO_USED(DIST_POINT_free);
120LCRYPTO_USED(d2i_DIST_POINT);
121LCRYPTO_USED(i2d_DIST_POINT);
122LCRYPTO_USED(DIST_POINT_NAME_new);
123LCRYPTO_USED(DIST_POINT_NAME_free);
124LCRYPTO_USED(d2i_DIST_POINT_NAME);
125LCRYPTO_USED(i2d_DIST_POINT_NAME);
126LCRYPTO_USED(ISSUING_DIST_POINT_new);
127LCRYPTO_USED(ISSUING_DIST_POINT_free);
128LCRYPTO_USED(d2i_ISSUING_DIST_POINT);
129LCRYPTO_USED(i2d_ISSUING_DIST_POINT);
130LCRYPTO_USED(DIST_POINT_set_dpname);
131LCRYPTO_USED(NAME_CONSTRAINTS_check);
132LCRYPTO_USED(ACCESS_DESCRIPTION_new);
133LCRYPTO_USED(ACCESS_DESCRIPTION_free);
134LCRYPTO_USED(d2i_ACCESS_DESCRIPTION);
135LCRYPTO_USED(i2d_ACCESS_DESCRIPTION);
136LCRYPTO_USED(AUTHORITY_INFO_ACCESS_new);
137LCRYPTO_USED(AUTHORITY_INFO_ACCESS_free);
138LCRYPTO_USED(d2i_AUTHORITY_INFO_ACCESS);
139LCRYPTO_USED(i2d_AUTHORITY_INFO_ACCESS);
140LCRYPTO_USED(POLICY_MAPPING_new);
141LCRYPTO_USED(POLICY_MAPPING_free);
142LCRYPTO_USED(GENERAL_SUBTREE_new);
143LCRYPTO_USED(GENERAL_SUBTREE_free);
144LCRYPTO_USED(NAME_CONSTRAINTS_new);
145LCRYPTO_USED(NAME_CONSTRAINTS_free);
146LCRYPTO_USED(POLICY_CONSTRAINTS_new);
147LCRYPTO_USED(POLICY_CONSTRAINTS_free);
148LCRYPTO_USED(a2i_GENERAL_NAME);
149LCRYPTO_USED(v2i_GENERAL_NAME);
150LCRYPTO_USED(v2i_GENERAL_NAME_ex);
151LCRYPTO_USED(X509V3_conf_free);
152LCRYPTO_USED(X509V3_EXT_nconf_nid);
153LCRYPTO_USED(X509V3_EXT_nconf);
154LCRYPTO_USED(X509V3_EXT_add_nconf_sk);
155LCRYPTO_USED(X509V3_EXT_add_nconf);
156LCRYPTO_USED(X509V3_EXT_REQ_add_nconf);
157LCRYPTO_USED(X509V3_EXT_CRL_add_nconf);
158LCRYPTO_USED(X509V3_EXT_conf_nid);
159LCRYPTO_USED(X509V3_EXT_conf);
160LCRYPTO_USED(X509V3_EXT_add_conf);
161LCRYPTO_USED(X509V3_EXT_REQ_add_conf);
162LCRYPTO_USED(X509V3_EXT_CRL_add_conf);
163LCRYPTO_USED(X509V3_add_value_bool_nf);
164LCRYPTO_USED(X509V3_get_value_bool);
165LCRYPTO_USED(X509V3_get_value_int);
166LCRYPTO_USED(X509V3_set_nconf);
167LCRYPTO_USED(X509V3_set_conf_lhash);
168LCRYPTO_USED(X509V3_get_string);
169LCRYPTO_USED(X509V3_get_section);
170LCRYPTO_USED(X509V3_string_free);
171LCRYPTO_USED(X509V3_section_free);
172LCRYPTO_USED(X509V3_set_ctx);
173LCRYPTO_USED(X509V3_add_value);
174LCRYPTO_USED(X509V3_add_value_uchar);
175LCRYPTO_USED(X509V3_add_value_bool);
176LCRYPTO_USED(X509V3_add_value_int);
177LCRYPTO_USED(i2s_ASN1_INTEGER);
178LCRYPTO_USED(s2i_ASN1_INTEGER);
179LCRYPTO_USED(i2s_ASN1_ENUMERATED);
180LCRYPTO_USED(i2s_ASN1_ENUMERATED_TABLE);
181LCRYPTO_USED(X509V3_EXT_add);
182LCRYPTO_USED(X509V3_EXT_add_list);
183LCRYPTO_USED(X509V3_EXT_add_alias);
184LCRYPTO_USED(X509V3_EXT_cleanup);
185LCRYPTO_USED(X509V3_EXT_get);
186LCRYPTO_USED(X509V3_EXT_get_nid);
187LCRYPTO_USED(X509V3_add_standard_extensions);
188LCRYPTO_USED(X509V3_parse_list);
189LCRYPTO_USED(X509V3_EXT_d2i);
190LCRYPTO_USED(X509V3_get_d2i);
191LCRYPTO_USED(X509V3_EXT_i2d);
192LCRYPTO_USED(X509V3_add1_i2d);
193LCRYPTO_USED(hex_to_string);
194LCRYPTO_USED(string_to_hex);
195LCRYPTO_USED(X509V3_EXT_val_prn);
196LCRYPTO_USED(X509V3_EXT_print);
197LCRYPTO_USED(X509V3_EXT_print_fp);
198LCRYPTO_USED(X509V3_extensions_print);
199LCRYPTO_USED(X509_check_ca);
200LCRYPTO_USED(X509_check_purpose);
201LCRYPTO_USED(X509_supported_extension);
202LCRYPTO_USED(X509_PURPOSE_set);
203LCRYPTO_USED(X509_check_issued);
204LCRYPTO_USED(X509_check_akid);
205LCRYPTO_USED(X509_PURPOSE_get_count);
206LCRYPTO_USED(X509_PURPOSE_get0);
207LCRYPTO_USED(X509_PURPOSE_get_by_sname);
208LCRYPTO_USED(X509_PURPOSE_get_by_id);
209LCRYPTO_USED(X509_PURPOSE_add);
210LCRYPTO_USED(X509_PURPOSE_get0_name);
211LCRYPTO_USED(X509_PURPOSE_get0_sname);
212LCRYPTO_USED(X509_PURPOSE_get_trust);
213LCRYPTO_USED(X509_PURPOSE_cleanup);
214LCRYPTO_USED(X509_PURPOSE_get_id);
215LCRYPTO_USED(X509_get_extension_flags);
216LCRYPTO_USED(X509_get_key_usage);
217LCRYPTO_USED(X509_get_extended_key_usage);
218LCRYPTO_USED(X509_get1_email);
219LCRYPTO_USED(X509_REQ_get1_email);
220LCRYPTO_USED(X509_email_free);
221LCRYPTO_USED(X509_get1_ocsp);
222LCRYPTO_USED(X509_check_host);
223LCRYPTO_USED(X509_check_email);
224LCRYPTO_USED(X509_check_ip);
225LCRYPTO_USED(X509_check_ip_asc);
226LCRYPTO_USED(a2i_IPADDRESS);
227LCRYPTO_USED(a2i_IPADDRESS_NC);
228LCRYPTO_USED(a2i_ipadd);
229LCRYPTO_USED(X509V3_NAME_from_section);
230LCRYPTO_USED(X509_POLICY_NODE_print);
231LCRYPTO_USED(ASRange_new);
232LCRYPTO_USED(ASRange_free);
233LCRYPTO_USED(d2i_ASRange);
234LCRYPTO_USED(i2d_ASRange);
235LCRYPTO_USED(ASIdOrRange_new);
236LCRYPTO_USED(ASIdOrRange_free);
237LCRYPTO_USED(d2i_ASIdOrRange);
238LCRYPTO_USED(i2d_ASIdOrRange);
239LCRYPTO_USED(ASIdentifierChoice_new);
240LCRYPTO_USED(ASIdentifierChoice_free);
241LCRYPTO_USED(d2i_ASIdentifierChoice);
242LCRYPTO_USED(i2d_ASIdentifierChoice);
243LCRYPTO_USED(ASIdentifiers_new);
244LCRYPTO_USED(ASIdentifiers_free);
245LCRYPTO_USED(d2i_ASIdentifiers);
246LCRYPTO_USED(i2d_ASIdentifiers);
247LCRYPTO_USED(IPAddressRange_new);
248LCRYPTO_USED(IPAddressRange_free);
249LCRYPTO_USED(d2i_IPAddressRange);
250LCRYPTO_USED(i2d_IPAddressRange);
251LCRYPTO_USED(IPAddressOrRange_new);
252LCRYPTO_USED(IPAddressOrRange_free);
253LCRYPTO_USED(d2i_IPAddressOrRange);
254LCRYPTO_USED(i2d_IPAddressOrRange);
255LCRYPTO_USED(IPAddressChoice_new);
256LCRYPTO_USED(IPAddressChoice_free);
257LCRYPTO_USED(d2i_IPAddressChoice);
258LCRYPTO_USED(i2d_IPAddressChoice);
259LCRYPTO_USED(IPAddressFamily_new);
260LCRYPTO_USED(IPAddressFamily_free);
261LCRYPTO_USED(d2i_IPAddressFamily);
262LCRYPTO_USED(i2d_IPAddressFamily);
263LCRYPTO_USED(X509v3_asid_add_inherit);
264LCRYPTO_USED(X509v3_asid_add_id_or_range);
265LCRYPTO_USED(X509v3_addr_add_inherit);
266LCRYPTO_USED(X509v3_addr_add_prefix);
267LCRYPTO_USED(X509v3_addr_add_range);
268LCRYPTO_USED(X509v3_addr_get_afi);
269LCRYPTO_USED(X509v3_addr_get_range);
270LCRYPTO_USED(X509v3_asid_is_canonical);
271LCRYPTO_USED(X509v3_addr_is_canonical);
272LCRYPTO_USED(X509v3_asid_canonize);
273LCRYPTO_USED(X509v3_addr_canonize);
274LCRYPTO_USED(X509v3_asid_inherits);
275LCRYPTO_USED(X509v3_addr_inherits);
276LCRYPTO_USED(X509v3_asid_subset);
277LCRYPTO_USED(X509v3_addr_subset);
278LCRYPTO_USED(X509v3_asid_validate_path);
279LCRYPTO_USED(X509v3_addr_validate_path);
280LCRYPTO_USED(X509v3_asid_validate_resource_set);
281LCRYPTO_USED(X509v3_addr_validate_resource_set);
282LCRYPTO_USED(ERR_load_X509V3_strings);
283
284#endif /* _LIBCRYPTO_X509V3_H */
diff --git a/src/lib/libcrypto/x509/by_dir.c b/src/lib/libcrypto/x509/by_dir.c
index fa05f552f9..2875a12c92 100644
--- a/src/lib/libcrypto/x509/by_dir.c
+++ b/src/lib/libcrypto/x509/by_dir.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: by_dir.c,v 1.41 2021/11/10 14:34:21 schwarze Exp $ */ 1/* $OpenBSD: by_dir.c,v 1.42 2022/11/14 17:48:49 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 @@ X509_LOOKUP_hash_dir(void)
117{ 117{
118 return &x509_dir_lookup; 118 return &x509_dir_lookup;
119} 119}
120LCRYPTO_ALIAS(X509_LOOKUP_hash_dir)
120 121
121static int 122static int
122dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, 123dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
diff --git a/src/lib/libcrypto/x509/by_file.c b/src/lib/libcrypto/x509/by_file.c
index 3116b7cf1e..747252d25b 100644
--- a/src/lib/libcrypto/x509/by_file.c
+++ b/src/lib/libcrypto/x509/by_file.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: by_file.c,v 1.25 2021/11/10 13:57:42 schwarze Exp $ */ 1/* $OpenBSD: by_file.c,v 1.26 2022/11/14 17:48:49 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 @@ X509_LOOKUP_file(void)
89{ 89{
90 return &x509_file_lookup; 90 return &x509_file_lookup;
91} 91}
92LCRYPTO_ALIAS(X509_LOOKUP_file)
92 93
93static int 94static int
94by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, 95by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
@@ -173,6 +174,7 @@ err:
173 BIO_free(in); 174 BIO_free(in);
174 return ret; 175 return ret;
175} 176}
177LCRYPTO_ALIAS(X509_load_cert_file)
176 178
177int 179int
178X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type) 180X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type)
@@ -229,6 +231,7 @@ err:
229 BIO_free(in); 231 BIO_free(in);
230 return ret; 232 return ret;
231} 233}
234LCRYPTO_ALIAS(X509_load_crl_file)
232 235
233int 236int
234X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type) 237X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type)
@@ -267,4 +270,4 @@ X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type)
267 sk_X509_INFO_pop_free(inf, X509_INFO_free); 270 sk_X509_INFO_pop_free(inf, X509_INFO_free);
268 return count; 271 return count;
269} 272}
270 273LCRYPTO_ALIAS(X509_load_cert_crl_file)
diff --git a/src/lib/libcrypto/x509/by_mem.c b/src/lib/libcrypto/x509/by_mem.c
index 272877f843..fe1ac24525 100644
--- a/src/lib/libcrypto/x509/by_mem.c
+++ b/src/lib/libcrypto/x509/by_mem.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: by_mem.c,v 1.5 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: by_mem.c,v 1.6 2022/11/14 17:48:49 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,6 +90,7 @@ X509_LOOKUP_mem(void)
90{ 90{
91 return (&x509_mem_lookup); 91 return (&x509_mem_lookup);
92} 92}
93LCRYPTO_ALIAS(X509_LOOKUP_mem)
93 94
94static int 95static int
95by_mem_ctrl(X509_LOOKUP *lu, int cmd, const char *buf, 96by_mem_ctrl(X509_LOOKUP *lu, int cmd, const char *buf,
diff --git a/src/lib/libcrypto/x509/pcy_lib.c b/src/lib/libcrypto/x509/pcy_lib.c
index 3d5c58d710..e4b06e988b 100644
--- a/src/lib/libcrypto/x509/pcy_lib.c
+++ b/src/lib/libcrypto/x509/pcy_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pcy_lib.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: pcy_lib.c,v 1.2 2022/11/14 17:48:49 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 2004. 3 * project 2004.
4 */ 4 */
@@ -72,6 +72,7 @@ X509_policy_tree_level_count(const X509_POLICY_TREE *tree)
72 return 0; 72 return 0;
73 return tree->nlevel; 73 return tree->nlevel;
74} 74}
75LCRYPTO_ALIAS(X509_policy_tree_level_count)
75 76
76X509_POLICY_LEVEL * 77X509_POLICY_LEVEL *
77X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i) 78X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i)
@@ -80,6 +81,7 @@ X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i)
80 return NULL; 81 return NULL;
81 return tree->levels + i; 82 return tree->levels + i;
82} 83}
84LCRYPTO_ALIAS(X509_policy_tree_get0_level)
83 85
84STACK_OF(X509_POLICY_NODE) * 86STACK_OF(X509_POLICY_NODE) *
85X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree) 87X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree)
@@ -88,6 +90,7 @@ X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree)
88 return NULL; 90 return NULL;
89 return tree->auth_policies; 91 return tree->auth_policies;
90} 92}
93LCRYPTO_ALIAS(X509_policy_tree_get0_policies)
91 94
92STACK_OF(X509_POLICY_NODE) * 95STACK_OF(X509_POLICY_NODE) *
93X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree) 96X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree)
@@ -99,6 +102,7 @@ X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree)
99 else 102 else
100 return tree->user_policies; 103 return tree->user_policies;
101} 104}
105LCRYPTO_ALIAS(X509_policy_tree_get0_user_policies)
102 106
103/* X509_POLICY_LEVEL stuff */ 107/* X509_POLICY_LEVEL stuff */
104 108
@@ -116,6 +120,7 @@ X509_policy_level_node_count(X509_POLICY_LEVEL *level)
116 n += sk_X509_POLICY_NODE_num(level->nodes); 120 n += sk_X509_POLICY_NODE_num(level->nodes);
117 return n; 121 return n;
118} 122}
123LCRYPTO_ALIAS(X509_policy_level_node_count)
119 124
120X509_POLICY_NODE * 125X509_POLICY_NODE *
121X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i) 126X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i)
@@ -129,6 +134,7 @@ X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i)
129 } 134 }
130 return sk_X509_POLICY_NODE_value(level->nodes, i); 135 return sk_X509_POLICY_NODE_value(level->nodes, i);
131} 136}
137LCRYPTO_ALIAS(X509_policy_level_get0_node)
132 138
133/* X509_POLICY_NODE stuff */ 139/* X509_POLICY_NODE stuff */
134 140
@@ -139,6 +145,7 @@ X509_policy_node_get0_policy(const X509_POLICY_NODE *node)
139 return NULL; 145 return NULL;
140 return node->data->valid_policy; 146 return node->data->valid_policy;
141} 147}
148LCRYPTO_ALIAS(X509_policy_node_get0_policy)
142 149
143STACK_OF(POLICYQUALINFO) * 150STACK_OF(POLICYQUALINFO) *
144X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node) 151X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node)
@@ -147,6 +154,7 @@ X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node)
147 return NULL; 154 return NULL;
148 return node->data->qualifier_set; 155 return node->data->qualifier_set;
149} 156}
157LCRYPTO_ALIAS(X509_policy_node_get0_qualifiers)
150 158
151const X509_POLICY_NODE * 159const X509_POLICY_NODE *
152X509_policy_node_get0_parent(const X509_POLICY_NODE *node) 160X509_policy_node_get0_parent(const X509_POLICY_NODE *node)
@@ -155,3 +163,4 @@ X509_policy_node_get0_parent(const X509_POLICY_NODE *node)
155 return NULL; 163 return NULL;
156 return node->parent; 164 return node->parent;
157} 165}
166LCRYPTO_ALIAS(X509_policy_node_get0_parent)
diff --git a/src/lib/libcrypto/x509/pcy_tree.c b/src/lib/libcrypto/x509/pcy_tree.c
index 284c08e66a..1df37c8776 100644
--- a/src/lib/libcrypto/x509/pcy_tree.c
+++ b/src/lib/libcrypto/x509/pcy_tree.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pcy_tree.c,v 1.2 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: pcy_tree.c,v 1.3 2022/11/14 17:48:49 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 2004. 3 * project 2004.
4 */ 4 */
@@ -657,6 +657,7 @@ X509_policy_tree_free(X509_POLICY_TREE *tree)
657 free(tree->levels); 657 free(tree->levels);
658 free(tree); 658 free(tree);
659} 659}
660LCRYPTO_ALIAS(X509_policy_tree_free)
660 661
661/* Application policy checking function. 662/* Application policy checking function.
662 * Return codes: 663 * Return codes:
@@ -769,3 +770,4 @@ error:
769 770
770 return 0; 771 return 0;
771} 772}
773LCRYPTO_ALIAS(X509_policy_check)
diff --git a/src/lib/libcrypto/x509/x509_addr.c b/src/lib/libcrypto/x509/x509_addr.c
index e15bf821da..ee4e285a77 100644
--- a/src/lib/libcrypto/x509/x509_addr.c
+++ b/src/lib/libcrypto/x509/x509_addr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_addr.c,v 1.83 2022/05/25 17:10:30 tb Exp $ */ 1/* $OpenBSD: x509_addr.c,v 1.84 2022/11/14 17:48:49 beck Exp $ */
2/* 2/*
3 * Contributed to the OpenSSL Project by the American Registry for 3 * Contributed to the OpenSSL Project by the American Registry for
4 * Internet Numbers ("ARIN"). 4 * Internet Numbers ("ARIN").
@@ -215,24 +215,28 @@ d2i_IPAddressRange(IPAddressRange **a, const unsigned char **in, long len)
215 return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 215 return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
216 &IPAddressRange_it); 216 &IPAddressRange_it);
217} 217}
218LCRYPTO_ALIAS(d2i_IPAddressRange)
218 219
219int 220int
220i2d_IPAddressRange(IPAddressRange *a, unsigned char **out) 221i2d_IPAddressRange(IPAddressRange *a, unsigned char **out)
221{ 222{
222 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it); 223 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it);
223} 224}
225LCRYPTO_ALIAS(i2d_IPAddressRange)
224 226
225IPAddressRange * 227IPAddressRange *
226IPAddressRange_new(void) 228IPAddressRange_new(void)
227{ 229{
228 return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it); 230 return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it);
229} 231}
232LCRYPTO_ALIAS(IPAddressRange_new)
230 233
231void 234void
232IPAddressRange_free(IPAddressRange *a) 235IPAddressRange_free(IPAddressRange *a)
233{ 236{
234 ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it); 237 ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it);
235} 238}
239LCRYPTO_ALIAS(IPAddressRange_free)
236 240
237IPAddressOrRange * 241IPAddressOrRange *
238d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len) 242d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len)
@@ -240,24 +244,28 @@ d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len)
240 return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 244 return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
241 &IPAddressOrRange_it); 245 &IPAddressOrRange_it);
242} 246}
247LCRYPTO_ALIAS(d2i_IPAddressOrRange)
243 248
244int 249int
245i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out) 250i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out)
246{ 251{
247 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it); 252 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it);
248} 253}
254LCRYPTO_ALIAS(i2d_IPAddressOrRange)
249 255
250IPAddressOrRange * 256IPAddressOrRange *
251IPAddressOrRange_new(void) 257IPAddressOrRange_new(void)
252{ 258{
253 return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it); 259 return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it);
254} 260}
261LCRYPTO_ALIAS(IPAddressOrRange_new)
255 262
256void 263void
257IPAddressOrRange_free(IPAddressOrRange *a) 264IPAddressOrRange_free(IPAddressOrRange *a)
258{ 265{
259 ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it); 266 ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it);
260} 267}
268LCRYPTO_ALIAS(IPAddressOrRange_free)
261 269
262IPAddressChoice * 270IPAddressChoice *
263d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len) 271d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len)
@@ -265,24 +273,28 @@ d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len)
265 return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 273 return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
266 &IPAddressChoice_it); 274 &IPAddressChoice_it);
267} 275}
276LCRYPTO_ALIAS(d2i_IPAddressChoice)
268 277
269int 278int
270i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out) 279i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out)
271{ 280{
272 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it); 281 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it);
273} 282}
283LCRYPTO_ALIAS(i2d_IPAddressChoice)
274 284
275IPAddressChoice * 285IPAddressChoice *
276IPAddressChoice_new(void) 286IPAddressChoice_new(void)
277{ 287{
278 return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it); 288 return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it);
279} 289}
290LCRYPTO_ALIAS(IPAddressChoice_new)
280 291
281void 292void
282IPAddressChoice_free(IPAddressChoice *a) 293IPAddressChoice_free(IPAddressChoice *a)
283{ 294{
284 ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it); 295 ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it);
285} 296}
297LCRYPTO_ALIAS(IPAddressChoice_free)
286 298
287IPAddressFamily * 299IPAddressFamily *
288d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len) 300d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len)
@@ -290,24 +302,28 @@ d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len)
290 return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 302 return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
291 &IPAddressFamily_it); 303 &IPAddressFamily_it);
292} 304}
305LCRYPTO_ALIAS(d2i_IPAddressFamily)
293 306
294int 307int
295i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out) 308i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out)
296{ 309{
297 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it); 310 return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it);
298} 311}
312LCRYPTO_ALIAS(i2d_IPAddressFamily)
299 313
300IPAddressFamily * 314IPAddressFamily *
301IPAddressFamily_new(void) 315IPAddressFamily_new(void)
302{ 316{
303 return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it); 317 return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it);
304} 318}
319LCRYPTO_ALIAS(IPAddressFamily_new)
305 320
306void 321void
307IPAddressFamily_free(IPAddressFamily *a) 322IPAddressFamily_free(IPAddressFamily *a)
308{ 323{
309 ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it); 324 ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it);
310} 325}
326LCRYPTO_ALIAS(IPAddressFamily_free)
311 327
312/* 328/*
313 * Convenience accessors for IPAddressFamily. 329 * Convenience accessors for IPAddressFamily.
@@ -518,6 +534,7 @@ X509v3_addr_get_afi(const IPAddressFamily *af)
518 534
519 return afi; 535 return afi;
520} 536}
537LCRYPTO_ALIAS(X509v3_addr_get_afi)
521 538
522/* 539/*
523 * Expand the bitstring form (RFC 3779, section 2.1.2) of an address into 540 * Expand the bitstring form (RFC 3779, section 2.1.2) of an address into
@@ -1093,6 +1110,7 @@ X509v3_addr_add_inherit(IPAddrBlocks *addr, const unsigned afi,
1093 1110
1094 return IPAddressFamily_set_inheritance(af); 1111 return IPAddressFamily_set_inheritance(af);
1095} 1112}
1113LCRYPTO_ALIAS(X509v3_addr_add_inherit)
1096 1114
1097/* 1115/*
1098 * Construct an IPAddressOrRange sequence, or return an existing one. 1116 * Construct an IPAddressOrRange sequence, or return an existing one.
@@ -1156,6 +1174,7 @@ X509v3_addr_add_prefix(IPAddrBlocks *addr, const unsigned afi,
1156 1174
1157 return 1; 1175 return 1;
1158} 1176}
1177LCRYPTO_ALIAS(X509v3_addr_add_prefix)
1159 1178
1160/* 1179/*
1161 * Add a range. 1180 * Add a range.
@@ -1183,6 +1202,7 @@ X509v3_addr_add_range(IPAddrBlocks *addr, const unsigned afi,
1183 1202
1184 return 1; 1203 return 1;
1185} 1204}
1205LCRYPTO_ALIAS(X509v3_addr_add_range)
1186 1206
1187static int 1207static int
1188extract_min_max_bitstr(IPAddressOrRange *aor, ASN1_BIT_STRING **out_min, 1208extract_min_max_bitstr(IPAddressOrRange *aor, ASN1_BIT_STRING **out_min,
@@ -1242,6 +1262,7 @@ X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi,
1242 1262
1243 return afi_len; 1263 return afi_len;
1244} 1264}
1265LCRYPTO_ALIAS(X509v3_addr_get_range)
1245 1266
1246/* 1267/*
1247 * Check whether an IPAddrBLocks is in canonical form. 1268 * Check whether an IPAddrBLocks is in canonical form.
@@ -1360,6 +1381,7 @@ X509v3_addr_is_canonical(IPAddrBlocks *addr)
1360 */ 1381 */
1361 return 1; 1382 return 1;
1362} 1383}
1384LCRYPTO_ALIAS(X509v3_addr_is_canonical)
1363 1385
1364/* 1386/*
1365 * Whack an IPAddressOrRanges into canonical form. 1387 * Whack an IPAddressOrRanges into canonical form.
@@ -1466,6 +1488,7 @@ X509v3_addr_canonize(IPAddrBlocks *addr)
1466 1488
1467 return X509v3_addr_is_canonical(addr); 1489 return X509v3_addr_is_canonical(addr);
1468} 1490}
1491LCRYPTO_ALIAS(X509v3_addr_canonize)
1469 1492
1470/* 1493/*
1471 * v2i handler for the IPAddrBlocks extension. 1494 * v2i handler for the IPAddrBlocks extension.
@@ -1709,6 +1732,7 @@ X509v3_addr_inherits(IPAddrBlocks *addr)
1709 1732
1710 return 0; 1733 return 0;
1711} 1734}
1735LCRYPTO_ALIAS(X509v3_addr_inherits)
1712 1736
1713/* 1737/*
1714 * Figure out whether parent contains child. 1738 * Figure out whether parent contains child.
@@ -1792,6 +1816,7 @@ X509v3_addr_subset(IPAddrBlocks *child, IPAddrBlocks *parent)
1792 } 1816 }
1793 return 1; 1817 return 1;
1794} 1818}
1819LCRYPTO_ALIAS(X509v3_addr_subset)
1795 1820
1796static int 1821static int
1797verify_error(X509_STORE_CTX *ctx, X509 *cert, int error, int depth) 1822verify_error(X509_STORE_CTX *ctx, X509 *cert, int error, int depth)
@@ -1997,6 +2022,7 @@ X509v3_addr_validate_path(X509_STORE_CTX *ctx)
1997 } 2022 }
1998 return addr_validate_path_internal(ctx, ctx->chain, NULL); 2023 return addr_validate_path_internal(ctx, ctx->chain, NULL);
1999} 2024}
2025LCRYPTO_ALIAS(X509v3_addr_validate_path)
2000 2026
2001/* 2027/*
2002 * RFC 3779 2.3 path validation of an extension. 2028 * RFC 3779 2.3 path validation of an extension.
@@ -2014,5 +2040,6 @@ X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, IPAddrBlocks *ext,
2014 return 0; 2040 return 0;
2015 return addr_validate_path_internal(NULL, chain, ext); 2041 return addr_validate_path_internal(NULL, chain, ext);
2016} 2042}
2043LCRYPTO_ALIAS(X509v3_addr_validate_resource_set)
2017 2044
2018#endif /* OPENSSL_NO_RFC3779 */ 2045#endif /* OPENSSL_NO_RFC3779 */
diff --git a/src/lib/libcrypto/x509/x509_akeya.c b/src/lib/libcrypto/x509/x509_akeya.c
index aba8923caa..969cad1c3e 100644
--- a/src/lib/libcrypto/x509/x509_akeya.c
+++ b/src/lib/libcrypto/x509/x509_akeya.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_akeya.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: x509_akeya.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -104,21 +104,25 @@ d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len)
104 return (AUTHORITY_KEYID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 104 return (AUTHORITY_KEYID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
105 &AUTHORITY_KEYID_it); 105 &AUTHORITY_KEYID_it);
106} 106}
107LCRYPTO_ALIAS(d2i_AUTHORITY_KEYID)
107 108
108int 109int
109i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out) 110i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out)
110{ 111{
111 return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_KEYID_it); 112 return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_KEYID_it);
112} 113}
114LCRYPTO_ALIAS(i2d_AUTHORITY_KEYID)
113 115
114AUTHORITY_KEYID * 116AUTHORITY_KEYID *
115AUTHORITY_KEYID_new(void) 117AUTHORITY_KEYID_new(void)
116{ 118{
117 return (AUTHORITY_KEYID *)ASN1_item_new(&AUTHORITY_KEYID_it); 119 return (AUTHORITY_KEYID *)ASN1_item_new(&AUTHORITY_KEYID_it);
118} 120}
121LCRYPTO_ALIAS(AUTHORITY_KEYID_new)
119 122
120void 123void
121AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) 124AUTHORITY_KEYID_free(AUTHORITY_KEYID *a)
122{ 125{
123 ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_KEYID_it); 126 ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_KEYID_it);
124} 127}
128LCRYPTO_ALIAS(AUTHORITY_KEYID_free)
diff --git a/src/lib/libcrypto/x509/x509_alt.c b/src/lib/libcrypto/x509/x509_alt.c
index cf8cbf0ce2..137a1c1c11 100644
--- a/src/lib/libcrypto/x509/x509_alt.c
+++ b/src/lib/libcrypto/x509/x509_alt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_alt.c,v 1.13 2022/11/11 12:02:34 beck Exp $ */ 1/* $OpenBSD: x509_alt.c,v 1.14 2022/11/14 17:48:50 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 */
@@ -152,6 +152,7 @@ i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, GENERAL_NAMES *gens,
152 152
153 return NULL; 153 return NULL;
154} 154}
155LCRYPTO_ALIAS(i2v_GENERAL_NAMES)
155 156
156STACK_OF(CONF_VALUE) * 157STACK_OF(CONF_VALUE) *
157i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, 158i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen,
@@ -244,6 +245,7 @@ i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen,
244 245
245 return NULL; 246 return NULL;
246} 247}
248LCRYPTO_ALIAS(i2v_GENERAL_NAME)
247 249
248int 250int
249GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen) 251GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen)
@@ -310,6 +312,7 @@ GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen)
310 } 312 }
311 return 1; 313 return 1;
312} 314}
315LCRYPTO_ALIAS(GENERAL_NAME_print)
313 316
314static GENERAL_NAMES * 317static GENERAL_NAMES *
315v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 318v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
@@ -512,6 +515,7 @@ err:
512 sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); 515 sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free);
513 return NULL; 516 return NULL;
514} 517}
518LCRYPTO_ALIAS(v2i_GENERAL_NAMES)
515 519
516GENERAL_NAME * 520GENERAL_NAME *
517v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 521v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
@@ -519,6 +523,7 @@ v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
519{ 523{
520 return v2i_GENERAL_NAME_ex(NULL, method, ctx, cnf, 0); 524 return v2i_GENERAL_NAME_ex(NULL, method, ctx, cnf, 0);
521} 525}
526LCRYPTO_ALIAS(v2i_GENERAL_NAME)
522 527
523GENERAL_NAME * 528GENERAL_NAME *
524a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, 529a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method,
@@ -609,6 +614,7 @@ err:
609 GENERAL_NAME_free(gen); 614 GENERAL_NAME_free(gen);
610 return NULL; 615 return NULL;
611} 616}
617LCRYPTO_ALIAS(a2i_GENERAL_NAME)
612 618
613GENERAL_NAME * 619GENERAL_NAME *
614v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, 620v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method,
@@ -712,6 +718,7 @@ v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method,
712 GENERAL_NAME_free(ret); 718 GENERAL_NAME_free(ret);
713 return NULL; 719 return NULL;
714} 720}
721LCRYPTO_ALIAS(v2i_GENERAL_NAME_ex)
715 722
716static int 723static int
717do_othername(GENERAL_NAME *gen, const char *value, X509V3_CTX *ctx) 724do_othername(GENERAL_NAME *gen, const char *value, X509V3_CTX *ctx)
diff --git a/src/lib/libcrypto/x509/x509_asid.c b/src/lib/libcrypto/x509/x509_asid.c
index e9db8bdabd..c95816da04 100644
--- a/src/lib/libcrypto/x509/x509_asid.c
+++ b/src/lib/libcrypto/x509/x509_asid.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_asid.c,v 1.36 2022/11/13 23:38:42 tb Exp $ */ 1/* $OpenBSD: x509_asid.c,v 1.37 2022/11/14 17:48:50 beck Exp $ */
2/* 2/*
3 * Contributed to the OpenSSL Project by the American Registry for 3 * Contributed to the OpenSSL Project by the American Registry for
4 * Internet Numbers ("ARIN"). 4 * Internet Numbers ("ARIN").
@@ -191,24 +191,28 @@ d2i_ASRange(ASRange **a, const unsigned char **in, long len)
191 return (ASRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 191 return (ASRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
192 &ASRange_it); 192 &ASRange_it);
193} 193}
194LCRYPTO_ALIAS(d2i_ASRange)
194 195
195int 196int
196i2d_ASRange(ASRange *a, unsigned char **out) 197i2d_ASRange(ASRange *a, unsigned char **out)
197{ 198{
198 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASRange_it); 199 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASRange_it);
199} 200}
201LCRYPTO_ALIAS(i2d_ASRange)
200 202
201ASRange * 203ASRange *
202ASRange_new(void) 204ASRange_new(void)
203{ 205{
204 return (ASRange *)ASN1_item_new(&ASRange_it); 206 return (ASRange *)ASN1_item_new(&ASRange_it);
205} 207}
208LCRYPTO_ALIAS(ASRange_new)
206 209
207void 210void
208ASRange_free(ASRange *a) 211ASRange_free(ASRange *a)
209{ 212{
210 ASN1_item_free((ASN1_VALUE *)a, &ASRange_it); 213 ASN1_item_free((ASN1_VALUE *)a, &ASRange_it);
211} 214}
215LCRYPTO_ALIAS(ASRange_free)
212 216
213ASIdOrRange * 217ASIdOrRange *
214d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len) 218d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len)
@@ -216,24 +220,28 @@ d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len)
216 return (ASIdOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 220 return (ASIdOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
217 &ASIdOrRange_it); 221 &ASIdOrRange_it);
218} 222}
223LCRYPTO_ALIAS(d2i_ASIdOrRange)
219 224
220int 225int
221i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out) 226i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out)
222{ 227{
223 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdOrRange_it); 228 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdOrRange_it);
224} 229}
230LCRYPTO_ALIAS(i2d_ASIdOrRange)
225 231
226ASIdOrRange * 232ASIdOrRange *
227ASIdOrRange_new(void) 233ASIdOrRange_new(void)
228{ 234{
229 return (ASIdOrRange *)ASN1_item_new(&ASIdOrRange_it); 235 return (ASIdOrRange *)ASN1_item_new(&ASIdOrRange_it);
230} 236}
237LCRYPTO_ALIAS(ASIdOrRange_new)
231 238
232void 239void
233ASIdOrRange_free(ASIdOrRange *a) 240ASIdOrRange_free(ASIdOrRange *a)
234{ 241{
235 ASN1_item_free((ASN1_VALUE *)a, &ASIdOrRange_it); 242 ASN1_item_free((ASN1_VALUE *)a, &ASIdOrRange_it);
236} 243}
244LCRYPTO_ALIAS(ASIdOrRange_free)
237 245
238ASIdentifierChoice * 246ASIdentifierChoice *
239d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in, 247d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in,
@@ -242,24 +250,28 @@ d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in,
242 return (ASIdentifierChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 250 return (ASIdentifierChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
243 &ASIdentifierChoice_it); 251 &ASIdentifierChoice_it);
244} 252}
253LCRYPTO_ALIAS(d2i_ASIdentifierChoice)
245 254
246int 255int
247i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out) 256i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out)
248{ 257{
249 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifierChoice_it); 258 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifierChoice_it);
250} 259}
260LCRYPTO_ALIAS(i2d_ASIdentifierChoice)
251 261
252ASIdentifierChoice * 262ASIdentifierChoice *
253ASIdentifierChoice_new(void) 263ASIdentifierChoice_new(void)
254{ 264{
255 return (ASIdentifierChoice *)ASN1_item_new(&ASIdentifierChoice_it); 265 return (ASIdentifierChoice *)ASN1_item_new(&ASIdentifierChoice_it);
256} 266}
267LCRYPTO_ALIAS(ASIdentifierChoice_new)
257 268
258void 269void
259ASIdentifierChoice_free(ASIdentifierChoice *a) 270ASIdentifierChoice_free(ASIdentifierChoice *a)
260{ 271{
261 ASN1_item_free((ASN1_VALUE *)a, &ASIdentifierChoice_it); 272 ASN1_item_free((ASN1_VALUE *)a, &ASIdentifierChoice_it);
262} 273}
274LCRYPTO_ALIAS(ASIdentifierChoice_free)
263 275
264ASIdentifiers * 276ASIdentifiers *
265d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len) 277d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len)
@@ -267,24 +279,28 @@ d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len)
267 return (ASIdentifiers *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 279 return (ASIdentifiers *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
268 &ASIdentifiers_it); 280 &ASIdentifiers_it);
269} 281}
282LCRYPTO_ALIAS(d2i_ASIdentifiers)
270 283
271int 284int
272i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out) 285i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out)
273{ 286{
274 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifiers_it); 287 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifiers_it);
275} 288}
289LCRYPTO_ALIAS(i2d_ASIdentifiers)
276 290
277ASIdentifiers * 291ASIdentifiers *
278ASIdentifiers_new(void) 292ASIdentifiers_new(void)
279{ 293{
280 return (ASIdentifiers *)ASN1_item_new(&ASIdentifiers_it); 294 return (ASIdentifiers *)ASN1_item_new(&ASIdentifiers_it);
281} 295}
296LCRYPTO_ALIAS(ASIdentifiers_new)
282 297
283void 298void
284ASIdentifiers_free(ASIdentifiers *a) 299ASIdentifiers_free(ASIdentifiers *a)
285{ 300{
286 ASN1_item_free((ASN1_VALUE *)a, &ASIdentifiers_it); 301 ASN1_item_free((ASN1_VALUE *)a, &ASIdentifiers_it);
287} 302}
303LCRYPTO_ALIAS(ASIdentifiers_free)
288 304
289/* 305/*
290 * i2r method for an ASIdentifierChoice. 306 * i2r method for an ASIdentifierChoice.
@@ -412,6 +428,7 @@ X509v3_asid_add_inherit(ASIdentifiers *asid, int which)
412 } 428 }
413 return (*choice)->type == ASIdentifierChoice_inherit; 429 return (*choice)->type == ASIdentifierChoice_inherit;
414} 430}
431LCRYPTO_ALIAS(X509v3_asid_add_inherit)
415 432
416/* 433/*
417 * Add an ID or range to an ASIdentifierChoice. 434 * Add an ID or range to an ASIdentifierChoice.
@@ -466,6 +483,7 @@ X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, ASN1_INTEGER *min,
466 ASIdOrRange_free(aor); 483 ASIdOrRange_free(aor);
467 return 0; 484 return 0;
468} 485}
486LCRYPTO_ALIAS(X509v3_asid_add_id_or_range)
469 487
470/* 488/*
471 * Extract min and max values from an ASIdOrRange. 489 * Extract min and max values from an ASIdOrRange.
@@ -594,6 +612,7 @@ X509v3_asid_is_canonical(ASIdentifiers *asid)
594 (ASIdentifierChoice_is_canonical(asid->asnum) && 612 (ASIdentifierChoice_is_canonical(asid->asnum) &&
595 ASIdentifierChoice_is_canonical(asid->rdi))); 613 ASIdentifierChoice_is_canonical(asid->rdi)));
596} 614}
615LCRYPTO_ALIAS(X509v3_asid_is_canonical)
597 616
598/* 617/*
599 * Whack an ASIdentifierChoice into canonical form. 618 * Whack an ASIdentifierChoice into canonical form.
@@ -761,6 +780,7 @@ X509v3_asid_canonize(ASIdentifiers *asid)
761 780
762 return ASIdentifierChoice_canonize(asid->rdi); 781 return ASIdentifierChoice_canonize(asid->rdi);
763} 782}
783LCRYPTO_ALIAS(X509v3_asid_canonize)
764 784
765/* 785/*
766 * v2i method for an ASIdentifier extension. 786 * v2i method for an ASIdentifier extension.
@@ -919,6 +939,7 @@ X509v3_asid_inherits(ASIdentifiers *asid)
919 939
920 return 0; 940 return 0;
921} 941}
942LCRYPTO_ALIAS(X509v3_asid_inherits)
922 943
923/* 944/*
924 * Figure out whether parent contains child. 945 * Figure out whether parent contains child.
@@ -992,6 +1013,7 @@ X509v3_asid_subset(ASIdentifiers *child, ASIdentifiers *parent)
992 1013
993 return 1; 1014 return 1;
994} 1015}
1016LCRYPTO_ALIAS(X509v3_asid_subset)
995 1017
996/* 1018/*
997 * Validation error handling via callback. 1019 * Validation error handling via callback.
@@ -1159,6 +1181,7 @@ X509v3_asid_validate_path(X509_STORE_CTX *ctx)
1159 } 1181 }
1160 return asid_validate_path_internal(ctx, ctx->chain, NULL); 1182 return asid_validate_path_internal(ctx, ctx->chain, NULL);
1161} 1183}
1184LCRYPTO_ALIAS(X509v3_asid_validate_path)
1162 1185
1163/* 1186/*
1164 * RFC 3779 3.3 path validation of an extension. 1187 * RFC 3779 3.3 path validation of an extension.
@@ -1176,5 +1199,6 @@ X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, ASIdentifiers *ext,
1176 return 0; 1199 return 0;
1177 return asid_validate_path_internal(NULL, chain, ext); 1200 return asid_validate_path_internal(NULL, chain, ext);
1178} 1201}
1202LCRYPTO_ALIAS(X509v3_asid_validate_resource_set)
1179 1203
1180#endif /* OPENSSL_NO_RFC3779 */ 1204#endif /* OPENSSL_NO_RFC3779 */
diff --git a/src/lib/libcrypto/x509/x509_att.c b/src/lib/libcrypto/x509/x509_att.c
index 8d369df900..bff412173b 100644
--- a/src/lib/libcrypto/x509/x509_att.c
+++ b/src/lib/libcrypto/x509/x509_att.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_att.c,v 1.19 2022/05/09 19:19:33 jsing Exp $ */ 1/* $OpenBSD: x509_att.c,v 1.20 2022/11/14 17:48:50 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 *
@@ -73,6 +73,7 @@ X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x)
73{ 73{
74 return sk_X509_ATTRIBUTE_num(x); 74 return sk_X509_ATTRIBUTE_num(x);
75} 75}
76LCRYPTO_ALIAS(X509at_get_attr_count)
76 77
77int 78int
78X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, int lastpos) 79X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, int lastpos)
@@ -84,6 +85,7 @@ X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, int lastpos)
84 return (-2); 85 return (-2);
85 return (X509at_get_attr_by_OBJ(x, obj, lastpos)); 86 return (X509at_get_attr_by_OBJ(x, obj, lastpos));
86} 87}
88LCRYPTO_ALIAS(X509at_get_attr_by_NID)
87 89
88int 90int
89X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, 91X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk,
@@ -105,6 +107,7 @@ X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk,
105 } 107 }
106 return (-1); 108 return (-1);
107} 109}
110LCRYPTO_ALIAS(X509at_get_attr_by_OBJ)
108 111
109X509_ATTRIBUTE * 112X509_ATTRIBUTE *
110X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc) 113X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc)
@@ -114,6 +117,7 @@ X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc)
114 else 117 else
115 return sk_X509_ATTRIBUTE_value(x, loc); 118 return sk_X509_ATTRIBUTE_value(x, loc);
116} 119}
120LCRYPTO_ALIAS(X509at_get_attr)
117 121
118X509_ATTRIBUTE * 122X509_ATTRIBUTE *
119X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc) 123X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc)
@@ -125,6 +129,7 @@ X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc)
125 ret = sk_X509_ATTRIBUTE_delete(x, loc); 129 ret = sk_X509_ATTRIBUTE_delete(x, loc);
126 return (ret); 130 return (ret);
127} 131}
132LCRYPTO_ALIAS(X509at_delete_attr)
128 133
129STACK_OF(X509_ATTRIBUTE) * 134STACK_OF(X509_ATTRIBUTE) *
130X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, X509_ATTRIBUTE *attr) 135X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, X509_ATTRIBUTE *attr)
@@ -160,6 +165,7 @@ err2:
160 sk_X509_ATTRIBUTE_free(sk); 165 sk_X509_ATTRIBUTE_free(sk);
161 return (NULL); 166 return (NULL);
162} 167}
168LCRYPTO_ALIAS(X509at_add1_attr)
163 169
164STACK_OF(X509_ATTRIBUTE) * 170STACK_OF(X509_ATTRIBUTE) *
165X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) **x, const ASN1_OBJECT *obj, 171X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) **x, const ASN1_OBJECT *obj,
@@ -175,6 +181,7 @@ X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) **x, const ASN1_OBJECT *obj,
175 X509_ATTRIBUTE_free(attr); 181 X509_ATTRIBUTE_free(attr);
176 return ret; 182 return ret;
177} 183}
184LCRYPTO_ALIAS(X509at_add1_attr_by_OBJ)
178 185
179STACK_OF(X509_ATTRIBUTE) * 186STACK_OF(X509_ATTRIBUTE) *
180X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) **x, int nid, int type, 187X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) **x, int nid, int type,
@@ -190,6 +197,7 @@ X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) **x, int nid, int type,
190 X509_ATTRIBUTE_free(attr); 197 X509_ATTRIBUTE_free(attr);
191 return ret; 198 return ret;
192} 199}
200LCRYPTO_ALIAS(X509at_add1_attr_by_NID)
193 201
194STACK_OF(X509_ATTRIBUTE) * 202STACK_OF(X509_ATTRIBUTE) *
195X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) **x, const char *attrname, 203X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) **x, const char *attrname,
@@ -205,6 +213,7 @@ X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) **x, const char *attrname,
205 X509_ATTRIBUTE_free(attr); 213 X509_ATTRIBUTE_free(attr);
206 return ret; 214 return ret;
207} 215}
216LCRYPTO_ALIAS(X509at_add1_attr_by_txt)
208 217
209void * 218void *
210X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, const ASN1_OBJECT *obj, 219X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, const ASN1_OBJECT *obj,
@@ -223,6 +232,7 @@ X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, const ASN1_OBJECT *obj,
223 return NULL; 232 return NULL;
224 return X509_ATTRIBUTE_get0_data(at, 0, type, NULL); 233 return X509_ATTRIBUTE_get0_data(at, 0, type, NULL);
225} 234}
235LCRYPTO_ALIAS(X509at_get0_data_by_OBJ)
226 236
227X509_ATTRIBUTE * 237X509_ATTRIBUTE *
228X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, int atrtype, 238X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, int atrtype,
@@ -241,6 +251,7 @@ X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, int atrtype,
241 ASN1_OBJECT_free(obj); 251 ASN1_OBJECT_free(obj);
242 return (ret); 252 return (ret);
243} 253}
254LCRYPTO_ALIAS(X509_ATTRIBUTE_create_by_NID)
244 255
245X509_ATTRIBUTE * 256X509_ATTRIBUTE *
246X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, const ASN1_OBJECT *obj, 257X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, const ASN1_OBJECT *obj,
@@ -270,6 +281,7 @@ err:
270 X509_ATTRIBUTE_free(ret); 281 X509_ATTRIBUTE_free(ret);
271 return (NULL); 282 return (NULL);
272} 283}
284LCRYPTO_ALIAS(X509_ATTRIBUTE_create_by_OBJ)
273 285
274X509_ATTRIBUTE * 286X509_ATTRIBUTE *
275X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, const char *atrname, 287X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, const char *atrname,
@@ -288,6 +300,7 @@ X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, const char *atrname,
288 ASN1_OBJECT_free(obj); 300 ASN1_OBJECT_free(obj);
289 return nattr; 301 return nattr;
290} 302}
303LCRYPTO_ALIAS(X509_ATTRIBUTE_create_by_txt)
291 304
292int 305int
293X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj) 306X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj)
@@ -298,6 +311,7 @@ X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj)
298 attr->object = OBJ_dup(obj); 311 attr->object = OBJ_dup(obj);
299 return attr->object != NULL; 312 return attr->object != NULL;
300} 313}
314LCRYPTO_ALIAS(X509_ATTRIBUTE_set1_object)
301 315
302int 316int
303X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, const void *data, 317X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, const void *data,
@@ -351,6 +365,7 @@ err:
351 X509error(ERR_R_MALLOC_FAILURE); 365 X509error(ERR_R_MALLOC_FAILURE);
352 return 0; 366 return 0;
353} 367}
368LCRYPTO_ALIAS(X509_ATTRIBUTE_set1_data)
354 369
355int 370int
356X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr) 371X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr)
@@ -360,6 +375,7 @@ X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr)
360 375
361 return sk_ASN1_TYPE_num(attr->set); 376 return sk_ASN1_TYPE_num(attr->set);
362} 377}
378LCRYPTO_ALIAS(X509_ATTRIBUTE_count)
363 379
364ASN1_OBJECT * 380ASN1_OBJECT *
365X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr) 381X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr)
@@ -368,6 +384,7 @@ X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr)
368 return (NULL); 384 return (NULL);
369 return (attr->object); 385 return (attr->object);
370} 386}
387LCRYPTO_ALIAS(X509_ATTRIBUTE_get0_object)
371 388
372void * 389void *
373X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, void *data) 390X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, void *data)
@@ -383,6 +400,7 @@ X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, void *data)
383 } 400 }
384 return ttmp->value.ptr; 401 return ttmp->value.ptr;
385} 402}
403LCRYPTO_ALIAS(X509_ATTRIBUTE_get0_data)
386 404
387ASN1_TYPE * 405ASN1_TYPE *
388X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx) 406X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx)
@@ -392,3 +410,4 @@ X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx)
392 410
393 return sk_ASN1_TYPE_value(attr->set, idx); 411 return sk_ASN1_TYPE_value(attr->set, idx);
394} 412}
413LCRYPTO_ALIAS(X509_ATTRIBUTE_get0_type)
diff --git a/src/lib/libcrypto/x509/x509_bcons.c b/src/lib/libcrypto/x509/x509_bcons.c
index 48ce7d6087..8a9c1e419a 100644
--- a/src/lib/libcrypto/x509/x509_bcons.c
+++ b/src/lib/libcrypto/x509/x509_bcons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_bcons.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: x509_bcons.c,v 1.2 2022/11/14 17:48:50 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_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len)
121 return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 121 return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
122 &BASIC_CONSTRAINTS_it); 122 &BASIC_CONSTRAINTS_it);
123} 123}
124LCRYPTO_ALIAS(d2i_BASIC_CONSTRAINTS)
124 125
125int 126int
126i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out) 127i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out)
127{ 128{
128 return ASN1_item_i2d((ASN1_VALUE *)a, out, &BASIC_CONSTRAINTS_it); 129 return ASN1_item_i2d((ASN1_VALUE *)a, out, &BASIC_CONSTRAINTS_it);
129} 130}
131LCRYPTO_ALIAS(i2d_BASIC_CONSTRAINTS)
130 132
131BASIC_CONSTRAINTS * 133BASIC_CONSTRAINTS *
132BASIC_CONSTRAINTS_new(void) 134BASIC_CONSTRAINTS_new(void)
133{ 135{
134 return (BASIC_CONSTRAINTS *)ASN1_item_new(&BASIC_CONSTRAINTS_it); 136 return (BASIC_CONSTRAINTS *)ASN1_item_new(&BASIC_CONSTRAINTS_it);
135} 137}
138LCRYPTO_ALIAS(BASIC_CONSTRAINTS_new)
136 139
137void 140void
138BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a) 141BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a)
139{ 142{
140 ASN1_item_free((ASN1_VALUE *)a, &BASIC_CONSTRAINTS_it); 143 ASN1_item_free((ASN1_VALUE *)a, &BASIC_CONSTRAINTS_it);
141} 144}
145LCRYPTO_ALIAS(BASIC_CONSTRAINTS_free)
142 146
143 147
144static STACK_OF(CONF_VALUE) * 148static STACK_OF(CONF_VALUE) *
diff --git a/src/lib/libcrypto/x509/x509_bitst.c b/src/lib/libcrypto/x509/x509_bitst.c
index 3d998188e8..bea089e31c 100644
--- a/src/lib/libcrypto/x509/x509_bitst.c
+++ b/src/lib/libcrypto/x509/x509_bitst.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_bitst.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: x509_bitst.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -148,6 +148,7 @@ i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits,
148 148
149 return NULL; 149 return NULL;
150} 150}
151LCRYPTO_ALIAS(i2v_ASN1_BIT_STRING)
151 152
152ASN1_BIT_STRING * 153ASN1_BIT_STRING *
153v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 154v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
@@ -185,3 +186,4 @@ v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
185 } 186 }
186 return bs; 187 return bs;
187} 188}
189LCRYPTO_ALIAS(v2i_ASN1_BIT_STRING)
diff --git a/src/lib/libcrypto/x509/x509_cmp.c b/src/lib/libcrypto/x509/x509_cmp.c
index 4fd8d78fc3..542ae76c17 100644
--- a/src/lib/libcrypto/x509/x509_cmp.c
+++ b/src/lib/libcrypto/x509/x509_cmp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_cmp.c,v 1.39 2022/02/24 22:05:06 beck Exp $ */ 1/* $OpenBSD: x509_cmp.c,v 1.40 2022/11/14 17:48:50 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 @@ X509_issuer_and_serial_cmp(const X509 *a, const X509 *b)
84 return (i); 84 return (i);
85 return (X509_NAME_cmp(ai->issuer, bi->issuer)); 85 return (X509_NAME_cmp(ai->issuer, bi->issuer));
86} 86}
87LCRYPTO_ALIAS(X509_issuer_and_serial_cmp)
87 88
88#ifndef OPENSSL_NO_MD5 89#ifndef OPENSSL_NO_MD5
89unsigned long 90unsigned long
@@ -119,6 +120,7 @@ err:
119 free(f); 120 free(f);
120 return (ret); 121 return (ret);
121} 122}
123LCRYPTO_ALIAS(X509_issuer_and_serial_hash)
122#endif 124#endif
123 125
124int 126int
@@ -126,18 +128,21 @@ X509_issuer_name_cmp(const X509 *a, const X509 *b)
126{ 128{
127 return (X509_NAME_cmp(a->cert_info->issuer, b->cert_info->issuer)); 129 return (X509_NAME_cmp(a->cert_info->issuer, b->cert_info->issuer));
128} 130}
131LCRYPTO_ALIAS(X509_issuer_name_cmp)
129 132
130int 133int
131X509_subject_name_cmp(const X509 *a, const X509 *b) 134X509_subject_name_cmp(const X509 *a, const X509 *b)
132{ 135{
133 return (X509_NAME_cmp(a->cert_info->subject, b->cert_info->subject)); 136 return (X509_NAME_cmp(a->cert_info->subject, b->cert_info->subject));
134} 137}
138LCRYPTO_ALIAS(X509_subject_name_cmp)
135 139
136int 140int
137X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b) 141X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b)
138{ 142{
139 return (X509_NAME_cmp(a->crl->issuer, b->crl->issuer)); 143 return (X509_NAME_cmp(a->crl->issuer, b->crl->issuer));
140} 144}
145LCRYPTO_ALIAS(X509_CRL_cmp)
141 146
142#ifndef OPENSSL_NO_SHA 147#ifndef OPENSSL_NO_SHA
143int 148int
@@ -145,6 +150,7 @@ X509_CRL_match(const X509_CRL *a, const X509_CRL *b)
145{ 150{
146 return memcmp(a->hash, b->hash, X509_CRL_HASH_LEN); 151 return memcmp(a->hash, b->hash, X509_CRL_HASH_LEN);
147} 152}
153LCRYPTO_ALIAS(X509_CRL_match)
148#endif 154#endif
149 155
150X509_NAME * 156X509_NAME *
@@ -152,12 +158,14 @@ X509_get_issuer_name(const X509 *a)
152{ 158{
153 return (a->cert_info->issuer); 159 return (a->cert_info->issuer);
154} 160}
161LCRYPTO_ALIAS(X509_get_issuer_name)
155 162
156unsigned long 163unsigned long
157X509_issuer_name_hash(X509 *x) 164X509_issuer_name_hash(X509 *x)
158{ 165{
159 return (X509_NAME_hash(x->cert_info->issuer)); 166 return (X509_NAME_hash(x->cert_info->issuer));
160} 167}
168LCRYPTO_ALIAS(X509_issuer_name_hash)
161 169
162#ifndef OPENSSL_NO_MD5 170#ifndef OPENSSL_NO_MD5
163unsigned long 171unsigned long
@@ -165,6 +173,7 @@ X509_issuer_name_hash_old(X509 *x)
165{ 173{
166 return (X509_NAME_hash_old(x->cert_info->issuer)); 174 return (X509_NAME_hash_old(x->cert_info->issuer));
167} 175}
176LCRYPTO_ALIAS(X509_issuer_name_hash_old)
168#endif 177#endif
169 178
170X509_NAME * 179X509_NAME *
@@ -172,24 +181,28 @@ X509_get_subject_name(const X509 *a)
172{ 181{
173 return (a->cert_info->subject); 182 return (a->cert_info->subject);
174} 183}
184LCRYPTO_ALIAS(X509_get_subject_name)
175 185
176ASN1_INTEGER * 186ASN1_INTEGER *
177X509_get_serialNumber(X509 *a) 187X509_get_serialNumber(X509 *a)
178{ 188{
179 return (a->cert_info->serialNumber); 189 return (a->cert_info->serialNumber);
180} 190}
191LCRYPTO_ALIAS(X509_get_serialNumber)
181 192
182const ASN1_INTEGER * 193const ASN1_INTEGER *
183X509_get0_serialNumber(const X509 *a) 194X509_get0_serialNumber(const X509 *a)
184{ 195{
185 return (a->cert_info->serialNumber); 196 return (a->cert_info->serialNumber);
186} 197}
198LCRYPTO_ALIAS(X509_get0_serialNumber)
187 199
188unsigned long 200unsigned long
189X509_subject_name_hash(X509 *x) 201X509_subject_name_hash(X509 *x)
190{ 202{
191 return (X509_NAME_hash(x->cert_info->subject)); 203 return (X509_NAME_hash(x->cert_info->subject));
192} 204}
205LCRYPTO_ALIAS(X509_subject_name_hash)
193 206
194#ifndef OPENSSL_NO_MD5 207#ifndef OPENSSL_NO_MD5
195unsigned long 208unsigned long
@@ -197,6 +210,7 @@ X509_subject_name_hash_old(X509 *x)
197{ 210{
198 return (X509_NAME_hash_old(x->cert_info->subject)); 211 return (X509_NAME_hash_old(x->cert_info->subject));
199} 212}
213LCRYPTO_ALIAS(X509_subject_name_hash_old)
200#endif 214#endif
201 215
202#ifndef OPENSSL_NO_SHA 216#ifndef OPENSSL_NO_SHA
@@ -218,6 +232,7 @@ X509_cmp(const X509 *a, const X509 *b)
218 232
219 return memcmp(a->hash, b->hash, X509_CERT_HASH_LEN); 233 return memcmp(a->hash, b->hash, X509_CERT_HASH_LEN);
220} 234}
235LCRYPTO_ALIAS(X509_cmp)
221#endif 236#endif
222 237
223int 238int
@@ -241,6 +256,7 @@ X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b)
241 return ret; 256 return ret;
242 return memcmp(a->canon_enc, b->canon_enc, a->canon_enclen); 257 return memcmp(a->canon_enc, b->canon_enc, a->canon_enclen);
243} 258}
259LCRYPTO_ALIAS(X509_NAME_cmp)
244 260
245unsigned long 261unsigned long
246X509_NAME_hash(X509_NAME *x) 262X509_NAME_hash(X509_NAME *x)
@@ -259,6 +275,7 @@ X509_NAME_hash(X509_NAME *x)
259 0xffffffffL; 275 0xffffffffL;
260 return (ret); 276 return (ret);
261} 277}
278LCRYPTO_ALIAS(X509_NAME_hash)
262 279
263 280
264#ifndef OPENSSL_NO_MD5 281#ifndef OPENSSL_NO_MD5
@@ -287,6 +304,7 @@ X509_NAME_hash_old(X509_NAME *x)
287 304
288 return (ret); 305 return (ret);
289} 306}
307LCRYPTO_ALIAS(X509_NAME_hash_old)
290#endif 308#endif
291 309
292/* Search a stack of X509 for a match */ 310/* Search a stack of X509 for a match */
@@ -312,6 +330,7 @@ X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name,
312 } 330 }
313 return (NULL); 331 return (NULL);
314} 332}
333LCRYPTO_ALIAS(X509_find_by_issuer_and_serial)
315 334
316X509 * 335X509 *
317X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name) 336X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name)
@@ -326,6 +345,7 @@ X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name)
326 } 345 }
327 return (NULL); 346 return (NULL);
328} 347}
348LCRYPTO_ALIAS(X509_find_by_subject)
329 349
330EVP_PKEY * 350EVP_PKEY *
331X509_get_pubkey(X509 *x) 351X509_get_pubkey(X509 *x)
@@ -334,6 +354,7 @@ X509_get_pubkey(X509 *x)
334 return (NULL); 354 return (NULL);
335 return (X509_PUBKEY_get(x->cert_info->key)); 355 return (X509_PUBKEY_get(x->cert_info->key));
336} 356}
357LCRYPTO_ALIAS(X509_get_pubkey)
337 358
338EVP_PKEY * 359EVP_PKEY *
339X509_get0_pubkey(const X509 *x) 360X509_get0_pubkey(const X509 *x)
@@ -342,6 +363,7 @@ X509_get0_pubkey(const X509 *x)
342 return (NULL); 363 return (NULL);
343 return (X509_PUBKEY_get0(x->cert_info->key)); 364 return (X509_PUBKEY_get0(x->cert_info->key));
344} 365}
366LCRYPTO_ALIAS(X509_get0_pubkey)
345 367
346ASN1_BIT_STRING * 368ASN1_BIT_STRING *
347X509_get0_pubkey_bitstr(const X509 *x) 369X509_get0_pubkey_bitstr(const X509 *x)
@@ -350,6 +372,7 @@ X509_get0_pubkey_bitstr(const X509 *x)
350 return NULL; 372 return NULL;
351 return x->cert_info->key->public_key; 373 return x->cert_info->key->public_key;
352} 374}
375LCRYPTO_ALIAS(X509_get0_pubkey_bitstr)
353 376
354int 377int
355X509_check_private_key(const X509 *x, const EVP_PKEY *k) 378X509_check_private_key(const X509 *x, const EVP_PKEY *k)
@@ -380,6 +403,7 @@ X509_check_private_key(const X509 *x, const EVP_PKEY *k)
380 return 1; 403 return 1;
381 return 0; 404 return 0;
382} 405}
406LCRYPTO_ALIAS(X509_check_private_key)
383 407
384/* 408/*
385 * Not strictly speaking an "up_ref" as a STACK doesn't have a reference 409 * Not strictly speaking an "up_ref" as a STACK doesn't have a reference
@@ -398,3 +422,4 @@ X509_chain_up_ref(STACK_OF(X509) *chain)
398 422
399 return ret; 423 return ret;
400} 424}
425LCRYPTO_ALIAS(X509_chain_up_ref)
diff --git a/src/lib/libcrypto/x509/x509_conf.c b/src/lib/libcrypto/x509/x509_conf.c
index cd703fc156..def1441f3f 100644
--- a/src/lib/libcrypto/x509/x509_conf.c
+++ b/src/lib/libcrypto/x509/x509_conf.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_conf.c,v 1.2 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_conf.c,v 1.3 2022/11/14 17:48:50 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 */
@@ -104,6 +104,7 @@ X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name,
104 } 104 }
105 return ret; 105 return ret;
106} 106}
107LCRYPTO_ALIAS(X509V3_EXT_nconf)
107 108
108/* CONF *conf: Config file */ 109/* CONF *conf: Config file */
109/* char *value: Value */ 110/* char *value: Value */
@@ -120,6 +121,7 @@ X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid,
120 value, crit, ext_type, ctx); 121 value, crit, ext_type, ctx);
121 return do_ext_nconf(conf, ctx, ext_nid, crit, value); 122 return do_ext_nconf(conf, ctx, ext_nid, crit, value);
122} 123}
124LCRYPTO_ALIAS(X509V3_EXT_nconf_nid)
123 125
124/* CONF *conf: Config file */ 126/* CONF *conf: Config file */
125/* char *value: Value */ 127/* char *value: Value */
@@ -238,6 +240,7 @@ X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc)
238 } 240 }
239 return do_ext_i2d(method, ext_nid, crit, ext_struc); 241 return do_ext_i2d(method, ext_nid, crit, ext_struc);
240} 242}
243LCRYPTO_ALIAS(X509V3_EXT_i2d)
241 244
242/* Check the extension string for critical flag */ 245/* Check the extension string for critical flag */
243static int 246static int
@@ -364,6 +367,7 @@ X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section,
364 } 367 }
365 return 1; 368 return 1;
366} 369}
370LCRYPTO_ALIAS(X509V3_EXT_add_nconf_sk)
367 371
368/* Convenience functions to add extensions to a certificate, CRL and request */ 372/* Convenience functions to add extensions to a certificate, CRL and request */
369 373
@@ -377,6 +381,7 @@ X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
377 sk = &cert->cert_info->extensions; 381 sk = &cert->cert_info->extensions;
378 return X509V3_EXT_add_nconf_sk(conf, ctx, section, sk); 382 return X509V3_EXT_add_nconf_sk(conf, ctx, section, sk);
379} 383}
384LCRYPTO_ALIAS(X509V3_EXT_add_nconf)
380 385
381/* Same as above but for a CRL */ 386/* Same as above but for a CRL */
382 387
@@ -390,6 +395,7 @@ X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
390 sk = &crl->crl->extensions; 395 sk = &crl->crl->extensions;
391 return X509V3_EXT_add_nconf_sk(conf, ctx, section, sk); 396 return X509V3_EXT_add_nconf_sk(conf, ctx, section, sk);
392} 397}
398LCRYPTO_ALIAS(X509V3_EXT_CRL_add_nconf)
393 399
394/* Add extensions to certificate request */ 400/* Add extensions to certificate request */
395 401
@@ -409,6 +415,7 @@ X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
409 sk_X509_EXTENSION_pop_free(extlist, X509_EXTENSION_free); 415 sk_X509_EXTENSION_pop_free(extlist, X509_EXTENSION_free);
410 return i; 416 return i;
411} 417}
418LCRYPTO_ALIAS(X509V3_EXT_REQ_add_nconf)
412 419
413/* Config database functions */ 420/* Config database functions */
414 421
@@ -421,6 +428,7 @@ X509V3_get_string(X509V3_CTX *ctx, const char *name, const char *section)
421 } 428 }
422 return ctx->db_meth->get_string(ctx->db, name, section); 429 return ctx->db_meth->get_string(ctx->db, name, section);
423} 430}
431LCRYPTO_ALIAS(X509V3_get_string)
424 432
425STACK_OF(CONF_VALUE) * 433STACK_OF(CONF_VALUE) *
426X509V3_get_section(X509V3_CTX *ctx, const char *section) 434X509V3_get_section(X509V3_CTX *ctx, const char *section)
@@ -431,6 +439,7 @@ X509V3_get_section(X509V3_CTX *ctx, const char *section)
431 } 439 }
432 return ctx->db_meth->get_section(ctx->db, section); 440 return ctx->db_meth->get_section(ctx->db, section);
433} 441}
442LCRYPTO_ALIAS(X509V3_get_section)
434 443
435void 444void
436X509V3_string_free(X509V3_CTX *ctx, char *str) 445X509V3_string_free(X509V3_CTX *ctx, char *str)
@@ -440,6 +449,7 @@ X509V3_string_free(X509V3_CTX *ctx, char *str)
440 if (ctx->db_meth->free_string) 449 if (ctx->db_meth->free_string)
441 ctx->db_meth->free_string(ctx->db, str); 450 ctx->db_meth->free_string(ctx->db, str);
442} 451}
452LCRYPTO_ALIAS(X509V3_string_free)
443 453
444void 454void
445X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section) 455X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section)
@@ -449,6 +459,7 @@ X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section)
449 if (ctx->db_meth->free_section) 459 if (ctx->db_meth->free_section)
450 ctx->db_meth->free_section(ctx->db, section); 460 ctx->db_meth->free_section(ctx->db, section);
451} 461}
462LCRYPTO_ALIAS(X509V3_section_free)
452 463
453static char * 464static char *
454nconf_get_string(void *db, const char *section, const char *value) 465nconf_get_string(void *db, const char *section, const char *value)
@@ -475,6 +486,7 @@ X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf)
475 ctx->db_meth = &nconf_method; 486 ctx->db_meth = &nconf_method;
476 ctx->db = conf; 487 ctx->db = conf;
477} 488}
489LCRYPTO_ALIAS(X509V3_set_nconf)
478 490
479void 491void
480X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subj, X509_REQ *req, 492X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subj, X509_REQ *req,
@@ -486,6 +498,7 @@ X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subj, X509_REQ *req,
486 ctx->subject_req = req; 498 ctx->subject_req = req;
487 ctx->flags = flags; 499 ctx->flags = flags;
488} 500}
501LCRYPTO_ALIAS(X509V3_set_ctx)
489 502
490/* Old conf compatibility functions */ 503/* Old conf compatibility functions */
491 504
@@ -498,6 +511,7 @@ X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, const char *name,
498 CONF_set_nconf(&ctmp, conf); 511 CONF_set_nconf(&ctmp, conf);
499 return X509V3_EXT_nconf(&ctmp, ctx, name, value); 512 return X509V3_EXT_nconf(&ctmp, ctx, name, value);
500} 513}
514LCRYPTO_ALIAS(X509V3_EXT_conf)
501 515
502/* LHASH *conf: Config file */ 516/* LHASH *conf: Config file */
503/* char *value: Value */ 517/* char *value: Value */
@@ -510,6 +524,7 @@ X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, int ext_nid,
510 CONF_set_nconf(&ctmp, conf); 524 CONF_set_nconf(&ctmp, conf);
511 return X509V3_EXT_nconf_nid(&ctmp, ctx, ext_nid, value); 525 return X509V3_EXT_nconf_nid(&ctmp, ctx, ext_nid, value);
512} 526}
527LCRYPTO_ALIAS(X509V3_EXT_conf_nid)
513 528
514static char * 529static char *
515conf_lhash_get_string(void *db, const char *section, const char *value) 530conf_lhash_get_string(void *db, const char *section, const char *value)
@@ -536,6 +551,7 @@ X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash)
536 ctx->db_meth = &conf_lhash_method; 551 ctx->db_meth = &conf_lhash_method;
537 ctx->db = lhash; 552 ctx->db = lhash;
538} 553}
554LCRYPTO_ALIAS(X509V3_set_conf_lhash)
539 555
540int 556int
541X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, 557X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
@@ -546,6 +562,7 @@ X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
546 CONF_set_nconf(&ctmp, conf); 562 CONF_set_nconf(&ctmp, conf);
547 return X509V3_EXT_add_nconf(&ctmp, ctx, section, cert); 563 return X509V3_EXT_add_nconf(&ctmp, ctx, section, cert);
548} 564}
565LCRYPTO_ALIAS(X509V3_EXT_add_conf)
549 566
550/* Same as above but for a CRL */ 567/* Same as above but for a CRL */
551 568
@@ -558,6 +575,7 @@ X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
558 CONF_set_nconf(&ctmp, conf); 575 CONF_set_nconf(&ctmp, conf);
559 return X509V3_EXT_CRL_add_nconf(&ctmp, ctx, section, crl); 576 return X509V3_EXT_CRL_add_nconf(&ctmp, ctx, section, crl);
560} 577}
578LCRYPTO_ALIAS(X509V3_EXT_CRL_add_conf)
561 579
562/* Add extensions to certificate request */ 580/* Add extensions to certificate request */
563 581
@@ -570,3 +588,4 @@ X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
570 CONF_set_nconf(&ctmp, conf); 588 CONF_set_nconf(&ctmp, conf);
571 return X509V3_EXT_REQ_add_nconf(&ctmp, ctx, section, req); 589 return X509V3_EXT_REQ_add_nconf(&ctmp, ctx, section, req);
572} 590}
591LCRYPTO_ALIAS(X509V3_EXT_REQ_add_conf)
diff --git a/src/lib/libcrypto/x509/x509_cpols.c b/src/lib/libcrypto/x509/x509_cpols.c
index 93527a4366..8d50c0545a 100644
--- a/src/lib/libcrypto/x509/x509_cpols.c
+++ b/src/lib/libcrypto/x509/x509_cpols.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_cpols.c,v 1.4 2022/01/14 08:16:13 tb Exp $ */ 1/* $OpenBSD: x509_cpols.c,v 1.5 2022/11/14 17:48:50 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 */
@@ -125,24 +125,28 @@ d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long
125 return (CERTIFICATEPOLICIES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 125 return (CERTIFICATEPOLICIES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
126 &CERTIFICATEPOLICIES_it); 126 &CERTIFICATEPOLICIES_it);
127} 127}
128LCRYPTO_ALIAS(d2i_CERTIFICATEPOLICIES)
128 129
129int 130int
130i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out) 131i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out)
131{ 132{
132 return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it); 133 return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it);
133} 134}
135LCRYPTO_ALIAS(i2d_CERTIFICATEPOLICIES)
134 136
135CERTIFICATEPOLICIES * 137CERTIFICATEPOLICIES *
136CERTIFICATEPOLICIES_new(void) 138CERTIFICATEPOLICIES_new(void)
137{ 139{
138 return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it); 140 return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it);
139} 141}
142LCRYPTO_ALIAS(CERTIFICATEPOLICIES_new)
140 143
141void 144void
142CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a) 145CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a)
143{ 146{
144 ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it); 147 ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it);
145} 148}
149LCRYPTO_ALIAS(CERTIFICATEPOLICIES_free)
146 150
147static const ASN1_TEMPLATE POLICYINFO_seq_tt[] = { 151static const ASN1_TEMPLATE POLICYINFO_seq_tt[] = {
148 { 152 {
@@ -178,24 +182,28 @@ d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len)
178 return (POLICYINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 182 return (POLICYINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
179 &POLICYINFO_it); 183 &POLICYINFO_it);
180} 184}
185LCRYPTO_ALIAS(d2i_POLICYINFO)
181 186
182int 187int
183i2d_POLICYINFO(POLICYINFO *a, unsigned char **out) 188i2d_POLICYINFO(POLICYINFO *a, unsigned char **out)
184{ 189{
185 return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it); 190 return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it);
186} 191}
192LCRYPTO_ALIAS(i2d_POLICYINFO)
187 193
188POLICYINFO * 194POLICYINFO *
189POLICYINFO_new(void) 195POLICYINFO_new(void)
190{ 196{
191 return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it); 197 return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it);
192} 198}
199LCRYPTO_ALIAS(POLICYINFO_new)
193 200
194void 201void
195POLICYINFO_free(POLICYINFO *a) 202POLICYINFO_free(POLICYINFO *a)
196{ 203{
197 ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it); 204 ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it);
198} 205}
206LCRYPTO_ALIAS(POLICYINFO_free)
199 207
200static const ASN1_TEMPLATE policydefault_tt = { 208static const ASN1_TEMPLATE policydefault_tt = {
201 .flags = 0, 209 .flags = 0,
@@ -273,24 +281,28 @@ d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len)
273 return (POLICYQUALINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 281 return (POLICYQUALINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
274 &POLICYQUALINFO_it); 282 &POLICYQUALINFO_it);
275} 283}
284LCRYPTO_ALIAS(d2i_POLICYQUALINFO)
276 285
277int 286int
278i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out) 287i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out)
279{ 288{
280 return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it); 289 return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it);
281} 290}
291LCRYPTO_ALIAS(i2d_POLICYQUALINFO)
282 292
283POLICYQUALINFO * 293POLICYQUALINFO *
284POLICYQUALINFO_new(void) 294POLICYQUALINFO_new(void)
285{ 295{
286 return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it); 296 return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it);
287} 297}
298LCRYPTO_ALIAS(POLICYQUALINFO_new)
288 299
289void 300void
290POLICYQUALINFO_free(POLICYQUALINFO *a) 301POLICYQUALINFO_free(POLICYQUALINFO *a)
291{ 302{
292 ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it); 303 ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it);
293} 304}
305LCRYPTO_ALIAS(POLICYQUALINFO_free)
294 306
295static const ASN1_TEMPLATE USERNOTICE_seq_tt[] = { 307static const ASN1_TEMPLATE USERNOTICE_seq_tt[] = {
296 { 308 {
@@ -326,24 +338,28 @@ d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len)
326 return (USERNOTICE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 338 return (USERNOTICE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
327 &USERNOTICE_it); 339 &USERNOTICE_it);
328} 340}
341LCRYPTO_ALIAS(d2i_USERNOTICE)
329 342
330int 343int
331i2d_USERNOTICE(USERNOTICE *a, unsigned char **out) 344i2d_USERNOTICE(USERNOTICE *a, unsigned char **out)
332{ 345{
333 return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it); 346 return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it);
334} 347}
348LCRYPTO_ALIAS(i2d_USERNOTICE)
335 349
336USERNOTICE * 350USERNOTICE *
337USERNOTICE_new(void) 351USERNOTICE_new(void)
338{ 352{
339 return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it); 353 return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it);
340} 354}
355LCRYPTO_ALIAS(USERNOTICE_new)
341 356
342void 357void
343USERNOTICE_free(USERNOTICE *a) 358USERNOTICE_free(USERNOTICE *a)
344{ 359{
345 ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it); 360 ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it);
346} 361}
362LCRYPTO_ALIAS(USERNOTICE_free)
347 363
348static const ASN1_TEMPLATE NOTICEREF_seq_tt[] = { 364static const ASN1_TEMPLATE NOTICEREF_seq_tt[] = {
349 { 365 {
@@ -379,24 +395,28 @@ d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len)
379 return (NOTICEREF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 395 return (NOTICEREF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
380 &NOTICEREF_it); 396 &NOTICEREF_it);
381} 397}
398LCRYPTO_ALIAS(d2i_NOTICEREF)
382 399
383int 400int
384i2d_NOTICEREF(NOTICEREF *a, unsigned char **out) 401i2d_NOTICEREF(NOTICEREF *a, unsigned char **out)
385{ 402{
386 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it); 403 return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it);
387} 404}
405LCRYPTO_ALIAS(i2d_NOTICEREF)
388 406
389NOTICEREF * 407NOTICEREF *
390NOTICEREF_new(void) 408NOTICEREF_new(void)
391{ 409{
392 return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it); 410 return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it);
393} 411}
412LCRYPTO_ALIAS(NOTICEREF_new)
394 413
395void 414void
396NOTICEREF_free(NOTICEREF *a) 415NOTICEREF_free(NOTICEREF *a)
397{ 416{
398 ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it); 417 ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it);
399} 418}
419LCRYPTO_ALIAS(NOTICEREF_free)
400 420
401static STACK_OF(POLICYINFO) * 421static STACK_OF(POLICYINFO) *
402r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *value) 422r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *value)
@@ -762,3 +782,4 @@ X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent)
762 else 782 else
763 BIO_printf(out, "%*sNo Qualifiers\n", indent + 2, ""); 783 BIO_printf(out, "%*sNo Qualifiers\n", indent + 2, "");
764} 784}
785LCRYPTO_ALIAS(X509_POLICY_NODE_print)
diff --git a/src/lib/libcrypto/x509/x509_crld.c b/src/lib/libcrypto/x509/x509_crld.c
index 6b6f795378..43150b21a9 100644
--- a/src/lib/libcrypto/x509/x509_crld.c
+++ b/src/lib/libcrypto/x509/x509_crld.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_crld.c,v 1.2 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_crld.c,v 1.3 2022/11/14 17:48:50 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 */
@@ -426,24 +426,28 @@ d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len)
426 return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 426 return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
427 &DIST_POINT_NAME_it); 427 &DIST_POINT_NAME_it);
428} 428}
429LCRYPTO_ALIAS(d2i_DIST_POINT_NAME)
429 430
430int 431int
431i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out) 432i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out)
432{ 433{
433 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_NAME_it); 434 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_NAME_it);
434} 435}
436LCRYPTO_ALIAS(i2d_DIST_POINT_NAME)
435 437
436DIST_POINT_NAME * 438DIST_POINT_NAME *
437DIST_POINT_NAME_new(void) 439DIST_POINT_NAME_new(void)
438{ 440{
439 return (DIST_POINT_NAME *)ASN1_item_new(&DIST_POINT_NAME_it); 441 return (DIST_POINT_NAME *)ASN1_item_new(&DIST_POINT_NAME_it);
440} 442}
443LCRYPTO_ALIAS(DIST_POINT_NAME_new)
441 444
442void 445void
443DIST_POINT_NAME_free(DIST_POINT_NAME *a) 446DIST_POINT_NAME_free(DIST_POINT_NAME *a)
444{ 447{
445 ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_NAME_it); 448 ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_NAME_it);
446} 449}
450LCRYPTO_ALIAS(DIST_POINT_NAME_free)
447 451
448static const ASN1_TEMPLATE DIST_POINT_seq_tt[] = { 452static const ASN1_TEMPLATE DIST_POINT_seq_tt[] = {
449 { 453 {
@@ -486,24 +490,28 @@ d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len)
486 return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 490 return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
487 &DIST_POINT_it); 491 &DIST_POINT_it);
488} 492}
493LCRYPTO_ALIAS(d2i_DIST_POINT)
489 494
490int 495int
491i2d_DIST_POINT(DIST_POINT *a, unsigned char **out) 496i2d_DIST_POINT(DIST_POINT *a, unsigned char **out)
492{ 497{
493 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_it); 498 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_it);
494} 499}
500LCRYPTO_ALIAS(i2d_DIST_POINT)
495 501
496DIST_POINT * 502DIST_POINT *
497DIST_POINT_new(void) 503DIST_POINT_new(void)
498{ 504{
499 return (DIST_POINT *)ASN1_item_new(&DIST_POINT_it); 505 return (DIST_POINT *)ASN1_item_new(&DIST_POINT_it);
500} 506}
507LCRYPTO_ALIAS(DIST_POINT_new)
501 508
502void 509void
503DIST_POINT_free(DIST_POINT *a) 510DIST_POINT_free(DIST_POINT *a)
504{ 511{
505 ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_it); 512 ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_it);
506} 513}
514LCRYPTO_ALIAS(DIST_POINT_free)
507 515
508static const ASN1_TEMPLATE CRL_DIST_POINTS_item_tt = { 516static const ASN1_TEMPLATE CRL_DIST_POINTS_item_tt = {
509 .flags = ASN1_TFLG_SEQUENCE_OF, 517 .flags = ASN1_TFLG_SEQUENCE_OF,
@@ -530,24 +538,28 @@ d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len)
530 return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 538 return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
531 &CRL_DIST_POINTS_it); 539 &CRL_DIST_POINTS_it);
532} 540}
541LCRYPTO_ALIAS(d2i_CRL_DIST_POINTS)
533 542
534int 543int
535i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out) 544i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out)
536{ 545{
537 return ASN1_item_i2d((ASN1_VALUE *)a, out, &CRL_DIST_POINTS_it); 546 return ASN1_item_i2d((ASN1_VALUE *)a, out, &CRL_DIST_POINTS_it);
538} 547}
548LCRYPTO_ALIAS(i2d_CRL_DIST_POINTS)
539 549
540CRL_DIST_POINTS * 550CRL_DIST_POINTS *
541CRL_DIST_POINTS_new(void) 551CRL_DIST_POINTS_new(void)
542{ 552{
543 return (CRL_DIST_POINTS *)ASN1_item_new(&CRL_DIST_POINTS_it); 553 return (CRL_DIST_POINTS *)ASN1_item_new(&CRL_DIST_POINTS_it);
544} 554}
555LCRYPTO_ALIAS(CRL_DIST_POINTS_new)
545 556
546void 557void
547CRL_DIST_POINTS_free(CRL_DIST_POINTS *a) 558CRL_DIST_POINTS_free(CRL_DIST_POINTS *a)
548{ 559{
549 ASN1_item_free((ASN1_VALUE *)a, &CRL_DIST_POINTS_it); 560 ASN1_item_free((ASN1_VALUE *)a, &CRL_DIST_POINTS_it);
550} 561}
562LCRYPTO_ALIAS(CRL_DIST_POINTS_free)
551 563
552static const ASN1_TEMPLATE ISSUING_DIST_POINT_seq_tt[] = { 564static const ASN1_TEMPLATE ISSUING_DIST_POINT_seq_tt[] = {
553 { 565 {
@@ -611,24 +623,28 @@ d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long le
611 return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 623 return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
612 &ISSUING_DIST_POINT_it); 624 &ISSUING_DIST_POINT_it);
613} 625}
626LCRYPTO_ALIAS(d2i_ISSUING_DIST_POINT)
614 627
615int 628int
616i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out) 629i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out)
617{ 630{
618 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ISSUING_DIST_POINT_it); 631 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ISSUING_DIST_POINT_it);
619} 632}
633LCRYPTO_ALIAS(i2d_ISSUING_DIST_POINT)
620 634
621ISSUING_DIST_POINT * 635ISSUING_DIST_POINT *
622ISSUING_DIST_POINT_new(void) 636ISSUING_DIST_POINT_new(void)
623{ 637{
624 return (ISSUING_DIST_POINT *)ASN1_item_new(&ISSUING_DIST_POINT_it); 638 return (ISSUING_DIST_POINT *)ASN1_item_new(&ISSUING_DIST_POINT_it);
625} 639}
640LCRYPTO_ALIAS(ISSUING_DIST_POINT_new)
626 641
627void 642void
628ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a) 643ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a)
629{ 644{
630 ASN1_item_free((ASN1_VALUE *)a, &ISSUING_DIST_POINT_it); 645 ASN1_item_free((ASN1_VALUE *)a, &ISSUING_DIST_POINT_it);
631} 646}
647LCRYPTO_ALIAS(ISSUING_DIST_POINT_free)
632 648
633static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, 649static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out,
634 int indent); 650 int indent);
@@ -809,3 +825,4 @@ DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname)
809 } 825 }
810 return 1; 826 return 1;
811} 827}
828LCRYPTO_ALIAS(DIST_POINT_set_dpname)
diff --git a/src/lib/libcrypto/x509/x509_d2.c b/src/lib/libcrypto/x509/x509_d2.c
index 5b0f80adda..522062a694 100644
--- a/src/lib/libcrypto/x509/x509_d2.c
+++ b/src/lib/libcrypto/x509/x509_d2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_d2.c,v 1.10 2015/01/22 09:06:39 reyk Exp $ */ 1/* $OpenBSD: x509_d2.c,v 1.11 2022/11/14 17:48:50 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 *
@@ -83,6 +83,7 @@ X509_STORE_set_default_paths(X509_STORE *ctx)
83 83
84 return (1); 84 return (1);
85} 85}
86LCRYPTO_ALIAS(X509_STORE_set_default_paths)
86 87
87int 88int
88X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *path) 89X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *path)
@@ -107,6 +108,7 @@ X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *path)
107 return (0); 108 return (0);
108 return (1); 109 return (1);
109} 110}
111LCRYPTO_ALIAS(X509_STORE_load_locations)
110 112
111int 113int
112X509_STORE_load_mem(X509_STORE *ctx, void *buf, int len) 114X509_STORE_load_mem(X509_STORE *ctx, void *buf, int len)
@@ -126,3 +128,4 @@ X509_STORE_load_mem(X509_STORE *ctx, void *buf, int len)
126 128
127 return (1); 129 return (1);
128} 130}
131LCRYPTO_ALIAS(X509_STORE_load_mem)
diff --git a/src/lib/libcrypto/x509/x509_def.c b/src/lib/libcrypto/x509/x509_def.c
index 5e570eb9a2..0d8900a526 100644
--- a/src/lib/libcrypto/x509/x509_def.c
+++ b/src/lib/libcrypto/x509/x509_def.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_def.c,v 1.5 2014/06/12 15:49:31 deraadt Exp $ */ 1/* $OpenBSD: x509_def.c,v 1.6 2022/11/14 17:48:50 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 *
@@ -66,33 +66,39 @@ X509_get_default_private_dir(void)
66{ 66{
67 return (X509_PRIVATE_DIR); 67 return (X509_PRIVATE_DIR);
68} 68}
69LCRYPTO_ALIAS(X509_get_default_private_dir)
69 70
70const char * 71const char *
71X509_get_default_cert_area(void) 72X509_get_default_cert_area(void)
72{ 73{
73 return (X509_CERT_AREA); 74 return (X509_CERT_AREA);
74} 75}
76LCRYPTO_ALIAS(X509_get_default_cert_area)
75 77
76const char * 78const char *
77X509_get_default_cert_dir(void) 79X509_get_default_cert_dir(void)
78{ 80{
79 return (X509_CERT_DIR); 81 return (X509_CERT_DIR);
80} 82}
83LCRYPTO_ALIAS(X509_get_default_cert_dir)
81 84
82const char * 85const char *
83X509_get_default_cert_file(void) 86X509_get_default_cert_file(void)
84{ 87{
85 return (X509_CERT_FILE); 88 return (X509_CERT_FILE);
86} 89}
90LCRYPTO_ALIAS(X509_get_default_cert_file)
87 91
88const char * 92const char *
89X509_get_default_cert_dir_env(void) 93X509_get_default_cert_dir_env(void)
90{ 94{
91 return (X509_CERT_DIR_EVP); 95 return (X509_CERT_DIR_EVP);
92} 96}
97LCRYPTO_ALIAS(X509_get_default_cert_dir_env)
93 98
94const char * 99const char *
95X509_get_default_cert_file_env(void) 100X509_get_default_cert_file_env(void)
96{ 101{
97 return (X509_CERT_FILE_EVP); 102 return (X509_CERT_FILE_EVP);
98} 103}
104LCRYPTO_ALIAS(X509_get_default_cert_file_env)
diff --git a/src/lib/libcrypto/x509/x509_enum.c b/src/lib/libcrypto/x509/x509_enum.c
index f18eea535f..f0ab60a4b0 100644
--- a/src/lib/libcrypto/x509/x509_enum.c
+++ b/src/lib/libcrypto/x509/x509_enum.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_enum.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: x509_enum.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -105,3 +105,4 @@ i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED *e)
105 } 105 }
106 return i2s_ASN1_ENUMERATED(method, e); 106 return i2s_ASN1_ENUMERATED(method, e);
107} 107}
108LCRYPTO_ALIAS(i2s_ASN1_ENUMERATED_TABLE)
diff --git a/src/lib/libcrypto/x509/x509_err.c b/src/lib/libcrypto/x509/x509_err.c
index 588ed85411..c83655046a 100644
--- a/src/lib/libcrypto/x509/x509_err.c
+++ b/src/lib/libcrypto/x509/x509_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_err.c,v 1.17 2022/07/12 14:42:50 kn Exp $ */ 1/* $OpenBSD: x509_err.c,v 1.18 2022/11/14 17:48:50 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -191,6 +191,7 @@ ERR_load_X509_strings(void)
191 } 191 }
192#endif 192#endif
193} 193}
194LCRYPTO_ALIAS(ERR_load_X509_strings)
194 195
195 196
196void 197void
@@ -203,3 +204,4 @@ ERR_load_X509V3_strings(void)
203 } 204 }
204#endif 205#endif
205} 206}
207LCRYPTO_ALIAS(ERR_load_X509V3_strings)
diff --git a/src/lib/libcrypto/x509/x509_ext.c b/src/lib/libcrypto/x509/x509_ext.c
index 1445951199..95679265c3 100644
--- a/src/lib/libcrypto/x509/x509_ext.c
+++ b/src/lib/libcrypto/x509/x509_ext.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_ext.c,v 1.13 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_ext.c,v 1.14 2022/11/14 17:48:50 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,42 +72,49 @@ X509_CRL_get_ext_count(const X509_CRL *x)
72{ 72{
73 return (X509v3_get_ext_count(x->crl->extensions)); 73 return (X509v3_get_ext_count(x->crl->extensions));
74} 74}
75LCRYPTO_ALIAS(X509_CRL_get_ext_count)
75 76
76int 77int
77X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos) 78X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos)
78{ 79{
79 return (X509v3_get_ext_by_NID(x->crl->extensions, nid, lastpos)); 80 return (X509v3_get_ext_by_NID(x->crl->extensions, nid, lastpos));
80} 81}
82LCRYPTO_ALIAS(X509_CRL_get_ext_by_NID)
81 83
82int 84int
83X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj, int lastpos) 85X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj, int lastpos)
84{ 86{
85 return (X509v3_get_ext_by_OBJ(x->crl->extensions, obj, lastpos)); 87 return (X509v3_get_ext_by_OBJ(x->crl->extensions, obj, lastpos));
86} 88}
89LCRYPTO_ALIAS(X509_CRL_get_ext_by_OBJ)
87 90
88int 91int
89X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos) 92X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos)
90{ 93{
91 return (X509v3_get_ext_by_critical(x->crl->extensions, crit, lastpos)); 94 return (X509v3_get_ext_by_critical(x->crl->extensions, crit, lastpos));
92} 95}
96LCRYPTO_ALIAS(X509_CRL_get_ext_by_critical)
93 97
94X509_EXTENSION * 98X509_EXTENSION *
95X509_CRL_get_ext(const X509_CRL *x, int loc) 99X509_CRL_get_ext(const X509_CRL *x, int loc)
96{ 100{
97 return (X509v3_get_ext(x->crl->extensions, loc)); 101 return (X509v3_get_ext(x->crl->extensions, loc));
98} 102}
103LCRYPTO_ALIAS(X509_CRL_get_ext)
99 104
100X509_EXTENSION * 105X509_EXTENSION *
101X509_CRL_delete_ext(X509_CRL *x, int loc) 106X509_CRL_delete_ext(X509_CRL *x, int loc)
102{ 107{
103 return (X509v3_delete_ext(x->crl->extensions, loc)); 108 return (X509v3_delete_ext(x->crl->extensions, loc));
104} 109}
110LCRYPTO_ALIAS(X509_CRL_delete_ext)
105 111
106void * 112void *
107X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx) 113X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx)
108{ 114{
109 return X509V3_get_d2i(x->crl->extensions, nid, crit, idx); 115 return X509V3_get_d2i(x->crl->extensions, nid, crit, idx);
110} 116}
117LCRYPTO_ALIAS(X509_CRL_get_ext_d2i)
111 118
112int 119int
113X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, 120X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit,
@@ -115,30 +122,35 @@ X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit,
115{ 122{
116 return X509V3_add1_i2d(&x->crl->extensions, nid, value, crit, flags); 123 return X509V3_add1_i2d(&x->crl->extensions, nid, value, crit, flags);
117} 124}
125LCRYPTO_ALIAS(X509_CRL_add1_ext_i2d)
118 126
119int 127int
120X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc) 128X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc)
121{ 129{
122 return (X509v3_add_ext(&(x->crl->extensions), ex, loc) != NULL); 130 return (X509v3_add_ext(&(x->crl->extensions), ex, loc) != NULL);
123} 131}
132LCRYPTO_ALIAS(X509_CRL_add_ext)
124 133
125int 134int
126X509_get_ext_count(const X509 *x) 135X509_get_ext_count(const X509 *x)
127{ 136{
128 return (X509v3_get_ext_count(x->cert_info->extensions)); 137 return (X509v3_get_ext_count(x->cert_info->extensions));
129} 138}
139LCRYPTO_ALIAS(X509_get_ext_count)
130 140
131int 141int
132X509_get_ext_by_NID(const X509 *x, int nid, int lastpos) 142X509_get_ext_by_NID(const X509 *x, int nid, int lastpos)
133{ 143{
134 return (X509v3_get_ext_by_NID(x->cert_info->extensions, nid, lastpos)); 144 return (X509v3_get_ext_by_NID(x->cert_info->extensions, nid, lastpos));
135} 145}
146LCRYPTO_ALIAS(X509_get_ext_by_NID)
136 147
137int 148int
138X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos) 149X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos)
139{ 150{
140 return (X509v3_get_ext_by_OBJ(x->cert_info->extensions, obj, lastpos)); 151 return (X509v3_get_ext_by_OBJ(x->cert_info->extensions, obj, lastpos));
141} 152}
153LCRYPTO_ALIAS(X509_get_ext_by_OBJ)
142 154
143int 155int
144X509_get_ext_by_critical(const X509 *x, int crit, int lastpos) 156X509_get_ext_by_critical(const X509 *x, int crit, int lastpos)
@@ -146,30 +158,35 @@ X509_get_ext_by_critical(const X509 *x, int crit, int lastpos)
146 return (X509v3_get_ext_by_critical(x->cert_info->extensions, crit, 158 return (X509v3_get_ext_by_critical(x->cert_info->extensions, crit,
147 lastpos)); 159 lastpos));
148} 160}
161LCRYPTO_ALIAS(X509_get_ext_by_critical)
149 162
150X509_EXTENSION * 163X509_EXTENSION *
151X509_get_ext(const X509 *x, int loc) 164X509_get_ext(const X509 *x, int loc)
152{ 165{
153 return (X509v3_get_ext(x->cert_info->extensions, loc)); 166 return (X509v3_get_ext(x->cert_info->extensions, loc));
154} 167}
168LCRYPTO_ALIAS(X509_get_ext)
155 169
156X509_EXTENSION * 170X509_EXTENSION *
157X509_delete_ext(X509 *x, int loc) 171X509_delete_ext(X509 *x, int loc)
158{ 172{
159 return (X509v3_delete_ext(x->cert_info->extensions, loc)); 173 return (X509v3_delete_ext(x->cert_info->extensions, loc));
160} 174}
175LCRYPTO_ALIAS(X509_delete_ext)
161 176
162int 177int
163X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc) 178X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc)
164{ 179{
165 return (X509v3_add_ext(&(x->cert_info->extensions), ex, loc) != NULL); 180 return (X509v3_add_ext(&(x->cert_info->extensions), ex, loc) != NULL);
166} 181}
182LCRYPTO_ALIAS(X509_add_ext)
167 183
168void * 184void *
169X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx) 185X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx)
170{ 186{
171 return X509V3_get_d2i(x->cert_info->extensions, nid, crit, idx); 187 return X509V3_get_d2i(x->cert_info->extensions, nid, crit, idx);
172} 188}
189LCRYPTO_ALIAS(X509_get_ext_d2i)
173 190
174int 191int
175X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, unsigned long flags) 192X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, unsigned long flags)
@@ -177,18 +194,21 @@ X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, unsigned long flags)
177 return X509V3_add1_i2d(&x->cert_info->extensions, nid, value, crit, 194 return X509V3_add1_i2d(&x->cert_info->extensions, nid, value, crit,
178 flags); 195 flags);
179} 196}
197LCRYPTO_ALIAS(X509_add1_ext_i2d)
180 198
181int 199int
182X509_REVOKED_get_ext_count(const X509_REVOKED *x) 200X509_REVOKED_get_ext_count(const X509_REVOKED *x)
183{ 201{
184 return (X509v3_get_ext_count(x->extensions)); 202 return (X509v3_get_ext_count(x->extensions));
185} 203}
204LCRYPTO_ALIAS(X509_REVOKED_get_ext_count)
186 205
187int 206int
188X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos) 207X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos)
189{ 208{
190 return (X509v3_get_ext_by_NID(x->extensions, nid, lastpos)); 209 return (X509v3_get_ext_by_NID(x->extensions, nid, lastpos));
191} 210}
211LCRYPTO_ALIAS(X509_REVOKED_get_ext_by_NID)
192 212
193int 213int
194X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj, 214X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj,
@@ -196,36 +216,42 @@ X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj,
196{ 216{
197 return (X509v3_get_ext_by_OBJ(x->extensions, obj, lastpos)); 217 return (X509v3_get_ext_by_OBJ(x->extensions, obj, lastpos));
198} 218}
219LCRYPTO_ALIAS(X509_REVOKED_get_ext_by_OBJ)
199 220
200int 221int
201X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, int lastpos) 222X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, int lastpos)
202{ 223{
203 return (X509v3_get_ext_by_critical(x->extensions, crit, lastpos)); 224 return (X509v3_get_ext_by_critical(x->extensions, crit, lastpos));
204} 225}
226LCRYPTO_ALIAS(X509_REVOKED_get_ext_by_critical)
205 227
206X509_EXTENSION * 228X509_EXTENSION *
207X509_REVOKED_get_ext(const X509_REVOKED *x, int loc) 229X509_REVOKED_get_ext(const X509_REVOKED *x, int loc)
208{ 230{
209 return (X509v3_get_ext(x->extensions, loc)); 231 return (X509v3_get_ext(x->extensions, loc));
210} 232}
233LCRYPTO_ALIAS(X509_REVOKED_get_ext)
211 234
212X509_EXTENSION * 235X509_EXTENSION *
213X509_REVOKED_delete_ext(X509_REVOKED *x, int loc) 236X509_REVOKED_delete_ext(X509_REVOKED *x, int loc)
214{ 237{
215 return (X509v3_delete_ext(x->extensions, loc)); 238 return (X509v3_delete_ext(x->extensions, loc));
216} 239}
240LCRYPTO_ALIAS(X509_REVOKED_delete_ext)
217 241
218int 242int
219X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc) 243X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc)
220{ 244{
221 return (X509v3_add_ext(&(x->extensions), ex, loc) != NULL); 245 return (X509v3_add_ext(&(x->extensions), ex, loc) != NULL);
222} 246}
247LCRYPTO_ALIAS(X509_REVOKED_add_ext)
223 248
224void * 249void *
225X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, int *idx) 250X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, int *idx)
226{ 251{
227 return X509V3_get_d2i(x->extensions, nid, crit, idx); 252 return X509V3_get_d2i(x->extensions, nid, crit, idx);
228} 253}
254LCRYPTO_ALIAS(X509_REVOKED_get_ext_d2i)
229 255
230int 256int
231X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, 257X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit,
@@ -233,3 +259,4 @@ X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit,
233{ 259{
234 return X509V3_add1_i2d(&x->extensions, nid, value, crit, flags); 260 return X509V3_add1_i2d(&x->extensions, nid, value, crit, flags);
235} 261}
262LCRYPTO_ALIAS(X509_REVOKED_add1_ext_i2d)
diff --git a/src/lib/libcrypto/x509/x509_extku.c b/src/lib/libcrypto/x509/x509_extku.c
index 09bec675ac..cfdb23df75 100644
--- a/src/lib/libcrypto/x509/x509_extku.c
+++ b/src/lib/libcrypto/x509/x509_extku.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_extku.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: x509_extku.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -128,24 +128,28 @@ d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long le
128 return (EXTENDED_KEY_USAGE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 128 return (EXTENDED_KEY_USAGE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
129 &EXTENDED_KEY_USAGE_it); 129 &EXTENDED_KEY_USAGE_it);
130} 130}
131LCRYPTO_ALIAS(d2i_EXTENDED_KEY_USAGE)
131 132
132int 133int
133i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out) 134i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out)
134{ 135{
135 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EXTENDED_KEY_USAGE_it); 136 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EXTENDED_KEY_USAGE_it);
136} 137}
138LCRYPTO_ALIAS(i2d_EXTENDED_KEY_USAGE)
137 139
138EXTENDED_KEY_USAGE * 140EXTENDED_KEY_USAGE *
139EXTENDED_KEY_USAGE_new(void) 141EXTENDED_KEY_USAGE_new(void)
140{ 142{
141 return (EXTENDED_KEY_USAGE *)ASN1_item_new(&EXTENDED_KEY_USAGE_it); 143 return (EXTENDED_KEY_USAGE *)ASN1_item_new(&EXTENDED_KEY_USAGE_it);
142} 144}
145LCRYPTO_ALIAS(EXTENDED_KEY_USAGE_new)
143 146
144void 147void
145EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a) 148EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a)
146{ 149{
147 ASN1_item_free((ASN1_VALUE *)a, &EXTENDED_KEY_USAGE_it); 150 ASN1_item_free((ASN1_VALUE *)a, &EXTENDED_KEY_USAGE_it);
148} 151}
152LCRYPTO_ALIAS(EXTENDED_KEY_USAGE_free)
149 153
150static STACK_OF(CONF_VALUE) * 154static STACK_OF(CONF_VALUE) *
151i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, 155i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a,
diff --git a/src/lib/libcrypto/x509/x509_genn.c b/src/lib/libcrypto/x509/x509_genn.c
index dadf6f1e40..ce1fb6cc02 100644
--- a/src/lib/libcrypto/x509/x509_genn.c
+++ b/src/lib/libcrypto/x509/x509_genn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_genn.c,v 1.2 2020/12/08 15:06:42 tb Exp $ */ 1/* $OpenBSD: x509_genn.c,v 1.3 2022/11/14 17:48:50 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 */
@@ -98,24 +98,28 @@ d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len)
98 return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 98 return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
99 &OTHERNAME_it); 99 &OTHERNAME_it);
100} 100}
101LCRYPTO_ALIAS(d2i_OTHERNAME)
101 102
102int 103int
103i2d_OTHERNAME(OTHERNAME *a, unsigned char **out) 104i2d_OTHERNAME(OTHERNAME *a, unsigned char **out)
104{ 105{
105 return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it); 106 return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it);
106} 107}
108LCRYPTO_ALIAS(i2d_OTHERNAME)
107 109
108OTHERNAME * 110OTHERNAME *
109OTHERNAME_new(void) 111OTHERNAME_new(void)
110{ 112{
111 return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it); 113 return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it);
112} 114}
115LCRYPTO_ALIAS(OTHERNAME_new)
113 116
114void 117void
115OTHERNAME_free(OTHERNAME *a) 118OTHERNAME_free(OTHERNAME *a)
116{ 119{
117 ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it); 120 ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it);
118} 121}
122LCRYPTO_ALIAS(OTHERNAME_free)
119 123
120/* Uses explicit tagging since DIRECTORYSTRING is a CHOICE type */ 124/* Uses explicit tagging since DIRECTORYSTRING is a CHOICE type */
121static const ASN1_TEMPLATE EDIPARTYNAME_seq_tt[] = { 125static const ASN1_TEMPLATE EDIPARTYNAME_seq_tt[] = {
@@ -152,24 +156,28 @@ d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len)
152 return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 156 return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
153 &EDIPARTYNAME_it); 157 &EDIPARTYNAME_it);
154} 158}
159LCRYPTO_ALIAS(d2i_EDIPARTYNAME)
155 160
156int 161int
157i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out) 162i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out)
158{ 163{
159 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it); 164 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it);
160} 165}
166LCRYPTO_ALIAS(i2d_EDIPARTYNAME)
161 167
162EDIPARTYNAME * 168EDIPARTYNAME *
163EDIPARTYNAME_new(void) 169EDIPARTYNAME_new(void)
164{ 170{
165 return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it); 171 return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it);
166} 172}
173LCRYPTO_ALIAS(EDIPARTYNAME_new)
167 174
168void 175void
169EDIPARTYNAME_free(EDIPARTYNAME *a) 176EDIPARTYNAME_free(EDIPARTYNAME *a)
170{ 177{
171 ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it); 178 ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it);
172} 179}
180LCRYPTO_ALIAS(EDIPARTYNAME_free)
173 181
174static const ASN1_TEMPLATE GENERAL_NAME_ch_tt[] = { 182static const ASN1_TEMPLATE GENERAL_NAME_ch_tt[] = {
175 { 183 {
@@ -256,24 +264,28 @@ d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len)
256 return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 264 return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
257 &GENERAL_NAME_it); 265 &GENERAL_NAME_it);
258} 266}
267LCRYPTO_ALIAS(d2i_GENERAL_NAME)
259 268
260int 269int
261i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out) 270i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out)
262{ 271{
263 return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it); 272 return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it);
264} 273}
274LCRYPTO_ALIAS(i2d_GENERAL_NAME)
265 275
266GENERAL_NAME * 276GENERAL_NAME *
267GENERAL_NAME_new(void) 277GENERAL_NAME_new(void)
268{ 278{
269 return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it); 279 return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it);
270} 280}
281LCRYPTO_ALIAS(GENERAL_NAME_new)
271 282
272void 283void
273GENERAL_NAME_free(GENERAL_NAME *a) 284GENERAL_NAME_free(GENERAL_NAME *a)
274{ 285{
275 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it); 286 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it);
276} 287}
288LCRYPTO_ALIAS(GENERAL_NAME_free)
277 289
278static const ASN1_TEMPLATE GENERAL_NAMES_item_tt = { 290static const ASN1_TEMPLATE GENERAL_NAMES_item_tt = {
279 .flags = ASN1_TFLG_SEQUENCE_OF, 291 .flags = ASN1_TFLG_SEQUENCE_OF,
@@ -300,30 +312,35 @@ d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len)
300 return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 312 return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
301 &GENERAL_NAMES_it); 313 &GENERAL_NAMES_it);
302} 314}
315LCRYPTO_ALIAS(d2i_GENERAL_NAMES)
303 316
304int 317int
305i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out) 318i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out)
306{ 319{
307 return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it); 320 return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it);
308} 321}
322LCRYPTO_ALIAS(i2d_GENERAL_NAMES)
309 323
310GENERAL_NAMES * 324GENERAL_NAMES *
311GENERAL_NAMES_new(void) 325GENERAL_NAMES_new(void)
312{ 326{
313 return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it); 327 return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it);
314} 328}
329LCRYPTO_ALIAS(GENERAL_NAMES_new)
315 330
316void 331void
317GENERAL_NAMES_free(GENERAL_NAMES *a) 332GENERAL_NAMES_free(GENERAL_NAMES *a)
318{ 333{
319 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it); 334 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it);
320} 335}
336LCRYPTO_ALIAS(GENERAL_NAMES_free)
321 337
322GENERAL_NAME * 338GENERAL_NAME *
323GENERAL_NAME_dup(GENERAL_NAME *a) 339GENERAL_NAME_dup(GENERAL_NAME *a)
324{ 340{
325 return ASN1_item_dup(&GENERAL_NAME_it, a); 341 return ASN1_item_dup(&GENERAL_NAME_it, a);
326} 342}
343LCRYPTO_ALIAS(GENERAL_NAME_dup)
327 344
328static int 345static int
329EDIPARTYNAME_cmp(const EDIPARTYNAME *a, const EDIPARTYNAME *b) 346EDIPARTYNAME_cmp(const EDIPARTYNAME *a, const EDIPARTYNAME *b)
@@ -397,6 +414,7 @@ GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b)
397 } 414 }
398 return result; 415 return result;
399} 416}
417LCRYPTO_ALIAS(GENERAL_NAME_cmp)
400 418
401/* Returns 0 if they are equal, != 0 otherwise. */ 419/* Returns 0 if they are equal, != 0 otherwise. */
402int 420int
@@ -413,6 +431,7 @@ OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b)
413 result = ASN1_TYPE_cmp(a->value, b->value); 431 result = ASN1_TYPE_cmp(a->value, b->value);
414 return result; 432 return result;
415} 433}
434LCRYPTO_ALIAS(OTHERNAME_cmp)
416 435
417void 436void
418GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value) 437GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value)
@@ -450,6 +469,7 @@ GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value)
450 } 469 }
451 a->type = type; 470 a->type = type;
452} 471}
472LCRYPTO_ALIAS(GENERAL_NAME_set0_value)
453 473
454void * 474void *
455GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype) 475GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype)
@@ -484,6 +504,7 @@ GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype)
484 return NULL; 504 return NULL;
485 } 505 }
486} 506}
507LCRYPTO_ALIAS(GENERAL_NAME_get0_value)
487 508
488int 509int
489GENERAL_NAME_set0_othername(GENERAL_NAME *gen, ASN1_OBJECT *oid, 510GENERAL_NAME_set0_othername(GENERAL_NAME *gen, ASN1_OBJECT *oid,
@@ -499,6 +520,7 @@ GENERAL_NAME_set0_othername(GENERAL_NAME *gen, ASN1_OBJECT *oid,
499 GENERAL_NAME_set0_value(gen, GEN_OTHERNAME, oth); 520 GENERAL_NAME_set0_value(gen, GEN_OTHERNAME, oth);
500 return 1; 521 return 1;
501} 522}
523LCRYPTO_ALIAS(GENERAL_NAME_set0_othername)
502 524
503int 525int
504GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, ASN1_OBJECT **poid, 526GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, ASN1_OBJECT **poid,
@@ -512,3 +534,4 @@ GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, ASN1_OBJECT **poid,
512 *pvalue = gen->d.otherName->value; 534 *pvalue = gen->d.otherName->value;
513 return 1; 535 return 1;
514} 536}
537LCRYPTO_ALIAS(GENERAL_NAME_get0_otherName)
diff --git a/src/lib/libcrypto/x509/x509_info.c b/src/lib/libcrypto/x509/x509_info.c
index 86ed6fadfa..6c7fd13601 100644
--- a/src/lib/libcrypto/x509/x509_info.c
+++ b/src/lib/libcrypto/x509/x509_info.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_info.c,v 1.1 2020/06/04 15:19:31 jsing Exp $ */ 1/* $OpenBSD: x509_info.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -139,24 +139,28 @@ d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long le
139 return (ACCESS_DESCRIPTION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 139 return (ACCESS_DESCRIPTION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
140 &ACCESS_DESCRIPTION_it); 140 &ACCESS_DESCRIPTION_it);
141} 141}
142LCRYPTO_ALIAS(d2i_ACCESS_DESCRIPTION)
142 143
143int 144int
144i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out) 145i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out)
145{ 146{
146 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ACCESS_DESCRIPTION_it); 147 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ACCESS_DESCRIPTION_it);
147} 148}
149LCRYPTO_ALIAS(i2d_ACCESS_DESCRIPTION)
148 150
149ACCESS_DESCRIPTION * 151ACCESS_DESCRIPTION *
150ACCESS_DESCRIPTION_new(void) 152ACCESS_DESCRIPTION_new(void)
151{ 153{
152 return (ACCESS_DESCRIPTION *)ASN1_item_new(&ACCESS_DESCRIPTION_it); 154 return (ACCESS_DESCRIPTION *)ASN1_item_new(&ACCESS_DESCRIPTION_it);
153} 155}
156LCRYPTO_ALIAS(ACCESS_DESCRIPTION_new)
154 157
155void 158void
156ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a) 159ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a)
157{ 160{
158 ASN1_item_free((ASN1_VALUE *)a, &ACCESS_DESCRIPTION_it); 161 ASN1_item_free((ASN1_VALUE *)a, &ACCESS_DESCRIPTION_it);
159} 162}
163LCRYPTO_ALIAS(ACCESS_DESCRIPTION_free)
160 164
161static const ASN1_TEMPLATE AUTHORITY_INFO_ACCESS_item_tt = { 165static const ASN1_TEMPLATE AUTHORITY_INFO_ACCESS_item_tt = {
162 .flags = ASN1_TFLG_SEQUENCE_OF, 166 .flags = ASN1_TFLG_SEQUENCE_OF,
@@ -183,24 +187,28 @@ d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, l
183 return (AUTHORITY_INFO_ACCESS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 187 return (AUTHORITY_INFO_ACCESS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
184 &AUTHORITY_INFO_ACCESS_it); 188 &AUTHORITY_INFO_ACCESS_it);
185} 189}
190LCRYPTO_ALIAS(d2i_AUTHORITY_INFO_ACCESS)
186 191
187int 192int
188i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out) 193i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out)
189{ 194{
190 return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_INFO_ACCESS_it); 195 return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_INFO_ACCESS_it);
191} 196}
197LCRYPTO_ALIAS(i2d_AUTHORITY_INFO_ACCESS)
192 198
193AUTHORITY_INFO_ACCESS * 199AUTHORITY_INFO_ACCESS *
194AUTHORITY_INFO_ACCESS_new(void) 200AUTHORITY_INFO_ACCESS_new(void)
195{ 201{
196 return (AUTHORITY_INFO_ACCESS *)ASN1_item_new(&AUTHORITY_INFO_ACCESS_it); 202 return (AUTHORITY_INFO_ACCESS *)ASN1_item_new(&AUTHORITY_INFO_ACCESS_it);
197} 203}
204LCRYPTO_ALIAS(AUTHORITY_INFO_ACCESS_new)
198 205
199void 206void
200AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a) 207AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a)
201{ 208{
202 ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_INFO_ACCESS_it); 209 ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_INFO_ACCESS_it);
203} 210}
211LCRYPTO_ALIAS(AUTHORITY_INFO_ACCESS_free)
204 212
205static STACK_OF(CONF_VALUE) * 213static STACK_OF(CONF_VALUE) *
206i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, 214i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method,
@@ -306,3 +314,4 @@ i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION* a)
306 i2a_ASN1_OBJECT(bp, a->method); 314 i2a_ASN1_OBJECT(bp, a->method);
307 return 2; 315 return 2;
308} 316}
317LCRYPTO_ALIAS(i2a_ACCESS_DESCRIPTION)
diff --git a/src/lib/libcrypto/x509/x509_lib.c b/src/lib/libcrypto/x509/x509_lib.c
index e265d30f89..e209c055b6 100644
--- a/src/lib/libcrypto/x509/x509_lib.c
+++ b/src/lib/libcrypto/x509/x509_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_lib.c,v 1.4 2022/07/24 21:41:29 tb Exp $ */ 1/* $OpenBSD: x509_lib.c,v 1.5 2022/11/14 17:48:50 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 */
@@ -85,6 +85,7 @@ X509V3_EXT_add(X509V3_EXT_METHOD *ext)
85 } 85 }
86 return 1; 86 return 1;
87} 87}
88LCRYPTO_ALIAS(X509V3_EXT_add)
88 89
89static int 90static int
90ext_cmp(const X509V3_EXT_METHOD * const *a, const X509V3_EXT_METHOD * const *b) 91ext_cmp(const X509V3_EXT_METHOD * const *a, const X509V3_EXT_METHOD * const *b)
@@ -132,6 +133,7 @@ X509V3_EXT_get_nid(int nid)
132 return NULL; 133 return NULL;
133 return sk_X509V3_EXT_METHOD_value(ext_list, idx); 134 return sk_X509V3_EXT_METHOD_value(ext_list, idx);
134} 135}
136LCRYPTO_ALIAS(X509V3_EXT_get_nid)
135 137
136const X509V3_EXT_METHOD * 138const X509V3_EXT_METHOD *
137X509V3_EXT_get(X509_EXTENSION *ext) 139X509V3_EXT_get(X509_EXTENSION *ext)
@@ -142,6 +144,7 @@ X509V3_EXT_get(X509_EXTENSION *ext)
142 return NULL; 144 return NULL;
143 return X509V3_EXT_get_nid(nid); 145 return X509V3_EXT_get_nid(nid);
144} 146}
147LCRYPTO_ALIAS(X509V3_EXT_get)
145 148
146int 149int
147X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist) 150X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist)
@@ -151,6 +154,7 @@ X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist)
151 return 0; 154 return 0;
152 return 1; 155 return 1;
153} 156}
157LCRYPTO_ALIAS(X509V3_EXT_add_list)
154 158
155int 159int
156X509V3_EXT_add_alias(int nid_to, int nid_from) 160X509V3_EXT_add_alias(int nid_to, int nid_from)
@@ -175,6 +179,7 @@ X509V3_EXT_add_alias(int nid_to, int nid_from)
175 } 179 }
176 return 1; 180 return 1;
177} 181}
182LCRYPTO_ALIAS(X509V3_EXT_add_alias)
178 183
179void 184void
180X509V3_EXT_cleanup(void) 185X509V3_EXT_cleanup(void)
@@ -182,6 +187,7 @@ X509V3_EXT_cleanup(void)
182 sk_X509V3_EXT_METHOD_pop_free(ext_list, ext_list_free); 187 sk_X509V3_EXT_METHOD_pop_free(ext_list, ext_list_free);
183 ext_list = NULL; 188 ext_list = NULL;
184} 189}
190LCRYPTO_ALIAS(X509V3_EXT_cleanup)
185 191
186static void 192static void
187ext_list_free(X509V3_EXT_METHOD *ext) 193ext_list_free(X509V3_EXT_METHOD *ext)
@@ -199,6 +205,7 @@ X509V3_add_standard_extensions(void)
199{ 205{
200 return 1; 206 return 1;
201} 207}
208LCRYPTO_ALIAS(X509V3_add_standard_extensions)
202 209
203/* Return an extension internal structure */ 210/* Return an extension internal structure */
204 211
@@ -216,6 +223,7 @@ X509V3_EXT_d2i(X509_EXTENSION *ext)
216 method->it); 223 method->it);
217 return method->d2i(NULL, &p, ext->value->length); 224 return method->d2i(NULL, &p, ext->value->length);
218} 225}
226LCRYPTO_ALIAS(X509V3_EXT_d2i)
219 227
220/* Get critical flag and decoded version of extension from a NID. 228/* Get critical flag and decoded version of extension from a NID.
221 * The "idx" variable returns the last found extension and can 229 * The "idx" variable returns the last found extension and can
@@ -281,6 +289,7 @@ X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx)
281 *crit = -1; 289 *crit = -1;
282 return NULL; 290 return NULL;
283} 291}
292LCRYPTO_ALIAS(X509V3_get_d2i)
284 293
285/* This function is a general extension append, replace and delete utility. 294/* This function is a general extension append, replace and delete utility.
286 * The precise operation is governed by the 'flags' value. The 'crit' and 295 * The precise operation is governed by the 'flags' value. The 'crit' and
@@ -362,3 +371,4 @@ err:
362 X509V3error(errcode); 371 X509V3error(errcode);
363 return 0; 372 return 0;
364} 373}
374LCRYPTO_ALIAS(X509V3_add1_i2d)
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c
index 90d75497dd..80ff1ed429 100644
--- a/src/lib/libcrypto/x509/x509_lu.c
+++ b/src/lib/libcrypto/x509/x509_lu.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_lu.c,v 1.55 2022/01/14 07:53:45 tb Exp $ */ 1/* $OpenBSD: x509_lu.c,v 1.56 2022/11/14 17:48:50 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 @@ X509_LOOKUP_new(X509_LOOKUP_METHOD *method)
84 84
85 return lu; 85 return lu;
86} 86}
87LCRYPTO_ALIAS(X509_LOOKUP_new)
87 88
88void 89void
89X509_LOOKUP_free(X509_LOOKUP *ctx) 90X509_LOOKUP_free(X509_LOOKUP *ctx)
@@ -94,6 +95,7 @@ X509_LOOKUP_free(X509_LOOKUP *ctx)
94 ctx->method->free(ctx); 95 ctx->method->free(ctx);
95 free(ctx); 96 free(ctx);
96} 97}
98LCRYPTO_ALIAS(X509_LOOKUP_free)
97 99
98int 100int
99X509_LOOKUP_init(X509_LOOKUP *ctx) 101X509_LOOKUP_init(X509_LOOKUP *ctx)
@@ -104,6 +106,7 @@ X509_LOOKUP_init(X509_LOOKUP *ctx)
104 return 1; 106 return 1;
105 return ctx->method->init(ctx); 107 return ctx->method->init(ctx);
106} 108}
109LCRYPTO_ALIAS(X509_LOOKUP_init)
107 110
108int 111int
109X509_LOOKUP_shutdown(X509_LOOKUP *ctx) 112X509_LOOKUP_shutdown(X509_LOOKUP *ctx)
@@ -114,6 +117,7 @@ X509_LOOKUP_shutdown(X509_LOOKUP *ctx)
114 return 1; 117 return 1;
115 return ctx->method->shutdown(ctx); 118 return ctx->method->shutdown(ctx);
116} 119}
120LCRYPTO_ALIAS(X509_LOOKUP_shutdown)
117 121
118int 122int
119X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, 123X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl,
@@ -125,6 +129,7 @@ X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl,
125 return 1; 129 return 1;
126 return ctx->method->ctrl(ctx, cmd, argc, argl, ret); 130 return ctx->method->ctrl(ctx, cmd, argc, argl, ret);
127} 131}
132LCRYPTO_ALIAS(X509_LOOKUP_ctrl)
128 133
129int 134int
130X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name, 135X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name,
@@ -134,6 +139,7 @@ X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name,
134 return 0; 139 return 0;
135 return ctx->method->get_by_subject(ctx, type, name, ret); 140 return ctx->method->get_by_subject(ctx, type, name, ret);
136} 141}
142LCRYPTO_ALIAS(X509_LOOKUP_by_subject)
137 143
138int 144int
139X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, 145X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
@@ -143,6 +149,7 @@ X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
143 return 0; 149 return 0;
144 return ctx->method->get_by_issuer_serial(ctx, type, name, serial, ret); 150 return ctx->method->get_by_issuer_serial(ctx, type, name, serial, ret);
145} 151}
152LCRYPTO_ALIAS(X509_LOOKUP_by_issuer_serial)
146 153
147int 154int
148X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, 155X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
@@ -152,6 +159,7 @@ X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
152 return 0; 159 return 0;
153 return ctx->method->get_by_fingerprint(ctx, type, bytes, len, ret); 160 return ctx->method->get_by_fingerprint(ctx, type, bytes, len, ret);
154} 161}
162LCRYPTO_ALIAS(X509_LOOKUP_by_fingerprint)
155 163
156int 164int
157X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const char *str, 165X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const char *str,
@@ -161,6 +169,7 @@ X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const char *str,
161 return 0; 169 return 0;
162 return ctx->method->get_by_alias(ctx, type, str, len, ret); 170 return ctx->method->get_by_alias(ctx, type, str, len, ret);
163} 171}
172LCRYPTO_ALIAS(X509_LOOKUP_by_alias)
164 173
165static int 174static int
166x509_object_cmp(const X509_OBJECT * const *a, const X509_OBJECT * const *b) 175x509_object_cmp(const X509_OBJECT * const *a, const X509_OBJECT * const *b)
@@ -208,6 +217,7 @@ X509_STORE_new(void)
208 217
209 return NULL; 218 return NULL;
210} 219}
220LCRYPTO_ALIAS(X509_STORE_new)
211 221
212X509_OBJECT * 222X509_OBJECT *
213X509_OBJECT_new(void) 223X509_OBJECT_new(void)
@@ -223,6 +233,7 @@ X509_OBJECT_new(void)
223 233
224 return obj; 234 return obj;
225} 235}
236LCRYPTO_ALIAS(X509_OBJECT_new)
226 237
227void 238void
228X509_OBJECT_free(X509_OBJECT *a) 239X509_OBJECT_free(X509_OBJECT *a)
@@ -241,6 +252,7 @@ X509_OBJECT_free(X509_OBJECT *a)
241 252
242 free(a); 253 free(a);
243} 254}
255LCRYPTO_ALIAS(X509_OBJECT_free)
244 256
245void 257void
246X509_STORE_free(X509_STORE *store) 258X509_STORE_free(X509_STORE *store)
@@ -268,12 +280,14 @@ X509_STORE_free(X509_STORE *store)
268 X509_VERIFY_PARAM_free(store->param); 280 X509_VERIFY_PARAM_free(store->param);
269 free(store); 281 free(store);
270} 282}
283LCRYPTO_ALIAS(X509_STORE_free)
271 284
272int 285int
273X509_STORE_up_ref(X509_STORE *store) 286X509_STORE_up_ref(X509_STORE *store)
274{ 287{
275 return CRYPTO_add(&store->references, 1, CRYPTO_LOCK_X509_STORE) > 1; 288 return CRYPTO_add(&store->references, 1, CRYPTO_LOCK_X509_STORE) > 1;
276} 289}
290LCRYPTO_ALIAS(X509_STORE_up_ref)
277 291
278X509_LOOKUP * 292X509_LOOKUP *
279X509_STORE_add_lookup(X509_STORE *store, X509_LOOKUP_METHOD *method) 293X509_STORE_add_lookup(X509_STORE *store, X509_LOOKUP_METHOD *method)
@@ -302,6 +316,7 @@ X509_STORE_add_lookup(X509_STORE *store, X509_LOOKUP_METHOD *method)
302 316
303 return lu; 317 return lu;
304} 318}
319LCRYPTO_ALIAS(X509_STORE_add_lookup)
305 320
306X509_OBJECT * 321X509_OBJECT *
307X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, 322X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
@@ -318,6 +333,7 @@ X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
318 333
319 return obj; 334 return obj;
320} 335}
336LCRYPTO_ALIAS(X509_STORE_CTX_get_obj_by_subject)
321 337
322int 338int
323X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, 339X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
@@ -356,6 +372,7 @@ X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type,
356 372
357 return 1; 373 return 1;
358} 374}
375LCRYPTO_ALIAS(X509_STORE_CTX_get_by_subject)
359 376
360/* Add obj to the store. Takes ownership of obj. */ 377/* Add obj to the store. Takes ownership of obj. */
361static int 378static int
@@ -407,6 +424,7 @@ X509_STORE_add_cert(X509_STORE *store, X509 *x)
407 424
408 return X509_STORE_add_object(store, obj); 425 return X509_STORE_add_object(store, obj);
409} 426}
427LCRYPTO_ALIAS(X509_STORE_add_cert)
410 428
411int 429int
412X509_STORE_add_crl(X509_STORE *store, X509_CRL *x) 430X509_STORE_add_crl(X509_STORE *store, X509_CRL *x)
@@ -429,6 +447,7 @@ X509_STORE_add_crl(X509_STORE *store, X509_CRL *x)
429 447
430 return X509_STORE_add_object(store, obj); 448 return X509_STORE_add_object(store, obj);
431} 449}
450LCRYPTO_ALIAS(X509_STORE_add_crl)
432 451
433int 452int
434X509_OBJECT_up_ref_count(X509_OBJECT *a) 453X509_OBJECT_up_ref_count(X509_OBJECT *a)
@@ -441,12 +460,14 @@ X509_OBJECT_up_ref_count(X509_OBJECT *a)
441 } 460 }
442 return 1; 461 return 1;
443} 462}
463LCRYPTO_ALIAS(X509_OBJECT_up_ref_count)
444 464
445X509_LOOKUP_TYPE 465X509_LOOKUP_TYPE
446X509_OBJECT_get_type(const X509_OBJECT *a) 466X509_OBJECT_get_type(const X509_OBJECT *a)
447{ 467{
448 return a->type; 468 return a->type;
449} 469}
470LCRYPTO_ALIAS(X509_OBJECT_get_type)
450 471
451static int 472static int
452x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, 473x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type,
@@ -498,6 +519,7 @@ X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type,
498{ 519{
499 return x509_object_idx_cnt(h, type, name, NULL); 520 return x509_object_idx_cnt(h, type, name, NULL);
500} 521}
522LCRYPTO_ALIAS(X509_OBJECT_idx_by_subject)
501 523
502X509_OBJECT * 524X509_OBJECT *
503X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, 525X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type,
@@ -510,6 +532,7 @@ X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type,
510 return NULL; 532 return NULL;
511 return sk_X509_OBJECT_value(h, idx); 533 return sk_X509_OBJECT_value(h, idx);
512} 534}
535LCRYPTO_ALIAS(X509_OBJECT_retrieve_by_subject)
513 536
514X509 * 537X509 *
515X509_OBJECT_get0_X509(const X509_OBJECT *xo) 538X509_OBJECT_get0_X509(const X509_OBJECT *xo)
@@ -518,6 +541,7 @@ X509_OBJECT_get0_X509(const X509_OBJECT *xo)
518 return xo->data.x509; 541 return xo->data.x509;
519 return NULL; 542 return NULL;
520} 543}
544LCRYPTO_ALIAS(X509_OBJECT_get0_X509)
521 545
522X509_CRL * 546X509_CRL *
523X509_OBJECT_get0_X509_CRL(X509_OBJECT *xo) 547X509_OBJECT_get0_X509_CRL(X509_OBJECT *xo)
@@ -526,6 +550,7 @@ X509_OBJECT_get0_X509_CRL(X509_OBJECT *xo)
526 return xo->data.crl; 550 return xo->data.crl;
527 return NULL; 551 return NULL;
528} 552}
553LCRYPTO_ALIAS(X509_OBJECT_get0_X509_CRL)
529 554
530static STACK_OF(X509) * 555static STACK_OF(X509) *
531X509_get1_certs_from_cache(X509_STORE *store, X509_NAME *name) 556X509_get1_certs_from_cache(X509_STORE *store, X509_NAME *name)
@@ -589,6 +614,7 @@ X509_STORE_get1_certs(X509_STORE_CTX *ctx, X509_NAME *name)
589 614
590 return X509_get1_certs_from_cache(store, name); 615 return X509_get1_certs_from_cache(store, name);
591} 616}
617LCRYPTO_ALIAS(X509_STORE_get1_certs)
592 618
593STACK_OF(X509_CRL) * 619STACK_OF(X509_CRL) *
594X509_STORE_get1_crls(X509_STORE_CTX *ctx, X509_NAME *name) 620X509_STORE_get1_crls(X509_STORE_CTX *ctx, X509_NAME *name)
@@ -639,6 +665,7 @@ X509_STORE_get1_crls(X509_STORE_CTX *ctx, X509_NAME *name)
639 sk_X509_CRL_pop_free(sk, X509_CRL_free); 665 sk_X509_CRL_pop_free(sk, X509_CRL_free);
640 return NULL; 666 return NULL;
641} 667}
668LCRYPTO_ALIAS(X509_STORE_get1_crls)
642 669
643X509_OBJECT * 670X509_OBJECT *
644X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x) 671X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x)
@@ -667,6 +694,7 @@ X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x)
667 } 694 }
668 return NULL; 695 return NULL;
669} 696}
697LCRYPTO_ALIAS(X509_OBJECT_retrieve_match)
670 698
671/* Try to get issuer certificate from store. Due to limitations 699/* Try to get issuer certificate from store. Due to limitations
672 * of the API this can only retrieve a single certificate matching 700 * of the API this can only retrieve a single certificate matching
@@ -757,30 +785,35 @@ X509_STORE_CTX_get1_issuer(X509 **out_issuer, X509_STORE_CTX *ctx, X509 *x)
757 CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE); 785 CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE);
758 return ret; 786 return ret;
759} 787}
788LCRYPTO_ALIAS(X509_STORE_CTX_get1_issuer)
760 789
761STACK_OF(X509_OBJECT) * 790STACK_OF(X509_OBJECT) *
762X509_STORE_get0_objects(X509_STORE *xs) 791X509_STORE_get0_objects(X509_STORE *xs)
763{ 792{
764 return xs->objs; 793 return xs->objs;
765} 794}
795LCRYPTO_ALIAS(X509_STORE_get0_objects)
766 796
767void * 797void *
768X509_STORE_get_ex_data(X509_STORE *xs, int idx) 798X509_STORE_get_ex_data(X509_STORE *xs, int idx)
769{ 799{
770 return CRYPTO_get_ex_data(&xs->ex_data, idx); 800 return CRYPTO_get_ex_data(&xs->ex_data, idx);
771} 801}
802LCRYPTO_ALIAS(X509_STORE_get_ex_data)
772 803
773int 804int
774X509_STORE_set_ex_data(X509_STORE *xs, int idx, void *data) 805X509_STORE_set_ex_data(X509_STORE *xs, int idx, void *data)
775{ 806{
776 return CRYPTO_set_ex_data(&xs->ex_data, idx, data); 807 return CRYPTO_set_ex_data(&xs->ex_data, idx, data);
777} 808}
809LCRYPTO_ALIAS(X509_STORE_set_ex_data)
778 810
779int 811int
780X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags) 812X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags)
781{ 813{
782 return X509_VERIFY_PARAM_set_flags(ctx->param, flags); 814 return X509_VERIFY_PARAM_set_flags(ctx->param, flags);
783} 815}
816LCRYPTO_ALIAS(X509_STORE_set_flags)
784 817
785int 818int
786X509_STORE_set_depth(X509_STORE *ctx, int depth) 819X509_STORE_set_depth(X509_STORE *ctx, int depth)
@@ -788,51 +821,60 @@ X509_STORE_set_depth(X509_STORE *ctx, int depth)
788 X509_VERIFY_PARAM_set_depth(ctx->param, depth); 821 X509_VERIFY_PARAM_set_depth(ctx->param, depth);
789 return 1; 822 return 1;
790} 823}
824LCRYPTO_ALIAS(X509_STORE_set_depth)
791 825
792int 826int
793X509_STORE_set_purpose(X509_STORE *ctx, int purpose) 827X509_STORE_set_purpose(X509_STORE *ctx, int purpose)
794{ 828{
795 return X509_VERIFY_PARAM_set_purpose(ctx->param, purpose); 829 return X509_VERIFY_PARAM_set_purpose(ctx->param, purpose);
796} 830}
831LCRYPTO_ALIAS(X509_STORE_set_purpose)
797 832
798int 833int
799X509_STORE_set_trust(X509_STORE *ctx, int trust) 834X509_STORE_set_trust(X509_STORE *ctx, int trust)
800{ 835{
801 return X509_VERIFY_PARAM_set_trust(ctx->param, trust); 836 return X509_VERIFY_PARAM_set_trust(ctx->param, trust);
802} 837}
838LCRYPTO_ALIAS(X509_STORE_set_trust)
803 839
804int 840int
805X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *param) 841X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *param)
806{ 842{
807 return X509_VERIFY_PARAM_set1(ctx->param, param); 843 return X509_VERIFY_PARAM_set1(ctx->param, param);
808} 844}
845LCRYPTO_ALIAS(X509_STORE_set1_param)
809 846
810X509_VERIFY_PARAM * 847X509_VERIFY_PARAM *
811X509_STORE_get0_param(X509_STORE *ctx) 848X509_STORE_get0_param(X509_STORE *ctx)
812{ 849{
813 return ctx->param; 850 return ctx->param;
814} 851}
852LCRYPTO_ALIAS(X509_STORE_get0_param)
815 853
816void 854void
817X509_STORE_set_verify(X509_STORE *store, X509_STORE_CTX_verify_fn verify) 855X509_STORE_set_verify(X509_STORE *store, X509_STORE_CTX_verify_fn verify)
818{ 856{
819 store->verify = verify; 857 store->verify = verify;
820} 858}
859LCRYPTO_ALIAS(X509_STORE_set_verify)
821 860
822X509_STORE_CTX_verify_fn 861X509_STORE_CTX_verify_fn
823X509_STORE_get_verify(X509_STORE *store) 862X509_STORE_get_verify(X509_STORE *store)
824{ 863{
825 return store->verify; 864 return store->verify;
826} 865}
866LCRYPTO_ALIAS(X509_STORE_get_verify)
827 867
828void 868void
829X509_STORE_set_verify_cb(X509_STORE *store, X509_STORE_CTX_verify_cb verify_cb) 869X509_STORE_set_verify_cb(X509_STORE *store, X509_STORE_CTX_verify_cb verify_cb)
830{ 870{
831 store->verify_cb = verify_cb; 871 store->verify_cb = verify_cb;
832} 872}
873LCRYPTO_ALIAS(X509_STORE_set_verify_cb)
833 874
834X509_STORE_CTX_verify_cb 875X509_STORE_CTX_verify_cb
835X509_STORE_get_verify_cb(X509_STORE *store) 876X509_STORE_get_verify_cb(X509_STORE *store)
836{ 877{
837 return store->verify_cb; 878 return store->verify_cb;
838} 879}
880LCRYPTO_ALIAS(X509_STORE_get_verify_cb)
diff --git a/src/lib/libcrypto/x509/x509_ncons.c b/src/lib/libcrypto/x509/x509_ncons.c
index 613527005a..a5d055ae9f 100644
--- a/src/lib/libcrypto/x509/x509_ncons.c
+++ b/src/lib/libcrypto/x509/x509_ncons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_ncons.c,v 1.5 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_ncons.c,v 1.6 2022/11/14 17:48:50 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 */
@@ -165,24 +165,28 @@ GENERAL_SUBTREE_new(void)
165{ 165{
166 return (GENERAL_SUBTREE*)ASN1_item_new(&GENERAL_SUBTREE_it); 166 return (GENERAL_SUBTREE*)ASN1_item_new(&GENERAL_SUBTREE_it);
167} 167}
168LCRYPTO_ALIAS(GENERAL_SUBTREE_new)
168 169
169void 170void
170GENERAL_SUBTREE_free(GENERAL_SUBTREE *a) 171GENERAL_SUBTREE_free(GENERAL_SUBTREE *a)
171{ 172{
172 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_SUBTREE_it); 173 ASN1_item_free((ASN1_VALUE *)a, &GENERAL_SUBTREE_it);
173} 174}
175LCRYPTO_ALIAS(GENERAL_SUBTREE_free)
174 176
175NAME_CONSTRAINTS * 177NAME_CONSTRAINTS *
176NAME_CONSTRAINTS_new(void) 178NAME_CONSTRAINTS_new(void)
177{ 179{
178 return (NAME_CONSTRAINTS*)ASN1_item_new(&NAME_CONSTRAINTS_it); 180 return (NAME_CONSTRAINTS*)ASN1_item_new(&NAME_CONSTRAINTS_it);
179} 181}
182LCRYPTO_ALIAS(NAME_CONSTRAINTS_new)
180 183
181void 184void
182NAME_CONSTRAINTS_free(NAME_CONSTRAINTS *a) 185NAME_CONSTRAINTS_free(NAME_CONSTRAINTS *a)
183{ 186{
184 ASN1_item_free((ASN1_VALUE *)a, &NAME_CONSTRAINTS_it); 187 ASN1_item_free((ASN1_VALUE *)a, &NAME_CONSTRAINTS_it);
185} 188}
189LCRYPTO_ALIAS(NAME_CONSTRAINTS_free)
186 190
187static void * 191static void *
188v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 192v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
@@ -349,6 +353,7 @@ NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc)
349 } 353 }
350 return X509_V_OK; 354 return X509_V_OK;
351} 355}
356LCRYPTO_ALIAS(NAME_CONSTRAINTS_check)
352static int 357static int
353nc_match(GENERAL_NAME *gen, NAME_CONSTRAINTS *nc) 358nc_match(GENERAL_NAME *gen, NAME_CONSTRAINTS *nc)
354{ 359{
diff --git a/src/lib/libcrypto/x509/x509_obj.c b/src/lib/libcrypto/x509/x509_obj.c
index 58ffa3a2f2..d27e59c741 100644
--- a/src/lib/libcrypto/x509/x509_obj.c
+++ b/src/lib/libcrypto/x509/x509_obj.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_obj.c,v 1.19 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_obj.c,v 1.20 2022/11/14 17:48:50 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 *
@@ -179,3 +179,4 @@ err:
179 BUF_MEM_free(b); 179 BUF_MEM_free(b);
180 return (NULL); 180 return (NULL);
181} 181}
182LCRYPTO_ALIAS(X509_NAME_oneline)
diff --git a/src/lib/libcrypto/x509/x509_pcia.c b/src/lib/libcrypto/x509/x509_pcia.c
index b639aa336d..fb14384e99 100644
--- a/src/lib/libcrypto/x509/x509_pcia.c
+++ b/src/lib/libcrypto/x509/x509_pcia.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_pcia.c,v 1.1 2020/06/04 15:19:32 jsing Exp $ */ 1/* $OpenBSD: x509_pcia.c,v 1.2 2022/11/14 17:48:50 beck Exp $ */
2/* Contributed to the OpenSSL Project 2004 2/* Contributed to the OpenSSL Project 2004
3 * by Richard Levitte (richard@levitte.org) 3 * by Richard Levitte (richard@levitte.org)
4 */ 4 */
@@ -72,24 +72,28 @@ d2i_PROXY_POLICY(PROXY_POLICY **a, const unsigned char **in, long len)
72 return (PROXY_POLICY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 72 return (PROXY_POLICY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
73 &PROXY_POLICY_it); 73 &PROXY_POLICY_it);
74} 74}
75LCRYPTO_ALIAS(d2i_PROXY_POLICY)
75 76
76int 77int
77i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out) 78i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out)
78{ 79{
79 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_POLICY_it); 80 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_POLICY_it);
80} 81}
82LCRYPTO_ALIAS(i2d_PROXY_POLICY)
81 83
82PROXY_POLICY * 84PROXY_POLICY *
83PROXY_POLICY_new(void) 85PROXY_POLICY_new(void)
84{ 86{
85 return (PROXY_POLICY *)ASN1_item_new(&PROXY_POLICY_it); 87 return (PROXY_POLICY *)ASN1_item_new(&PROXY_POLICY_it);
86} 88}
89LCRYPTO_ALIAS(PROXY_POLICY_new)
87 90
88void 91void
89PROXY_POLICY_free(PROXY_POLICY *a) 92PROXY_POLICY_free(PROXY_POLICY *a)
90{ 93{
91 ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it); 94 ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it);
92} 95}
96LCRYPTO_ALIAS(PROXY_POLICY_free)
93 97
94static const ASN1_TEMPLATE PROXY_CERT_INFO_EXTENSION_seq_tt[] = { 98static const ASN1_TEMPLATE PROXY_CERT_INFO_EXTENSION_seq_tt[] = {
95 { 99 {
@@ -125,21 +129,25 @@ d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a, const unsigned char
125 return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 129 return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
126 &PROXY_CERT_INFO_EXTENSION_it); 130 &PROXY_CERT_INFO_EXTENSION_it);
127} 131}
132LCRYPTO_ALIAS(d2i_PROXY_CERT_INFO_EXTENSION)
128 133
129int 134int
130i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out) 135i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out)
131{ 136{
132 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_CERT_INFO_EXTENSION_it); 137 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_CERT_INFO_EXTENSION_it);
133} 138}
139LCRYPTO_ALIAS(i2d_PROXY_CERT_INFO_EXTENSION)
134 140
135PROXY_CERT_INFO_EXTENSION * 141PROXY_CERT_INFO_EXTENSION *
136PROXY_CERT_INFO_EXTENSION_new(void) 142PROXY_CERT_INFO_EXTENSION_new(void)
137{ 143{
138 return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_new(&PROXY_CERT_INFO_EXTENSION_it); 144 return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_new(&PROXY_CERT_INFO_EXTENSION_it);
139} 145}
146LCRYPTO_ALIAS(PROXY_CERT_INFO_EXTENSION_new)
140 147
141void 148void
142PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a) 149PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a)
143{ 150{
144 ASN1_item_free((ASN1_VALUE *)a, &PROXY_CERT_INFO_EXTENSION_it); 151 ASN1_item_free((ASN1_VALUE *)a, &PROXY_CERT_INFO_EXTENSION_it);
145} 152}
153LCRYPTO_ALIAS(PROXY_CERT_INFO_EXTENSION_free)
diff --git a/src/lib/libcrypto/x509/x509_pcons.c b/src/lib/libcrypto/x509/x509_pcons.c
index 69bf43377f..2448147fdb 100644
--- a/src/lib/libcrypto/x509/x509_pcons.c
+++ b/src/lib/libcrypto/x509/x509_pcons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_pcons.c,v 1.1 2020/06/04 15:19:32 jsing Exp $ */ 1/* $OpenBSD: x509_pcons.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -121,12 +121,14 @@ POLICY_CONSTRAINTS_new(void)
121{ 121{
122 return (POLICY_CONSTRAINTS*)ASN1_item_new(&POLICY_CONSTRAINTS_it); 122 return (POLICY_CONSTRAINTS*)ASN1_item_new(&POLICY_CONSTRAINTS_it);
123} 123}
124LCRYPTO_ALIAS(POLICY_CONSTRAINTS_new)
124 125
125void 126void
126POLICY_CONSTRAINTS_free(POLICY_CONSTRAINTS *a) 127POLICY_CONSTRAINTS_free(POLICY_CONSTRAINTS *a)
127{ 128{
128 ASN1_item_free((ASN1_VALUE *)a, &POLICY_CONSTRAINTS_it); 129 ASN1_item_free((ASN1_VALUE *)a, &POLICY_CONSTRAINTS_it);
129} 130}
131LCRYPTO_ALIAS(POLICY_CONSTRAINTS_free)
130 132
131static STACK_OF(CONF_VALUE) * 133static STACK_OF(CONF_VALUE) *
132i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *a, 134i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *a,
diff --git a/src/lib/libcrypto/x509/x509_pku.c b/src/lib/libcrypto/x509/x509_pku.c
index 9b82ad3d5f..f65d0dfc69 100644
--- a/src/lib/libcrypto/x509/x509_pku.c
+++ b/src/lib/libcrypto/x509/x509_pku.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_pku.c,v 1.1 2020/06/04 15:19:32 jsing Exp $ */ 1/* $OpenBSD: x509_pku.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -116,24 +116,28 @@ d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len)
116 return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 116 return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
117 &PKEY_USAGE_PERIOD_it); 117 &PKEY_USAGE_PERIOD_it);
118} 118}
119LCRYPTO_ALIAS(d2i_PKEY_USAGE_PERIOD)
119 120
120int 121int
121i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out) 122i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out)
122{ 123{
123 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it); 124 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it);
124} 125}
126LCRYPTO_ALIAS(i2d_PKEY_USAGE_PERIOD)
125 127
126PKEY_USAGE_PERIOD * 128PKEY_USAGE_PERIOD *
127PKEY_USAGE_PERIOD_new(void) 129PKEY_USAGE_PERIOD_new(void)
128{ 130{
129 return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it); 131 return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it);
130} 132}
133LCRYPTO_ALIAS(PKEY_USAGE_PERIOD_new)
131 134
132void 135void
133PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a) 136PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a)
134{ 137{
135 ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it); 138 ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it);
136} 139}
140LCRYPTO_ALIAS(PKEY_USAGE_PERIOD_free)
137 141
138static int 142static int
139i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, 143i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage,
diff --git a/src/lib/libcrypto/x509/x509_pmaps.c b/src/lib/libcrypto/x509/x509_pmaps.c
index 352f85a025..3bc4b9d637 100644
--- a/src/lib/libcrypto/x509/x509_pmaps.c
+++ b/src/lib/libcrypto/x509/x509_pmaps.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_pmaps.c,v 1.1 2020/06/04 15:19:32 jsing Exp $ */ 1/* $OpenBSD: x509_pmaps.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -137,12 +137,14 @@ POLICY_MAPPING_new(void)
137{ 137{
138 return (POLICY_MAPPING*)ASN1_item_new(&POLICY_MAPPING_it); 138 return (POLICY_MAPPING*)ASN1_item_new(&POLICY_MAPPING_it);
139} 139}
140LCRYPTO_ALIAS(POLICY_MAPPING_new)
140 141
141void 142void
142POLICY_MAPPING_free(POLICY_MAPPING *a) 143POLICY_MAPPING_free(POLICY_MAPPING *a)
143{ 144{
144 ASN1_item_free((ASN1_VALUE *)a, &POLICY_MAPPING_it); 145 ASN1_item_free((ASN1_VALUE *)a, &POLICY_MAPPING_it);
145} 146}
147LCRYPTO_ALIAS(POLICY_MAPPING_free)
146 148
147static STACK_OF(CONF_VALUE) * 149static STACK_OF(CONF_VALUE) *
148i2v_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method, void *a, 150i2v_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method, void *a,
diff --git a/src/lib/libcrypto/x509/x509_prn.c b/src/lib/libcrypto/x509/x509_prn.c
index 4977051d4a..b7db631500 100644
--- a/src/lib/libcrypto/x509/x509_prn.c
+++ b/src/lib/libcrypto/x509/x509_prn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_prn.c,v 1.2 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_prn.c,v 1.3 2022/11/14 17:48:50 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 */
@@ -99,6 +99,7 @@ X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, int ml)
99 BIO_puts(out, "\n"); 99 BIO_puts(out, "\n");
100 } 100 }
101} 101}
102LCRYPTO_ALIAS(X509V3_EXT_val_prn)
102 103
103/* Main routine: print out a general extension */ 104/* Main routine: print out a general extension */
104 105
@@ -152,6 +153,7 @@ err:
152 method->ext_free(ext_str); 153 method->ext_free(ext_str);
153 return ok; 154 return ok;
154} 155}
156LCRYPTO_ALIAS(X509V3_EXT_print)
155 157
156int 158int
157X509V3_extensions_print(BIO *bp, const char *title, 159X509V3_extensions_print(BIO *bp, const char *title,
@@ -187,6 +189,7 @@ X509V3_extensions_print(BIO *bp, const char *title,
187 } 189 }
188 return 1; 190 return 1;
189} 191}
192LCRYPTO_ALIAS(X509V3_extensions_print)
190 193
191static int 194static int
192unknown_ext_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, 195unknown_ext_print(BIO *out, X509_EXTENSION *ext, unsigned long flag,
@@ -225,3 +228,4 @@ X509V3_EXT_print_fp(FILE *fp, X509_EXTENSION *ext, int flag, int indent)
225 BIO_free(bio_tmp); 228 BIO_free(bio_tmp);
226 return ret; 229 return ret;
227} 230}
231LCRYPTO_ALIAS(X509V3_EXT_print_fp)
diff --git a/src/lib/libcrypto/x509/x509_purp.c b/src/lib/libcrypto/x509/x509_purp.c
index ab5e7cb3c9..d5027377bf 100644
--- a/src/lib/libcrypto/x509/x509_purp.c
+++ b/src/lib/libcrypto/x509/x509_purp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_purp.c,v 1.16 2022/05/10 19:42:52 tb Exp $ */ 1/* $OpenBSD: x509_purp.c,v 1.17 2022/11/14 17:48:50 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 2001. 3 * project 2001.
4 */ 4 */
@@ -146,6 +146,7 @@ X509_check_purpose(X509 *x, int id, int ca)
146 pt = X509_PURPOSE_get0(idx); 146 pt = X509_PURPOSE_get0(idx);
147 return pt->check_purpose(pt, x, ca); 147 return pt->check_purpose(pt, x, ca);
148} 148}
149LCRYPTO_ALIAS(X509_check_purpose)
149 150
150int 151int
151X509_PURPOSE_set(int *p, int purpose) 152X509_PURPOSE_set(int *p, int purpose)
@@ -157,6 +158,7 @@ X509_PURPOSE_set(int *p, int purpose)
157 *p = purpose; 158 *p = purpose;
158 return 1; 159 return 1;
159} 160}
161LCRYPTO_ALIAS(X509_PURPOSE_set)
160 162
161int 163int
162X509_PURPOSE_get_count(void) 164X509_PURPOSE_get_count(void)
@@ -165,6 +167,7 @@ X509_PURPOSE_get_count(void)
165 return X509_PURPOSE_COUNT; 167 return X509_PURPOSE_COUNT;
166 return sk_X509_PURPOSE_num(xptable) + X509_PURPOSE_COUNT; 168 return sk_X509_PURPOSE_num(xptable) + X509_PURPOSE_COUNT;
167} 169}
170LCRYPTO_ALIAS(X509_PURPOSE_get_count)
168 171
169X509_PURPOSE * 172X509_PURPOSE *
170X509_PURPOSE_get0(int idx) 173X509_PURPOSE_get0(int idx)
@@ -175,6 +178,7 @@ X509_PURPOSE_get0(int idx)
175 return xstandard + idx; 178 return xstandard + idx;
176 return sk_X509_PURPOSE_value(xptable, idx - X509_PURPOSE_COUNT); 179 return sk_X509_PURPOSE_value(xptable, idx - X509_PURPOSE_COUNT);
177} 180}
181LCRYPTO_ALIAS(X509_PURPOSE_get0)
178 182
179int 183int
180X509_PURPOSE_get_by_sname(const char *sname) 184X509_PURPOSE_get_by_sname(const char *sname)
@@ -189,6 +193,7 @@ X509_PURPOSE_get_by_sname(const char *sname)
189 } 193 }
190 return -1; 194 return -1;
191} 195}
196LCRYPTO_ALIAS(X509_PURPOSE_get_by_sname)
192 197
193int 198int
194X509_PURPOSE_get_by_id(int purpose) 199X509_PURPOSE_get_by_id(int purpose)
@@ -206,6 +211,7 @@ X509_PURPOSE_get_by_id(int purpose)
206 return -1; 211 return -1;
207 return idx + X509_PURPOSE_COUNT; 212 return idx + X509_PURPOSE_COUNT;
208} 213}
214LCRYPTO_ALIAS(X509_PURPOSE_get_by_id)
209 215
210int 216int
211X509_PURPOSE_add(int id, int trust, int flags, 217X509_PURPOSE_add(int id, int trust, int flags,
@@ -280,6 +286,7 @@ err:
280 X509V3error(ERR_R_MALLOC_FAILURE); 286 X509V3error(ERR_R_MALLOC_FAILURE);
281 return 0; 287 return 0;
282} 288}
289LCRYPTO_ALIAS(X509_PURPOSE_add)
283 290
284static void 291static void
285xptable_free(X509_PURPOSE *p) 292xptable_free(X509_PURPOSE *p)
@@ -301,30 +308,35 @@ X509_PURPOSE_cleanup(void)
301 sk_X509_PURPOSE_pop_free(xptable, xptable_free); 308 sk_X509_PURPOSE_pop_free(xptable, xptable_free);
302 xptable = NULL; 309 xptable = NULL;
303} 310}
311LCRYPTO_ALIAS(X509_PURPOSE_cleanup)
304 312
305int 313int
306X509_PURPOSE_get_id(const X509_PURPOSE *xp) 314X509_PURPOSE_get_id(const X509_PURPOSE *xp)
307{ 315{
308 return xp->purpose; 316 return xp->purpose;
309} 317}
318LCRYPTO_ALIAS(X509_PURPOSE_get_id)
310 319
311char * 320char *
312X509_PURPOSE_get0_name(const X509_PURPOSE *xp) 321X509_PURPOSE_get0_name(const X509_PURPOSE *xp)
313{ 322{
314 return xp->name; 323 return xp->name;
315} 324}
325LCRYPTO_ALIAS(X509_PURPOSE_get0_name)
316 326
317char * 327char *
318X509_PURPOSE_get0_sname(const X509_PURPOSE *xp) 328X509_PURPOSE_get0_sname(const X509_PURPOSE *xp)
319{ 329{
320 return xp->sname; 330 return xp->sname;
321} 331}
332LCRYPTO_ALIAS(X509_PURPOSE_get0_sname)
322 333
323int 334int
324X509_PURPOSE_get_trust(const X509_PURPOSE *xp) 335X509_PURPOSE_get_trust(const X509_PURPOSE *xp)
325{ 336{
326 return xp->trust; 337 return xp->trust;
327} 338}
339LCRYPTO_ALIAS(X509_PURPOSE_get_trust)
328 340
329static int 341static int
330nid_cmp(const int *a, const int *b) 342nid_cmp(const int *a, const int *b)
@@ -390,6 +402,7 @@ X509_supported_extension(X509_EXTENSION *ex)
390 return 1; 402 return 1;
391 return 0; 403 return 0;
392} 404}
405LCRYPTO_ALIAS(X509_supported_extension)
393 406
394static void 407static void
395setup_dp(X509 *x, DIST_POINT *dp) 408setup_dp(X509 *x, DIST_POINT *dp)
@@ -675,6 +688,7 @@ X509_check_ca(X509 *x)
675 688
676 return check_ca(x); 689 return check_ca(x);
677} 690}
691LCRYPTO_ALIAS(X509_check_ca)
678 692
679/* Check SSL CA: common checks for SSL client and server */ 693/* Check SSL CA: common checks for SSL client and server */
680static int 694static int
@@ -909,6 +923,7 @@ X509_check_issued(X509 *issuer, X509 *subject)
909 return X509_V_ERR_KEYUSAGE_NO_CERTSIGN; 923 return X509_V_ERR_KEYUSAGE_NO_CERTSIGN;
910 return X509_V_OK; 924 return X509_V_OK;
911} 925}
926LCRYPTO_ALIAS(X509_check_issued)
912 927
913int 928int
914X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid) 929X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid)
@@ -948,6 +963,7 @@ X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid)
948 } 963 }
949 return X509_V_OK; 964 return X509_V_OK;
950} 965}
966LCRYPTO_ALIAS(X509_check_akid)
951 967
952uint32_t 968uint32_t
953X509_get_extension_flags(X509 *x) 969X509_get_extension_flags(X509 *x)
@@ -958,6 +974,7 @@ X509_get_extension_flags(X509 *x)
958 974
959 return x->ex_flags; 975 return x->ex_flags;
960} 976}
977LCRYPTO_ALIAS(X509_get_extension_flags)
961 978
962uint32_t 979uint32_t
963X509_get_key_usage(X509 *x) 980X509_get_key_usage(X509 *x)
@@ -971,6 +988,7 @@ X509_get_key_usage(X509 *x)
971 988
972 return UINT32_MAX; 989 return UINT32_MAX;
973} 990}
991LCRYPTO_ALIAS(X509_get_key_usage)
974 992
975uint32_t 993uint32_t
976X509_get_extended_key_usage(X509 *x) 994X509_get_extended_key_usage(X509 *x)
@@ -984,3 +1002,4 @@ X509_get_extended_key_usage(X509 *x)
984 1002
985 return UINT32_MAX; 1003 return UINT32_MAX;
986} 1004}
1005LCRYPTO_ALIAS(X509_get_extended_key_usage)
diff --git a/src/lib/libcrypto/x509/x509_r2x.c b/src/lib/libcrypto/x509/x509_r2x.c
index b3b8aa75ed..e69b54fc5b 100644
--- a/src/lib/libcrypto/x509/x509_r2x.c
+++ b/src/lib/libcrypto/x509/x509_r2x.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_r2x.c,v 1.13 2021/11/03 14:36:21 schwarze Exp $ */ 1/* $OpenBSD: x509_r2x.c,v 1.14 2022/11/14 17:48:50 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 *
@@ -116,3 +116,4 @@ err:
116 X509_free(ret); 116 X509_free(ret);
117 return NULL; 117 return NULL;
118} 118}
119LCRYPTO_ALIAS(X509_REQ_to_X509)
diff --git a/src/lib/libcrypto/x509/x509_req.c b/src/lib/libcrypto/x509/x509_req.c
index c0a2a64a0b..5155d743ab 100644
--- a/src/lib/libcrypto/x509/x509_req.c
+++ b/src/lib/libcrypto/x509/x509_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_req.c,v 1.29 2022/08/18 16:26:33 tb Exp $ */ 1/* $OpenBSD: x509_req.c,v 1.30 2022/11/14 17:48:50 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 *
@@ -115,6 +115,7 @@ err:
115 X509_REQ_free(ret); 115 X509_REQ_free(ret);
116 return (NULL); 116 return (NULL);
117} 117}
118LCRYPTO_ALIAS(X509_to_X509_REQ)
118 119
119EVP_PKEY * 120EVP_PKEY *
120X509_REQ_get_pubkey(X509_REQ *req) 121X509_REQ_get_pubkey(X509_REQ *req)
@@ -123,6 +124,7 @@ X509_REQ_get_pubkey(X509_REQ *req)
123 return (NULL); 124 return (NULL);
124 return (X509_PUBKEY_get(req->req_info->pubkey)); 125 return (X509_PUBKEY_get(req->req_info->pubkey));
125} 126}
127LCRYPTO_ALIAS(X509_REQ_get_pubkey)
126 128
127EVP_PKEY * 129EVP_PKEY *
128X509_REQ_get0_pubkey(X509_REQ *req) 130X509_REQ_get0_pubkey(X509_REQ *req)
@@ -131,6 +133,7 @@ X509_REQ_get0_pubkey(X509_REQ *req)
131 return NULL; 133 return NULL;
132 return X509_PUBKEY_get0(req->req_info->pubkey); 134 return X509_PUBKEY_get0(req->req_info->pubkey);
133} 135}
136LCRYPTO_ALIAS(X509_REQ_get0_pubkey)
134 137
135int 138int
136X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k) 139X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k)
@@ -170,6 +173,7 @@ X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k)
170 173
171 return (ok); 174 return (ok);
172} 175}
176LCRYPTO_ALIAS(X509_REQ_check_private_key)
173 177
174/* It seems several organisations had the same idea of including a list of 178/* It seems several organisations had the same idea of including a list of
175 * extensions in a certificate request. There are at least two OIDs that are 179 * extensions in a certificate request. There are at least two OIDs that are
@@ -193,18 +197,21 @@ X509_REQ_extension_nid(int req_nid)
193 return 1; 197 return 1;
194 } 198 }
195} 199}
200LCRYPTO_ALIAS(X509_REQ_extension_nid)
196 201
197int * 202int *
198X509_REQ_get_extension_nids(void) 203X509_REQ_get_extension_nids(void)
199{ 204{
200 return ext_nids; 205 return ext_nids;
201} 206}
207LCRYPTO_ALIAS(X509_REQ_get_extension_nids)
202 208
203void 209void
204X509_REQ_set_extension_nids(int *nids) 210X509_REQ_set_extension_nids(int *nids)
205{ 211{
206 ext_nids = nids; 212 ext_nids = nids;
207} 213}
214LCRYPTO_ALIAS(X509_REQ_set_extension_nids)
208 215
209STACK_OF(X509_EXTENSION) * 216STACK_OF(X509_EXTENSION) *
210X509_REQ_get_extensions(X509_REQ *req) 217X509_REQ_get_extensions(X509_REQ *req)
@@ -231,6 +238,7 @@ X509_REQ_get_extensions(X509_REQ *req)
231 p = ext->value.sequence->data; 238 p = ext->value.sequence->data;
232 return d2i_X509_EXTENSIONS(NULL, &p, ext->value.sequence->length); 239 return d2i_X509_EXTENSIONS(NULL, &p, ext->value.sequence->length);
233} 240}
241LCRYPTO_ALIAS(X509_REQ_get_extensions)
234 242
235/* 243/*
236 * Add a STACK_OF extensions to a certificate request: allow alternative OIDs 244 * Add a STACK_OF extensions to a certificate request: allow alternative OIDs
@@ -254,6 +262,7 @@ X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts,
254 262
255 return rv; 263 return rv;
256} 264}
265LCRYPTO_ALIAS(X509_REQ_add_extensions_nid)
257 266
258/* This is the normal usage: use the "official" OID */ 267/* This is the normal usage: use the "official" OID */
259int 268int
@@ -261,6 +270,7 @@ X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts)
261{ 270{
262 return X509_REQ_add_extensions_nid(req, exts, NID_ext_req); 271 return X509_REQ_add_extensions_nid(req, exts, NID_ext_req);
263} 272}
273LCRYPTO_ALIAS(X509_REQ_add_extensions)
264 274
265/* Request attribute functions */ 275/* Request attribute functions */
266 276
@@ -269,12 +279,14 @@ X509_REQ_get_attr_count(const X509_REQ *req)
269{ 279{
270 return X509at_get_attr_count(req->req_info->attributes); 280 return X509at_get_attr_count(req->req_info->attributes);
271} 281}
282LCRYPTO_ALIAS(X509_REQ_get_attr_count)
272 283
273int 284int
274X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos) 285X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos)
275{ 286{
276 return X509at_get_attr_by_NID(req->req_info->attributes, nid, lastpos); 287 return X509at_get_attr_by_NID(req->req_info->attributes, nid, lastpos);
277} 288}
289LCRYPTO_ALIAS(X509_REQ_get_attr_by_NID)
278 290
279int 291int
280X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj, 292X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj,
@@ -282,18 +294,21 @@ X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj,
282{ 294{
283 return X509at_get_attr_by_OBJ(req->req_info->attributes, obj, lastpos); 295 return X509at_get_attr_by_OBJ(req->req_info->attributes, obj, lastpos);
284} 296}
297LCRYPTO_ALIAS(X509_REQ_get_attr_by_OBJ)
285 298
286X509_ATTRIBUTE * 299X509_ATTRIBUTE *
287X509_REQ_get_attr(const X509_REQ *req, int loc) 300X509_REQ_get_attr(const X509_REQ *req, int loc)
288{ 301{
289 return X509at_get_attr(req->req_info->attributes, loc); 302 return X509at_get_attr(req->req_info->attributes, loc);
290} 303}
304LCRYPTO_ALIAS(X509_REQ_get_attr)
291 305
292X509_ATTRIBUTE * 306X509_ATTRIBUTE *
293X509_REQ_delete_attr(X509_REQ *req, int loc) 307X509_REQ_delete_attr(X509_REQ *req, int loc)
294{ 308{
295 return X509at_delete_attr(req->req_info->attributes, loc); 309 return X509at_delete_attr(req->req_info->attributes, loc);
296} 310}
311LCRYPTO_ALIAS(X509_REQ_delete_attr)
297 312
298int 313int
299X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr) 314X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr)
@@ -302,6 +317,7 @@ X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr)
302 return 1; 317 return 1;
303 return 0; 318 return 0;
304} 319}
320LCRYPTO_ALIAS(X509_REQ_add1_attr)
305 321
306int 322int
307X509_REQ_add1_attr_by_OBJ(X509_REQ *req, const ASN1_OBJECT *obj, int type, 323X509_REQ_add1_attr_by_OBJ(X509_REQ *req, const ASN1_OBJECT *obj, int type,
@@ -312,6 +328,7 @@ X509_REQ_add1_attr_by_OBJ(X509_REQ *req, const ASN1_OBJECT *obj, int type,
312 return 1; 328 return 1;
313 return 0; 329 return 0;
314} 330}
331LCRYPTO_ALIAS(X509_REQ_add1_attr_by_OBJ)
315 332
316int 333int
317X509_REQ_add1_attr_by_NID(X509_REQ *req, int nid, int type, 334X509_REQ_add1_attr_by_NID(X509_REQ *req, int nid, int type,
@@ -322,6 +339,7 @@ X509_REQ_add1_attr_by_NID(X509_REQ *req, int nid, int type,
322 return 1; 339 return 1;
323 return 0; 340 return 0;
324} 341}
342LCRYPTO_ALIAS(X509_REQ_add1_attr_by_NID)
325 343
326int 344int
327X509_REQ_add1_attr_by_txt(X509_REQ *req, const char *attrname, int type, 345X509_REQ_add1_attr_by_txt(X509_REQ *req, const char *attrname, int type,
@@ -332,6 +350,7 @@ X509_REQ_add1_attr_by_txt(X509_REQ *req, const char *attrname, int type,
332 return 1; 350 return 1;
333 return 0; 351 return 0;
334} 352}
353LCRYPTO_ALIAS(X509_REQ_add1_attr_by_txt)
335 354
336int 355int
337i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) 356i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
@@ -339,3 +358,4 @@ i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
339 req->req_info->enc.modified = 1; 358 req->req_info->enc.modified = 1;
340 return i2d_X509_REQ_INFO(req->req_info, pp); 359 return i2d_X509_REQ_INFO(req->req_info, pp);
341} 360}
361LCRYPTO_ALIAS(i2d_re_X509_REQ_tbs)
diff --git a/src/lib/libcrypto/x509/x509_set.c b/src/lib/libcrypto/x509/x509_set.c
index 5784f2203e..91d6483a3b 100644
--- a/src/lib/libcrypto/x509/x509_set.c
+++ b/src/lib/libcrypto/x509/x509_set.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_set.c,v 1.20 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_set.c,v 1.21 2022/11/14 17:48:50 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,12 +70,14 @@ X509_get0_extensions(const X509 *x)
70{ 70{
71 return x->cert_info->extensions; 71 return x->cert_info->extensions;
72} 72}
73LCRYPTO_ALIAS(X509_get0_extensions)
73 74
74const X509_ALGOR * 75const X509_ALGOR *
75X509_get0_tbs_sigalg(const X509 *x) 76X509_get0_tbs_sigalg(const X509 *x)
76{ 77{
77 return x->cert_info->signature; 78 return x->cert_info->signature;
78} 79}
80LCRYPTO_ALIAS(X509_get0_tbs_sigalg)
79 81
80int 82int
81X509_set_version(X509 *x, long version) 83X509_set_version(X509 *x, long version)
@@ -88,12 +90,14 @@ X509_set_version(X509 *x, long version)
88 } 90 }
89 return (ASN1_INTEGER_set(x->cert_info->version, version)); 91 return (ASN1_INTEGER_set(x->cert_info->version, version));
90} 92}
93LCRYPTO_ALIAS(X509_set_version)
91 94
92long 95long
93X509_get_version(const X509 *x) 96X509_get_version(const X509 *x)
94{ 97{
95 return ASN1_INTEGER_get(x->cert_info->version); 98 return ASN1_INTEGER_get(x->cert_info->version);
96} 99}
100LCRYPTO_ALIAS(X509_get_version)
97 101
98int 102int
99X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial) 103X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial)
@@ -112,6 +116,7 @@ X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial)
112 } 116 }
113 return (in != NULL); 117 return (in != NULL);
114} 118}
119LCRYPTO_ALIAS(X509_set_serialNumber)
115 120
116int 121int
117X509_set_issuer_name(X509 *x, X509_NAME *name) 122X509_set_issuer_name(X509 *x, X509_NAME *name)
@@ -120,6 +125,7 @@ X509_set_issuer_name(X509 *x, X509_NAME *name)
120 return (0); 125 return (0);
121 return (X509_NAME_set(&x->cert_info->issuer, name)); 126 return (X509_NAME_set(&x->cert_info->issuer, name));
122} 127}
128LCRYPTO_ALIAS(X509_set_issuer_name)
123 129
124int 130int
125X509_set_subject_name(X509 *x, X509_NAME *name) 131X509_set_subject_name(X509 *x, X509_NAME *name)
@@ -128,12 +134,14 @@ X509_set_subject_name(X509 *x, X509_NAME *name)
128 return (0); 134 return (0);
129 return (X509_NAME_set(&x->cert_info->subject, name)); 135 return (X509_NAME_set(&x->cert_info->subject, name));
130} 136}
137LCRYPTO_ALIAS(X509_set_subject_name)
131 138
132const ASN1_TIME * 139const ASN1_TIME *
133X509_get0_notBefore(const X509 *x) 140X509_get0_notBefore(const X509 *x)
134{ 141{
135 return X509_getm_notBefore(x); 142 return X509_getm_notBefore(x);
136} 143}
144LCRYPTO_ALIAS(X509_get0_notBefore)
137 145
138ASN1_TIME * 146ASN1_TIME *
139X509_getm_notBefore(const X509 *x) 147X509_getm_notBefore(const X509 *x)
@@ -142,6 +150,7 @@ X509_getm_notBefore(const X509 *x)
142 return (NULL); 150 return (NULL);
143 return x->cert_info->validity->notBefore; 151 return x->cert_info->validity->notBefore;
144} 152}
153LCRYPTO_ALIAS(X509_getm_notBefore)
145 154
146int 155int
147X509_set_notBefore(X509 *x, const ASN1_TIME *tm) 156X509_set_notBefore(X509 *x, const ASN1_TIME *tm)
@@ -160,18 +169,21 @@ X509_set_notBefore(X509 *x, const ASN1_TIME *tm)
160 } 169 }
161 return (in != NULL); 170 return (in != NULL);
162} 171}
172LCRYPTO_ALIAS(X509_set_notBefore)
163 173
164int 174int
165X509_set1_notBefore(X509 *x, const ASN1_TIME *tm) 175X509_set1_notBefore(X509 *x, const ASN1_TIME *tm)
166{ 176{
167 return X509_set_notBefore(x, tm); 177 return X509_set_notBefore(x, tm);
168} 178}
179LCRYPTO_ALIAS(X509_set1_notBefore)
169 180
170const ASN1_TIME * 181const ASN1_TIME *
171X509_get0_notAfter(const X509 *x) 182X509_get0_notAfter(const X509 *x)
172{ 183{
173 return X509_getm_notAfter(x); 184 return X509_getm_notAfter(x);
174} 185}
186LCRYPTO_ALIAS(X509_get0_notAfter)
175 187
176ASN1_TIME * 188ASN1_TIME *
177X509_getm_notAfter(const X509 *x) 189X509_getm_notAfter(const X509 *x)
@@ -180,6 +192,7 @@ X509_getm_notAfter(const X509 *x)
180 return (NULL); 192 return (NULL);
181 return x->cert_info->validity->notAfter; 193 return x->cert_info->validity->notAfter;
182} 194}
195LCRYPTO_ALIAS(X509_getm_notAfter)
183 196
184int 197int
185X509_set_notAfter(X509 *x, const ASN1_TIME *tm) 198X509_set_notAfter(X509 *x, const ASN1_TIME *tm)
@@ -198,12 +211,14 @@ X509_set_notAfter(X509 *x, const ASN1_TIME *tm)
198 } 211 }
199 return (in != NULL); 212 return (in != NULL);
200} 213}
214LCRYPTO_ALIAS(X509_set_notAfter)
201 215
202int 216int
203X509_set1_notAfter(X509 *x, const ASN1_TIME *tm) 217X509_set1_notAfter(X509 *x, const ASN1_TIME *tm)
204{ 218{
205 return X509_set_notAfter(x, tm); 219 return X509_set_notAfter(x, tm);
206} 220}
221LCRYPTO_ALIAS(X509_set1_notAfter)
207 222
208int 223int
209X509_set_pubkey(X509 *x, EVP_PKEY *pkey) 224X509_set_pubkey(X509 *x, EVP_PKEY *pkey)
@@ -212,15 +227,18 @@ X509_set_pubkey(X509 *x, EVP_PKEY *pkey)
212 return (0); 227 return (0);
213 return (X509_PUBKEY_set(&(x->cert_info->key), pkey)); 228 return (X509_PUBKEY_set(&(x->cert_info->key), pkey));
214} 229}
230LCRYPTO_ALIAS(X509_set_pubkey)
215 231
216int 232int
217X509_get_signature_type(const X509 *x) 233X509_get_signature_type(const X509 *x)
218{ 234{
219 return EVP_PKEY_type(OBJ_obj2nid(x->sig_alg->algorithm)); 235 return EVP_PKEY_type(OBJ_obj2nid(x->sig_alg->algorithm));
220} 236}
237LCRYPTO_ALIAS(X509_get_signature_type)
221 238
222X509_PUBKEY * 239X509_PUBKEY *
223X509_get_X509_PUBKEY(const X509 *x) 240X509_get_X509_PUBKEY(const X509 *x)
224{ 241{
225 return x->cert_info->key; 242 return x->cert_info->key;
226} 243}
244LCRYPTO_ALIAS(X509_get_X509_PUBKEY)
diff --git a/src/lib/libcrypto/x509/x509_skey.c b/src/lib/libcrypto/x509/x509_skey.c
index 58bb66bc05..813a8de199 100644
--- a/src/lib/libcrypto/x509/x509_skey.c
+++ b/src/lib/libcrypto/x509/x509_skey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_skey.c,v 1.2 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_skey.c,v 1.3 2022/11/14 17:48:50 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 */
@@ -89,6 +89,7 @@ i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, const ASN1_OCTET_STRING *oct)
89{ 89{
90 return hex_to_string(oct->data, oct->length); 90 return hex_to_string(oct->data, oct->length);
91} 91}
92LCRYPTO_ALIAS(i2s_ASN1_OCTET_STRING)
92 93
93ASN1_OCTET_STRING * 94ASN1_OCTET_STRING *
94s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 95s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
@@ -111,6 +112,7 @@ s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
111 112
112 return oct; 113 return oct;
113} 114}
115LCRYPTO_ALIAS(s2i_ASN1_OCTET_STRING)
114 116
115static ASN1_OCTET_STRING * 117static ASN1_OCTET_STRING *
116s2i_skey_id(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str) 118s2i_skey_id(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str)
diff --git a/src/lib/libcrypto/x509/x509_sxnet.c b/src/lib/libcrypto/x509/x509_sxnet.c
index e5e98bcecc..9c66a6b769 100644
--- a/src/lib/libcrypto/x509/x509_sxnet.c
+++ b/src/lib/libcrypto/x509/x509_sxnet.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_sxnet.c,v 1.1 2020/06/04 15:19:32 jsing Exp $ */ 1/* $OpenBSD: x509_sxnet.c,v 1.2 2022/11/14 17:48:50 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 */
@@ -131,24 +131,28 @@ d2i_SXNETID(SXNETID **a, const unsigned char **in, long len)
131 return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 131 return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
132 &SXNETID_it); 132 &SXNETID_it);
133} 133}
134LCRYPTO_ALIAS(d2i_SXNETID)
134 135
135int 136int
136i2d_SXNETID(SXNETID *a, unsigned char **out) 137i2d_SXNETID(SXNETID *a, unsigned char **out)
137{ 138{
138 return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it); 139 return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it);
139} 140}
141LCRYPTO_ALIAS(i2d_SXNETID)
140 142
141SXNETID * 143SXNETID *
142SXNETID_new(void) 144SXNETID_new(void)
143{ 145{
144 return (SXNETID *)ASN1_item_new(&SXNETID_it); 146 return (SXNETID *)ASN1_item_new(&SXNETID_it);
145} 147}
148LCRYPTO_ALIAS(SXNETID_new)
146 149
147void 150void
148SXNETID_free(SXNETID *a) 151SXNETID_free(SXNETID *a)
149{ 152{
150 ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it); 153 ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it);
151} 154}
155LCRYPTO_ALIAS(SXNETID_free)
152 156
153static const ASN1_TEMPLATE SXNET_seq_tt[] = { 157static const ASN1_TEMPLATE SXNET_seq_tt[] = {
154 { 158 {
@@ -184,24 +188,28 @@ d2i_SXNET(SXNET **a, const unsigned char **in, long len)
184 return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, 188 return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
185 &SXNET_it); 189 &SXNET_it);
186} 190}
191LCRYPTO_ALIAS(d2i_SXNET)
187 192
188int 193int
189i2d_SXNET(SXNET *a, unsigned char **out) 194i2d_SXNET(SXNET *a, unsigned char **out)
190{ 195{
191 return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it); 196 return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it);
192} 197}
198LCRYPTO_ALIAS(i2d_SXNET)
193 199
194SXNET * 200SXNET *
195SXNET_new(void) 201SXNET_new(void)
196{ 202{
197 return (SXNET *)ASN1_item_new(&SXNET_it); 203 return (SXNET *)ASN1_item_new(&SXNET_it);
198} 204}
205LCRYPTO_ALIAS(SXNET_new)
199 206
200void 207void
201SXNET_free(SXNET *a) 208SXNET_free(SXNET *a)
202{ 209{
203 ASN1_item_free((ASN1_VALUE *)a, &SXNET_it); 210 ASN1_item_free((ASN1_VALUE *)a, &SXNET_it);
204} 211}
212LCRYPTO_ALIAS(SXNET_free)
205 213
206static int 214static int
207sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) 215sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent)
@@ -263,6 +271,7 @@ SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen)
263 } 271 }
264 return SXNET_add_id_INTEGER(psx, izone, user, userlen); 272 return SXNET_add_id_INTEGER(psx, izone, user, userlen);
265} 273}
274LCRYPTO_ALIAS(SXNET_add_id_asc)
266 275
267/* Add an id given the zone as an unsigned long */ 276/* Add an id given the zone as an unsigned long */
268 277
@@ -280,6 +289,7 @@ SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user,
280 } 289 }
281 return SXNET_add_id_INTEGER(psx, izone, user, userlen); 290 return SXNET_add_id_INTEGER(psx, izone, user, userlen);
282} 291}
292LCRYPTO_ALIAS(SXNET_add_id_ulong)
283 293
284/* Add an id given the zone as an ASN1_INTEGER. 294/* Add an id given the zone as an ASN1_INTEGER.
285 * Note this version uses the passed integer and doesn't make a copy so don't 295 * Note this version uses the passed integer and doesn't make a copy so don't
@@ -335,6 +345,7 @@ err:
335 *psx = NULL; 345 *psx = NULL;
336 return 0; 346 return 0;
337} 347}
348LCRYPTO_ALIAS(SXNET_add_id_INTEGER)
338 349
339ASN1_OCTET_STRING * 350ASN1_OCTET_STRING *
340SXNET_get_id_asc(SXNET *sx, const char *zone) 351SXNET_get_id_asc(SXNET *sx, const char *zone)
@@ -350,6 +361,7 @@ SXNET_get_id_asc(SXNET *sx, const char *zone)
350 ASN1_INTEGER_free(izone); 361 ASN1_INTEGER_free(izone);
351 return oct; 362 return oct;
352} 363}
364LCRYPTO_ALIAS(SXNET_get_id_asc)
353 365
354ASN1_OCTET_STRING * 366ASN1_OCTET_STRING *
355SXNET_get_id_ulong(SXNET *sx, unsigned long lzone) 367SXNET_get_id_ulong(SXNET *sx, unsigned long lzone)
@@ -367,6 +379,7 @@ SXNET_get_id_ulong(SXNET *sx, unsigned long lzone)
367 ASN1_INTEGER_free(izone); 379 ASN1_INTEGER_free(izone);
368 return oct; 380 return oct;
369} 381}
382LCRYPTO_ALIAS(SXNET_get_id_ulong)
370 383
371ASN1_OCTET_STRING * 384ASN1_OCTET_STRING *
372SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone) 385SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone)
@@ -381,3 +394,4 @@ SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone)
381 } 394 }
382 return NULL; 395 return NULL;
383} 396}
397LCRYPTO_ALIAS(SXNET_get_id_INTEGER)
diff --git a/src/lib/libcrypto/x509/x509_trs.c b/src/lib/libcrypto/x509/x509_trs.c
index 23eca4927b..b075d1b6c8 100644
--- a/src/lib/libcrypto/x509/x509_trs.c
+++ b/src/lib/libcrypto/x509/x509_trs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_trs.c,v 1.27 2022/11/13 18:37:32 beck Exp $ */ 1/* $OpenBSD: x509_trs.c,v 1.28 2022/11/14 17:48:50 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 */
@@ -109,6 +109,7 @@ int
109 default_trust = trust; 109 default_trust = trust;
110 return oldtrust; 110 return oldtrust;
111} 111}
112LCRYPTO_ALIAS(X509_TRUST_set_default)
112 113
113static int 114static int
114X509_check_trust_internal(X509 *x, int id, int flags, int compat) 115X509_check_trust_internal(X509 *x, int id, int flags, int compat)
@@ -140,6 +141,7 @@ X509_check_trust_internal(X509 *x, int id, int flags, int compat)
140 pt = X509_TRUST_get0(idx); 141 pt = X509_TRUST_get0(idx);
141 return pt->check_trust(pt, x, flags); 142 return pt->check_trust(pt, x, flags);
142} 143}
144LCRYPTO_ALIAS(X509_check_trust)
143 145
144int 146int
145X509_check_trust(X509 *x, int id, int flags) 147X509_check_trust(X509 *x, int id, int flags)
@@ -160,6 +162,7 @@ X509_TRUST_get_count(void)
160 return X509_TRUST_COUNT; 162 return X509_TRUST_COUNT;
161 return sk_X509_TRUST_num(trtable) + X509_TRUST_COUNT; 163 return sk_X509_TRUST_num(trtable) + X509_TRUST_COUNT;
162} 164}
165LCRYPTO_ALIAS(X509_TRUST_get_count)
163 166
164X509_TRUST * 167X509_TRUST *
165X509_TRUST_get0(int idx) 168X509_TRUST_get0(int idx)
@@ -170,6 +173,7 @@ X509_TRUST_get0(int idx)
170 return trstandard + idx; 173 return trstandard + idx;
171 return sk_X509_TRUST_value(trtable, idx - X509_TRUST_COUNT); 174 return sk_X509_TRUST_value(trtable, idx - X509_TRUST_COUNT);
172} 175}
176LCRYPTO_ALIAS(X509_TRUST_get0)
173 177
174int 178int
175X509_TRUST_get_by_id(int id) 179X509_TRUST_get_by_id(int id)
@@ -187,6 +191,7 @@ X509_TRUST_get_by_id(int id)
187 return -1; 191 return -1;
188 return idx + X509_TRUST_COUNT; 192 return idx + X509_TRUST_COUNT;
189} 193}
194LCRYPTO_ALIAS(X509_TRUST_get_by_id)
190 195
191int 196int
192X509_TRUST_set(int *t, int trust) 197X509_TRUST_set(int *t, int trust)
@@ -198,6 +203,7 @@ X509_TRUST_set(int *t, int trust)
198 *t = trust; 203 *t = trust;
199 return 1; 204 return 1;
200} 205}
206LCRYPTO_ALIAS(X509_TRUST_set)
201 207
202int 208int
203X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int), 209X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int),
@@ -263,6 +269,7 @@ err:
263 X509error(ERR_R_MALLOC_FAILURE); 269 X509error(ERR_R_MALLOC_FAILURE);
264 return 0; 270 return 0;
265} 271}
272LCRYPTO_ALIAS(X509_TRUST_add)
266 273
267static void 274static void
268trtable_free(X509_TRUST *p) 275trtable_free(X509_TRUST *p)
@@ -282,24 +289,28 @@ X509_TRUST_cleanup(void)
282 sk_X509_TRUST_pop_free(trtable, trtable_free); 289 sk_X509_TRUST_pop_free(trtable, trtable_free);
283 trtable = NULL; 290 trtable = NULL;
284} 291}
292LCRYPTO_ALIAS(X509_TRUST_cleanup)
285 293
286int 294int
287X509_TRUST_get_flags(const X509_TRUST *xp) 295X509_TRUST_get_flags(const X509_TRUST *xp)
288{ 296{
289 return xp->flags; 297 return xp->flags;
290} 298}
299LCRYPTO_ALIAS(X509_TRUST_get_flags)
291 300
292char * 301char *
293X509_TRUST_get0_name(const X509_TRUST *xp) 302X509_TRUST_get0_name(const X509_TRUST *xp)
294{ 303{
295 return xp->name; 304 return xp->name;
296} 305}
306LCRYPTO_ALIAS(X509_TRUST_get0_name)
297 307
298int 308int
299X509_TRUST_get_trust(const X509_TRUST *xp) 309X509_TRUST_get_trust(const X509_TRUST *xp)
300{ 310{
301 return xp->trust; 311 return xp->trust;
302} 312}
313LCRYPTO_ALIAS(X509_TRUST_get_trust)
303 314
304static int 315static int
305trust_1oidany(X509_TRUST *trust, X509 *x, int flags) 316trust_1oidany(X509_TRUST *trust, X509 *x, int flags)
diff --git a/src/lib/libcrypto/x509/x509_txt.c b/src/lib/libcrypto/x509/x509_txt.c
index 2dfadf6ba6..129757494c 100644
--- a/src/lib/libcrypto/x509/x509_txt.c
+++ b/src/lib/libcrypto/x509/x509_txt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_txt.c,v 1.20 2022/07/05 20:31:46 tb Exp $ */ 1/* $OpenBSD: x509_txt.c,v 1.21 2022/11/14 17:48:50 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 *
@@ -203,3 +203,4 @@ X509_verify_cert_error_string(long n)
203 return(buf); 203 return(buf);
204 } 204 }
205} 205}
206LCRYPTO_ALIAS(X509_verify_cert_error_string)
diff --git a/src/lib/libcrypto/x509/x509_utl.c b/src/lib/libcrypto/x509/x509_utl.c
index 47b25fe6c4..525939d4ca 100644
--- a/src/lib/libcrypto/x509/x509_utl.c
+++ b/src/lib/libcrypto/x509/x509_utl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_utl.c,v 1.3 2022/05/20 07:58:54 tb Exp $ */ 1/* $OpenBSD: x509_utl.c,v 1.4 2022/11/14 17:48:50 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 */
@@ -117,6 +117,7 @@ X509V3_add_value(const char *name, const char *value,
117 } 117 }
118 return 0; 118 return 0;
119} 119}
120LCRYPTO_ALIAS(X509V3_add_value)
120 121
121int 122int
122X509V3_add_value_uchar(const char *name, const unsigned char *value, 123X509V3_add_value_uchar(const char *name, const unsigned char *value,
@@ -124,6 +125,7 @@ X509V3_add_value_uchar(const char *name, const unsigned char *value,
124{ 125{
125 return X509V3_add_value(name, (const char *)value, extlist); 126 return X509V3_add_value(name, (const char *)value, extlist);
126} 127}
128LCRYPTO_ALIAS(X509V3_add_value_uchar)
127 129
128/* Free function for STACK_OF(CONF_VALUE) */ 130/* Free function for STACK_OF(CONF_VALUE) */
129 131
@@ -137,6 +139,7 @@ X509V3_conf_free(CONF_VALUE *conf)
137 free(conf->section); 139 free(conf->section);
138 free(conf); 140 free(conf);
139} 141}
142LCRYPTO_ALIAS(X509V3_conf_free)
140 143
141int 144int
142X509V3_add_value_bool(const char *name, int asn1_bool, 145X509V3_add_value_bool(const char *name, int asn1_bool,
@@ -146,6 +149,7 @@ X509V3_add_value_bool(const char *name, int asn1_bool,
146 return X509V3_add_value(name, "TRUE", extlist); 149 return X509V3_add_value(name, "TRUE", extlist);
147 return X509V3_add_value(name, "FALSE", extlist); 150 return X509V3_add_value(name, "FALSE", extlist);
148} 151}
152LCRYPTO_ALIAS(X509V3_add_value_bool)
149 153
150int 154int
151X509V3_add_value_bool_nf(const char *name, int asn1_bool, 155X509V3_add_value_bool_nf(const char *name, int asn1_bool,
@@ -155,6 +159,7 @@ X509V3_add_value_bool_nf(const char *name, int asn1_bool,
155 return X509V3_add_value(name, "TRUE", extlist); 159 return X509V3_add_value(name, "TRUE", extlist);
156 return 1; 160 return 1;
157} 161}
162LCRYPTO_ALIAS(X509V3_add_value_bool_nf)
158 163
159char * 164char *
160bn_to_string(const BIGNUM *bn) 165bn_to_string(const BIGNUM *bn)
@@ -197,6 +202,7 @@ i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED *a)
197 BN_free(bntmp); 202 BN_free(bntmp);
198 return strtmp; 203 return strtmp;
199} 204}
205LCRYPTO_ALIAS(i2s_ASN1_ENUMERATED)
200 206
201char * 207char *
202i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a) 208i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a)
@@ -212,6 +218,7 @@ i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a)
212 BN_free(bntmp); 218 BN_free(bntmp);
213 return strtmp; 219 return strtmp;
214} 220}
221LCRYPTO_ALIAS(i2s_ASN1_INTEGER)
215 222
216ASN1_INTEGER * 223ASN1_INTEGER *
217s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value) 224s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value)
@@ -262,6 +269,7 @@ s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value)
262 aint->type |= V_ASN1_NEG; 269 aint->type |= V_ASN1_NEG;
263 return aint; 270 return aint;
264} 271}
272LCRYPTO_ALIAS(s2i_ASN1_INTEGER)
265 273
266int 274int
267X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, 275X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint,
@@ -278,6 +286,7 @@ X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint,
278 free(strtmp); 286 free(strtmp);
279 return ret; 287 return ret;
280} 288}
289LCRYPTO_ALIAS(X509V3_add_value_int)
281 290
282int 291int
283X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool) 292X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool)
@@ -303,6 +312,7 @@ X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool)
303 X509V3_conf_err(value); 312 X509V3_conf_err(value);
304 return 0; 313 return 0;
305} 314}
315LCRYPTO_ALIAS(X509V3_get_value_bool)
306 316
307int 317int
308X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint) 318X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint)
@@ -316,6 +326,7 @@ X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint)
316 *aint = itmp; 326 *aint = itmp;
317 return 1; 327 return 1;
318} 328}
329LCRYPTO_ALIAS(X509V3_get_value_int)
319 330
320#define HDR_NAME 1 331#define HDR_NAME 1
321#define HDR_VALUE 2 332#define HDR_VALUE 2
@@ -407,6 +418,7 @@ X509V3_parse_list(const char *line)
407 return NULL; 418 return NULL;
408 419
409} 420}
421LCRYPTO_ALIAS(X509V3_parse_list)
410 422
411/* Delete leading and trailing spaces from a string */ 423/* Delete leading and trailing spaces from a string */
412static char * 424static char *
@@ -458,6 +470,7 @@ hex_to_string(const unsigned char *buffer, long len)
458 q[-1] = 0; 470 q[-1] = 0;
459 return tmp; 471 return tmp;
460} 472}
473LCRYPTO_ALIAS(hex_to_string)
461 474
462/* Give a string of hex digits convert to 475/* Give a string of hex digits convert to
463 * a buffer 476 * a buffer
@@ -519,6 +532,7 @@ string_to_hex(const char *str, long *len)
519 X509V3error(X509V3_R_ILLEGAL_HEX_DIGIT); 532 X509V3error(X509V3_R_ILLEGAL_HEX_DIGIT);
520 return NULL; 533 return NULL;
521} 534}
535LCRYPTO_ALIAS(string_to_hex)
522 536
523/* V2I name comparison function: returns zero if 'name' matches 537/* V2I name comparison function: returns zero if 'name' matches
524 * cmp or cmp.* 538 * cmp or cmp.*
@@ -556,6 +570,7 @@ X509_get1_email(X509 *x)
556 sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); 570 sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free);
557 return ret; 571 return ret;
558} 572}
573LCRYPTO_ALIAS(X509_get1_email)
559 574
560STACK_OF(OPENSSL_STRING) * 575STACK_OF(OPENSSL_STRING) *
561X509_get1_ocsp(X509 *x) 576X509_get1_ocsp(X509 *x)
@@ -580,6 +595,7 @@ X509_get1_ocsp(X509 *x)
580 AUTHORITY_INFO_ACCESS_free(info); 595 AUTHORITY_INFO_ACCESS_free(info);
581 return ret; 596 return ret;
582} 597}
598LCRYPTO_ALIAS(X509_get1_ocsp)
583 599
584STACK_OF(OPENSSL_STRING) * 600STACK_OF(OPENSSL_STRING) *
585X509_REQ_get1_email(X509_REQ *x) 601X509_REQ_get1_email(X509_REQ *x)
@@ -595,6 +611,7 @@ X509_REQ_get1_email(X509_REQ *x)
595 sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); 611 sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
596 return ret; 612 return ret;
597} 613}
614LCRYPTO_ALIAS(X509_REQ_get1_email)
598 615
599 616
600static STACK_OF(OPENSSL_STRING) * 617static STACK_OF(OPENSSL_STRING) *
@@ -664,6 +681,7 @@ X509_email_free(STACK_OF(OPENSSL_STRING) *sk)
664{ 681{
665 sk_OPENSSL_STRING_pop_free(sk, str_free); 682 sk_OPENSSL_STRING_pop_free(sk, str_free);
666} 683}
684LCRYPTO_ALIAS(X509_email_free)
667 685
668typedef int (*equal_fn)(const unsigned char *pattern, size_t pattern_len, 686typedef int (*equal_fn)(const unsigned char *pattern, size_t pattern_len,
669 const unsigned char *subject, size_t subject_len, unsigned int flags); 687 const unsigned char *subject, size_t subject_len, unsigned int flags);
@@ -1065,6 +1083,7 @@ X509_check_host(X509 *x, const char *chk, size_t chklen, unsigned int flags,
1065 return -2; 1083 return -2;
1066 return do_x509_check(x, chk, chklen, flags, GEN_DNS, peername); 1084 return do_x509_check(x, chk, chklen, flags, GEN_DNS, peername);
1067} 1085}
1086LCRYPTO_ALIAS(X509_check_host)
1068 1087
1069int 1088int
1070X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned int flags) 1089X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned int flags)
@@ -1077,6 +1096,7 @@ X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned int flags)
1077 return -2; 1096 return -2;
1078 return do_x509_check(x, chk, chklen, flags, GEN_EMAIL, NULL); 1097 return do_x509_check(x, chk, chklen, flags, GEN_EMAIL, NULL);
1079} 1098}
1099LCRYPTO_ALIAS(X509_check_email)
1080 1100
1081int 1101int
1082X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, 1102X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
@@ -1086,6 +1106,7 @@ X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
1086 return -2; 1106 return -2;
1087 return do_x509_check(x, (char *)chk, chklen, flags, GEN_IPADD, NULL); 1107 return do_x509_check(x, (char *)chk, chklen, flags, GEN_IPADD, NULL);
1088} 1108}
1109LCRYPTO_ALIAS(X509_check_ip)
1089 1110
1090int 1111int
1091X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags) 1112X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags)
@@ -1100,6 +1121,7 @@ X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags)
1100 return -2; 1121 return -2;
1101 return do_x509_check(x, (char *)ipout, iplen, flags, GEN_IPADD, NULL); 1122 return do_x509_check(x, (char *)ipout, iplen, flags, GEN_IPADD, NULL);
1102} 1123}
1124LCRYPTO_ALIAS(X509_check_ip_asc)
1103 1125
1104/* Convert IP addresses both IPv4 and IPv6 into an 1126/* Convert IP addresses both IPv4 and IPv6 into an
1105 * OCTET STRING compatible with RFC3280. 1127 * OCTET STRING compatible with RFC3280.
@@ -1128,6 +1150,7 @@ a2i_IPADDRESS(const char *ipasc)
1128 } 1150 }
1129 return ret; 1151 return ret;
1130} 1152}
1153LCRYPTO_ALIAS(a2i_IPADDRESS)
1131 1154
1132ASN1_OCTET_STRING * 1155ASN1_OCTET_STRING *
1133a2i_IPADDRESS_NC(const char *ipasc) 1156a2i_IPADDRESS_NC(const char *ipasc)
@@ -1173,6 +1196,7 @@ a2i_IPADDRESS_NC(const char *ipasc)
1173 ASN1_OCTET_STRING_free(ret); 1196 ASN1_OCTET_STRING_free(ret);
1174 return NULL; 1197 return NULL;
1175} 1198}
1199LCRYPTO_ALIAS(a2i_IPADDRESS_NC)
1176 1200
1177 1201
1178int 1202int
@@ -1190,6 +1214,7 @@ a2i_ipadd(unsigned char *ipout, const char *ipasc)
1190 return 4; 1214 return 4;
1191 } 1215 }
1192} 1216}
1217LCRYPTO_ALIAS(a2i_ipadd)
1193 1218
1194static int 1219static int
1195ipv4_from_asc(unsigned char *v4, const char *in) 1220ipv4_from_asc(unsigned char *v4, const char *in)
@@ -1386,3 +1411,4 @@ X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk,
1386 } 1411 }
1387 return 1; 1412 return 1;
1388} 1413}
1414LCRYPTO_ALIAS(X509V3_NAME_from_section)
diff --git a/src/lib/libcrypto/x509/x509_v3.c b/src/lib/libcrypto/x509/x509_v3.c
index 9aefb8d99d..4f66524f51 100644
--- a/src/lib/libcrypto/x509/x509_v3.c
+++ b/src/lib/libcrypto/x509/x509_v3.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_v3.c,v 1.18 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509_v3.c,v 1.19 2022/11/14 17:48:50 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 @@ X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x)
75 return (0); 75 return (0);
76 return (sk_X509_EXTENSION_num(x)); 76 return (sk_X509_EXTENSION_num(x));
77} 77}
78LCRYPTO_ALIAS(X509v3_get_ext_count)
78 79
79int 80int
80X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, int nid, int lastpos) 81X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, int nid, int lastpos)
@@ -86,6 +87,7 @@ X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, int nid, int lastpos)
86 return (-2); 87 return (-2);
87 return (X509v3_get_ext_by_OBJ(x, obj, lastpos)); 88 return (X509v3_get_ext_by_OBJ(x, obj, lastpos));
88} 89}
90LCRYPTO_ALIAS(X509v3_get_ext_by_NID)
89 91
90int 92int
91X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *sk, 93X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *sk,
@@ -107,6 +109,7 @@ X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *sk,
107 } 109 }
108 return (-1); 110 return (-1);
109} 111}
112LCRYPTO_ALIAS(X509v3_get_ext_by_OBJ)
110 113
111int 114int
112X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *sk, int crit, 115X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *sk, int crit,
@@ -129,6 +132,7 @@ X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *sk, int crit,
129 } 132 }
130 return (-1); 133 return (-1);
131} 134}
135LCRYPTO_ALIAS(X509v3_get_ext_by_critical)
132 136
133X509_EXTENSION * 137X509_EXTENSION *
134X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc) 138X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc)
@@ -138,6 +142,7 @@ X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc)
138 else 142 else
139 return sk_X509_EXTENSION_value(x, loc); 143 return sk_X509_EXTENSION_value(x, loc);
140} 144}
145LCRYPTO_ALIAS(X509v3_get_ext)
141 146
142X509_EXTENSION * 147X509_EXTENSION *
143X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc) 148X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc)
@@ -149,6 +154,7 @@ X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc)
149 ret = sk_X509_EXTENSION_delete(x, loc); 154 ret = sk_X509_EXTENSION_delete(x, loc);
150 return (ret); 155 return (ret);
151} 156}
157LCRYPTO_ALIAS(X509v3_delete_ext)
152 158
153STACK_OF(X509_EXTENSION) * 159STACK_OF(X509_EXTENSION) *
154X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, X509_EXTENSION *ex, int loc) 160X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, X509_EXTENSION *ex, int loc)
@@ -191,6 +197,7 @@ err2:
191 sk_X509_EXTENSION_free(sk); 197 sk_X509_EXTENSION_free(sk);
192 return (NULL); 198 return (NULL);
193} 199}
200LCRYPTO_ALIAS(X509v3_add_ext)
194 201
195X509_EXTENSION * 202X509_EXTENSION *
196X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, int nid, int crit, 203X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, int nid, int crit,
@@ -209,6 +216,7 @@ X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, int nid, int crit,
209 ASN1_OBJECT_free(obj); 216 ASN1_OBJECT_free(obj);
210 return (ret); 217 return (ret);
211} 218}
219LCRYPTO_ALIAS(X509_EXTENSION_create_by_NID)
212 220
213X509_EXTENSION * 221X509_EXTENSION *
214X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, const ASN1_OBJECT *obj, 222X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, const ASN1_OBJECT *obj,
@@ -240,6 +248,7 @@ err:
240 X509_EXTENSION_free(ret); 248 X509_EXTENSION_free(ret);
241 return (NULL); 249 return (NULL);
242} 250}
251LCRYPTO_ALIAS(X509_EXTENSION_create_by_OBJ)
243 252
244int 253int
245X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj) 254X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj)
@@ -250,6 +259,7 @@ X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj)
250 ex->object = OBJ_dup(obj); 259 ex->object = OBJ_dup(obj);
251 return ex->object != NULL; 260 return ex->object != NULL;
252} 261}
262LCRYPTO_ALIAS(X509_EXTENSION_set_object)
253 263
254int 264int
255X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit) 265X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit)
@@ -259,6 +269,7 @@ X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit)
259 ex->critical = (crit) ? 0xFF : -1; 269 ex->critical = (crit) ? 0xFF : -1;
260 return (1); 270 return (1);
261} 271}
272LCRYPTO_ALIAS(X509_EXTENSION_set_critical)
262 273
263int 274int
264X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data) 275X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data)
@@ -272,6 +283,7 @@ X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data)
272 return (0); 283 return (0);
273 return (1); 284 return (1);
274} 285}
286LCRYPTO_ALIAS(X509_EXTENSION_set_data)
275 287
276ASN1_OBJECT * 288ASN1_OBJECT *
277X509_EXTENSION_get_object(X509_EXTENSION *ex) 289X509_EXTENSION_get_object(X509_EXTENSION *ex)
@@ -280,6 +292,7 @@ X509_EXTENSION_get_object(X509_EXTENSION *ex)
280 return (NULL); 292 return (NULL);
281 return (ex->object); 293 return (ex->object);
282} 294}
295LCRYPTO_ALIAS(X509_EXTENSION_get_object)
283 296
284ASN1_OCTET_STRING * 297ASN1_OCTET_STRING *
285X509_EXTENSION_get_data(X509_EXTENSION *ex) 298X509_EXTENSION_get_data(X509_EXTENSION *ex)
@@ -288,6 +301,7 @@ X509_EXTENSION_get_data(X509_EXTENSION *ex)
288 return (NULL); 301 return (NULL);
289 return (ex->value); 302 return (ex->value);
290} 303}
304LCRYPTO_ALIAS(X509_EXTENSION_get_data)
291 305
292int 306int
293X509_EXTENSION_get_critical(const X509_EXTENSION *ex) 307X509_EXTENSION_get_critical(const X509_EXTENSION *ex)
@@ -298,3 +312,4 @@ X509_EXTENSION_get_critical(const X509_EXTENSION *ex)
298 return 1; 312 return 1;
299 return 0; 313 return 0;
300} 314}
315LCRYPTO_ALIAS(X509_EXTENSION_get_critical)
diff --git a/src/lib/libcrypto/x509/x509_vfy.c b/src/lib/libcrypto/x509/x509_vfy.c
index 11bf3d9292..09c0b8105e 100644
--- a/src/lib/libcrypto/x509/x509_vfy.c
+++ b/src/lib/libcrypto/x509/x509_vfy.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vfy.c,v 1.104 2022/11/13 18:37:32 beck Exp $ */ 1/* $OpenBSD: x509_vfy.c,v 1.105 2022/11/14 17:48:50 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 *
@@ -668,6 +668,7 @@ X509_verify_cert(X509_STORE_CTX *ctx)
668 /* if we succeed we have a chain in ctx->chain */ 668 /* if we succeed we have a chain in ctx->chain */
669 return (chain_count > 0 && ctx->chain != NULL); 669 return (chain_count > 0 && ctx->chain != NULL);
670} 670}
671LCRYPTO_ALIAS(X509_verify_cert)
671 672
672/* Given a STACK_OF(X509) find the issuer of cert (if any) 673/* Given a STACK_OF(X509) find the issuer of cert (if any)
673 */ 674 */
@@ -2062,6 +2063,7 @@ X509_cmp_current_time(const ASN1_TIME *ctm)
2062{ 2063{
2063 return X509_cmp_time(ctm, NULL); 2064 return X509_cmp_time(ctm, NULL);
2064} 2065}
2066LCRYPTO_ALIAS(X509_cmp_current_time)
2065 2067
2066/* 2068/*
2067 * Compare a possibly unvalidated ASN1_TIME string against a time_t 2069 * Compare a possibly unvalidated ASN1_TIME string against a time_t
@@ -2101,6 +2103,7 @@ X509_cmp_time(const ASN1_TIME *ctm, time_t *cmp_time)
2101{ 2103{
2102 return X509_cmp_time_internal(ctm, cmp_time, 0); 2104 return X509_cmp_time_internal(ctm, cmp_time, 0);
2103} 2105}
2106LCRYPTO_ALIAS(X509_cmp_time)
2104 2107
2105 2108
2106ASN1_TIME * 2109ASN1_TIME *
@@ -2108,12 +2111,14 @@ X509_gmtime_adj(ASN1_TIME *s, long adj)
2108{ 2111{
2109 return X509_time_adj(s, adj, NULL); 2112 return X509_time_adj(s, adj, NULL);
2110} 2113}
2114LCRYPTO_ALIAS(X509_gmtime_adj)
2111 2115
2112ASN1_TIME * 2116ASN1_TIME *
2113X509_time_adj(ASN1_TIME *s, long offset_sec, time_t *in_time) 2117X509_time_adj(ASN1_TIME *s, long offset_sec, time_t *in_time)
2114{ 2118{
2115 return X509_time_adj_ex(s, 0, offset_sec, in_time); 2119 return X509_time_adj_ex(s, 0, offset_sec, in_time);
2116} 2120}
2121LCRYPTO_ALIAS(X509_time_adj)
2117 2122
2118ASN1_TIME * 2123ASN1_TIME *
2119X509_time_adj_ex(ASN1_TIME *s, int offset_day, long offset_sec, time_t *in_time) 2124X509_time_adj_ex(ASN1_TIME *s, int offset_day, long offset_sec, time_t *in_time)
@@ -2126,6 +2131,7 @@ X509_time_adj_ex(ASN1_TIME *s, int offset_day, long offset_sec, time_t *in_time)
2126 2131
2127 return ASN1_TIME_adj(s, t, offset_day, offset_sec); 2132 return ASN1_TIME_adj(s, t, offset_day, offset_sec);
2128} 2133}
2134LCRYPTO_ALIAS(X509_time_adj_ex)
2129 2135
2130int 2136int
2131X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain) 2137X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain)
@@ -2165,6 +2171,7 @@ X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain)
2165 return 0; 2171 return 0;
2166 return 1; 2172 return 1;
2167} 2173}
2174LCRYPTO_ALIAS(X509_get_pubkey_parameters)
2168 2175
2169int 2176int
2170X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 2177X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
@@ -2175,66 +2182,77 @@ X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
2175 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, 2182 return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX,
2176 argl, argp, new_func, dup_func, free_func); 2183 argl, argp, new_func, dup_func, free_func);
2177} 2184}
2185LCRYPTO_ALIAS(X509_STORE_CTX_get_ex_new_index)
2178 2186
2179int 2187int
2180X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data) 2188X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data)
2181{ 2189{
2182 return CRYPTO_set_ex_data(&ctx->ex_data, idx, data); 2190 return CRYPTO_set_ex_data(&ctx->ex_data, idx, data);
2183} 2191}
2192LCRYPTO_ALIAS(X509_STORE_CTX_set_ex_data)
2184 2193
2185void * 2194void *
2186X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx) 2195X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx)
2187{ 2196{
2188 return CRYPTO_get_ex_data(&ctx->ex_data, idx); 2197 return CRYPTO_get_ex_data(&ctx->ex_data, idx);
2189} 2198}
2199LCRYPTO_ALIAS(X509_STORE_CTX_get_ex_data)
2190 2200
2191int 2201int
2192X509_STORE_CTX_get_error(X509_STORE_CTX *ctx) 2202X509_STORE_CTX_get_error(X509_STORE_CTX *ctx)
2193{ 2203{
2194 return ctx->error; 2204 return ctx->error;
2195} 2205}
2206LCRYPTO_ALIAS(X509_STORE_CTX_get_error)
2196 2207
2197void 2208void
2198X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int err) 2209X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int err)
2199{ 2210{
2200 ctx->error = err; 2211 ctx->error = err;
2201} 2212}
2213LCRYPTO_ALIAS(X509_STORE_CTX_set_error)
2202 2214
2203int 2215int
2204X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx) 2216X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx)
2205{ 2217{
2206 return ctx->error_depth; 2218 return ctx->error_depth;
2207} 2219}
2220LCRYPTO_ALIAS(X509_STORE_CTX_get_error_depth)
2208 2221
2209void 2222void
2210X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth) 2223X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth)
2211{ 2224{
2212 ctx->error_depth = depth; 2225 ctx->error_depth = depth;
2213} 2226}
2227LCRYPTO_ALIAS(X509_STORE_CTX_set_error_depth)
2214 2228
2215X509 * 2229X509 *
2216X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx) 2230X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx)
2217{ 2231{
2218 return ctx->current_cert; 2232 return ctx->current_cert;
2219} 2233}
2234LCRYPTO_ALIAS(X509_STORE_CTX_get_current_cert)
2220 2235
2221void 2236void
2222X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x) 2237X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x)
2223{ 2238{
2224 ctx->current_cert = x; 2239 ctx->current_cert = x;
2225} 2240}
2241LCRYPTO_ALIAS(X509_STORE_CTX_set_current_cert)
2226 2242
2227STACK_OF(X509) * 2243STACK_OF(X509) *
2228X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx) 2244X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx)
2229{ 2245{
2230 return ctx->chain; 2246 return ctx->chain;
2231} 2247}
2248LCRYPTO_ALIAS(X509_STORE_CTX_get_chain)
2232 2249
2233STACK_OF(X509) * 2250STACK_OF(X509) *
2234X509_STORE_CTX_get0_chain(X509_STORE_CTX *xs) 2251X509_STORE_CTX_get0_chain(X509_STORE_CTX *xs)
2235{ 2252{
2236 return xs->chain; 2253 return xs->chain;
2237} 2254}
2255LCRYPTO_ALIAS(X509_STORE_CTX_get0_chain)
2238 2256
2239STACK_OF(X509) * 2257STACK_OF(X509) *
2240X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx) 2258X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx)
@@ -2251,60 +2269,70 @@ X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx)
2251 } 2269 }
2252 return chain; 2270 return chain;
2253} 2271}
2272LCRYPTO_ALIAS(X509_STORE_CTX_get1_chain)
2254 2273
2255X509 * 2274X509 *
2256X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx) 2275X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx)
2257{ 2276{
2258 return ctx->current_issuer; 2277 return ctx->current_issuer;
2259} 2278}
2279LCRYPTO_ALIAS(X509_STORE_CTX_get0_current_issuer)
2260 2280
2261X509_CRL * 2281X509_CRL *
2262X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx) 2282X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx)
2263{ 2283{
2264 return ctx->current_crl; 2284 return ctx->current_crl;
2265} 2285}
2286LCRYPTO_ALIAS(X509_STORE_CTX_get0_current_crl)
2266 2287
2267X509_STORE_CTX * 2288X509_STORE_CTX *
2268X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx) 2289X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx)
2269{ 2290{
2270 return ctx->parent; 2291 return ctx->parent;
2271} 2292}
2293LCRYPTO_ALIAS(X509_STORE_CTX_get0_parent_ctx)
2272 2294
2273X509_STORE * 2295X509_STORE *
2274X509_STORE_CTX_get0_store(X509_STORE_CTX *xs) 2296X509_STORE_CTX_get0_store(X509_STORE_CTX *xs)
2275{ 2297{
2276 return xs->store; 2298 return xs->store;
2277} 2299}
2300LCRYPTO_ALIAS(X509_STORE_CTX_get0_store)
2278 2301
2279void 2302void
2280X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *x) 2303X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *x)
2281{ 2304{
2282 ctx->cert = x; 2305 ctx->cert = x;
2283} 2306}
2307LCRYPTO_ALIAS(X509_STORE_CTX_set_cert)
2284 2308
2285void 2309void
2286X509_STORE_CTX_set_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) 2310X509_STORE_CTX_set_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
2287{ 2311{
2288 ctx->untrusted = sk; 2312 ctx->untrusted = sk;
2289} 2313}
2314LCRYPTO_ALIAS(X509_STORE_CTX_set_chain)
2290 2315
2291void 2316void
2292X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk) 2317X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk)
2293{ 2318{
2294 ctx->crls = sk; 2319 ctx->crls = sk;
2295} 2320}
2321LCRYPTO_ALIAS(X509_STORE_CTX_set0_crls)
2296 2322
2297int 2323int
2298X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose) 2324X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose)
2299{ 2325{
2300 return X509_STORE_CTX_purpose_inherit(ctx, 0, purpose, 0); 2326 return X509_STORE_CTX_purpose_inherit(ctx, 0, purpose, 0);
2301} 2327}
2328LCRYPTO_ALIAS(X509_STORE_CTX_set_purpose)
2302 2329
2303int 2330int
2304X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust) 2331X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust)
2305{ 2332{
2306 return X509_STORE_CTX_purpose_inherit(ctx, 0, 0, trust); 2333 return X509_STORE_CTX_purpose_inherit(ctx, 0, 0, trust);
2307} 2334}
2335LCRYPTO_ALIAS(X509_STORE_CTX_set_trust)
2308 2336
2309/* This function is used to set the X509_STORE_CTX purpose and trust 2337/* This function is used to set the X509_STORE_CTX purpose and trust
2310 * values. This is intended to be used when another structure has its 2338 * values. This is intended to be used when another structure has its
@@ -2360,6 +2388,7 @@ X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose,
2360 ctx->param->trust = trust; 2388 ctx->param->trust = trust;
2361 return 1; 2389 return 1;
2362} 2390}
2391LCRYPTO_ALIAS(X509_STORE_CTX_purpose_inherit)
2363 2392
2364X509_STORE_CTX * 2393X509_STORE_CTX *
2365X509_STORE_CTX_new(void) 2394X509_STORE_CTX_new(void)
@@ -2373,6 +2402,7 @@ X509_STORE_CTX_new(void)
2373 } 2402 }
2374 return ctx; 2403 return ctx;
2375} 2404}
2405LCRYPTO_ALIAS(X509_STORE_CTX_new)
2376 2406
2377void 2407void
2378X509_STORE_CTX_free(X509_STORE_CTX *ctx) 2408X509_STORE_CTX_free(X509_STORE_CTX *ctx)
@@ -2383,6 +2413,7 @@ X509_STORE_CTX_free(X509_STORE_CTX *ctx)
2383 X509_STORE_CTX_cleanup(ctx); 2413 X509_STORE_CTX_cleanup(ctx);
2384 free(ctx); 2414 free(ctx);
2385} 2415}
2416LCRYPTO_ALIAS(X509_STORE_CTX_free)
2386 2417
2387int 2418int
2388X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, 2419X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
@@ -2504,6 +2535,7 @@ X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
2504 } 2535 }
2505 return 1; 2536 return 1;
2506} 2537}
2538LCRYPTO_ALIAS(X509_STORE_CTX_init)
2507 2539
2508/* Set alternative lookup method: just a STACK of trusted certificates. 2540/* Set alternative lookup method: just a STACK of trusted certificates.
2509 * This avoids X509_STORE nastiness where it isn't needed. 2541 * This avoids X509_STORE nastiness where it isn't needed.
@@ -2515,12 +2547,14 @@ X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
2515 ctx->other_ctx = sk; 2547 ctx->other_ctx = sk;
2516 ctx->get_issuer = get_issuer_sk; 2548 ctx->get_issuer = get_issuer_sk;
2517} 2549}
2550LCRYPTO_ALIAS(X509_STORE_CTX_trusted_stack)
2518 2551
2519void 2552void
2520X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) 2553X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
2521{ 2554{
2522 X509_STORE_CTX_trusted_stack(ctx, sk); 2555 X509_STORE_CTX_trusted_stack(ctx, sk);
2523} 2556}
2557LCRYPTO_ALIAS(X509_STORE_CTX_set0_trusted_stack)
2524 2558
2525void 2559void
2526X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx) 2560X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx)
@@ -2544,30 +2578,35 @@ X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx)
2544 ctx, &(ctx->ex_data)); 2578 ctx, &(ctx->ex_data));
2545 memset(&ctx->ex_data, 0, sizeof(CRYPTO_EX_DATA)); 2579 memset(&ctx->ex_data, 0, sizeof(CRYPTO_EX_DATA));
2546} 2580}
2581LCRYPTO_ALIAS(X509_STORE_CTX_cleanup)
2547 2582
2548void 2583void
2549X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth) 2584X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth)
2550{ 2585{
2551 X509_VERIFY_PARAM_set_depth(ctx->param, depth); 2586 X509_VERIFY_PARAM_set_depth(ctx->param, depth);
2552} 2587}
2588LCRYPTO_ALIAS(X509_STORE_CTX_set_depth)
2553 2589
2554void 2590void
2555X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags) 2591X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags)
2556{ 2592{
2557 X509_VERIFY_PARAM_set_flags(ctx->param, flags); 2593 X509_VERIFY_PARAM_set_flags(ctx->param, flags);
2558} 2594}
2595LCRYPTO_ALIAS(X509_STORE_CTX_set_flags)
2559 2596
2560void 2597void
2561X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, time_t t) 2598X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, time_t t)
2562{ 2599{
2563 X509_VERIFY_PARAM_set_time(ctx->param, t); 2600 X509_VERIFY_PARAM_set_time(ctx->param, t);
2564} 2601}
2602LCRYPTO_ALIAS(X509_STORE_CTX_set_time)
2565 2603
2566int 2604int
2567(*X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx))(int, X509_STORE_CTX *) 2605(*X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx))(int, X509_STORE_CTX *)
2568{ 2606{
2569 return ctx->verify_cb; 2607 return ctx->verify_cb;
2570} 2608}
2609LCRYPTO_ALIAS(X509_STORE_CTX_get_verify_cb)
2571 2610
2572void 2611void
2573X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, 2612X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
@@ -2575,36 +2614,42 @@ X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
2575{ 2614{
2576 ctx->verify_cb = verify_cb; 2615 ctx->verify_cb = verify_cb;
2577} 2616}
2617LCRYPTO_ALIAS(X509_STORE_CTX_set_verify_cb)
2578 2618
2579int 2619int
2580(*X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx))(X509_STORE_CTX *) 2620(*X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx))(X509_STORE_CTX *)
2581{ 2621{
2582 return ctx->verify; 2622 return ctx->verify;
2583} 2623}
2624LCRYPTO_ALIAS(X509_STORE_CTX_get_verify)
2584 2625
2585void 2626void
2586X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, int (*verify)(X509_STORE_CTX *)) 2627X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, int (*verify)(X509_STORE_CTX *))
2587{ 2628{
2588 ctx->verify = verify; 2629 ctx->verify = verify;
2589} 2630}
2631LCRYPTO_ALIAS(X509_STORE_CTX_set_verify)
2590 2632
2591X509 * 2633X509 *
2592X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx) 2634X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx)
2593{ 2635{
2594 return ctx->cert; 2636 return ctx->cert;
2595} 2637}
2638LCRYPTO_ALIAS(X509_STORE_CTX_get0_cert)
2596 2639
2597STACK_OF(X509) * 2640STACK_OF(X509) *
2598X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx) 2641X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx)
2599{ 2642{
2600 return ctx->untrusted; 2643 return ctx->untrusted;
2601} 2644}
2645LCRYPTO_ALIAS(X509_STORE_CTX_get0_untrusted)
2602 2646
2603void 2647void
2604X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) 2648X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
2605{ 2649{
2606 ctx->untrusted = sk; 2650 ctx->untrusted = sk;
2607} 2651}
2652LCRYPTO_ALIAS(X509_STORE_CTX_set0_untrusted)
2608 2653
2609void 2654void
2610X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) 2655X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
@@ -2612,24 +2657,28 @@ X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
2612 sk_X509_pop_free(ctx->chain, X509_free); 2657 sk_X509_pop_free(ctx->chain, X509_free);
2613 ctx->chain = sk; 2658 ctx->chain = sk;
2614} 2659}
2660LCRYPTO_ALIAS(X509_STORE_CTX_set0_verified_chain)
2615 2661
2616X509_POLICY_TREE * 2662X509_POLICY_TREE *
2617X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx) 2663X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx)
2618{ 2664{
2619 return ctx->tree; 2665 return ctx->tree;
2620} 2666}
2667LCRYPTO_ALIAS(X509_STORE_CTX_get0_policy_tree)
2621 2668
2622int 2669int
2623X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx) 2670X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx)
2624{ 2671{
2625 return ctx->explicit_policy; 2672 return ctx->explicit_policy;
2626} 2673}
2674LCRYPTO_ALIAS(X509_STORE_CTX_get_explicit_policy)
2627 2675
2628int 2676int
2629X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx) 2677X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx)
2630{ 2678{
2631 return ctx->num_untrusted; 2679 return ctx->num_untrusted;
2632} 2680}
2681LCRYPTO_ALIAS(X509_STORE_CTX_get_num_untrusted)
2633 2682
2634int 2683int
2635X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name) 2684X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name)
@@ -2640,12 +2689,14 @@ X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name)
2640 return 0; 2689 return 0;
2641 return X509_VERIFY_PARAM_inherit(ctx->param, param); 2690 return X509_VERIFY_PARAM_inherit(ctx->param, param);
2642} 2691}
2692LCRYPTO_ALIAS(X509_STORE_CTX_set_default)
2643 2693
2644X509_VERIFY_PARAM * 2694X509_VERIFY_PARAM *
2645X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx) 2695X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx)
2646{ 2696{
2647 return ctx->param; 2697 return ctx->param;
2648} 2698}
2699LCRYPTO_ALIAS(X509_STORE_CTX_get0_param)
2649 2700
2650void 2701void
2651X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param) 2702X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param)
@@ -2654,6 +2705,7 @@ X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param)
2654 X509_VERIFY_PARAM_free(ctx->param); 2705 X509_VERIFY_PARAM_free(ctx->param);
2655 ctx->param = param; 2706 ctx->param = param;
2656} 2707}
2708LCRYPTO_ALIAS(X509_STORE_CTX_set0_param)
2657 2709
2658/* 2710/*
2659 * Check if |bits| are adequate for |security level|. 2711 * Check if |bits| are adequate for |security level|.
diff --git a/src/lib/libcrypto/x509/x509_vpm.c b/src/lib/libcrypto/x509/x509_vpm.c
index e14d7a36fd..56e2c34127 100644
--- a/src/lib/libcrypto/x509/x509_vpm.c
+++ b/src/lib/libcrypto/x509/x509_vpm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vpm.c,v 1.30 2022/07/04 12:17:32 tb Exp $ */ 1/* $OpenBSD: x509_vpm.c,v 1.31 2022/11/14 17:48:50 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 2004. 3 * project 2004.
4 */ 4 */
@@ -218,6 +218,7 @@ X509_VERIFY_PARAM_new(void)
218 x509_verify_param_zero(param); 218 x509_verify_param_zero(param);
219 return param; 219 return param;
220} 220}
221LCRYPTO_ALIAS(X509_VERIFY_PARAM_new)
221 222
222void 223void
223X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param) 224X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param)
@@ -228,6 +229,7 @@ X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param)
228 free(param->id); 229 free(param->id);
229 free(param); 230 free(param);
230} 231}
232LCRYPTO_ALIAS(X509_VERIFY_PARAM_free)
231 233
232/* 234/*
233 * This function determines how parameters are "inherited" from one structure 235 * This function determines how parameters are "inherited" from one structure
@@ -356,6 +358,7 @@ X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *dest, const X509_VERIFY_PARAM *src)
356 358
357 return 1; 359 return 1;
358} 360}
361LCRYPTO_ALIAS(X509_VERIFY_PARAM_inherit)
359 362
360int 363int
361X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from) 364X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from)
@@ -368,6 +371,7 @@ X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from)
368 to->inh_flags = save_flags; 371 to->inh_flags = save_flags;
369 return ret; 372 return ret;
370} 373}
374LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1)
371 375
372static int 376static int
373x509_param_set1_internal(char **pdest, size_t *pdestlen, const char *src, 377x509_param_set1_internal(char **pdest, size_t *pdestlen, const char *src,
@@ -412,6 +416,7 @@ X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name)
412 return 1; 416 return 1;
413 return 0; 417 return 0;
414} 418}
419LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1_name)
415 420
416int 421int
417X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags) 422X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags)
@@ -421,6 +426,7 @@ X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags)
421 param->flags |= X509_V_FLAG_POLICY_CHECK; 426 param->flags |= X509_V_FLAG_POLICY_CHECK;
422 return 1; 427 return 1;
423} 428}
429LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_flags)
424 430
425int 431int
426X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags) 432X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags)
@@ -428,42 +434,49 @@ X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags)
428 param->flags &= ~flags; 434 param->flags &= ~flags;
429 return 1; 435 return 1;
430} 436}
437LCRYPTO_ALIAS(X509_VERIFY_PARAM_clear_flags)
431 438
432unsigned long 439unsigned long
433X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param) 440X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param)
434{ 441{
435 return param->flags; 442 return param->flags;
436} 443}
444LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_flags)
437 445
438int 446int
439X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose) 447X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose)
440{ 448{
441 return X509_PURPOSE_set(&param->purpose, purpose); 449 return X509_PURPOSE_set(&param->purpose, purpose);
442} 450}
451LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_purpose)
443 452
444int 453int
445X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust) 454X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust)
446{ 455{
447 return X509_TRUST_set(&param->trust, trust); 456 return X509_TRUST_set(&param->trust, trust);
448} 457}
458LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_trust)
449 459
450void 460void
451X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth) 461X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth)
452{ 462{
453 param->depth = depth; 463 param->depth = depth;
454} 464}
465LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_depth)
455 466
456void 467void
457X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level) 468X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level)
458{ 469{
459 param->security_level = auth_level; 470 param->security_level = auth_level;
460} 471}
472LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_auth_level)
461 473
462time_t 474time_t
463X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param) 475X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param)
464{ 476{
465 return param->check_time; 477 return param->check_time;
466} 478}
479LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_time)
467 480
468void 481void
469X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t) 482X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t)
@@ -471,6 +484,7 @@ X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t)
471 param->check_time = t; 484 param->check_time = t;
472 param->flags |= X509_V_FLAG_USE_CHECK_TIME; 485 param->flags |= X509_V_FLAG_USE_CHECK_TIME;
473} 486}
487LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_time)
474 488
475int 489int
476X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy) 490X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy)
@@ -484,6 +498,7 @@ X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy)
484 return 0; 498 return 0;
485 return 1; 499 return 1;
486} 500}
501LCRYPTO_ALIAS(X509_VERIFY_PARAM_add0_policy)
487 502
488int 503int
489X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, 504X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param,
@@ -519,6 +534,7 @@ X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param,
519 param->flags |= X509_V_FLAG_POLICY_CHECK; 534 param->flags |= X509_V_FLAG_POLICY_CHECK;
520 return 1; 535 return 1;
521} 536}
537LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1_policies)
522 538
523int 539int
524X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, 540X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,
@@ -529,6 +545,7 @@ X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,
529 param->id->poisoned = 1; 545 param->id->poisoned = 1;
530 return 0; 546 return 0;
531} 547}
548LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1_host)
532 549
533int 550int
534X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, 551X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,
@@ -539,18 +556,21 @@ X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,
539 param->id->poisoned = 1; 556 param->id->poisoned = 1;
540 return 0; 557 return 0;
541} 558}
559LCRYPTO_ALIAS(X509_VERIFY_PARAM_add1_host)
542 560
543void 561void
544X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, unsigned int flags) 562X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, unsigned int flags)
545{ 563{
546 param->id->hostflags = flags; 564 param->id->hostflags = flags;
547} 565}
566LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_hostflags)
548 567
549char * 568char *
550X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *param) 569X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *param)
551{ 570{
552 return param->id->peername; 571 return param->id->peername;
553} 572}
573LCRYPTO_ALIAS(X509_VERIFY_PARAM_get0_peername)
554 574
555int 575int
556X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char *email, 576X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char *email,
@@ -562,6 +582,7 @@ X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char *email,
562 param->id->poisoned = 1; 582 param->id->poisoned = 1;
563 return 0; 583 return 0;
564} 584}
585LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1_email)
565 586
566int 587int
567X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned char *ip, 588X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned char *ip,
@@ -576,6 +597,7 @@ X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned char *ip,
576 param->id->poisoned = 1; 597 param->id->poisoned = 1;
577 return 0; 598 return 0;
578} 599}
600LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1_ip)
579 601
580int 602int
581X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc) 603X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc)
@@ -586,18 +608,21 @@ X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc)
586 iplen = (size_t)a2i_ipadd(ipout, ipasc); 608 iplen = (size_t)a2i_ipadd(ipout, ipasc);
587 return X509_VERIFY_PARAM_set1_ip(param, ipout, iplen); 609 return X509_VERIFY_PARAM_set1_ip(param, ipout, iplen);
588} 610}
611LCRYPTO_ALIAS(X509_VERIFY_PARAM_set1_ip_asc)
589 612
590int 613int
591X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param) 614X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param)
592{ 615{
593 return param->depth; 616 return param->depth;
594} 617}
618LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_depth)
595 619
596const char * 620const char *
597X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param) 621X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param)
598{ 622{
599 return param->name; 623 return param->name;
600} 624}
625LCRYPTO_ALIAS(X509_VERIFY_PARAM_get0_name)
601 626
602static const X509_VERIFY_PARAM_ID _empty_id = { NULL }; 627static const X509_VERIFY_PARAM_ID _empty_id = { NULL };
603 628
@@ -679,6 +704,7 @@ X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param)
679 return 0; 704 return 0;
680 return 1; 705 return 1;
681} 706}
707LCRYPTO_ALIAS(X509_VERIFY_PARAM_add0_table)
682 708
683int 709int
684X509_VERIFY_PARAM_get_count(void) 710X509_VERIFY_PARAM_get_count(void)
@@ -688,6 +714,7 @@ X509_VERIFY_PARAM_get_count(void)
688 num += sk_X509_VERIFY_PARAM_num(param_table); 714 num += sk_X509_VERIFY_PARAM_num(param_table);
689 return num; 715 return num;
690} 716}
717LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_count)
691 718
692const X509_VERIFY_PARAM * 719const X509_VERIFY_PARAM *
693X509_VERIFY_PARAM_get0(int id) 720X509_VERIFY_PARAM_get0(int id)
@@ -697,6 +724,7 @@ X509_VERIFY_PARAM_get0(int id)
697 return default_table + id; 724 return default_table + id;
698 return sk_X509_VERIFY_PARAM_value(param_table, id - num); 725 return sk_X509_VERIFY_PARAM_value(param_table, id - num);
699} 726}
727LCRYPTO_ALIAS(X509_VERIFY_PARAM_get0)
700 728
701const X509_VERIFY_PARAM * 729const X509_VERIFY_PARAM *
702X509_VERIFY_PARAM_lookup(const char *name) 730X509_VERIFY_PARAM_lookup(const char *name)
@@ -719,6 +747,7 @@ X509_VERIFY_PARAM_lookup(const char *name)
719 } 747 }
720 return NULL; 748 return NULL;
721} 749}
750LCRYPTO_ALIAS(X509_VERIFY_PARAM_lookup)
722 751
723void 752void
724X509_VERIFY_PARAM_table_cleanup(void) 753X509_VERIFY_PARAM_table_cleanup(void)
@@ -728,3 +757,4 @@ X509_VERIFY_PARAM_table_cleanup(void)
728 X509_VERIFY_PARAM_free); 757 X509_VERIFY_PARAM_free);
729 param_table = NULL; 758 param_table = NULL;
730} 759}
760LCRYPTO_ALIAS(X509_VERIFY_PARAM_table_cleanup)
diff --git a/src/lib/libcrypto/x509/x509cset.c b/src/lib/libcrypto/x509/x509cset.c
index b3af77d90e..7002238394 100644
--- a/src/lib/libcrypto/x509/x509cset.c
+++ b/src/lib/libcrypto/x509/x509cset.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509cset.c,v 1.16 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509cset.c,v 1.17 2022/11/14 17:48:50 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 2001. 3 * project 2001.
4 */ 4 */
@@ -71,6 +71,7 @@ X509_CRL_up_ref(X509_CRL *x)
71 int refs = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL); 71 int refs = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
72 return (refs > 1) ? 1 : 0; 72 return (refs > 1) ? 1 : 0;
73} 73}
74LCRYPTO_ALIAS(X509_CRL_up_ref)
74 75
75int 76int
76X509_CRL_set_version(X509_CRL *x, long version) 77X509_CRL_set_version(X509_CRL *x, long version)
@@ -83,6 +84,7 @@ X509_CRL_set_version(X509_CRL *x, long version)
83 } 84 }
84 return (ASN1_INTEGER_set(x->crl->version, version)); 85 return (ASN1_INTEGER_set(x->crl->version, version));
85} 86}
87LCRYPTO_ALIAS(X509_CRL_set_version)
86 88
87int 89int
88X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name) 90X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name)
@@ -91,6 +93,7 @@ X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name)
91 return (0); 93 return (0);
92 return (X509_NAME_set(&x->crl->issuer, name)); 94 return (X509_NAME_set(&x->crl->issuer, name));
93} 95}
96LCRYPTO_ALIAS(X509_CRL_set_issuer_name)
94 97
95int 98int
96X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm) 99X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm)
@@ -109,12 +112,14 @@ X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm)
109 } 112 }
110 return (in != NULL); 113 return (in != NULL);
111} 114}
115LCRYPTO_ALIAS(X509_CRL_set_lastUpdate)
112 116
113int 117int
114X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm) 118X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm)
115{ 119{
116 return X509_CRL_set_lastUpdate(x, tm); 120 return X509_CRL_set_lastUpdate(x, tm);
117} 121}
122LCRYPTO_ALIAS(X509_CRL_set1_lastUpdate)
118 123
119int 124int
120X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm) 125X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm)
@@ -133,12 +138,14 @@ X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm)
133 } 138 }
134 return (in != NULL); 139 return (in != NULL);
135} 140}
141LCRYPTO_ALIAS(X509_CRL_set_nextUpdate)
136 142
137int 143int
138X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm) 144X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm)
139{ 145{
140 return X509_CRL_set_nextUpdate(x, tm); 146 return X509_CRL_set_nextUpdate(x, tm);
141} 147}
148LCRYPTO_ALIAS(X509_CRL_set1_nextUpdate)
142 149
143int 150int
144X509_CRL_sort(X509_CRL *c) 151X509_CRL_sort(X509_CRL *c)
@@ -156,24 +163,28 @@ X509_CRL_sort(X509_CRL *c)
156 c->crl->enc.modified = 1; 163 c->crl->enc.modified = 1;
157 return 1; 164 return 1;
158} 165}
166LCRYPTO_ALIAS(X509_CRL_sort)
159 167
160const STACK_OF(X509_EXTENSION) * 168const STACK_OF(X509_EXTENSION) *
161X509_REVOKED_get0_extensions(const X509_REVOKED *x) 169X509_REVOKED_get0_extensions(const X509_REVOKED *x)
162{ 170{
163 return x->extensions; 171 return x->extensions;
164} 172}
173LCRYPTO_ALIAS(X509_REVOKED_get0_extensions)
165 174
166const ASN1_TIME * 175const ASN1_TIME *
167X509_REVOKED_get0_revocationDate(const X509_REVOKED *x) 176X509_REVOKED_get0_revocationDate(const X509_REVOKED *x)
168{ 177{
169 return x->revocationDate; 178 return x->revocationDate;
170} 179}
180LCRYPTO_ALIAS(X509_REVOKED_get0_revocationDate)
171 181
172const ASN1_INTEGER * 182const ASN1_INTEGER *
173X509_REVOKED_get0_serialNumber(const X509_REVOKED *x) 183X509_REVOKED_get0_serialNumber(const X509_REVOKED *x)
174{ 184{
175 return x->serialNumber; 185 return x->serialNumber;
176} 186}
187LCRYPTO_ALIAS(X509_REVOKED_get0_serialNumber)
177 188
178int 189int
179X509_REVOKED_set_revocationDate(X509_REVOKED *x, ASN1_TIME *tm) 190X509_REVOKED_set_revocationDate(X509_REVOKED *x, ASN1_TIME *tm)
@@ -192,6 +203,7 @@ X509_REVOKED_set_revocationDate(X509_REVOKED *x, ASN1_TIME *tm)
192 } 203 }
193 return (in != NULL); 204 return (in != NULL);
194} 205}
206LCRYPTO_ALIAS(X509_REVOKED_set_revocationDate)
195 207
196int 208int
197X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial) 209X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial)
@@ -210,6 +222,7 @@ X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial)
210 } 222 }
211 return (in != NULL); 223 return (in != NULL);
212} 224}
225LCRYPTO_ALIAS(X509_REVOKED_set_serialNumber)
213 226
214int 227int
215i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) 228i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp)
@@ -217,3 +230,4 @@ i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp)
217 crl->crl->enc.modified = 1; 230 crl->crl->enc.modified = 1;
218 return i2d_X509_CRL_INFO(crl->crl, pp); 231 return i2d_X509_CRL_INFO(crl->crl, pp);
219} 232}
233LCRYPTO_ALIAS(i2d_re_X509_CRL_tbs)
diff --git a/src/lib/libcrypto/x509/x509name.c b/src/lib/libcrypto/x509/x509name.c
index 878d787846..88f4efa149 100644
--- a/src/lib/libcrypto/x509/x509name.c
+++ b/src/lib/libcrypto/x509/x509name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509name.c,v 1.27 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509name.c,v 1.28 2022/11/14 17:48:50 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 *
@@ -78,6 +78,7 @@ X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len)
78 return (-1); 78 return (-1);
79 return (X509_NAME_get_text_by_OBJ(name, obj, buf, len)); 79 return (X509_NAME_get_text_by_OBJ(name, obj, buf, len));
80} 80}
81LCRYPTO_ALIAS(X509_NAME_get_text_by_NID)
81 82
82int 83int
83X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, char *buf, 84X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, char *buf,
@@ -99,6 +100,7 @@ X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, char *buf,
99 } 100 }
100 return (i); 101 return (i);
101} 102}
103LCRYPTO_ALIAS(X509_NAME_get_text_by_OBJ)
102 104
103int 105int
104X509_NAME_entry_count(const X509_NAME *name) 106X509_NAME_entry_count(const X509_NAME *name)
@@ -107,6 +109,7 @@ X509_NAME_entry_count(const X509_NAME *name)
107 return (0); 109 return (0);
108 return (sk_X509_NAME_ENTRY_num(name->entries)); 110 return (sk_X509_NAME_ENTRY_num(name->entries));
109} 111}
112LCRYPTO_ALIAS(X509_NAME_entry_count)
110 113
111int 114int
112X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int lastpos) 115X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int lastpos)
@@ -118,6 +121,7 @@ X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int lastpos)
118 return (-2); 121 return (-2);
119 return (X509_NAME_get_index_by_OBJ(name, obj, lastpos)); 122 return (X509_NAME_get_index_by_OBJ(name, obj, lastpos));
120} 123}
124LCRYPTO_ALIAS(X509_NAME_get_index_by_NID)
121 125
122/* NOTE: you should be passsing -1, not 0 as lastpos */ 126/* NOTE: you should be passsing -1, not 0 as lastpos */
123int 127int
@@ -141,6 +145,7 @@ X509_NAME_get_index_by_OBJ(const X509_NAME *name, const ASN1_OBJECT *obj,
141 } 145 }
142 return (-1); 146 return (-1);
143} 147}
148LCRYPTO_ALIAS(X509_NAME_get_index_by_OBJ)
144 149
145X509_NAME_ENTRY * 150X509_NAME_ENTRY *
146X509_NAME_get_entry(const X509_NAME *name, int loc) 151X509_NAME_get_entry(const X509_NAME *name, int loc)
@@ -151,6 +156,7 @@ X509_NAME_get_entry(const X509_NAME *name, int loc)
151 else 156 else
152 return (sk_X509_NAME_ENTRY_value(name->entries, loc)); 157 return (sk_X509_NAME_ENTRY_value(name->entries, loc));
153} 158}
159LCRYPTO_ALIAS(X509_NAME_get_entry)
154 160
155X509_NAME_ENTRY * 161X509_NAME_ENTRY *
156X509_NAME_delete_entry(X509_NAME *name, int loc) 162X509_NAME_delete_entry(X509_NAME *name, int loc)
@@ -189,6 +195,7 @@ X509_NAME_delete_entry(X509_NAME *name, int loc)
189 sk_X509_NAME_ENTRY_value(sk, i)->set--; 195 sk_X509_NAME_ENTRY_value(sk, i)->set--;
190 return (ret); 196 return (ret);
191} 197}
198LCRYPTO_ALIAS(X509_NAME_delete_entry)
192 199
193int 200int
194X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type, 201X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type,
@@ -204,6 +211,7 @@ X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type,
204 X509_NAME_ENTRY_free(ne); 211 X509_NAME_ENTRY_free(ne);
205 return ret; 212 return ret;
206} 213}
214LCRYPTO_ALIAS(X509_NAME_add_entry_by_OBJ)
207 215
208int 216int
209X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, 217X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type,
@@ -219,6 +227,7 @@ X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type,
219 X509_NAME_ENTRY_free(ne); 227 X509_NAME_ENTRY_free(ne);
220 return ret; 228 return ret;
221} 229}
230LCRYPTO_ALIAS(X509_NAME_add_entry_by_NID)
222 231
223int 232int
224X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, 233X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type,
@@ -234,6 +243,7 @@ X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type,
234 X509_NAME_ENTRY_free(ne); 243 X509_NAME_ENTRY_free(ne);
235 return ret; 244 return ret;
236} 245}
246LCRYPTO_ALIAS(X509_NAME_add_entry_by_txt)
237 247
238/* if set is -1, append to previous set, 0 'a new one', and 1, 248/* if set is -1, append to previous set, 0 'a new one', and 1,
239 * prepend to the guy we are about to stomp on. */ 249 * prepend to the guy we are about to stomp on. */
@@ -292,6 +302,7 @@ err:
292 X509_NAME_ENTRY_free(new_name); 302 X509_NAME_ENTRY_free(new_name);
293 return (0); 303 return (0);
294} 304}
305LCRYPTO_ALIAS(X509_NAME_add_entry)
295 306
296X509_NAME_ENTRY * 307X509_NAME_ENTRY *
297X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, 308X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne,
@@ -310,6 +321,7 @@ X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne,
310 ASN1_OBJECT_free(obj); 321 ASN1_OBJECT_free(obj);
311 return nentry; 322 return nentry;
312} 323}
324LCRYPTO_ALIAS(X509_NAME_ENTRY_create_by_txt)
313 325
314X509_NAME_ENTRY * 326X509_NAME_ENTRY *
315X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type, 327X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type,
@@ -327,6 +339,7 @@ X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type,
327 ASN1_OBJECT_free(obj); 339 ASN1_OBJECT_free(obj);
328 return nentry; 340 return nentry;
329} 341}
342LCRYPTO_ALIAS(X509_NAME_ENTRY_create_by_NID)
330 343
331X509_NAME_ENTRY * 344X509_NAME_ENTRY *
332X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, const ASN1_OBJECT *obj, 345X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, const ASN1_OBJECT *obj,
@@ -354,6 +367,7 @@ err:
354 X509_NAME_ENTRY_free(ret); 367 X509_NAME_ENTRY_free(ret);
355 return (NULL); 368 return (NULL);
356} 369}
370LCRYPTO_ALIAS(X509_NAME_ENTRY_create_by_OBJ)
357 371
358int 372int
359X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj) 373X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj)
@@ -366,6 +380,7 @@ X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj)
366 ne->object = OBJ_dup(obj); 380 ne->object = OBJ_dup(obj);
367 return ((ne->object == NULL) ? 0 : 1); 381 return ((ne->object == NULL) ? 0 : 1);
368} 382}
383LCRYPTO_ALIAS(X509_NAME_ENTRY_set_object)
369 384
370int 385int
371X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, 386X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type,
@@ -391,6 +406,7 @@ X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type,
391 } 406 }
392 return (1); 407 return (1);
393} 408}
409LCRYPTO_ALIAS(X509_NAME_ENTRY_set_data)
394 410
395ASN1_OBJECT * 411ASN1_OBJECT *
396X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne) 412X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne)
@@ -399,6 +415,7 @@ X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne)
399 return (NULL); 415 return (NULL);
400 return (ne->object); 416 return (ne->object);
401} 417}
418LCRYPTO_ALIAS(X509_NAME_ENTRY_get_object)
402 419
403ASN1_STRING * 420ASN1_STRING *
404X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne) 421X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne)
@@ -407,9 +424,11 @@ X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne)
407 return (NULL); 424 return (NULL);
408 return (ne->value); 425 return (ne->value);
409} 426}
427LCRYPTO_ALIAS(X509_NAME_ENTRY_get_data)
410 428
411int 429int
412X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne) 430X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne)
413{ 431{
414 return (ne->set); 432 return (ne->set);
415} 433}
434LCRYPTO_ALIAS(X509_NAME_ENTRY_set)
diff --git a/src/lib/libcrypto/x509/x509rset.c b/src/lib/libcrypto/x509/x509rset.c
index a2dd9e4cd2..6fb622e3cb 100644
--- a/src/lib/libcrypto/x509/x509rset.c
+++ b/src/lib/libcrypto/x509/x509rset.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509rset.c,v 1.9 2021/11/01 20:53:08 tb Exp $ */ 1/* $OpenBSD: x509rset.c,v 1.10 2022/11/14 17:48:50 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 *
@@ -73,12 +73,14 @@ X509_REQ_set_version(X509_REQ *x, long version)
73 x->req_info->enc.modified = 1; 73 x->req_info->enc.modified = 1;
74 return (ASN1_INTEGER_set(x->req_info->version, version)); 74 return (ASN1_INTEGER_set(x->req_info->version, version));
75} 75}
76LCRYPTO_ALIAS(X509_REQ_set_version)
76 77
77long 78long
78X509_REQ_get_version(const X509_REQ *x) 79X509_REQ_get_version(const X509_REQ *x)
79{ 80{
80 return ASN1_INTEGER_get(x->req_info->version); 81 return ASN1_INTEGER_get(x->req_info->version);
81} 82}
83LCRYPTO_ALIAS(X509_REQ_get_version)
82 84
83int 85int
84X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name) 86X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name)
@@ -88,12 +90,14 @@ X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name)
88 x->req_info->enc.modified = 1; 90 x->req_info->enc.modified = 1;
89 return (X509_NAME_set(&x->req_info->subject, name)); 91 return (X509_NAME_set(&x->req_info->subject, name));
90} 92}
93LCRYPTO_ALIAS(X509_REQ_set_subject_name)
91 94
92X509_NAME * 95X509_NAME *
93X509_REQ_get_subject_name(const X509_REQ *x) 96X509_REQ_get_subject_name(const X509_REQ *x)
94{ 97{
95 return x->req_info->subject; 98 return x->req_info->subject;
96} 99}
100LCRYPTO_ALIAS(X509_REQ_get_subject_name)
97 101
98int 102int
99X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey) 103X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
@@ -103,3 +107,4 @@ X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
103 x->req_info->enc.modified = 1; 107 x->req_info->enc.modified = 1;
104 return (X509_PUBKEY_set(&x->req_info->pubkey, pkey)); 108 return (X509_PUBKEY_set(&x->req_info->pubkey, pkey));
105} 109}
110LCRYPTO_ALIAS(X509_REQ_set_pubkey)
diff --git a/src/lib/libcrypto/x509/x509spki.c b/src/lib/libcrypto/x509/x509spki.c
index 66bbd1e036..2c1b506dcd 100644
--- a/src/lib/libcrypto/x509/x509spki.c
+++ b/src/lib/libcrypto/x509/x509spki.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509spki.c,v 1.14 2019/05/23 02:08:34 bcook Exp $ */ 1/* $OpenBSD: x509spki.c,v 1.15 2022/11/14 17:48:50 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 */
@@ -70,6 +70,7 @@ NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey)
70 return (0); 70 return (0);
71 return (X509_PUBKEY_set(&(x->spkac->pubkey), pkey)); 71 return (X509_PUBKEY_set(&(x->spkac->pubkey), pkey));
72} 72}
73LCRYPTO_ALIAS(NETSCAPE_SPKI_set_pubkey)
73 74
74EVP_PKEY * 75EVP_PKEY *
75NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x) 76NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x)
@@ -78,6 +79,7 @@ NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x)
78 return (NULL); 79 return (NULL);
79 return (X509_PUBKEY_get(x->spkac->pubkey)); 80 return (X509_PUBKEY_get(x->spkac->pubkey));
80} 81}
82LCRYPTO_ALIAS(NETSCAPE_SPKI_get_pubkey)
81 83
82/* Load a Netscape SPKI from a base64 encoded string */ 84/* Load a Netscape SPKI from a base64 encoded string */
83 85
@@ -106,6 +108,7 @@ NETSCAPE_SPKI_b64_decode(const char *str, int len)
106 free(spki_der); 108 free(spki_der);
107 return spki; 109 return spki;
108} 110}
111LCRYPTO_ALIAS(NETSCAPE_SPKI_b64_decode)
109 112
110/* Generate a base64 encoded string from an SPKI */ 113/* Generate a base64 encoded string from an SPKI */
111 114
@@ -130,3 +133,4 @@ NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki)
130 free(der_spki); 133 free(der_spki);
131 return b64_str; 134 return b64_str;
132} 135}
136LCRYPTO_ALIAS(NETSCAPE_SPKI_b64_encode)
diff --git a/src/lib/libcrypto/x509/x509type.c b/src/lib/libcrypto/x509/x509type.c
index 7495b9ef04..2d80434d95 100644
--- a/src/lib/libcrypto/x509/x509type.c
+++ b/src/lib/libcrypto/x509/x509type.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509type.c,v 1.15 2021/12/12 21:30:14 tb Exp $ */ 1/* $OpenBSD: x509type.c,v 1.16 2022/11/14 17:48:50 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 *
@@ -124,3 +124,4 @@ X509_certificate_type(const X509 *x, const EVP_PKEY *pkey)
124 ret |= EVP_PKT_EXP; 124 ret |= EVP_PKT_EXP;
125 return (ret); 125 return (ret);
126} 126}
127LCRYPTO_ALIAS(X509_certificate_type)
diff --git a/src/lib/libcrypto/x509/x_all.c b/src/lib/libcrypto/x509/x_all.c
index ec5ed3dc6f..442a27bc7f 100644
--- a/src/lib/libcrypto/x509/x_all.c
+++ b/src/lib/libcrypto/x509/x_all.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_all.c,v 1.27 2022/11/12 12:11:14 beck Exp $ */ 1/* $OpenBSD: x_all.c,v 1.28 2022/11/14 17:48:50 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 *
@@ -80,72 +80,84 @@ d2i_X509_bio(BIO *bp, X509 **x509)
80{ 80{
81 return ASN1_item_d2i_bio(&X509_it, bp, x509); 81 return ASN1_item_d2i_bio(&X509_it, bp, x509);
82} 82}
83LCRYPTO_ALIAS(d2i_X509_bio)
83 84
84int 85int
85i2d_X509_bio(BIO *bp, X509 *x509) 86i2d_X509_bio(BIO *bp, X509 *x509)
86{ 87{
87 return ASN1_item_i2d_bio(&X509_it, bp, x509); 88 return ASN1_item_i2d_bio(&X509_it, bp, x509);
88} 89}
90LCRYPTO_ALIAS(i2d_X509_bio)
89 91
90X509 * 92X509 *
91d2i_X509_fp(FILE *fp, X509 **x509) 93d2i_X509_fp(FILE *fp, X509 **x509)
92{ 94{
93 return ASN1_item_d2i_fp(&X509_it, fp, x509); 95 return ASN1_item_d2i_fp(&X509_it, fp, x509);
94} 96}
97LCRYPTO_ALIAS(d2i_X509_fp)
95 98
96int 99int
97i2d_X509_fp(FILE *fp, X509 *x509) 100i2d_X509_fp(FILE *fp, X509 *x509)
98{ 101{
99 return ASN1_item_i2d_fp(&X509_it, fp, x509); 102 return ASN1_item_i2d_fp(&X509_it, fp, x509);
100} 103}
104LCRYPTO_ALIAS(i2d_X509_fp)
101 105
102X509_CRL * 106X509_CRL *
103d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) 107d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl)
104{ 108{
105 return ASN1_item_d2i_bio(&X509_CRL_it, bp, crl); 109 return ASN1_item_d2i_bio(&X509_CRL_it, bp, crl);
106} 110}
111LCRYPTO_ALIAS(d2i_X509_CRL_bio)
107 112
108int 113int
109i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl) 114i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl)
110{ 115{
111 return ASN1_item_i2d_bio(&X509_CRL_it, bp, crl); 116 return ASN1_item_i2d_bio(&X509_CRL_it, bp, crl);
112} 117}
118LCRYPTO_ALIAS(i2d_X509_CRL_bio)
113 119
114X509_CRL * 120X509_CRL *
115d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) 121d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl)
116{ 122{
117 return ASN1_item_d2i_fp(&X509_CRL_it, fp, crl); 123 return ASN1_item_d2i_fp(&X509_CRL_it, fp, crl);
118} 124}
125LCRYPTO_ALIAS(d2i_X509_CRL_fp)
119 126
120int 127int
121i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl) 128i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl)
122{ 129{
123 return ASN1_item_i2d_fp(&X509_CRL_it, fp, crl); 130 return ASN1_item_i2d_fp(&X509_CRL_it, fp, crl);
124} 131}
132LCRYPTO_ALIAS(i2d_X509_CRL_fp)
125 133
126X509_REQ * 134X509_REQ *
127d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) 135d2i_X509_REQ_bio(BIO *bp, X509_REQ **req)
128{ 136{
129 return ASN1_item_d2i_bio(&X509_REQ_it, bp, req); 137 return ASN1_item_d2i_bio(&X509_REQ_it, bp, req);
130} 138}
139LCRYPTO_ALIAS(d2i_X509_REQ_bio)
131 140
132int 141int
133i2d_X509_REQ_bio(BIO *bp, X509_REQ *req) 142i2d_X509_REQ_bio(BIO *bp, X509_REQ *req)
134{ 143{
135 return ASN1_item_i2d_bio(&X509_REQ_it, bp, req); 144 return ASN1_item_i2d_bio(&X509_REQ_it, bp, req);
136} 145}
146LCRYPTO_ALIAS(i2d_X509_REQ_bio)
137 147
138X509_REQ * 148X509_REQ *
139d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) 149d2i_X509_REQ_fp(FILE *fp, X509_REQ **req)
140{ 150{
141 return ASN1_item_d2i_fp(&X509_REQ_it, fp, req); 151 return ASN1_item_d2i_fp(&X509_REQ_it, fp, req);
142} 152}
153LCRYPTO_ALIAS(d2i_X509_REQ_fp)
143 154
144int 155int
145i2d_X509_REQ_fp(FILE *fp, X509_REQ *req) 156i2d_X509_REQ_fp(FILE *fp, X509_REQ *req)
146{ 157{
147 return ASN1_item_i2d_fp(&X509_REQ_it, fp, req); 158 return ASN1_item_i2d_fp(&X509_REQ_it, fp, req);
148} 159}
160LCRYPTO_ALIAS(i2d_X509_REQ_fp)
149 161
150#ifndef OPENSSL_NO_RSA 162#ifndef OPENSSL_NO_RSA
151RSA * 163RSA *
@@ -153,48 +165,56 @@ d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa)
153{ 165{
154 return ASN1_item_d2i_bio(&RSAPrivateKey_it, bp, rsa); 166 return ASN1_item_d2i_bio(&RSAPrivateKey_it, bp, rsa);
155} 167}
168LCRYPTO_ALIAS(d2i_RSAPrivateKey_bio)
156 169
157int 170int
158i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa) 171i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa)
159{ 172{
160 return ASN1_item_i2d_bio(&RSAPrivateKey_it, bp, rsa); 173 return ASN1_item_i2d_bio(&RSAPrivateKey_it, bp, rsa);
161} 174}
175LCRYPTO_ALIAS(i2d_RSAPrivateKey_bio)
162 176
163RSA * 177RSA *
164d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa) 178d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa)
165{ 179{
166 return ASN1_item_d2i_fp(&RSAPrivateKey_it, fp, rsa); 180 return ASN1_item_d2i_fp(&RSAPrivateKey_it, fp, rsa);
167} 181}
182LCRYPTO_ALIAS(d2i_RSAPrivateKey_fp)
168 183
169int 184int
170i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa) 185i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa)
171{ 186{
172 return ASN1_item_i2d_fp(&RSAPrivateKey_it, fp, rsa); 187 return ASN1_item_i2d_fp(&RSAPrivateKey_it, fp, rsa);
173} 188}
189LCRYPTO_ALIAS(i2d_RSAPrivateKey_fp)
174 190
175RSA * 191RSA *
176d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa) 192d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa)
177{ 193{
178 return ASN1_item_d2i_bio(&RSAPublicKey_it, bp, rsa); 194 return ASN1_item_d2i_bio(&RSAPublicKey_it, bp, rsa);
179} 195}
196LCRYPTO_ALIAS(d2i_RSAPublicKey_bio)
180 197
181int 198int
182i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) 199i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa)
183{ 200{
184 return ASN1_item_i2d_bio(&RSAPublicKey_it, bp, rsa); 201 return ASN1_item_i2d_bio(&RSAPublicKey_it, bp, rsa);
185} 202}
203LCRYPTO_ALIAS(i2d_RSAPublicKey_bio)
186 204
187RSA * 205RSA *
188d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa) 206d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa)
189{ 207{
190 return ASN1_item_d2i_fp(&RSAPublicKey_it, fp, rsa); 208 return ASN1_item_d2i_fp(&RSAPublicKey_it, fp, rsa);
191} 209}
210LCRYPTO_ALIAS(d2i_RSAPublicKey_fp)
192 211
193int 212int
194i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) 213i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa)
195{ 214{
196 return ASN1_item_i2d_fp(&RSAPublicKey_it, fp, rsa); 215 return ASN1_item_i2d_fp(&RSAPublicKey_it, fp, rsa);
197} 216}
217LCRYPTO_ALIAS(i2d_RSAPublicKey_fp)
198#endif 218#endif
199 219
200#ifndef OPENSSL_NO_DSA 220#ifndef OPENSSL_NO_DSA
@@ -203,24 +223,28 @@ d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa)
203{ 223{
204 return ASN1_item_d2i_bio(&DSAPrivateKey_it, bp, dsa); 224 return ASN1_item_d2i_bio(&DSAPrivateKey_it, bp, dsa);
205} 225}
226LCRYPTO_ALIAS(d2i_DSAPrivateKey_bio)
206 227
207int 228int
208i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa) 229i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa)
209{ 230{
210 return ASN1_item_i2d_bio(&DSAPrivateKey_it, bp, dsa); 231 return ASN1_item_i2d_bio(&DSAPrivateKey_it, bp, dsa);
211} 232}
233LCRYPTO_ALIAS(i2d_DSAPrivateKey_bio)
212 234
213DSA * 235DSA *
214d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) 236d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa)
215{ 237{
216 return ASN1_item_d2i_fp(&DSAPrivateKey_it, fp, dsa); 238 return ASN1_item_d2i_fp(&DSAPrivateKey_it, fp, dsa);
217} 239}
240LCRYPTO_ALIAS(d2i_DSAPrivateKey_fp)
218 241
219int 242int
220i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa) 243i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa)
221{ 244{
222 return ASN1_item_i2d_fp(&DSAPrivateKey_it, fp, dsa); 245 return ASN1_item_i2d_fp(&DSAPrivateKey_it, fp, dsa);
223} 246}
247LCRYPTO_ALIAS(i2d_DSAPrivateKey_fp)
224#endif 248#endif
225 249
226#ifndef OPENSSL_NO_EC 250#ifndef OPENSSL_NO_EC
@@ -229,24 +253,28 @@ d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey)
229{ 253{
230 return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, bp, eckey); 254 return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, bp, eckey);
231} 255}
256LCRYPTO_ALIAS(d2i_ECPrivateKey_bio)
232 257
233int 258int
234i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey) 259i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey)
235{ 260{
236 return ASN1_i2d_bio_of(EC_KEY, i2d_ECPrivateKey, bp, eckey); 261 return ASN1_i2d_bio_of(EC_KEY, i2d_ECPrivateKey, bp, eckey);
237} 262}
263LCRYPTO_ALIAS(i2d_ECPrivateKey_bio)
238 264
239EC_KEY * 265EC_KEY *
240d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey) 266d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey)
241{ 267{
242 return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, fp, eckey); 268 return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, fp, eckey);
243} 269}
270LCRYPTO_ALIAS(d2i_ECPrivateKey_fp)
244 271
245int 272int
246i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey) 273i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey)
247{ 274{
248 return ASN1_i2d_fp_of(EC_KEY, i2d_ECPrivateKey, fp, eckey); 275 return ASN1_i2d_fp_of(EC_KEY, i2d_ECPrivateKey, fp, eckey);
249} 276}
277LCRYPTO_ALIAS(i2d_ECPrivateKey_fp)
250#endif 278#endif
251 279
252X509_SIG * 280X509_SIG *
@@ -254,24 +282,28 @@ d2i_PKCS8_bio(BIO *bp, X509_SIG **p8)
254{ 282{
255 return ASN1_item_d2i_bio(&X509_SIG_it, bp, p8); 283 return ASN1_item_d2i_bio(&X509_SIG_it, bp, p8);
256} 284}
285LCRYPTO_ALIAS(d2i_PKCS8_bio)
257 286
258int 287int
259i2d_PKCS8_bio(BIO *bp, X509_SIG *p8) 288i2d_PKCS8_bio(BIO *bp, X509_SIG *p8)
260{ 289{
261 return ASN1_item_i2d_bio(&X509_SIG_it, bp, p8); 290 return ASN1_item_i2d_bio(&X509_SIG_it, bp, p8);
262} 291}
292LCRYPTO_ALIAS(i2d_PKCS8_bio)
263 293
264X509_SIG * 294X509_SIG *
265d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) 295d2i_PKCS8_fp(FILE *fp, X509_SIG **p8)
266{ 296{
267 return ASN1_item_d2i_fp(&X509_SIG_it, fp, p8); 297 return ASN1_item_d2i_fp(&X509_SIG_it, fp, p8);
268} 298}
299LCRYPTO_ALIAS(d2i_PKCS8_fp)
269 300
270int 301int
271i2d_PKCS8_fp(FILE *fp, X509_SIG *p8) 302i2d_PKCS8_fp(FILE *fp, X509_SIG *p8)
272{ 303{
273 return ASN1_item_i2d_fp(&X509_SIG_it, fp, p8); 304 return ASN1_item_i2d_fp(&X509_SIG_it, fp, p8);
274} 305}
306LCRYPTO_ALIAS(i2d_PKCS8_fp)
275 307
276PKCS8_PRIV_KEY_INFO * 308PKCS8_PRIV_KEY_INFO *
277d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO **p8inf) 309d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO **p8inf)
@@ -279,6 +311,7 @@ d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO **p8inf)
279 return ASN1_item_d2i_bio(&PKCS8_PRIV_KEY_INFO_it, bp, 311 return ASN1_item_d2i_bio(&PKCS8_PRIV_KEY_INFO_it, bp,
280 p8inf); 312 p8inf);
281} 313}
314LCRYPTO_ALIAS(d2i_PKCS8_PRIV_KEY_INFO_bio)
282 315
283int 316int
284i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf) 317i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf)
@@ -286,6 +319,7 @@ i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf)
286 return ASN1_item_i2d_bio(&PKCS8_PRIV_KEY_INFO_it, bp, 319 return ASN1_item_i2d_bio(&PKCS8_PRIV_KEY_INFO_it, bp,
287 p8inf); 320 p8inf);
288} 321}
322LCRYPTO_ALIAS(i2d_PKCS8_PRIV_KEY_INFO_bio)
289 323
290PKCS8_PRIV_KEY_INFO * 324PKCS8_PRIV_KEY_INFO *
291d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO **p8inf) 325d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO **p8inf)
@@ -293,6 +327,7 @@ d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO **p8inf)
293 return ASN1_item_d2i_fp(&PKCS8_PRIV_KEY_INFO_it, fp, 327 return ASN1_item_d2i_fp(&PKCS8_PRIV_KEY_INFO_it, fp,
294 p8inf); 328 p8inf);
295} 329}
330LCRYPTO_ALIAS(d2i_PKCS8_PRIV_KEY_INFO_fp)
296 331
297int 332int
298i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf) 333i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf)
@@ -300,6 +335,7 @@ i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf)
300 return ASN1_item_i2d_fp(&PKCS8_PRIV_KEY_INFO_it, fp, 335 return ASN1_item_i2d_fp(&PKCS8_PRIV_KEY_INFO_it, fp,
301 p8inf); 336 p8inf);
302} 337}
338LCRYPTO_ALIAS(i2d_PKCS8_PRIV_KEY_INFO_fp)
303 339
304EVP_PKEY * 340EVP_PKEY *
305d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) 341d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a)
@@ -307,12 +343,14 @@ d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a)
307 return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, 343 return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey,
308 bp, a); 344 bp, a);
309} 345}
346LCRYPTO_ALIAS(d2i_PrivateKey_bio)
310 347
311int 348int
312i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey) 349i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey)
313{ 350{
314 return ASN1_i2d_bio_of(EVP_PKEY, i2d_PrivateKey, bp, pkey); 351 return ASN1_i2d_bio_of(EVP_PKEY, i2d_PrivateKey, bp, pkey);
315} 352}
353LCRYPTO_ALIAS(i2d_PrivateKey_bio)
316 354
317EVP_PKEY * 355EVP_PKEY *
318d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) 356d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)
@@ -320,12 +358,14 @@ d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)
320 return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, 358 return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey,
321 fp, a); 359 fp, a);
322} 360}
361LCRYPTO_ALIAS(d2i_PrivateKey_fp)
323 362
324int 363int
325i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey) 364i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey)
326{ 365{
327 return ASN1_i2d_fp_of(EVP_PKEY, i2d_PrivateKey, fp, pkey); 366 return ASN1_i2d_fp_of(EVP_PKEY, i2d_PrivateKey, fp, pkey);
328} 367}
368LCRYPTO_ALIAS(i2d_PrivateKey_fp)
329 369
330int 370int
331i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) 371i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key)
@@ -340,6 +380,7 @@ i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key)
340 PKCS8_PRIV_KEY_INFO_free(p8inf); 380 PKCS8_PRIV_KEY_INFO_free(p8inf);
341 return ret; 381 return ret;
342} 382}
383LCRYPTO_ALIAS(i2d_PKCS8PrivateKeyInfo_bio)
343 384
344int 385int
345i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) 386i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key)
@@ -353,6 +394,7 @@ i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key)
353 PKCS8_PRIV_KEY_INFO_free(p8inf); 394 PKCS8_PRIV_KEY_INFO_free(p8inf);
354 return ret; 395 return ret;
355} 396}
397LCRYPTO_ALIAS(i2d_PKCS8PrivateKeyInfo_fp)
356 398
357int 399int
358X509_verify(X509 *a, EVP_PKEY *r) 400X509_verify(X509 *a, EVP_PKEY *r)
@@ -362,6 +404,7 @@ X509_verify(X509 *a, EVP_PKEY *r)
362 return (ASN1_item_verify(&X509_CINF_it, a->sig_alg, 404 return (ASN1_item_verify(&X509_CINF_it, a->sig_alg,
363 a->signature, a->cert_info, r)); 405 a->signature, a->cert_info, r));
364} 406}
407LCRYPTO_ALIAS(X509_verify)
365 408
366int 409int
367X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) 410X509_REQ_verify(X509_REQ *a, EVP_PKEY *r)
@@ -369,6 +412,7 @@ X509_REQ_verify(X509_REQ *a, EVP_PKEY *r)
369 return (ASN1_item_verify(&X509_REQ_INFO_it, 412 return (ASN1_item_verify(&X509_REQ_INFO_it,
370 a->sig_alg, a->signature, a->req_info, r)); 413 a->sig_alg, a->signature, a->req_info, r));
371} 414}
415LCRYPTO_ALIAS(X509_REQ_verify)
372 416
373int 417int
374NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) 418NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
@@ -376,6 +420,7 @@ NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
376 return (ASN1_item_verify(&NETSCAPE_SPKAC_it, 420 return (ASN1_item_verify(&NETSCAPE_SPKAC_it,
377 a->sig_algor, a->signature, a->spkac, r)); 421 a->sig_algor, a->signature, a->spkac, r));
378} 422}
423LCRYPTO_ALIAS(NETSCAPE_SPKI_verify)
379 424
380int 425int
381X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) 426X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
@@ -385,6 +430,7 @@ X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
385 x->cert_info->signature, x->sig_alg, x->signature, 430 x->cert_info->signature, x->sig_alg, x->signature,
386 x->cert_info, pkey, md)); 431 x->cert_info, pkey, md));
387} 432}
433LCRYPTO_ALIAS(X509_sign)
388 434
389int 435int
390X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx) 436X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx)
@@ -394,6 +440,7 @@ X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx)
394 x->cert_info->signature, x->sig_alg, x->signature, 440 x->cert_info->signature, x->sig_alg, x->signature,
395 x->cert_info, ctx); 441 x->cert_info, ctx);
396} 442}
443LCRYPTO_ALIAS(X509_sign_ctx)
397 444
398int 445int
399X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) 446X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
@@ -401,6 +448,7 @@ X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
401 return (ASN1_item_sign(&X509_REQ_INFO_it, 448 return (ASN1_item_sign(&X509_REQ_INFO_it,
402 x->sig_alg, NULL, x->signature, x->req_info, pkey, md)); 449 x->sig_alg, NULL, x->signature, x->req_info, pkey, md));
403} 450}
451LCRYPTO_ALIAS(X509_REQ_sign)
404 452
405int 453int
406X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx) 454X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx)
@@ -408,6 +456,7 @@ X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx)
408 return ASN1_item_sign_ctx(&X509_REQ_INFO_it, 456 return ASN1_item_sign_ctx(&X509_REQ_INFO_it,
409 x->sig_alg, NULL, x->signature, x->req_info, ctx); 457 x->sig_alg, NULL, x->signature, x->req_info, ctx);
410} 458}
459LCRYPTO_ALIAS(X509_REQ_sign_ctx)
411 460
412int 461int
413X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md) 462X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
@@ -416,6 +465,7 @@ X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
416 return(ASN1_item_sign(&X509_CRL_INFO_it, x->crl->sig_alg, 465 return(ASN1_item_sign(&X509_CRL_INFO_it, x->crl->sig_alg,
417 x->sig_alg, x->signature, x->crl, pkey, md)); 466 x->sig_alg, x->signature, x->crl, pkey, md));
418} 467}
468LCRYPTO_ALIAS(X509_CRL_sign)
419 469
420int 470int
421X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx) 471X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx)
@@ -424,6 +474,7 @@ X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx)
424 return ASN1_item_sign_ctx(&X509_CRL_INFO_it, 474 return ASN1_item_sign_ctx(&X509_CRL_INFO_it,
425 x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx); 475 x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx);
426} 476}
477LCRYPTO_ALIAS(X509_CRL_sign_ctx)
427 478
428int 479int
429NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md) 480NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md)
@@ -431,6 +482,7 @@ NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md)
431 return (ASN1_item_sign(&NETSCAPE_SPKAC_it, 482 return (ASN1_item_sign(&NETSCAPE_SPKAC_it,
432 x->sig_algor, NULL, x->signature, x->spkac, pkey, md)); 483 x->sig_algor, NULL, x->signature, x->spkac, pkey, md));
433} 484}
485LCRYPTO_ALIAS(NETSCAPE_SPKI_sign)
434 486
435int 487int
436X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, 488X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
@@ -442,6 +494,7 @@ X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
442 return 0; 494 return 0;
443 return EVP_Digest(key->data, key->length, md, len, type, NULL); 495 return EVP_Digest(key->data, key->length, md, len, type, NULL);
444} 496}
497LCRYPTO_ALIAS(X509_pubkey_digest)
445 498
446int 499int
447X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, 500X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
@@ -450,6 +503,7 @@ X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
450 return (ASN1_item_digest(&X509_it, type, (char *)data, 503 return (ASN1_item_digest(&X509_it, type, (char *)data,
451 md, len)); 504 md, len));
452} 505}
506LCRYPTO_ALIAS(X509_digest)
453 507
454int 508int
455X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, 509X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md,
@@ -458,6 +512,7 @@ X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md,
458 return (ASN1_item_digest(&X509_CRL_it, type, (char *)data, 512 return (ASN1_item_digest(&X509_CRL_it, type, (char *)data,
459 md, len)); 513 md, len));
460} 514}
515LCRYPTO_ALIAS(X509_CRL_digest)
461 516
462int 517int
463X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, 518X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md,
@@ -466,6 +521,7 @@ X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md,
466 return (ASN1_item_digest(&X509_REQ_it, type, (char *)data, 521 return (ASN1_item_digest(&X509_REQ_it, type, (char *)data,
467 md, len)); 522 md, len));
468} 523}
524LCRYPTO_ALIAS(X509_REQ_digest)
469 525
470int 526int
471X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, 527X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md,
@@ -474,6 +530,7 @@ X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md,
474 return (ASN1_item_digest(&X509_NAME_it, type, (char *)data, 530 return (ASN1_item_digest(&X509_NAME_it, type, (char *)data,
475 md, len)); 531 md, len));
476} 532}
533LCRYPTO_ALIAS(X509_NAME_digest)
477 534
478int 535int
479X509_up_ref(X509 *x) 536X509_up_ref(X509 *x)
@@ -481,3 +538,4 @@ X509_up_ref(X509 *x)
481 int i = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509); 538 int i = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
482 return i > 1 ? 1 : 0; 539 return i > 1 ? 1 : 0;
483} 540}
541LCRYPTO_ALIAS(X509_up_ref)