git: e447c252d0ec - main - krb5: Merge Heimdal common functions into version maps

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Thu, 24 Jul 2025 17:14:15 UTC
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=e447c252d0eca8f1440996f2a3521c75c06ae126

commit e447c252d0eca8f1440996f2a3521c75c06ae126
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2025-07-24 16:24:03 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2025-07-24 16:31:40 +0000

    krb5: Merge Heimdal common functions into version maps
    
    Requested by:   kib
---
 krb5/lib/gssapi/version.map | 171 +++++++++---------
 krb5/lib/krb5/version.map   | 430 ++++++++++++++++++++++----------------------
 krb5/util/et/version.map    |  12 +-
 3 files changed, 312 insertions(+), 301 deletions(-)

diff --git a/krb5/lib/gssapi/version.map b/krb5/lib/gssapi/version.map
index bd0d28df70a7..d52c0d3d1e36 100644
--- a/krb5/lib/gssapi/version.map
+++ b/krb5/lib/gssapi/version.map
@@ -1,3 +1,90 @@
+HEIMDAL_GSS_2.0 {
+	global:
+		gss_accept_sec_context;
+		gss_acquire_cred;
+		gss_acquire_cred_with_password;
+		gss_add_buffer_set_member;
+		gss_add_cred;
+		gss_add_cred_with_password;
+		gss_add_oid_set_member;
+		gss_authorize_localname;
+		gss_canonicalize_name;
+		gss_compare_name;
+		gss_context_time;
+		gss_create_empty_buffer_set;
+		gss_create_empty_oid_set;
+		gss_decapsulate_token;
+		gss_delete_name_attribute;
+		gss_delete_sec_context;
+		gss_display_mech_attr;
+		gss_display_name;
+		gss_display_name_ext;
+		gss_display_status;
+		gss_duplicate_name;
+		gss_encapsulate_token;
+		gss_export_cred;
+		gss_export_name;
+		gss_export_name_composite;
+		gss_export_sec_context;
+		gss_get_mic;
+		gss_get_name_attribute;
+		gss_import_cred;
+		gss_import_name;
+		gss_import_sec_context;
+		gss_indicate_mechs;
+		gss_indicate_mechs_by_attrs;
+		gss_init_sec_context;
+		gss_inquire_attrs_for_mech;
+		gss_inquire_context;
+		gss_inquire_cred;
+		gss_inquire_cred_by_mech;
+		gss_inquire_cred_by_oid;
+		gss_inquire_mech_for_saslname;
+		gss_inquire_mechs_for_name;
+		gss_inquire_name;
+		gss_inquire_names_for_mech;
+		gss_inquire_saslname_for_mech;
+		gss_krb5_ccache_name;
+		gss_krb5_copy_ccache;
+		gss_krb5_export_lucid_sec_context;
+		gss_krb5_free_lucid_sec_context;
+		gss_krb5_get_tkt_flags;
+		gss_krb5_import_cred;
+		gss_krb5_set_allowable_enctypes;
+		gss_oid_equal;
+		gss_oid_to_str;
+		gss_pname_to_uid;
+		gss_process_context_token;
+		gss_pseudo_random;
+		gss_release_buffer;
+		gss_release_buffer_set;
+		gss_release_cred;
+		gss_release_iov_buffer;
+		gss_release_name;
+		gss_release_oid;
+		gss_release_oid_set;
+		gss_seal;
+		gss_set_cred_option;
+		gss_set_name_attribute;
+		gss_set_sec_context_option;
+		gss_sign;
+		gss_store_cred;
+		gss_test_oid_set_member;
+		gss_unseal;
+		gss_unwrap;
+		gss_unwrap_iov;
+		gss_userok;
+		gss_verify;
+		gss_verify_mic;
+		gss_wrap;
+		gss_wrap_iov;
+		gss_wrap_iov_length;
+		gss_wrap_size_limit;
+		gsskrb5_extract_authtime_from_sec_context;
+		gsskrb5_extract_authz_data_from_sec_context;
+		krb5_gss_register_acceptor_identity;
+};
+
 gssapi_krb5_2_MIT {
 	global:
 		GSS_C_ATTR_LOCAL_LOGIN_USER;
@@ -46,67 +133,14 @@ gssapi_krb5_2_MIT {
 		GSS_C_MA_CTX_TRANS;
 		GSS_C_MA_NEGOEX_AND_SPNEGO;
 		GSS_C_SEC_CONTEXT_SASL_SSF;
-		gss_accept_sec_context;
-		gss_acquire_cred;
-		gss_acquire_cred_with_password;
 		gss_acquire_cred_impersonate_name;
-		gss_add_buffer_set_member;
-		gss_add_cred;
 		gss_add_cred_impersonate_name;
-		gss_add_cred_with_password;
-		gss_add_oid_set_member;
-		gss_authorize_localname;
-		gss_canonicalize_name;
-		gss_compare_name;
 		gss_complete_auth_token;
-		gss_context_time;
-		gss_create_empty_buffer_set;
-		gss_create_empty_oid_set;
-		gss_decapsulate_token;
-		gss_delete_name_attribute;
-		gss_delete_sec_context;
-		gss_display_mech_attr;
-		gss_display_name;
-		gss_display_name_ext;
-		gss_display_status;
-		gss_duplicate_name;
-		gss_encapsulate_token;
-		gss_export_cred;
-		gss_export_name;
-		gss_export_name_composite;
-		gss_export_sec_context;
-		gss_get_mic;
 		gss_get_mic_iov;
 		gss_get_mic_iov_length;
-		gss_get_name_attribute;
-		gss_import_cred;
-		gss_import_name;
-		gss_import_sec_context;
-		gss_indicate_mechs;
-		gss_init_sec_context;
-		gss_indicate_mechs_by_attrs;
-		gss_inquire_attrs_for_mech;
-		gss_inquire_context;
-		gss_inquire_cred;
-		gss_inquire_cred_by_mech;
-		gss_inquire_cred_by_oid;
-		gss_inquire_mech_for_saslname;
-		gss_inquire_mechs_for_name;
-		gss_inquire_names_for_mech;
-		gss_inquire_saslname_for_mech;
-		gss_inquire_sec_context_by_oid;
-		gss_krb5_ccache_name;
-		gss_krb5_copy_ccache;
-		gss_krb5_export_lucid_sec_context;
-		gss_krb5_free_lucid_sec_context;
-		gss_krb5_get_tkt_flags;
-		gss_krb5_import_cred;
-		gss_krb5_set_allowable_enctypes;
 		gss_krb5_set_cred_rcache;
 		gss_krb5int_make_seal_token_v3;
 		gss_krb5int_unseal_token_v3;
-		gsskrb5_extract_authtime_from_sec_context;
-		gsskrb5_extract_authz_data_from_sec_context;
 		gss_localname;
 		gss_map_name_to_any;
 		gss_mech_iakerb;
@@ -124,47 +158,16 @@ gssapi_krb5_2_MIT {
 		gss_nt_service_name_v2;
 		gss_nt_string_uid_name;
 		gss_nt_user_name;
-		gss_oid_equal;
-		gss_oid_to_str;
-		gss_pname_to_uid;
-		gss_pseudo_random;
-		gss_process_context_token;
 		gss_release_any_name_mapping;
-		gss_release_buffer_set;
-		gss_release_buffer;
-		gss_release_cred;
-		gss_release_iov_buffer;
-		gss_release_name;
-		gss_release_oid;
-		gss_release_oid_set;
-		gss_seal;
-		gss_set_name_attribute;
 		gss_set_neg_mechs;
-		gss_set_sec_context_option;
-		gss_sign;
-		gss_store_cred;
 		gss_str_to_oid;
-		gss_test_oid_set_member;
-		gss_unseal;
-		gss_unwrap;
 		gss_unwrap_aead;
-		gss_unwrap_iov;
-		gss_userok;
-		gss_verify;
-		gss_verify_mic;
 		gss_verify_mic_iov;
-		gss_wrap;
 		gss_wrap_aead;
-		gss_wrap_iov;
-		gss_wrap_iov_length;
-		gss_wrap_size_limit;
-		gss_set_cred_option;
 		gssspi_set_cred_option;
 		gssspi_mech_invoke;
 		krb5_gss_dbg_client_expcreds;
-		krb5_gss_register_acceptor_identity;
 		krb5_gss_use_kdc_context;
-		gss_inquire_name;
 		gss_acquire_cred_from;
 		gss_add_cred_from;
 		gss_store_cred_into;
diff --git a/krb5/lib/krb5/version.map b/krb5/lib/krb5/version.map
index daf066d47cfd..ce399a93e03e 100644
--- a/krb5/lib/krb5/version.map
+++ b/krb5/lib/krb5/version.map
@@ -1,3 +1,220 @@
+HEIMDAL_KRB5_2.0 {
+	global:
+		initialize_k524_error_table;
+		initialize_krb5_error_table;
+		krb524_convert_creds_kdc;
+		krb5_address_compare;
+		krb5_address_order;
+		krb5_address_search;
+		krb5_allow_weak_crypto;
+		krb5_aname_to_localname;
+		krb5_appdefault_boolean;
+		krb5_appdefault_string;
+		krb5_auth_con_free;
+		krb5_auth_con_genaddrs;
+		krb5_auth_con_getaddrs;
+		krb5_auth_con_getauthenticator;
+		krb5_auth_con_getflags;
+		krb5_auth_con_getkey;
+		krb5_auth_con_getlocalseqnumber;
+		krb5_auth_con_getlocalsubkey;
+		krb5_auth_con_getrcache;
+		krb5_auth_con_getrecvsubkey;
+		krb5_auth_con_getremoteseqnumber;
+		krb5_auth_con_getremotesubkey;
+		krb5_auth_con_getsendsubkey;
+		krb5_auth_con_init;
+		krb5_auth_con_setaddrs;
+		krb5_auth_con_setflags;
+		krb5_auth_con_setrcache;
+		krb5_auth_con_setrecvsubkey;
+		krb5_auth_con_setsendsubkey;
+		krb5_build_principal;
+		krb5_build_principal_ext;
+		krb5_build_principal_va;
+		krb5_cc_cache_match;
+		krb5_cc_close;
+		krb5_cc_copy_creds;
+		krb5_cc_default;
+		krb5_cc_default_name;
+		krb5_cc_destroy;
+		krb5_cc_end_seq_get;
+		krb5_cc_gen_new;
+		krb5_cc_get_config;
+		krb5_cc_get_full_name;
+		krb5_cc_get_name;
+		krb5_cc_get_principal;
+		krb5_cc_get_type;
+		krb5_cc_initialize;
+		krb5_cc_move;
+		krb5_cc_new_unique;
+		krb5_cc_next_cred;
+		krb5_cc_register;
+		krb5_cc_remove_cred;
+		krb5_cc_resolve;
+		krb5_cc_retrieve_cred;
+		krb5_cc_set_config;
+		krb5_cc_set_default_name;
+		krb5_cc_set_flags;
+		krb5_cc_start_seq_get;
+		krb5_cc_store_cred;
+		krb5_cc_support_switch;
+		krb5_cc_switch;
+		krb5_cccol_cursor_free;
+		krb5_cccol_cursor_new;
+		krb5_cccol_cursor_next;
+		krb5_change_password;
+		krb5_clear_error_message;
+		krb5_copy_addresses;
+		krb5_copy_checksum;
+		krb5_copy_context;
+		krb5_copy_creds;
+		krb5_copy_data;
+		krb5_copy_keyblock;
+		krb5_copy_keyblock_contents;
+		krb5_copy_principal;
+		krb5_copy_ticket;
+		krb5_expand_hostname;
+		krb5_fcc_ops;
+		krb5_free_address;
+		krb5_free_addresses;
+		krb5_free_ap_rep_enc_part;
+		krb5_free_authenticator;
+		krb5_free_checksum;
+		krb5_free_checksum_contents;
+		krb5_free_config_files;
+		krb5_free_context;
+		krb5_free_cred_contents;
+		krb5_free_creds;
+		krb5_free_data;
+		krb5_free_data_contents;
+		krb5_free_default_realm;
+		krb5_free_error_message;
+		krb5_free_host_realm;
+		krb5_free_kdc_rep;
+		krb5_free_keyblock;
+		krb5_free_keyblock_contents;
+		krb5_free_principal;
+		krb5_free_ticket;
+		krb5_free_unparsed_name;
+		krb5_fwd_tgt_creds;
+		krb5_generate_seq_number;
+		krb5_generate_subkey;
+		krb5_get_credentials;
+		krb5_get_default_config_files;
+		krb5_get_default_realm;
+		krb5_get_error_message;
+		krb5_get_host_realm;
+		krb5_get_in_tkt_with_keytab;
+		krb5_get_in_tkt_with_password;
+		krb5_get_in_tkt_with_skey;
+		krb5_get_init_creds_keytab;
+		krb5_get_init_creds_opt_alloc;
+		krb5_get_init_creds_opt_free;
+		krb5_get_init_creds_opt_init;
+		krb5_get_init_creds_opt_set_address_list;
+		krb5_get_init_creds_opt_set_anonymous;
+		krb5_get_init_creds_opt_set_canonicalize;
+		krb5_get_init_creds_opt_set_etype_list;
+		krb5_get_init_creds_opt_set_forwardable;
+		krb5_get_init_creds_opt_set_pac_request;
+		krb5_get_init_creds_opt_set_preauth_list;
+		krb5_get_init_creds_opt_set_proxiable;
+		krb5_get_init_creds_opt_set_renew_life;
+		krb5_get_init_creds_opt_set_salt;
+		krb5_get_init_creds_opt_set_tkt_life;
+		krb5_get_init_creds_password;
+		krb5_get_permitted_enctypes;
+		krb5_get_renewed_creds;
+		krb5_get_server_rcache;
+		krb5_get_validated_creds;
+		krb5_init_context;
+		krb5_init_creds_free;
+		krb5_init_creds_get;
+		krb5_init_creds_get_creds;
+		krb5_init_creds_get_error;
+		krb5_init_creds_init;
+		krb5_init_creds_set_keytab;
+		krb5_init_creds_set_password;
+		krb5_init_creds_set_service;
+		krb5_is_config_principal;
+		krb5_is_thread_safe;
+		krb5_kt_add_entry;
+		krb5_kt_close;
+		krb5_kt_default;
+		krb5_kt_default_name;
+		krb5_kt_end_seq_get;
+		krb5_kt_free_entry;
+		krb5_kt_get_entry;
+		krb5_kt_get_name;
+		krb5_kt_get_type;
+		krb5_kt_have_content;
+		krb5_kt_next_entry;
+		krb5_kt_read_service_key;
+		krb5_kt_register;
+		krb5_kt_remove_entry;
+		krb5_kt_resolve;
+		krb5_kt_start_seq_get;
+		krb5_kuserok;
+		krb5_mcc_ops;
+		krb5_mk_error;
+		krb5_mk_priv;
+		krb5_mk_rep;
+		krb5_mk_req;
+		krb5_mk_req_extended;
+		krb5_mk_safe;
+		krb5_net_read;
+		krb5_net_write;
+		krb5_pac_add_buffer;
+		krb5_pac_free;
+		krb5_pac_get_buffer;
+		krb5_pac_get_types;
+		krb5_pac_init;
+		krb5_pac_parse;
+		krb5_pac_verify;
+		krb5_parse_name;
+		krb5_parse_name_flags;
+		krb5_prepend_error_message;
+		krb5_principal_compare;
+		krb5_principal_compare_any_realm;
+		krb5_prompter_posix;
+		krb5_rc_default;
+		krb5_rc_destroy;
+		krb5_rc_get_lifespan;
+		krb5_rc_initialize;
+		krb5_rd_cred;
+		krb5_rd_error;
+		krb5_rd_priv;
+		krb5_rd_rep;
+		krb5_rd_req;
+		krb5_rd_safe;
+		krb5_read_message;
+		krb5_realm_compare;
+		krb5_recvauth;
+		krb5_salttype_to_string;
+		krb5_sendauth;
+		krb5_sendto_kdc;
+		krb5_set_config_files;
+		krb5_set_default_realm;
+		krb5_set_error_message;
+		krb5_set_password;
+		krb5_set_password_using_ccache;
+		krb5_set_real_time;
+		krb5_sname_to_principal;
+		krb5_string_to_deltat;
+		krb5_string_to_salttype;
+		krb5_timeofday;
+		krb5_unparse_name;
+		krb5_unparse_name_flags;
+		krb5_us_timeofday;
+		krb5_verify_init_creds;
+		krb5_verify_init_creds_opt_init;
+		krb5_verify_init_creds_opt_set_ap_req_nofail;
+		krb5_vprepend_error_message;
+		krb5_vset_error_message;
+		krb5_write_message;
+};
+
 krb5_3_MIT {
 	global:
 		_krb5_conf_boolean;
@@ -111,9 +328,7 @@ krb5_3_MIT {
 		et_krb5_error_table;
 		et_kv5m_error_table;
 		initialize_asn1_error_table;
-		initialize_k524_error_table;
 		initialize_kdb5_error_table;
-		initialize_krb5_error_table;
 		initialize_k5e1_error_table;
 		initialize_kv5m_error_table;
 		k5_add_empty_pa_data;
@@ -184,55 +399,28 @@ krb5_3_MIT {
 		k5_unmarshal_princ;
 		k5_unwrap_cammac_svc;
 		k5_zapfree_pa_data;
-		krb524_convert_creds_kdc;
 		krb524_init_ets;
 		krb5_425_conv_principal;
 		krb5_524_conv_principal;
 		krb5_524_convert_creds;
-		krb5_address_compare;
-		krb5_address_order;
-		krb5_address_search;
-		krb5_allow_weak_crypto;
-		krb5_aname_to_localname;
 		krb5_anonymous_principal;
 		krb5_anonymous_realm;
-		krb5_appdefault_boolean;
-		krb5_appdefault_string;
-		krb5_auth_con_free;
-		krb5_auth_con_genaddrs;
 		krb5_auth_con_get_checksum_func;
 		krb5_auth_con_get_authdata_context;
-		krb5_auth_con_getaddrs;
-		krb5_auth_con_getauthenticator;
-		krb5_auth_con_getflags;
 		krb5_auth_con_getivector;
-		krb5_auth_con_getkey;
 		krb5_auth_con_getkey_k;
-		krb5_auth_con_getlocalseqnumber;
-		krb5_auth_con_getlocalsubkey;
 		krb5_auth_con_getpermetypes;
-		krb5_auth_con_getrcache;
-		krb5_auth_con_getrecvsubkey;
 		krb5_auth_con_getrecvsubkey_k;
-		krb5_auth_con_getremoteseqnumber;
-		krb5_auth_con_getremotesubkey;
-		krb5_auth_con_getsendsubkey;
 		krb5_auth_con_getsendsubkey_k;
-		krb5_auth_con_init;
 		krb5_auth_con_initivector;
 		krb5_auth_con_set_authdata_context;
 		krb5_auth_con_set_checksum_func;
 		krb5_auth_con_set_req_cksumtype;
 		krb5_auth_con_set_safe_cksumtype;
-		krb5_auth_con_setaddrs;
-		krb5_auth_con_setflags;
 		krb5_auth_con_setivector;
 		krb5_auth_con_setpermetypes;
 		krb5_auth_con_setports;
-		krb5_auth_con_setrcache;
-		krb5_auth_con_setrecvsubkey;
 		krb5_auth_con_setrecvsubkey_k;
-		krb5_auth_con_setsendsubkey;
 		krb5_auth_con_setsendsubkey_k;
 		krb5_auth_con_setuseruserkey;
 		krb5_authdata_context_copy;
@@ -247,66 +435,21 @@ krb5_3_MIT {
 		krb5_authdata_export_internal;
 		krb5_authdata_free_internal;
 		krb5_authdata_import_attributes;
-		krb5_build_principal;
 		krb5_build_principal_alloc_va;
-		krb5_build_principal_ext;
-		krb5_build_principal_va;
-		krb5_cc_cache_match;
-		krb5_cc_close;
-		krb5_cc_copy_creds;
-		krb5_cc_default;
-		krb5_cc_default_name;
-		krb5_cc_destroy;
 		krb5_cc_dfl_ops;
 		krb5_cc_dup;
-		krb5_cc_end_seq_get;
 		krb5_cc_file_ops;
-		krb5_cc_gen_new;
-		krb5_cc_get_config;
-		krb5_cc_get_full_name;
-		krb5_cc_get_name;
-		krb5_cc_get_principal;
-		krb5_cc_get_type;
-		krb5_cc_move;
-		krb5_cc_initialize;
-		krb5_cc_new_unique;
-		krb5_cc_next_cred;
-		krb5_cc_register;
-		krb5_cc_remove_cred;
-		krb5_cc_resolve;
-		krb5_cc_retrieve_cred;
 		krb5_cc_select;
-		krb5_cc_set_config;
-		krb5_cc_set_default_name;
-		krb5_cc_set_flags;
-		krb5_cc_start_seq_get;
-		krb5_cc_store_cred;
-		krb5_cc_support_switch;
-		krb5_cc_switch;
-		krb5_cccol_cursor_free;
-		krb5_cccol_cursor_new;
-		krb5_cccol_cursor_next;
 		krb5_cccol_have_content;
 		krb5_change_cache;
-		krb5_change_password;
 		krb5_check_clockskew;
 		krb5_check_transited_list;
 		krb5_chpw_message;
 		krb5_chpw_result_code_string;
-		krb5_clear_error_message;
 		krb5_copy_addr;
-		krb5_copy_addresses;
 		krb5_copy_authdata;
 		krb5_copy_authenticator;
-		krb5_copy_checksum;
-		krb5_copy_context;
-		krb5_copy_creds;
-		krb5_copy_data;
 		krb5_copy_error_message;
-		krb5_copy_keyblock;
-		krb5_copy_keyblock_contents;
-		krb5_copy_principal;
-		krb5_copy_ticket;
 		krb5_crypto_us_timeofday;
 		krb5_decode_authdata_container;
 		krb5_decode_ticket;
@@ -316,29 +459,14 @@ krb5_3_MIT {
 		krb5_encode_kdc_rep;
 		krb5_encrypt_helper;
 		krb5_encrypt_tkt_part;
-		krb5_expand_hostname;
-		krb5_fcc_ops;
 		krb5_find_authdata;
 		krb5_free_ad_kdcissued;
-		krb5_free_address;
-		krb5_free_addresses;
 		krb5_free_ap_rep;
-		krb5_free_ap_rep_enc_part;
 		krb5_free_ap_req;
 		krb5_free_authdata;
-		krb5_free_authenticator;
 		krb5_free_authenticator_contents;
-		krb5_free_checksum;
-		krb5_free_checksum_contents;
-		krb5_free_config_files;
-		krb5_free_context;
 		krb5_free_cred;
-		krb5_free_cred_contents;
 		krb5_free_cred_enc_part;
-		krb5_free_creds;
-		krb5_free_data;
-		krb5_free_data_contents;
-		krb5_free_default_realm;
 		krb5_free_enc_data;
 		krb5_free_enc_kdc_rep_part;
 		krb5_free_enc_sam_response_enc_2;
@@ -346,18 +474,13 @@ krb5_3_MIT {
 		krb5_free_enc_tkt_part;
 		krb5_free_enctypes;
 		krb5_free_error;
-		krb5_free_error_message;
 		krb5_free_etype_info;
 		krb5_free_fast_armored_req;
 		krb5_free_fast_req;
 		krb5_free_fast_response;
-		krb5_free_host_realm;
 		krb5_free_iakerb_finished;
 		krb5_free_iakerb_header;
-		krb5_free_kdc_rep;
 		krb5_free_kdc_req;
-		krb5_free_keyblock;
-		krb5_free_keyblock_contents;
 		krb5_free_keytab_entry_contents;
 		krb5_free_last_req;
 		krb5_free_octet_data;
@@ -366,7 +489,6 @@ krb5_3_MIT {
 		krb5_free_pa_for_user;
 		krb5_free_pa_pac_req;
 		krb5_free_pa_s4u_x509_user;
-		krb5_free_principal;
 		krb5_free_priv;
 		krb5_free_priv_enc_part;
 		krb5_free_realm_tree;
@@ -379,169 +501,73 @@ krb5_3_MIT {
 		krb5_free_sam_response_2_contents;
 		krb5_free_string;
 		krb5_free_tgt_creds;
-		krb5_free_ticket;
 		krb5_free_tickets;
 		krb5_free_tkt_authent;
-		krb5_free_unparsed_name;
-		krb5_fwd_tgt_creds;
 		krb5_gen_portaddr;
 		krb5_gen_replay_name;
-		krb5_generate_seq_number;
-		krb5_generate_subkey;
 		krb5_get_cred_via_tkt;
-		krb5_get_credentials;
 		krb5_get_credentials_for_proxy;
 		krb5_get_credentials_for_user;
 		krb5_get_credentials_renew;
 		krb5_get_credentials_validate;
-		krb5_get_default_config_files;
 		krb5_get_default_in_tkt_ktypes;
-		krb5_get_default_realm;
-		krb5_get_error_message;
 		krb5_get_etype_info;
 		krb5_get_fallback_host_realm;
-		krb5_get_host_realm;
-		krb5_get_in_tkt_with_keytab;
-		krb5_get_in_tkt_with_password;
-		krb5_get_in_tkt_with_skey;
-		krb5_get_init_creds_keytab;
-		krb5_get_init_creds_opt_alloc;
-		krb5_get_init_creds_opt_free;
 		krb5_get_init_creds_opt_free_pa;
 		krb5_get_init_creds_opt_get_fast_flags;
 		krb5_get_init_creds_opt_get_pa;
-		krb5_get_init_creds_opt_init;
-		krb5_get_init_creds_opt_set_address_list;
-		krb5_get_init_creds_opt_set_anonymous;
-		krb5_get_init_creds_opt_set_canonicalize;
 		krb5_get_init_creds_opt_set_change_password_prompt;
-		krb5_get_init_creds_opt_set_etype_list;
 		krb5_get_init_creds_opt_set_expire_callback;
 		krb5_get_init_creds_opt_set_fast_ccache;
 		krb5_get_init_creds_opt_set_fast_ccache_name;
 		krb5_get_init_creds_opt_set_fast_flags;
-		krb5_get_init_creds_opt_set_forwardable;
 		krb5_get_init_creds_opt_set_in_ccache;
 		krb5_get_init_creds_opt_set_out_ccache;
 		krb5_get_init_creds_opt_set_pa;
-		krb5_get_init_creds_opt_set_pac_request;
-		krb5_get_init_creds_opt_set_preauth_list;
-		krb5_get_init_creds_opt_set_proxiable;
-		krb5_get_init_creds_opt_set_renew_life;
 		krb5_get_init_creds_opt_set_responder;
-		krb5_get_init_creds_opt_set_salt;
-		krb5_get_init_creds_opt_set_tkt_life;
-		krb5_get_init_creds_password;
 		krb5_get_notification_message;
-		krb5_get_permitted_enctypes;
 		krb5_get_profile;
 		krb5_get_prompt_types;
 		krb5_get_realm_domain;
-		krb5_get_renewed_creds;
-		krb5_get_server_rcache;
 		krb5_get_tgs_ktypes;
 		krb5_get_time_offsets;
-		krb5_get_validated_creds;
-		krb5_init_context;
 		krb5_init_context_profile;
-		krb5_init_creds_free;
-		krb5_init_creds_get;
-		krb5_init_creds_get_creds;
-		krb5_init_creds_get_error;
 		krb5_init_creds_get_times;
-		krb5_init_creds_init;
-		krb5_init_creds_set_keytab;
-		krb5_init_creds_set_password;
-		krb5_init_creds_set_service;
 		krb5_init_creds_step;
 		krb5_init_keyblock;
 		krb5_init_secure_context;
-		krb5_is_config_principal;
 		krb5_is_permitted_enctype;
 		krb5_is_referral_realm;
-		krb5_is_thread_safe;
 		krb5_kdc_rep_decrypt_proc;
 		krb5_kdc_sign_ticket;
 		krb5_kdc_verify_ticket;
-		krb5_kt_add_entry;
 		krb5_kt_client_default;
-		krb5_kt_close;
-		krb5_kt_default;
-		krb5_kt_default_name;
 		krb5_kt_dfl_ops;
 		krb5_kt_dup;
-		krb5_kt_end_seq_get;
-		krb5_kt_free_entry;
-		krb5_kt_get_entry;
-		krb5_kt_get_name;
-		krb5_kt_get_type;
-		krb5_kt_have_content;
-		krb5_kt_next_entry;
-		krb5_kt_read_service_key;
-		krb5_kt_register;
-		krb5_kt_remove_entry;
-		krb5_kt_resolve;
-		krb5_kt_start_seq_get;
 		krb5_ktf_ops;
 		krb5_ktf_writable_ops;
-		krb5_kuserok;
 		krb5_lock_file;
 		krb5_make_authdata_kdc_issued;
 		krb5_make_full_ipaddr;
 		krb5_make_fulladdr;
 		krb5_marshal_credentials;
-		krb5_mcc_ops;
 		krb5_merge_authdata;
 		krb5_mk_1cred;
-		krb5_mk_error;
 		krb5_mk_ncred;
-		krb5_mk_priv;
-		krb5_mk_rep;
 		krb5_mk_rep_dce;
-		krb5_mk_req;
-		krb5_mk_req_extended;
-		krb5_mk_safe;
-		krb5_net_read;
-		krb5_net_write;
 		krb5_os_localaddr;
 		krb5_overridekeyname;
-		krb5_pac_add_buffer;
-		krb5_pac_free;
-		krb5_pac_get_buffer;
-		krb5_pac_get_types;
-		krb5_pac_init;
-		krb5_pac_parse;
 		krb5_pac_sign;
 		krb5_pac_sign_ext;
-		krb5_pac_verify;
 		krb5_pac_verify_ext;
 		krb5_pac_get_client_info;
-		krb5_parse_name;
-		krb5_parse_name_flags;
-		krb5_prepend_error_message;
 		krb5_principal2salt;
 		krb5_principal2salt_norealm;
-		krb5_principal_compare;
-		krb5_principal_compare_any_realm;
 		krb5_principal_compare_flags;
-		krb5_prompter_posix;
-		krb5_rc_default;
-		krb5_rc_destroy;
-		krb5_rc_get_lifespan;
-		krb5_rc_initialize;
-		krb5_rd_cred;
-		krb5_rd_error;
-		krb5_rd_priv;
-		krb5_rd_rep;
 		krb5_rd_rep_dce;
-		krb5_rd_req;
 		krb5_rd_req_decoded;
 		krb5_rd_req_decoded_anyflag;
-		krb5_rd_safe;
-		krb5_read_message;
 		krb5_read_password;
-		krb5_realm_compare;
-		krb5_recvauth;
 		krb5_recvauth_version;
 		krb5_responder_get_challenge;
 		krb5_responder_list_questions;
@@ -552,9 +578,6 @@ krb5_3_MIT {
 		krb5_responder_pkinit_get_challenge;
 		krb5_responder_pkinit_set_answer;
 		krb5_responder_pkinit_challenge_free;
-		krb5_salttype_to_string;
-		krb5_sendauth;
-		krb5_sendto_kdc;
 		krb5_ser_pack_bytes;
 		krb5_ser_pack_int32;
 		krb5_ser_pack_int64;
@@ -562,25 +585,16 @@ krb5_3_MIT {
 		krb5_ser_unpack_int32;
 		krb5_ser_unpack_int64;
 		krb5_server_decrypt_ticket_keytab;
-		krb5_set_config_files;
 		krb5_set_debugging_time;
-		krb5_set_default_realm;
 		krb5_set_default_tgs_enctypes;
 		krb5_set_default_tgs_ktypes;
-		krb5_set_error_message;
-		krb5_set_password;
-		krb5_set_password_using_ccache;
 		krb5_set_principal_realm;
-		krb5_set_real_time;
 		krb5_set_kdc_send_hook;
 		krb5_set_kdc_recv_hook;
 		krb5_set_time_offsets;
 		krb5_set_trace_callback;
 		krb5_set_trace_filename;
 		krb5_sname_match;
-		krb5_sname_to_principal;
-		krb5_string_to_deltat;
-		krb5_string_to_salttype;
 		krb5_string_to_timestamp;
 		krb5int_tgtname;
 		krb5_tkt_creds_free;
@@ -589,28 +603,18 @@ krb5_3_MIT {
 		krb5_tkt_creds_get_times;
 		krb5_tkt_creds_init;
 		krb5_tkt_creds_step;
-		krb5_timeofday;
 		krb5_timestamp_to_sfstring;
 		krb5_timestamp_to_string;
 		krb5_unlock_file;
 		krb5_unmarshal_credentials;
 		krb5_unpack_full_ipaddr;
-		krb5_unparse_name;
 		krb5_unparse_name_ext;
-		krb5_unparse_name_flags;
 		krb5_unparse_name_flags_ext;
-		krb5_us_timeofday;
 		krb5_use_natural_time;
 		krb5_verify_authdata_kdc_issued;
-		krb5_verify_init_creds;
-		krb5_verify_init_creds_opt_init;
-		krb5_verify_init_creds_opt_set_ap_req_nofail;
-		krb5_vprepend_error_message;
-		krb5_vset_error_message;
 		krb5_vwrap_error_message;
 		krb5_walk_realm_tree;
 		krb5_wrap_error_message;
-		krb5_write_message;
 		krb5int_accessor;
 		krb5int_cc_default;
 		krb5int_cleanup_library;
diff --git a/krb5/util/et/version.map b/krb5/util/et/version.map
index 96f9fe53838c..3bd290009f22 100644
--- a/krb5/util/et/version.map
+++ b/krb5/util/et/version.map
@@ -1,13 +1,17 @@
-com_err_3_MIT {
+HEIMDAL_COM_ERR_1.0 {
 	global:
-		add_error_table;
 		com_err;
 		com_err_va;
 		error_message;
 		error_table_name;
-		error_table_name_r;
-		remove_error_table;
 		reset_com_err_hook;
 		set_com_err_hook;
 };
+
+com_err_3_MIT {
+	global:
+		add_error_table;
+		error_table_name_r;
+		remove_error_table;
+};
 HIDDEN { local: __*; _rest*; _save*; *; };