Am Tage des Herren Tue, 22 Jul 2025 15:48:50 GMT
Cy Schubert <c...@freebsd.org> schrieb:

> 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 ***
> 

This commit breaks buildworld for me:

[...]
--- libzfs.so.4 ---
Building shared library libzfs.so.4
cc -target x86_64-unknown-freebsd15.0 
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -Wl,-zrelro    
-fstack-protector-strong -shared -Wl,-x -Wl,--fatal-warnings 
-Wl,--warn-shared-textrel  -o libzfs.so.4 -Wl,-soname,libzfs.so.4 
libzfs_changelist.pico libzfs_config.pico libzfs_crypto.pico 
libzfs_dataset.pico libzfs_diff.pico libzfs_import.pico libzfs_iter.pico 
libzfs_mount.pico libzfs_pool.pico libzfs_sendrecv.pico libzfs_status.pico 
libzfs_util.pico libzfs_compat.pico libzfs_zmount.pico libshare.pico nfs.pico 
os/freebsd/nfs.pico os/freebsd/smb.pico cityhash.pico zfeature_common.pico 
zfs_comutil.pico zfs_deleg.pico zfs_fletcher.pico zfs_fletcher_superscalar.pico 
zfs_fletcher_superscalar4.pico zfs_namecheck.pico zfs_prop.pico zfs_valstr.pico 
zpool_prop.pico zprop_common.pico zfs_fletcher_intel.pico zfs_fletcher_sse.pico 
zfs_fletcher_avx512.pico  -lavl  -lbsdxml  -lcrypto  -lgeom  -lm  -lmd  
-lnvpair   -lrt  -lumem  -lutil  -luutil  -lz  -lzfs_core  -lzutil -lpthread 
--- krb5/lib/krb5__L ---
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'et_asn1_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'et_k524_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'et_kdb5_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'et_krb5_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'et_kv5m_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'et_prof_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_asn1_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_k524_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_kdb5_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_krb5_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_k5e1_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_kv5m_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'initialize_prof_error_table' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_abandon' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_add_relation' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_clear_relation' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_flush' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_flush_to_buffer' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_flush_to_file' failed: symbol not defined
ld: error: version script assignment of 'KRB5_KRB5_1.0' to symbol 
'profile_free_buffer' failed: symbol not defined
ld: error: too many errors emitted, stopping now (use --error-limit=0 to see 
all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [libkrb5.so.121] Error code 1

make[4]: stopped making "all" in /usr/src/krb5/lib/krb5
make[4]: 1 error
[...]

Kind regards
oh

-- 

A FreeBSD user

Attachment: pgpOLamM74jXA.pgp
Description: OpenPGP digital signature

Reply via email to