The branch main has been updated by cy:

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

commit ae07a5805b1906f29e786f415d67bef334557bd3
Author:     Cy Schubert <c...@freebsd.org>
AuthorDate: 2025-07-22 15:38:19 +0000
Commit:     Cy Schubert <c...@freebsd.org>
CommitDate: 2025-07-22 15:48:40 +0000

    krb5: Add version maps
    
    Shared objects must have version maps. These were copied from upstream's
    *.exports files.
    
    Reminded by:    kib
    Fixes:          ee3960cba106
---
 krb5/lib/crypto/Makefile                |   1 +
 krb5/lib/crypto/version.map             | 108 ++++++
 krb5/lib/gssapi/Makefile                |   1 +
 krb5/lib/gssapi/version.map             | 173 +++++++++
 krb5/lib/kadm5clnt/Makefile             |   1 +
 krb5/lib/kadm5clnt/version.map          | 118 ++++++
 krb5/lib/kadm5srv/Makefile              |   1 +
 krb5/lib/kadm5srv/version.map           | 137 +++++++
 krb5/lib/kdb/Makefile                   |   1 +
 krb5/lib/kdb/version.map                | 111 ++++++
 krb5/lib/krad/Makefile                  |   1 +
 krb5/lib/krad/version.map               |  26 ++
 krb5/lib/krb5/Makefile                  |   1 +
 krb5/lib/krb5/version.map               | 658 ++++++++++++++++++++++++++++++++
 krb5/lib/rpc/Makefile                   |   1 +
 krb5/lib/rpc/version.map                | 147 +++++++
 krb5/plugins/audit/Makefile             |   1 +
 krb5/plugins/audit/version.map          |  10 +
 krb5/plugins/k5tls/Makefile             |   1 +
 krb5/plugins/k5tls/version.map          |   4 +
 krb5/plugins/kdb/db2/Makefile           |   1 +
 krb5/plugins/kdb/db2/version.map        | 109 ++++++
 krb5/plugins/preauth/otp/Makefile       |   1 +
 krb5/plugins/preauth/otp/version.map    |   4 +
 krb5/plugins/preauth/pkinit/Makefile    |   1 +
 krb5/plugins/preauth/pkinit/version.map |   5 +
 krb5/plugins/preauth/spake/Makefile     |   1 +
 krb5/plugins/preauth/spake/version.map  |   5 +
 krb5/plugins/preauth/test/Makefile      |   1 +
 krb5/plugins/preauth/test/version.map   |   5 +
 30 files changed, 1635 insertions(+)

diff --git a/krb5/lib/crypto/Makefile b/krb5/lib/crypto/Makefile
index 5087a2fb559b..5efe53d12aa8 100644
--- a/krb5/lib/crypto/Makefile
+++ b/krb5/lib/crypto/Makefile
@@ -17,6 +17,7 @@ LIB=          k5crypto
 # SHLIB_MAJOR= 3
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        com_err krb5support crypto
+VERSION_MAP=   ${.CURDIR}/version.map
 
 # XXX The following doesn't work. Even though the pathnames are the same
 # XXX we need to use the alternative .include statements.
diff --git a/krb5/lib/crypto/version.map b/krb5/lib/crypto/version.map
new file mode 100644
index 000000000000..bd4c2c1cd23f
--- /dev/null
+++ b/krb5/lib/crypto/version.map
@@ -0,0 +1,108 @@
+KRB5_CRYPTO_1.0 {
+       global:
+               krb5_c_make_random_key;
+               krb5_c_encrypt_length;
+               krb5_process_key;
+               krb5_string_to_cksumtype;
+               krb5_c_valid_enctype;
+               krb5_c_valid_cksumtype;
+               krb5_string_to_key;
+               krb5_c_encrypt_iov;
+               krb5_c_checksum_length;
+               is_keyed_cksum;
+               krb5_c_padding_length;
+               is_coll_proof_cksum;
+               krb5_init_random_key;
+               krb5_c_string_to_key_with_params;
+               krb5_c_random_make_octets;
+               krb5_c_random_os_entropy;
+               krb5_c_decrypt;
+               krb5_c_crypto_length;
+               krb5_c_block_size;
+               krb5_cksumtype_to_string;
+               krb5_c_keyed_checksum_types;
+               krb5_c_is_keyed_cksum;
+               krb5_c_crypto_length_iov;
+               valid_cksumtype;
+               krb5_c_random_seed;
+               krb5_c_random_to_key;
+               krb5_verify_checksum;
+               krb5_c_free_state;
+               krb5_c_verify_checksum;
+               krb5_c_random_add_entropy;
+               krb5_c_decrypt_iov;
+               krb5_c_make_checksum;
+               krb5_checksum_size;
+               krb5_free_cksumtypes;
+               krb5_finish_key;
+               krb5_encrypt_size;
+               krb5_c_keylengths;
+               krb5_c_prf;
+               krb5_encrypt;
+               krb5_string_to_enctype;
+               krb5_c_is_coll_proof_cksum;
+               krb5_c_init_state;
+               krb5_eblock_enctype;
+               krb5_decrypt;
+               krb5_c_encrypt;
+               krb5_c_enctype_compare;
+               krb5_c_verify_checksum_iov;
+               valid_enctype;
+               krb5_enctype_to_string;
+               krb5_enctype_to_name;
+               krb5_c_make_checksum_iov;
+               krb5_calculate_checksum;
+               krb5_c_string_to_key;
+               krb5_use_enctype;
+               krb5_random_key;
+               krb5_finish_random_key;
+               krb5_c_prf_length;
+               krb5int_c_mandatory_cksumtype;
+               krb5_c_fx_cf2_simple;
+               krb5int_c_weak_enctype;
+               krb5_encrypt_data;
+               krb5int_c_copy_keyblock;
+               krb5int_c_copy_keyblock_contents;
+               krb5int_c_free_keyblock_contents;
+               krb5int_c_free_keyblock;
+               krb5int_c_init_keyblock;
+               krb5int_hash_md4;
+               krb5int_hash_md5;
+               krb5int_hash_sha256;
+               krb5int_hash_sha384;
+               krb5int_enc_arcfour;
+               krb5int_hmac;
+               krb5_k_create_key;
+               krb5_k_decrypt;
+               krb5_k_decrypt_iov;
+               krb5_k_encrypt;
+               krb5_k_encrypt_iov;
+               krb5_k_free_key;
+               krb5_k_key_enctype;
+               krb5_k_key_keyblock;
+               krb5_k_make_checksum;
+               krb5_k_make_checksum_iov;
+               krb5_k_prf;
+               krb5_k_reference_key;
+               krb5_k_verify_checksum;
+               krb5_k_verify_checksum_iov;
+               krb5int_aes_encrypt;
+               krb5int_aes_decrypt;
+               krb5int_enc_des3;
+               krb5int_arcfour_gsscrypt;
+               krb5int_camellia_encrypt;
+               krb5int_cmac_checksum;
+               krb5int_enc_aes128;
+               krb5int_enc_aes256;
+               krb5int_enc_camellia128;
+               krb5int_enc_camellia256;
+               krb5int_derive_key;
+               krb5int_derive_random;
+               k5_sha256;
+               krb5int_nfold;
+               k5_allow_weak_pbkdf2iter;
+               krb5_c_prfplus;
+               krb5_c_derive_prfplus;
+               k5_enctype_to_ssf;
+               krb5int_c_deprecated_enctype;
+};
diff --git a/krb5/lib/gssapi/Makefile b/krb5/lib/gssapi/Makefile
index 51ed6f162d65..569452cfb538 100644
--- a/krb5/lib/gssapi/Makefile
+++ b/krb5/lib/gssapi/Makefile
@@ -17,6 +17,7 @@ LIB=          gssapi_krb5
 # SHLIB_MAJOR= 2
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        krb5 k5crypto com_err krb5profile krb5support
+VERSION_MAP=   ${.CURDIR}/version.map
 
 # This is a contcatonation of:
 #      crypto/krb5/src/lib/gssapi/libgssapi_krb5.exports
diff --git a/krb5/lib/gssapi/version.map b/krb5/lib/gssapi/version.map
new file mode 100644
index 000000000000..95f7ed5151db
--- /dev/null
+++ b/krb5/lib/gssapi/version.map
@@ -0,0 +1,173 @@
+KRB5_GSSAPI_1.0 {
+       global:
+               GSS_C_ATTR_LOCAL_LOGIN_USER;
+               GSS_C_INQ_NEGOEX_KEY;
+               GSS_C_INQ_NEGOEX_VERIFY_KEY;
+               GSS_C_INQ_SSPI_SESSION_KEY;
+               GSS_C_MA_AUTH_INIT;
+               GSS_C_MA_AUTH_INIT_ANON;
+               GSS_C_MA_AUTH_INIT_INIT;
+               GSS_C_MA_AUTH_TARG;
+               GSS_C_MA_AUTH_TARG_ANON;
+               GSS_C_MA_AUTH_TARG_INIT;
+               GSS_C_MA_CBINDINGS;
+               GSS_C_MA_COMPRESS;
+               GSS_C_MA_CONF_PROT;
+               GSS_C_MA_CTX_TRANS;
+               GSS_C_MA_DELEG_CRED;
+               GSS_C_MA_DEPRECATED;
+               GSS_C_MA_INTEG_PROT;
+               GSS_C_MA_ITOK_FRAMED;
+               GSS_C_MA_MECH_COMPOSITE;
+               GSS_C_MA_MECH_CONCRETE;
+               GSS_C_MA_MECH_GLUE;
+               GSS_C_MA_MECH_NEGO;
+               GSS_C_MA_MECH_PSEUDO;
+               GSS_C_MA_MIC;
+               GSS_C_MA_NEGOEX_AND_SPNEGO;
+               GSS_C_MA_NOT_DFLT_MECH;
+               GSS_C_MA_NOT_MECH;
+               GSS_C_MA_OOS_DET;
+               GSS_C_MA_PFS;
+               GSS_C_MA_PROT_READY;
+               GSS_C_MA_REPLAY_DET;
+               GSS_C_MA_WRAP;
+               GSS_C_NT_ANONYMOUS;
+               GSS_C_NT_COMPOSITE_EXPORT;
+               GSS_C_NT_EXPORT_NAME;
+               GSS_C_NT_HOSTBASED_SERVICE;
+               GSS_C_NT_HOSTBASED_SERVICE_X;
+               GSS_C_NT_MACHINE_UID_NAME;
+               GSS_C_NT_STRING_UID_NAME;
+               GSS_C_NT_USER_NAME;
+               GSS_C_SEC_CONTEXT_SASL_SSF;
+               GSS_KRB5_CRED_NO_CI_FLAGS_X;
+               GSS_KRB5_GET_CRED_IMPERSONATOR;
+               GSS_KRB5_NT_ENTERPRISE_NAME;
+               GSS_KRB5_NT_PRINCIPAL_NAME;
+               GSS_KRB5_NT_X509_CERT;
+               gss_accept_sec_context;
+               gss_acquire_cred;
+               gss_acquire_cred_from;
+               gss_acquire_cred_impersonate_name;
+               gss_acquire_cred_with_password;
+               gss_add_buffer_set_member;
+               gss_add_cred;
+               gss_add_cred_from;
+               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_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_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;
+               gss_localname;
+               gss_map_name_to_any;
+               gss_mech_iakerb;
+               gss_mech_initialize;
+               gss_mech_krb5;
+               gss_mech_krb5_old;
+               gss_mech_krb5_wrong;
+               gss_mech_set_krb5;
+               gss_mech_set_krb5_both;
+               gss_mech_set_krb5_old;
+               gss_nt_exported_name;
+               gss_nt_krb5_name;
+               gss_nt_krb5_principal;
+               gss_nt_machine_uid_name;
+               gss_nt_service_name;
+               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_process_context_token;
+               gss_pseudo_random;
+               gss_release_any_name_mapping;
+               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_neg_mechs;
+               gss_set_sec_context_option;
+               gss_sign;
+               gss_store_cred;
+               gss_store_cred_into;
+               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;
+               gssint_g_seqstate_init;
+               gsskrb5_extract_authtime_from_sec_context;
+               gsskrb5_extract_authz_data_from_sec_context;
+               gssspi_mech_invoke;
+               gssspi_set_cred_option;
+               krb5_gss_dbg_client_expcreds;
+               krb5_gss_register_acceptor_identity;
+               krb5_gss_use_kdc_context;
+};
diff --git a/krb5/lib/kadm5clnt/Makefile b/krb5/lib/kadm5clnt/Makefile
index ddb9b0e9fec5..c9f199bdaea3 100644
--- a/krb5/lib/kadm5clnt/Makefile
+++ b/krb5/lib/kadm5clnt/Makefile
@@ -17,6 +17,7 @@ LIB=          kadm5clnt_mit
 # SHLIB_MAJOR= 12
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        krb5profile gssrpc gssapi_krb5 krb5 k5crypto krb5support com_err
+VERSION_MAP=   ${.CURDIR}/version.map
 
 SRCS=  alt_prof.c \
        chpass_util.c \
diff --git a/krb5/lib/kadm5clnt/version.map b/krb5/lib/kadm5clnt/version.map
new file mode 100644
index 000000000000..9743c7cf6140
--- /dev/null
+++ b/krb5/lib/kadm5clnt/version.map
@@ -0,0 +1,118 @@
+KRB5_KADM5_CLNT_1.0 {
+       global:
+               _kadm5_check_handle;
+               _kadm5_chpass_principal_util;
+               kadm5_chpass_principal;
+               kadm5_chpass_principal_3;
+               kadm5_chpass_principal_util;
+               kadm5_create_policy;
+               kadm5_create_principal;
+               kadm5_create_principal_3;
+               kadm5_decrypt_key;
+               kadm5_delete_policy;
+               kadm5_delete_principal;
+               kadm5_destroy;
+               kadm5_flush;
+               kadm5_free_config_params;
+               kadm5_free_kadm5_key_data;
+               kadm5_free_key_data;
+               kadm5_free_name_list;
+               kadm5_free_policy_ent;
+               kadm5_free_principal_ent;
+               kadm5_free_strings;
+               kadm5_get_admin_service_name;
+               kadm5_get_config_params;
+               kadm5_get_policies;
+               kadm5_get_policy;
+               kadm5_get_principal;
+               kadm5_get_principal_keys;
+               kadm5_get_principals;
+               kadm5_get_privs;
+               kadm5_get_strings;
+               kadm5_init;
+               kadm5_init_anonymous;
+               kadm5_init_krb5_context;
+               kadm5_init_with_creds;
+               kadm5_init_with_password;
+               kadm5_init_with_skey;
+               kadm5_lock;
+               kadm5_modify_policy;
+               kadm5_modify_principal;
+               kadm5_purgekeys;
+               kadm5_randkey_principal;
+               kadm5_randkey_principal_3;
+               kadm5_rename_principal;
+               kadm5_set_string;
+               kadm5_setkey_principal;
+               kadm5_setkey_principal_3;
+               kadm5_setkey_principal_4;
+               kadm5_unlock;
+               krb5_aprof_get_boolean;
+               krb5_aprof_get_deltat;
+               krb5_aprof_get_int32;
+               krb5_aprof_get_string;
+               krb5_aprof_getvals;
+               krb5_flagnum_to_string;
+               krb5_flagspec_to_mask;
+               krb5_flags_to_strings;
+               krb5_free_key_data_contents;
+               krb5_keysalt_is_present;
+               krb5_keysalt_iterate;
+               krb5_klog_close;
+               krb5_klog_init;
+               krb5_klog_reopen;
+               krb5_klog_set_context;
+               krb5_klog_syslog;
+               krb5_string_to_keysalts;
+               xdr_chpass3_arg;
+               xdr_chpass_arg;
+               xdr_chrand3_arg;
+               xdr_chrand_arg;
+               xdr_chrand_ret;
+               xdr_cpol_arg;
+               xdr_cprinc3_arg;
+               xdr_cprinc_arg;
+               xdr_dpol_arg;
+               xdr_dprinc_arg;
+               xdr_generic_ret;
+               xdr_getpkeys_arg;
+               xdr_getpkeys_ret;
+               xdr_getprivs_ret;
+               xdr_gpol_arg;
+               xdr_gpol_ret;
+               xdr_gpols_arg;
+               xdr_gpols_ret;
+               xdr_gprinc_arg;
+               xdr_gprinc_ret;
+               xdr_gprincs_arg;
+               xdr_gprincs_ret;
+               xdr_kadm5_key_data;
+               xdr_kadm5_policy_ent_rec;
+               xdr_kadm5_principal_ent_rec;
+               xdr_kadm5_ret_t;
+               xdr_krb5_deltat;
+               xdr_krb5_enctype;
+               xdr_krb5_flags;
+               xdr_krb5_int16;
+               xdr_krb5_key_data_nocontents;
+               xdr_krb5_key_salt_tuple;
+               xdr_krb5_keyblock;
+               xdr_krb5_kvno;
+               xdr_krb5_octet;
+               xdr_krb5_principal;
+               xdr_krb5_salttype;
+               xdr_krb5_timestamp;
+               xdr_krb5_tl_data;
+               xdr_krb5_ui_2;
+               xdr_krb5_ui_4;
+               xdr_mpol_arg;
+               xdr_mprinc_arg;
+               xdr_nullstring;
+               xdr_nulltype;
+               xdr_rprinc_arg;
+               xdr_setkey3_arg;
+               xdr_setkey4_arg;
+               xdr_setkey_arg;
+               xdr_ui_4;
+               kadm5_init_iprop;
+};
diff --git a/krb5/lib/kadm5srv/Makefile b/krb5/lib/kadm5srv/Makefile
index f716dfcdaedc..90a2180d496a 100644
--- a/krb5/lib/kadm5srv/Makefile
+++ b/krb5/lib/kadm5srv/Makefile
@@ -17,6 +17,7 @@ LIB=          kadm5srv_mit
 # SHLIB_MAJOR= 12
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        krb5profile gssrpc gssapi_krb5 kdb5 krb5 k5crypto krb5support 
com_err
+VERSION_MAP=   ${.CURDIR}/version.map
 
 INCSDIR=       ${INCLUDEDIR}/kadm5
 
diff --git a/krb5/lib/kadm5srv/version.map b/krb5/lib/kadm5srv/version.map
new file mode 100644
index 000000000000..a0e9da6daef2
--- /dev/null
+++ b/krb5/lib/kadm5srv/version.map
@@ -0,0 +1,137 @@
+KRB5_KADM5_SRV_1.0 {
+       global:
+               _kadm5_check_handle;
+               _kadm5_chpass_principal_util;
+               hist_princ;
+               kadm5_chpass_principal;
+               kadm5_chpass_principal_3;
+               kadm5_chpass_principal_util;
+               kadm5_create_policy;
+               kadm5_create_principal;
+               kadm5_create_principal_3;
+               kadm5_decrypt_key;
+               kadm5_delete_policy;
+               kadm5_delete_principal;
+               kadm5_destroy;
+               kadm5_flush;
+               kadm5_free_config_params;
+               kadm5_free_kadm5_key_data;
+               kadm5_free_key_data;
+               kadm5_free_name_list;
+               kadm5_free_policy_ent;
+               kadm5_free_principal_ent;
+               kadm5_free_strings;
+               kadm5_get_config_params;
+               kadm5_get_policies;
+               kadm5_get_policy;
+               kadm5_get_principal;
+               kadm5_get_principal_keys;
+               kadm5_get_principals;
+               kadm5_get_privs;
+               kadm5_get_strings;
+               kadm5_init;
+               kadm5_init_anonymous;
+               kadm5_init_krb5_context;
+               kadm5_init_with_creds;
+               kadm5_init_with_password;
+               kadm5_init_with_skey;
+               kadm5_lock;
+               kadm5_modify_policy;
+               kadm5_modify_principal;
+               kadm5_purgekeys;
+               kadm5_randkey_principal;
+               kadm5_randkey_principal_3;
+               kadm5_rename_principal;
+               kadm5_set_string;
+               kadm5_setkey_principal;
+               kadm5_setkey_principal_3;
+               kadm5_setkey_principal_4;
+               kadm5_unlock;
+               kdb_delete_entry;
+               kdb_free_entry;
+               kdb_init_hist;
+               kdb_init_master;
+               kdb_iter_entry;
+               kdb_put_entry;
+               krb5_aprof_get_boolean;
+               krb5_aprof_get_deltat;
+               krb5_aprof_get_int32;
+               krb5_aprof_get_string;
+               krb5_aprof_get_string_all;
+               krb5_aprof_getvals;
+               krb5_copy_key_data_contents;
+               krb5_flagnum_to_string;
+               krb5_flagspec_to_mask;
+               krb5_flags_to_strings;
+               krb5_free_key_data_contents;
+               krb5_keysalt_is_present;
+               krb5_keysalt_iterate;
+               krb5_klog_close;
+               krb5_klog_init;
+               krb5_klog_reopen;
+               krb5_klog_set_context;
+               krb5_klog_syslog;
+               krb5_string_to_keysalts;
+               master_db;
+               master_princ;
+               osa_free_princ_ent;
+               passwd_check;
+               xdr_chpass3_arg;
+               xdr_chpass_arg;
+               xdr_chrand3_arg;
+               xdr_chrand_arg;
+               xdr_chrand_ret;
+               xdr_cpol_arg;
+               xdr_cprinc3_arg;
+               xdr_cprinc_arg;
+               xdr_dpol_arg;
+               xdr_dprinc_arg;
+               xdr_generic_ret;
+               xdr_getpkeys_arg;
+               xdr_getpkeys_ret;
+               xdr_getprivs_ret;
+               xdr_gpol_arg;
+               xdr_gpol_ret;
+               xdr_gpols_arg;
+               xdr_gpols_ret;
+               xdr_gprinc_arg;
+               xdr_gprinc_ret;
+               xdr_gprincs_arg;
+               xdr_gprincs_ret;
+               xdr_gstrings_arg;
+               xdr_gstrings_ret;
+               xdr_kadm5_policy_ent_rec;
+               xdr_kadm5_principal_ent_rec;
+               xdr_kadm5_ret_t;
+               xdr_krb5_deltat;
+               xdr_krb5_enctype;
+               xdr_krb5_flags;
+               xdr_krb5_int16;
+               xdr_krb5_key_data;
+               xdr_krb5_key_data_nocontents;
+               xdr_krb5_key_salt_tuple;
+               xdr_krb5_keyblock;
+               xdr_krb5_kvno;
+               xdr_krb5_octet;
+               xdr_krb5_principal;
+               xdr_krb5_salttype;
+               xdr_krb5_string_attr;
+               xdr_krb5_timestamp;
+               xdr_krb5_tl_data;
+               xdr_krb5_ui_2;
+               xdr_krb5_ui_4;
+               xdr_mpol_arg;
+               xdr_mprinc_arg;
+               xdr_nullstring;
+               xdr_nulltype;
+               xdr_osa_princ_ent_rec;
+               xdr_osa_pw_hist_ent;
+               xdr_purgekeys_arg;
+               xdr_rprinc_arg;
+               xdr_setkey3_arg;
+               xdr_setkey4_arg;
+               xdr_setkey_arg;
+               xdr_sstring_arg;
+               xdr_ui_4;
+               kadm5_init_iprop;
+};
diff --git a/krb5/lib/kdb/Makefile b/krb5/lib/kdb/Makefile
index ac7f058a7f11..57fe32e39347 100644
--- a/krb5/lib/kdb/Makefile
+++ b/krb5/lib/kdb/Makefile
@@ -17,6 +17,7 @@ LIB=          kdb5
 # SHLIB_MAJOR= 10
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        krb5profile gssrpc krb5 k5crypto com_err krb5support gssapi_krb5
+VERSION_MAP=   ${.CURDIR}/version.map
 
 SRCS=  decrypt_key.c \
        encrypt_key.c \
diff --git a/krb5/lib/kdb/version.map b/krb5/lib/kdb/version.map
new file mode 100644
index 000000000000..9522af1e9edd
--- /dev/null
+++ b/krb5/lib/kdb/version.map
@@ -0,0 +1,111 @@
+KRB5_KDB5_1.0 {
+       global:
+               krb5_db_setup_lib_handle;
+               krb5_db_open;
+               krb5_db_inited;
+               krb5_db_alloc;
+               krb5_db_free;
+               krb5_db_allowed_to_delegate_from;
+               krb5_db_audit_as_req;
+               krb5_db_check_allowed_to_delegate;
+               krb5_db_get_s4u_x509_principal;
+               krb5_db_check_policy_as;
+               krb5_db_check_policy_tgs;
+               krb5_db_check_transited_realms;
+               krb5_db_create;
+               krb5_db_delete_principal;
+               krb5_db_destroy;
+               krb5_db_fetch_mkey;
+               krb5_db_fetch_mkey_list;
+               krb5_db_fini;
+               krb5_db_free_principal;
+               krb5_db_get_age;
+               krb5_db_get_key_data_kvno;
+               krb5_db_get_context;
+               krb5_db_get_principal;
+               krb5_db_issue_pac;
+               krb5_db_iterate;
+               krb5_db_lock;
+               krb5_db_mkey_list_alias;
+               krb5_db_put_principal;
+               krb5_db_refresh_config;
+               krb5_db_rename_principal;
+               krb5_db_set_context;
+               krb5_db_setup_mkey_name;
+               krb5_db_unlock;
+               krb5_db_store_master_key;
+               krb5_db_store_master_key_list;
+               krb5_dbe_apw;
+               krb5_dbe_ark;
+               krb5_dbe_cpw;
+               krb5_dbe_create_key_data;
+               krb5_dbe_crk;
+               krb5_dbe_find_act_mkey;
+               krb5_dbe_fetch_act_key_list;
+               krb5_dbe_find_enctype;
+               krb5_dbe_find_mkey;
+               krb5_dbe_free_actkvno_list;
+               krb5_dbe_free_key_data_contents;
+               krb5_dbe_free_mkey_aux_list;
+               krb5_dbe_free_key_list;
+               krb5_dbe_free_string;
+               krb5_dbe_free_strings;
+               krb5_dbe_get_mkvno;
+               krb5_dbe_get_string;
+               krb5_dbe_get_strings;
+               krb5_dbe_compute_salt;
+               krb5_dbe_lookup_last_admin_unlock;
+               krb5_dbe_lookup_last_pwd_change;
+               krb5_dbe_lookup_actkvno;
+               krb5_dbe_lookup_mkey_aux;
+               krb5_dbe_lookup_mkvno;
+               krb5_dbe_lookup_mod_princ_data;
+               krb5_dbe_lookup_tl_data;
+               krb5_dbe_search_enctype;
+               krb5_dbe_set_string;
+               krb5_dbe_specialize_salt;
+               krb5_dbe_update_actkvno;
+               krb5_dbe_update_last_admin_unlock;
+               krb5_dbe_update_last_pwd_change;
+               krb5_dbe_update_mkey_aux;
+               krb5_dbe_update_mkvno;
+               krb5_dbe_update_mod_princ_data;
+               krb5_dbe_update_tl_data;
+               krb5_db_update_tl_data;
+               krb5_dbe_def_encrypt_key_data;
+               krb5_dbe_def_decrypt_key_data;
+               krb5_dbe_decrypt_key_data;
+               krb5_dbe_encrypt_key_data;
+               krb5_kt_kdb_ops;
+               krb5_ktkdb_close;
+               krb5_ktkdb_get_entry;
+               krb5_ktkdb_resolve;
+               krb5_ktkdb_set_context;
+               krb5_mkey_pwd_prompt1;
+               krb5_mkey_pwd_prompt2;
+               krb5_db_create_policy;
+               krb5_db_get_policy;
+               krb5_db_put_policy;
+               krb5_db_iter_policy;
+               krb5_db_delete_policy;
+               krb5_db_free_policy;
+               krb5_def_store_mkey_list;
+               krb5_db_promote;
+               krb5_db_register_keytab;
+               ulog_add_update;
+               ulog_init_header;
+               ulog_map;
+               ulog_set_role;
+               ulog_free_entries;
+               xdr_kdb_last_t;
+               xdr_kdb_incr_result_t;
+               xdr_kdb_fullresync_result_t;
+               ulog_fini;
+               ulog_get_entries;
+               ulog_get_last;
+               ulog_get_sno_status;
+               ulog_replay;
+               ulog_set_last;
+               xdr_kdb_incr_update_t;
+               krb5_dbe_sort_key_data;
+};
diff --git a/krb5/lib/krad/Makefile b/krb5/lib/krad/Makefile
index 4b18af482207..28751d9bf9b6 100644
--- a/krb5/lib/krad/Makefile
+++ b/krb5/lib/krad/Makefile
@@ -17,6 +17,7 @@ LIB=  krad
 # SHLIB_MAJOR= 0
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        krb5 k5crypto com_err krb5profile krb5support verto
+VERSION_MAP=   ${.CURDIR}/version.map
 
 SRCS=  attr.c \
        attrset.c \
diff --git a/krb5/lib/krad/version.map b/krb5/lib/krad/version.map
new file mode 100644
index 000000000000..7e058d9bd494
--- /dev/null
+++ b/krb5/lib/krad/version.map
@@ -0,0 +1,26 @@
+KRB5_KRAD_1.0 {
+       global:
+               krad_code_name2num;
+               krad_code_num2name;
+               krad_attr_name2num;
+               krad_attr_num2name;
+               krad_attrset_new;
+               krad_attrset_copy;
+               krad_attrset_free;
+               krad_attrset_add;
+               krad_attrset_add_number;
+               krad_attrset_del;
+               krad_attrset_get;
+               krad_packet_bytes_needed;
+               krad_packet_free;
+               krad_packet_new_request;
+               krad_packet_new_response;
+               krad_packet_decode_request;
+               krad_packet_decode_response;
+               krad_packet_encode;
+               krad_packet_get_code;
+               krad_packet_get_attr;
+               krad_client_new;
+               krad_client_free;
+               krad_client_send;
+};
diff --git a/krb5/lib/krb5/Makefile b/krb5/lib/krb5/Makefile
index bf90c7fc80f7..76f40a3174cc 100644
--- a/krb5/lib/krb5/Makefile
+++ b/krb5/lib/krb5/Makefile
@@ -17,6 +17,7 @@ LIB=          krb5
 LDFLAGS=-Wl,--no-undefined
 LIBADD=        krb5profile k5crypto com_err krb5support
 # SHLIB_MAJOR= 3
+VERSION_MAP=   ${.CURDIR}/version.map
 
 SRCS=  krb5_libinit.c
 
diff --git a/krb5/lib/krb5/version.map b/krb5/lib/krb5/version.map
new file mode 100644
index 000000000000..bd852023ff6c
--- /dev/null
+++ b/krb5/lib/krb5/version.map
@@ -0,0 +1,658 @@
+KRB5_KRB5_1.0 {
+       global:
+               _krb5_conf_boolean;
+               decode_krb5_ad_kdcissued;
+               decode_krb5_ap_rep;
+               decode_krb5_ap_rep_enc_part;
+               decode_krb5_ap_req;
+               decode_krb5_as_rep;
+               decode_krb5_as_req;
+               decode_krb5_authdata;
+               decode_krb5_authenticator;
+               decode_krb5_cammac;
+               decode_krb5_cred;
+               decode_krb5_enc_cred_part;
+               decode_krb5_enc_data;
+               decode_krb5_enc_kdc_rep_part;
+               decode_krb5_enc_priv_part;
+               decode_krb5_enc_sam_response_enc_2;
+               decode_krb5_enc_tkt_part;
+               decode_krb5_encryption_key;
+               decode_krb5_error;
+               decode_krb5_etype_info;
+               decode_krb5_etype_info2;
+               decode_krb5_fast_req;
+               decode_krb5_fast_response;
+               decode_krb5_iakerb_finished;
+               decode_krb5_iakerb_header;
+               decode_krb5_kdc_req_body;
+               decode_krb5_otp_tokeninfo;
+               decode_krb5_kkdcp_message;
+               decode_krb5_pa_enc_ts;
+               decode_krb5_pa_for_user;
+               decode_krb5_pa_fx_fast_reply;
+               decode_krb5_pa_fx_fast_request;
+               decode_krb5_pa_otp_challenge;
+               decode_krb5_pa_otp_req;
+               decode_krb5_pa_otp_enc_req;
+               decode_krb5_pa_pac_options;
+               decode_krb5_pa_pac_req;
+               decode_krb5_pa_s4u_x509_user;
+               decode_krb5_pa_spake;
+               decode_krb5_padata_sequence;
+               decode_krb5_priv;
+               decode_krb5_safe;
+               decode_krb5_sam_challenge_2;
+               decode_krb5_sam_challenge_2_body;
+               decode_krb5_sam_response_2;
+               decode_krb5_secure_cookie;
+               decode_krb5_setpw_req;
+               decode_krb5_spake_factor;
+               decode_krb5_tgs_rep;
+               decode_krb5_tgs_req;
+               decode_krb5_ticket;
+               decode_krb5_typed_data;
+               decode_utf8_strings;
+               encode_krb5_ad_kdcissued;
+               encode_krb5_ap_rep;
+               encode_krb5_ap_rep_enc_part;
+               encode_krb5_ap_req;
+               encode_krb5_as_rep;
+               encode_krb5_as_req;
+               encode_krb5_authdata;
+               encode_krb5_authenticator;
+               encode_krb5_cammac;
+               encode_krb5_checksum;
+               encode_krb5_cred;
+               encode_krb5_enc_cred_part;
+               encode_krb5_enc_data;
+               encode_krb5_enc_kdc_rep_part;
+               encode_krb5_enc_priv_part;
+               encode_krb5_enc_sam_response_enc_2;
+               encode_krb5_enc_tkt_part;
+               encode_krb5_encryption_key;
+               encode_krb5_error;
+               encode_krb5_etype_info;
+               encode_krb5_etype_info2;
+               encode_krb5_fast_response;
+               encode_krb5_iakerb_finished;
+               encode_krb5_iakerb_header;
+               encode_krb5_kdc_req_body;
+               encode_krb5_otp_tokeninfo;
+               encode_krb5_kkdcp_message;
+               encode_krb5_pa_enc_ts;
+               encode_krb5_pa_for_user;
+               encode_krb5_pa_fx_fast_reply;
+               encode_krb5_pa_otp_challenge;
+               encode_krb5_pa_otp_req;
+               encode_krb5_pa_otp_enc_req;
+               encode_krb5_pa_pac_options;
+               encode_krb5_pa_s4u_x509_user;
+               encode_krb5_pa_spake;
+               encode_krb5_padata_sequence;
+               encode_krb5_pkinit_supp_pub_info;
+               encode_krb5_priv;
+               encode_krb5_s4u_userid;
+               encode_krb5_safe;
+               encode_krb5_sam_challenge_2;
+               encode_krb5_sam_challenge_2_body;
+               encode_krb5_sam_response_2;
+               encode_krb5_secure_cookie;
+               encode_krb5_sp80056a_other_info;
+               encode_krb5_spake_factor;
+               encode_krb5_tgs_rep;
+               encode_krb5_tgs_req;
+               encode_krb5_ticket;
+               encode_krb5_typed_data;
+               encode_utf8_strings;
+               et_asn1_error_table;
+               et_k524_error_table;
+               et_kdb5_error_table;
+               et_krb5_error_table;
+               et_kv5m_error_table;
+               et_prof_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;
+               initialize_prof_error_table;
+               k5_add_empty_pa_data;
+               k5_add_pa_data_element;
+               k5_add_pa_data_from_data;
+               k5_alloc_pa_data;
+               k5_authind_decode;
+               k5_build_conf_principals;
+               k5_cc_store_primary_cred;
+               k5_ccselect_free_context;
+               k5_change_error_message_code;
+               k5_etypes_contains;
+               k5_expand_path_tokens;
+               k5_expand_path_tokens_extra;
+               k5_externalize_auth_context;
+               k5_externalize_authdata;
+               k5_externalize_authdata_context;
+               k5_externalize_context;
+               k5_externalize_keyblock;
+               k5_externalize_principal;
*** 953 LINES SKIPPED ***

Reply via email to