The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=3e13aae0d1f1a28352d52e41d6ef8f02efd9150e
commit 3e13aae0d1f1a28352d52e41d6ef8f02efd9150e Author: Cy Schubert <c...@freebsd.org> AuthorDate: 2025-09-22 15:06:41 +0000 Commit: Cy Schubert <c...@freebsd.org> CommitDate: 2025-09-22 15:42:15 +0000 krb5: Remove tests Tests contains a file that contains spaces in it. This causes the freebsd-update build scripts some issues. As we don't need the tests directory let's simply remove it. MFC after: 3 days or as determined by re@ MFC to: stable/15 --- crypto/krb5/src/tests/Makefile.in | 203 --- crypto/krb5/src/tests/adata.c | 381 ----- crypto/krb5/src/tests/asn.1/Makefile.in | 98 -- crypto/krb5/src/tests/asn.1/README | 28 - crypto/krb5/src/tests/asn.1/cammac.asn1 | 30 - crypto/krb5/src/tests/asn.1/debug.h | 46 - crypto/krb5/src/tests/asn.1/deps | 75 - crypto/krb5/src/tests/asn.1/krb5.asn1 | 392 ----- crypto/krb5/src/tests/asn.1/krb5_decode_leak.c | 676 -------- crypto/krb5/src/tests/asn.1/krb5_decode_test.c | 1315 -------------- crypto/krb5/src/tests/asn.1/krb5_encode_test.c | 850 --------- crypto/krb5/src/tests/asn.1/ktest.c | 1796 -------------------- crypto/krb5/src/tests/asn.1/ktest.h | 210 --- crypto/krb5/src/tests/asn.1/ktest_equal.c | 1054 ------------ crypto/krb5/src/tests/asn.1/ktest_equal.h | 154 -- crypto/krb5/src/tests/asn.1/ldap_encode.out | 1 - crypto/krb5/src/tests/asn.1/ldap_trval.out | 30 - crypto/krb5/src/tests/asn.1/make-vectors.c | 333 ---- crypto/krb5/src/tests/asn.1/otp.asn1 | 109 -- crypto/krb5/src/tests/asn.1/pkinit-agility.asn1 | 99 -- crypto/krb5/src/tests/asn.1/pkinit.asn1 | 253 --- crypto/krb5/src/tests/asn.1/pkinit_encode.out | 8 - crypto/krb5/src/tests/asn.1/pkinit_trval.out | 97 -- crypto/krb5/src/tests/asn.1/pkix.asn1 | 654 ------- crypto/krb5/src/tests/asn.1/reference_encode.out | 78 - crypto/krb5/src/tests/asn.1/spake.asn1 | 44 - crypto/krb5/src/tests/asn.1/t_trval.c | 105 -- crypto/krb5/src/tests/asn.1/trval.c | 742 -------- crypto/krb5/src/tests/asn.1/trval_reference.out | 1584 ----------------- crypto/krb5/src/tests/asn.1/utility.c | 142 -- crypto/krb5/src/tests/asn.1/utility.h | 57 - crypto/krb5/src/tests/au_dict.json | 64 - crypto/krb5/src/tests/conccache.c | 190 --- crypto/krb5/src/tests/create/Makefile.in | 17 - crypto/krb5/src/tests/create/deps | 14 - crypto/krb5/src/tests/create/kdb5_mkdums.c | 398 ----- crypto/krb5/src/tests/deps | 181 -- crypto/krb5/src/tests/dumpfiles/dump | 11 - crypto/krb5/src/tests/dumpfiles/dump.16 | 7 - crypto/krb5/src/tests/dumpfiles/dump.b7 | 11 - crypto/krb5/src/tests/dumpfiles/dump.ov | 9 - crypto/krb5/src/tests/dumpfiles/dump.r13 | 11 - crypto/krb5/src/tests/dumpfiles/dump.r18 | 11 - crypto/krb5/src/tests/etinfo.c | 172 -- crypto/krb5/src/tests/forward.c | 93 - crypto/krb5/src/tests/fuzzing/Makefile.in | 138 -- crypto/krb5/src/tests/fuzzing/README | 26 - crypto/krb5/src/tests/fuzzing/deps | 222 --- crypto/krb5/src/tests/fuzzing/fuzz_aes.c | 104 -- .../tests/fuzzing/fuzz_aes_seed_corpus/input.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_asn.c | 188 -- .../decode_authenticator_3.bin | Bin 165 -> 0 bytes .../decode_authenticator_4.bin | Bin 168 -> 0 bytes .../decode_authenticator_6.bin | 2 - .../decode_enc_tkt_part_30.bin | Bin 167 -> 0 bytes .../decode_encryption_key_15.bin | 2 - .../decode_encryption_key_21.bin | 2 - .../decode_encryption_key_22.bin | Bin 20 -> 0 bytes .../decode_encryption_key_24.bin | 2 - .../decode_fail_encryption_key_16.bin | Bin 21 -> 0 bytes .../fuzz_asn_seed_corpus/encode_auth_pack_80.bin | 4 - .../fuzz_asn_seed_corpus/encode_cammac_68.bin | 1 - .../fuzz_asn_seed_corpus/encode_cammac_69.bin | 3 - .../fuzz_asn_seed_corpus/encode_enc_data_47.bin | Bin 40 -> 0 bytes .../encode_kdc_dh_key_info_81.bin | Bin 39 -> 0 bytes .../encode_kkdcp_message_67.bin | Bin 512 -> 0 bytes .../encode_krb5_ad_kdcissued_54.bin | 1 - .../encode_krb5_ap_rep_enc_part_16.bin | 1 - .../fuzz_asn_seed_corpus/encode_krb5_ap_req_14.bin | Bin 53 -> 0 bytes .../fuzz_asn_seed_corpus/encode_krb5_as_rep_10.bin | Bin 197 -> 0 bytes .../fuzz_asn_seed_corpus/encode_krb5_as_req_19.bin | Bin 107 -> 0 bytes .../encode_krb5_authdata_36.bin | 1 - .../encode_krb5_authenticator_2.bin | 1 - .../fuzz_asn_seed_corpus/encode_krb5_cred_31.bin | Bin 249 -> 0 bytes .../encode_krb5_enc_cred_part_32.bin | Bin 551 -> 0 bytes .../encode_krb5_enc_cred_part_33.bin | Bin 274 -> 0 bytes .../encode_krb5_enc_kdc_rep_part_8.bin | Bin 181 -> 0 bytes .../encode_krb5_enc_priv_part_29.bin | Bin 81 -> 0 bytes .../encode_krb5_enc_priv_part_30.bin | Bin 33 -> 0 bytes .../encode_krb5_enc_tkt_part_5.bin | Bin 280 -> 0 bytes .../encode_krb5_enc_tkt_part_7.bin | Bin 274 -> 0 bytes .../fuzz_asn_seed_corpus/encode_krb5_error_34.bin | 3 - .../fuzz_asn_seed_corpus/encode_krb5_error_35.bin | 1 - .../encode_krb5_etype_info2_43.bin | Bin 83 -> 0 bytes .../encode_krb5_etype_info2_44.bin | Bin 34 -> 0 bytes .../encode_krb5_etype_info_40.bin | Bin 53 -> 0 bytes .../encode_krb5_etype_info_41.bin | Bin 24 -> 0 bytes .../encode_krb5_fast_response_57.bin | 2 - .../encode_krb5_iakerb_finished_56.bin | 1 - .../encode_krb5_iakerb_header_55.bin | 3 - .../encode_krb5_kdc_req_body_24.bin | Bin 258 -> 0 bytes .../encode_krb5_tgs_rep_13.bin | Bin 160 -> 0 bytes .../encode_krb5_tgs_req_23.bin | Bin 426 -> 0 bytes .../encode_otp_tokeninfo_61.bin | Bin 116 -> 0 bytes .../encode_pa_enc_ts (no usec)_45.bin | 1 - .../fuzz_asn_seed_corpus/encode_pa_for_user_53.bin | 2 - .../encode_pa_fx_fast_reply_59.bin | Bin 43 -> 0 bytes .../encode_pa_otp_challenge_63.bin | Bin 168 -> 0 bytes .../fuzz_asn_seed_corpus/encode_pa_otp_req_64.bin | Bin 46 -> 0 bytes .../fuzz_asn_seed_corpus/encode_pa_otp_req_65.bin | Bin 188 -> 0 bytes .../encode_pa_pk_as_rep_78.bin | 3 - .../encode_pa_pk_as_rep_79.bin | 1 - .../encode_pa_s4u_x509_user_54.bin | Bin 106 -> 0 bytes .../fuzz_asn_seed_corpus/encode_pa_spake_73.bin | 2 - .../fuzz_asn_seed_corpus/encode_pa_spake_74.bin | 1 - .../fuzz_asn_seed_corpus/encode_pa_spake_75.bin | Bin 54 -> 0 bytes .../fuzz_asn_seed_corpus/encode_pa_spake_76.bin | Bin 39 -> 0 bytes .../encode_padata_sequence_38.bin | Bin 2 -> 0 bytes .../fuzz_asn_seed_corpus/encode_priv_28.bin | Bin 53 -> 0 bytes .../encode_reply_key_pack_82.bin | 2 - .../fuzz_asn_seed_corpus/encode_safe_26.bin | Bin 112 -> 0 bytes .../fuzz_asn_seed_corpus/encode_safe_27.bin | Bin 64 -> 0 bytes .../encode_sam_challenge_2_49.bin | 1 - .../encode_sam_challenge_2_body_50.bin | Bin 102 -> 0 bytes .../encode_sam_response_2_51.bin | Bin 68 -> 0 bytes .../encode_secure_cookie_70.bin | 1 - .../encode_sp80056a_other_info_83.bin | 2 - .../encode_spake_factor_71.bin | 1 - .../fuzz_asn_seed_corpus/encode_tgs_rep_11.bin | Bin 237 -> 0 bytes .../fuzz_asn_seed_corpus/encode_tgs_rep_12.bin | Bin 197 -> 0 bytes .../fuzz_asn_seed_corpus/encode_tgs_req_20.bin | Bin 488 -> 0 bytes .../fuzz_asn_seed_corpus/encode_tgs_req_21.bin | Bin 280 -> 0 bytes .../fuzz_asn_seed_corpus/encode_ticket_3.bin | Bin 94 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_attrset.c | 68 - .../fuzzing/fuzz_attrset_seed_corpus/t_attrset.bin | 2 - crypto/krb5/src/tests/fuzzing/fuzz_chpw.c | 65 - .../fuzz_chpw_seed_corpus/result_ad_age.bin | Bin 30 -> 0 bytes .../fuzz_chpw_seed_corpus/result_ad_all.bin | Bin 30 -> 0 bytes .../fuzz_chpw_seed_corpus/result_ad_complex.bin | Bin 30 -> 0 bytes .../fuzz_chpw_seed_corpus/result_ad_history.bin | Bin 30 -> 0 bytes .../fuzz_chpw_seed_corpus/result_ad_length.bin | Bin 30 -> 0 bytes .../fuzz_chpw_seed_corpus/result_invalid_utf8.bin | Bin 19 -> 0 bytes .../fuzzing/fuzz_chpw_seed_corpus/result_utf8.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_crypto.c | 171 -- .../fuzzing/fuzz_crypto_seed_corpus/input.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_des.c | 109 -- .../tests/fuzzing/fuzz_des_seed_corpus/input.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_gss.c | 73 - .../fuzz_gss_seed_corpus/establish_contexts_ex.bin | Bin 469 -> 0 bytes .../gss_accept_sec_context_kerberos.bin | Bin 599 -> 0 bytes .../gss_accept_sec_context_spnego.bin | Bin 664 -> 0 bytes .../fuzzing/fuzz_gss_seed_corpus/realm_query.bin | Bin 18 -> 0 bytes .../fuzz_gss_seed_corpus/start_accept_context.bin | Bin 212 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_json.c | 74 - .../fuzzing/fuzz_json_seed_corpus/seed_1.json | 1 - .../fuzzing/fuzz_json_seed_corpus/seed_2.json | 1 - .../fuzzing/fuzz_json_seed_corpus/seed_3.json | 1 - crypto/krb5/src/tests/fuzzing/fuzz_kdc.c | 72 - .../tests/fuzzing/fuzz_kdc_seed_corpus/input.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_krad.c | 93 - .../fuzzing/fuzz_krad_seed_corpus/do_auth_1.bin | Bin 20 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_krb.c | 170 -- crypto/krb5/src/tests/fuzzing/fuzz_krb5_ticket.c | 85 - .../fuzzing/fuzz_krb5_ticket_seed_corpus/gcred.bin | Bin 470 -> 0 bytes .../fuzz_krb5_ticket_seed_corpus/s4u2proxy.bin | Bin 505 -> 0 bytes .../tests/fuzzing/fuzz_krb_seed_corpus/deltat.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_1.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_2.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_3.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_4.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_5.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_6.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/enctype_7.bin | 1 - .../fuzz_krb_seed_corpus/host_string_11.bin | 1 - .../fuzz_krb_seed_corpus/host_string_12.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/host_string_2.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/host_string_4.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/host_string_5.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/host_string_8.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/host_string_9.bin | 1 - .../fuzzing/fuzz_krb_seed_corpus/parse_name.bin | 1 - .../fuzz_krb_seed_corpus/principal_425_name.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_marshal_cred.c | 69 - .../cred_1_input_1.bin | Bin 165 -> 0 bytes .../cred_1_input_2.bin | Bin 173 -> 0 bytes .../cred_1_input_4.bin | Bin 173 -> 0 bytes .../cred_2_input_1.bin | Bin 113 -> 0 bytes .../cred_2_input_2.bin | Bin 121 -> 0 bytes .../cred_2_input_4.bin | Bin 121 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_marshal_princ.c | 69 - .../princ_input_1.bin | Bin 33 -> 0 bytes .../princ_input_2.bin | Bin 37 -> 0 bytes .../princ_input_4.bin | Bin 37 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_ndr.c | 67 - .../fuzzing/fuzz_ndr_seed_corpus/s4u_di_double.bin | Bin 264 -> 0 bytes .../fuzzing/fuzz_ndr_seed_corpus/s4u_di_long.bin | Bin 184 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_oid.c | 65 - .../tests/fuzzing/fuzz_oid_seed_corpus/oid_19.bin | 1 - .../tests/fuzzing/fuzz_oid_seed_corpus/oid_20.bin | Bin 2 -> 0 bytes .../tests/fuzzing/fuzz_oid_seed_corpus/oid_21.bin | Bin 3 -> 0 bytes .../tests/fuzzing/fuzz_oid_seed_corpus/oid_22.bin | Bin 2 -> 0 bytes .../tests/fuzzing/fuzz_oid_seed_corpus/oid_24.bin | Bin 4 -> 0 bytes .../tests/fuzzing/fuzz_oid_seed_corpus/oid_8.bin | 1 - crypto/krb5/src/tests/fuzzing/fuzz_pac.c | 93 - .../fuzz_pac_seed_corpus/s4u_pac_regular.bin | Bin 624 -> 0 bytes .../fuzzing/fuzz_pac_seed_corpus/saved_pac.bin | Bin 624 -> 0 bytes crypto/krb5/src/tests/fuzzing/fuzz_profile.c | 87 - .../fuzzing/fuzz_profile_seed_corpus/final2.ini | 5 - .../fuzzing/fuzz_profile_seed_corpus/final3.ini | 6 - .../fuzzing/fuzz_profile_seed_corpus/final4.ini | 6 - .../fuzzing/fuzz_profile_seed_corpus/final5.ini | 5 - .../fuzzing/fuzz_profile_seed_corpus/modtest.conf | 1 - .../fuzzing/fuzz_profile_seed_corpus/test3.ini | 3 - .../fuzzing/fuzz_profile_seed_corpus/testinc.ini | 6 - .../fuzzing/fuzz_profile_seed_corpus/testinc2.ini | 2 - crypto/krb5/src/tests/fuzzing/fuzz_util.c | 159 -- .../tests/fuzzing/fuzz_util_seed_corpus/base64.txt | 1 - .../tests/fuzzing/fuzz_util_seed_corpus/hax.txt | 1 - .../tests/fuzzing/fuzz_util_seed_corpus/host.txt | 1 - .../tests/fuzzing/fuzz_util_seed_corpus/name.txt | 1 - crypto/krb5/src/tests/fuzzing/oss-fuzz.sh | 28 - crypto/krb5/src/tests/gcred.c | 124 -- crypto/krb5/src/tests/gss-threads/Makefile.in | 34 - crypto/krb5/src/tests/gss-threads/README | 165 -- crypto/krb5/src/tests/gss-threads/deps | 15 - crypto/krb5/src/tests/gss-threads/gss-client.c | 865 ---------- crypto/krb5/src/tests/gss-threads/gss-misc.c | 410 ----- crypto/krb5/src/tests/gss-threads/gss-misc.h | 51 - crypto/krb5/src/tests/gss-threads/gss-server.c | 850 --------- crypto/krb5/src/tests/gssapi/Makefile.in | 141 -- crypto/krb5/src/tests/gssapi/ccinit.c | 72 - crypto/krb5/src/tests/gssapi/ccrefresh.c | 80 - crypto/krb5/src/tests/gssapi/common.c | 282 --- crypto/krb5/src/tests/gssapi/common.h | 90 - crypto/krb5/src/tests/gssapi/deps | 203 --- crypto/krb5/src/tests/gssapi/reload.c | 83 - crypto/krb5/src/tests/gssapi/t_accname.c | 93 - crypto/krb5/src/tests/gssapi/t_add_cred.c | 137 -- crypto/krb5/src/tests/gssapi/t_authind.py | 51 - crypto/krb5/src/tests/gssapi/t_bindings.c | 124 -- crypto/krb5/src/tests/gssapi/t_bindings.py | 61 - crypto/krb5/src/tests/gssapi/t_ccselect.c | 90 - crypto/krb5/src/tests/gssapi/t_ccselect.py | 164 -- crypto/krb5/src/tests/gssapi/t_ciflags.c | 120 -- crypto/krb5/src/tests/gssapi/t_client_keytab.py | 189 -- crypto/krb5/src/tests/gssapi/t_context.c | 60 - crypto/krb5/src/tests/gssapi/t_credstore.c | 140 -- crypto/krb5/src/tests/gssapi/t_credstore.py | 97 -- crypto/krb5/src/tests/gssapi/t_enctypes.c | 205 --- crypto/krb5/src/tests/gssapi/t_enctypes.py | 147 -- crypto/krb5/src/tests/gssapi/t_err.c | 126 -- crypto/krb5/src/tests/gssapi/t_export_cred.c | 115 -- crypto/krb5/src/tests/gssapi/t_export_cred.py | 50 - crypto/krb5/src/tests/gssapi/t_export_name.c | 119 -- crypto/krb5/src/tests/gssapi/t_gssapi.py | 258 --- crypto/krb5/src/tests/gssapi/t_gssexts.c | 247 --- crypto/krb5/src/tests/gssapi/t_iakerb.c | 87 - crypto/krb5/src/tests/gssapi/t_imp_cred.c | 101 -- crypto/krb5/src/tests/gssapi/t_imp_name.c | 94 - crypto/krb5/src/tests/gssapi/t_inq_cred.c | 116 -- crypto/krb5/src/tests/gssapi/t_inq_ctx.c | 241 --- crypto/krb5/src/tests/gssapi/t_inq_mechs_name.c | 64 - crypto/krb5/src/tests/gssapi/t_invalid.c | 795 --------- crypto/krb5/src/tests/gssapi/t_iov.c | 547 ------ crypto/krb5/src/tests/gssapi/t_lifetime.c | 140 -- crypto/krb5/src/tests/gssapi/t_namingexts.c | 227 --- crypto/krb5/src/tests/gssapi/t_negoex.py | 149 -- crypto/krb5/src/tests/gssapi/t_oid.c | 224 --- crypto/krb5/src/tests/gssapi/t_pcontok.c | 190 --- crypto/krb5/src/tests/gssapi/t_prf.c | 190 --- crypto/krb5/src/tests/gssapi/t_s4u.c | 334 ---- crypto/krb5/src/tests/gssapi/t_s4u.py | 403 ----- crypto/krb5/src/tests/gssapi/t_s4u2proxy_krb5.c | 164 -- crypto/krb5/src/tests/gssapi/t_saslname.c | 165 -- crypto/krb5/src/tests/gssapi/t_spnego.c | 314 ---- crypto/krb5/src/tests/gssapi/t_srcattrs.c | 63 - crypto/krb5/src/tests/gssapi/t_store_cred.c | 114 -- crypto/krb5/src/tests/gssapi/t_store_cred.py | 80 - crypto/krb5/src/tests/hammer/Makefile.in | 15 - crypto/krb5/src/tests/hammer/deps | 13 - crypto/krb5/src/tests/hammer/kdc5_hammer.c | 494 ------ crypto/krb5/src/tests/hammer/pp.c | 27 - crypto/krb5/src/tests/hist.c | 113 -- crypto/krb5/src/tests/hooks.c | 253 --- crypto/krb5/src/tests/hrealm.c | 99 -- crypto/krb5/src/tests/icinterleave.c | 128 -- crypto/krb5/src/tests/icred.c | 144 -- crypto/krb5/src/tests/jsonwalker.py | 105 -- crypto/krb5/src/tests/kcmserver.py | 336 ---- crypto/krb5/src/tests/kdbtest.c | 403 ----- crypto/krb5/src/tests/localauth.c | 72 - crypto/krb5/src/tests/misc/Makefile.in | 58 - crypto/krb5/src/tests/misc/deps | 44 - crypto/krb5/src/tests/misc/test_chpw_message.c | 174 -- crypto/krb5/src/tests/misc/test_cxx_gss.cpp | 10 - crypto/krb5/src/tests/misc/test_cxx_k5int.cpp | 20 - crypto/krb5/src/tests/misc/test_cxx_kadm5.cpp | 15 - crypto/krb5/src/tests/misc/test_cxx_krb5.cpp | 19 - crypto/krb5/src/tests/misc/test_cxx_rpc.cpp | 14 - crypto/krb5/src/tests/misc/test_getpw.c | 51 - crypto/krb5/src/tests/misc/test_getsockname.c | 117 -- crypto/krb5/src/tests/misc/test_nfold.c | 66 - crypto/krb5/src/tests/pkinit-certs/ca.pem | 29 - crypto/krb5/src/tests/pkinit-certs/eckey.pem | 5 - crypto/krb5/src/tests/pkinit-certs/ecuser.pem | 24 - crypto/krb5/src/tests/pkinit-certs/generic.p12 | Bin 2560 -> 0 bytes crypto/krb5/src/tests/pkinit-certs/generic.pem | 21 - crypto/krb5/src/tests/pkinit-certs/kdc.pem | 29 - crypto/krb5/src/tests/pkinit-certs/make-certs.sh | 179 -- crypto/krb5/src/tests/pkinit-certs/privkey-enc.pem | 30 - crypto/krb5/src/tests/pkinit-certs/privkey.pem | 28 - crypto/krb5/src/tests/pkinit-certs/user-enc.p12 | Bin 2920 -> 0 bytes crypto/krb5/src/tests/pkinit-certs/user-upn.p12 | Bin 2912 -> 0 bytes crypto/krb5/src/tests/pkinit-certs/user-upn.pem | 28 - crypto/krb5/src/tests/pkinit-certs/user-upn2.p12 | Bin 2896 -> 0 bytes crypto/krb5/src/tests/pkinit-certs/user-upn2.pem | 28 - crypto/krb5/src/tests/pkinit-certs/user-upn3.p12 | Bin 2912 -> 0 bytes crypto/krb5/src/tests/pkinit-certs/user-upn3.pem | 28 - crypto/krb5/src/tests/pkinit-certs/user.p12 | Bin 2920 -> 0 bytes crypto/krb5/src/tests/pkinit-certs/user.pem | 28 - crypto/krb5/src/tests/plugorder.c | 96 -- crypto/krb5/src/tests/proxy-certs/ca.pem | 28 - crypto/krb5/src/tests/proxy-certs/make-certs.sh | 124 -- crypto/krb5/src/tests/proxy-certs/proxy-badsig.pem | 56 - crypto/krb5/src/tests/proxy-certs/proxy-ideal.pem | 56 - .../krb5/src/tests/proxy-certs/proxy-no-match.pem | 54 - crypto/krb5/src/tests/proxy-certs/proxy-san.pem | 56 - .../krb5/src/tests/proxy-certs/proxy-subject.pem | 54 - crypto/krb5/src/tests/rdreq.c | 118 -- crypto/krb5/src/tests/replay.c | 172 -- crypto/krb5/src/tests/responder.c | 431 ----- crypto/krb5/src/tests/s2p.c | 81 - crypto/krb5/src/tests/s4u2proxy.c | 147 -- crypto/krb5/src/tests/s4u2self.c | 128 -- crypto/krb5/src/tests/shlib/Makefile.in | 23 - crypto/krb5/src/tests/shlib/deps | 8 - crypto/krb5/src/tests/shlib/t_loader.c | 374 ---- crypto/krb5/src/tests/t_alias.py | 124 -- crypto/krb5/src/tests/t_audit.py | 27 - crypto/krb5/src/tests/t_authdata.py | 362 ---- crypto/krb5/src/tests/t_bogus_kdc_req.py | 42 - crypto/krb5/src/tests/t_ccache.py | 202 --- crypto/krb5/src/tests/t_certauth.py | 65 - crypto/krb5/src/tests/t_changepw.py | 70 - crypto/krb5/src/tests/t_crossrealm.py | 192 --- crypto/krb5/src/tests/t_cve-2012-1014.py | 29 - crypto/krb5/src/tests/t_cve-2012-1015.py | 36 - crypto/krb5/src/tests/t_cve-2013-1416.py | 13 - crypto/krb5/src/tests/t_cve-2013-1417.py | 11 - crypto/krb5/src/tests/t_cve-2021-36222.py | 46 - crypto/krb5/src/tests/t_dump.py | 94 - crypto/krb5/src/tests/t_errmsg.py | 27 - crypto/krb5/src/tests/t_etype_info.py | 69 - crypto/krb5/src/tests/t_general.py | 74 - crypto/krb5/src/tests/t_hooks.py | 8 - crypto/krb5/src/tests/t_hostrealm.py | 140 -- crypto/krb5/src/tests/t_inetd.c | 128 -- crypto/krb5/src/tests/t_iprop.py | 520 ------ crypto/krb5/src/tests/t_kadm5_auth.py | 80 - crypto/krb5/src/tests/t_kadm5_hook.py | 15 - crypto/krb5/src/tests/t_kadmin.py | 66 - crypto/krb5/src/tests/t_kadmin_acl.py | 450 ----- crypto/krb5/src/tests/t_kadmin_parsing.py | 82 - crypto/krb5/src/tests/t_kdb.py | 637 ------- crypto/krb5/src/tests/t_kdb_locking.py | 32 - crypto/krb5/src/tests/t_kdc_log.py | 21 - crypto/krb5/src/tests/t_kdcoptions.py | 100 -- crypto/krb5/src/tests/t_kdcpolicy.py | 65 - crypto/krb5/src/tests/t_keydata.py | 49 - crypto/krb5/src/tests/t_keyrollover.py | 100 -- crypto/krb5/src/tests/t_keytab.py | 209 --- crypto/krb5/src/tests/t_kprop.py | 125 -- crypto/krb5/src/tests/t_localauth.py | 154 -- crypto/krb5/src/tests/t_mkey.py | 344 ---- crypto/krb5/src/tests/t_otp.py | 275 --- crypto/krb5/src/tests/t_pkinit.py | 469 ----- crypto/krb5/src/tests/t_policy.py | 222 --- crypto/krb5/src/tests/t_preauth.py | 265 --- crypto/krb5/src/tests/t_princflags.py | 138 -- crypto/krb5/src/tests/t_proxy.py | 220 --- crypto/krb5/src/tests/t_pwqual.py | 78 - crypto/krb5/src/tests/t_rdreq.py | 138 -- crypto/krb5/src/tests/t_referral.py | 142 -- crypto/krb5/src/tests/t_renew.py | 122 -- crypto/krb5/src/tests/t_renprinc.py | 45 - crypto/krb5/src/tests/t_replay.py | 6 - crypto/krb5/src/tests/t_salt.py | 55 - crypto/krb5/src/tests/t_sendto_kdc.py | 45 - crypto/krb5/src/tests/t_sesskeynego.py | 94 - crypto/krb5/src/tests/t_skew.py | 55 - crypto/krb5/src/tests/t_sn2princ.py | 167 -- crypto/krb5/src/tests/t_spake.py | 149 -- crypto/krb5/src/tests/t_stringattr.py | 41 - crypto/krb5/src/tests/t_tabdump.py | 86 - crypto/krb5/src/tests/t_u2u.py | 60 - crypto/krb5/src/tests/t_unlockiter.py | 20 - crypto/krb5/src/tests/t_y2038.py | 79 - crypto/krb5/src/tests/threads/Makefile.in | 40 - crypto/krb5/src/tests/threads/deps | 27 - crypto/krb5/src/tests/threads/gss-perf.c | 455 ----- crypto/krb5/src/tests/threads/init_ctx.c | 273 --- crypto/krb5/src/tests/threads/prof1.c | 105 -- crypto/krb5/src/tests/threads/profread.c | 287 ---- crypto/krb5/src/tests/threads/t_rcache.c | 260 --- crypto/krb5/src/tests/unlockiter.c | 276 --- crypto/krb5/src/tests/verify/Makefile.in | 16 - crypto/krb5/src/tests/verify/deps | 14 - crypto/krb5/src/tests/verify/kdb5_verify.c | 440 ----- crypto/krb5/src/tests/verify/pkey.c | 24 - 399 files changed, 41351 deletions(-) diff --git a/crypto/krb5/src/tests/Makefile.in b/crypto/krb5/src/tests/Makefile.in deleted file mode 100644 index 41ac0d3b2a29..000000000000 --- a/crypto/krb5/src/tests/Makefile.in +++ /dev/null @@ -1,203 +0,0 @@ -mydir=tests -BUILDTOP=$(REL).. -SUBDIRS = asn.1 create hammer verify gssapi shlib gss-threads misc threads \ - @fuzz_dir@ - -RUN_DB_TEST = $(RUN_SETUP) KRB5_KDC_PROFILE=kdc.conf KRB5_CONFIG=krb5.conf \ - GSS_MECH_CONFIG=mech.conf LC_ALL=C $(VALGRIND) - -OBJS= adata.o conccache.o etinfo.o forward.o gcred.o hist.o hooks.o hrealm.o \ - icinterleave.o icred.o kdbtest.o localauth.o plugorder.o rdreq.o \ - replay.o responder.o s2p.o s4u2self.o s4u2proxy.o t_inetd.o \ - unlockiter.o -EXTRADEPSRCS= adata.c conccache.c etinfo.c forward.c gcred.c hist.c hooks.c \ - hrealm.c icinterleave.c icred.c kdbtest.c localauth.c plugorder.c \ - rdreq.c replay.c responder.c s2p.c s4u2self.c s4u2proxy.c t_inetd.c \ - unlockiter.c - -TEST_DB = ./testdb -TEST_REALM = FOO.TEST.REALM -TEST_MKEY = footes -TEST_NUM = 65 -TEST_DEPTH = 5 -TEST_PREFIX = "foo bar" - -KADMIN_OPTS= -d $(TEST_DB) -r $(TEST_REALM) -P $(TEST_MKEY) -KTEST_OPTS= $(KADMIN_OPTS) -p $(TEST_PREFIX) -n $(TEST_NUM) -D $(TEST_DEPTH) - -adata: adata.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ adata.o $(KRB5_BASE_LIBS) - -conccache: conccache.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ conccache.o $(KRB5_BASE_LIBS) - -etinfo: etinfo.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ etinfo.o $(KRB5_BASE_LIBS) - -forward: forward.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ forward.o $(KRB5_BASE_LIBS) - -gcred: gcred.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ gcred.o $(KRB5_BASE_LIBS) - -hist: hist.o $(KDB5_DEPLIBS) $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ hist.o $(KDB5_LIBS) $(KADMSRV_LIBS) $(KRB5_BASE_LIBS) - -hooks: hooks.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ hooks.o $(KRB5_BASE_LIBS) - -hrealm: hrealm.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ hrealm.o $(KRB5_BASE_LIBS) - -icinterleave: icinterleave.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ icinterleave.o $(KRB5_BASE_LIBS) - -icred: icred.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ icred.o $(KRB5_BASE_LIBS) - -kdbtest: kdbtest.o $(KDB5_DEPLIBS) $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ kdbtest.o $(KDB5_LIBS) $(KADMSRV_LIBS) \ - $(KRB5_BASE_LIBS) - -localauth: localauth.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ localauth.o $(KRB5_BASE_LIBS) - -plugorder: plugorder.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ plugorder.o $(KRB5_BASE_LIBS) - -rdreq: rdreq.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ rdreq.o $(KRB5_BASE_LIBS) - -replay: replay.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ replay.o $(KRB5_BASE_LIBS) - -responder: responder.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ responder.o $(KRB5_BASE_LIBS) - -s2p: s2p.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ s2p.o $(KRB5_BASE_LIBS) - -s4u2self: s4u2self.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ s4u2self.o $(KRB5_BASE_LIBS) - -s4u2proxy: s4u2proxy.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ s4u2proxy.o $(KRB5_BASE_LIBS) - -t_inetd: t_inetd.o $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ t_inetd.o $(LIBS) $(KRB5_BASE_LIBS) - -unlockiter: unlockiter.o $(KDB5_DEPLIBS) $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS) - $(CC_LINK) -o $@ unlockiter.o $(KDB5_LIBS) $(KADMSRV_LIBS) \ - $(KRB5_BASE_LIBS) - -all-unix: t_inetd - -check-unix: kdb_check - -kdc.conf: Makefile - rm -rf kdc.conf - @echo "[realms]" > kdc.conf - @echo "$(TEST_REALM) = {" >> kdc.conf - @echo " key_stash_file = `pwd`/stash_file" >> kdc.conf - @echo "}" >> kdc.conf - -krb5.conf: Makefile - cat $(top_srcdir)/config-files/krb5.conf > krb5.new - echo "[dbmodules]" >> krb5.new - echo " db_module_dir = `pwd`/../plugins/kdb" >> krb5.new - mv krb5.new krb5.conf - -kdb_check: kdc.conf krb5.conf - $(RM) $(TEST_DB)* - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) create -W - $(RUN_DB_TEST) ../tests/create/kdb5_mkdums $(KTEST_OPTS) - $(RUN_DB_TEST) ../tests/verify/kdb5_verify $(KTEST_OPTS) - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) dump $(TEST_DB).dump - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) destroy -f - @echo "====> NOTE!" - @echo "The following 'create' command is needed due to a change" - @echo "in functionality caused by DAL integration. See ticket 3973." - @echo ==== - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) create -W - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) load $(TEST_DB).dump - $(RUN_DB_TEST) ../tests/verify/kdb5_verify $(KTEST_OPTS) - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) dump $(TEST_DB).dump2 - sort $(TEST_DB).dump > $(TEST_DB).sort - sort $(TEST_DB).dump2 > $(TEST_DB).sort2 - cmp $(TEST_DB).sort $(TEST_DB).sort2 - $(RUN_DB_TEST) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) destroy -f - $(RM) $(TEST_DB)* stash_file - -check-pytests: adata conccache etinfo forward gcred hist hooks hrealm -check-pytests: icinterleave icred kdbtest localauth plugorder rdreq replay -check-pytests: responder s2p s4u2proxy unlockiter s4u2self - $(RUNPYTEST) $(srcdir)/t_general.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_hooks.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_dump.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_iprop.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kprop.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_policy.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_changepw.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_pkinit.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_otp.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_spake.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_localauth.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kadm5_hook.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kadm5_auth.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_pwqual.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_hostrealm.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kdb_locking.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_keyrollover.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_renew.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_renprinc.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_ccache.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_stringattr.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_sesskeynego.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_crossrealm.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_referral.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_skew.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_keytab.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kadmin.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kadmin_acl.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kadmin_parsing.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kdb.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_keydata.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_mkey.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_rdreq.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_sn2princ.py $(PYTESTFLAGS) $(OFFLINE) - $(RUNPYTEST) $(srcdir)/t_cve-2012-1014.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_cve-2012-1015.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_cve-2013-1416.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_cve-2013-1417.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_cve-2021-36222.py $(PYTESTFLAGS) - $(RM) au.log - $(RUNPYTEST) $(srcdir)/t_audit.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/jsonwalker.py -d $(srcdir)/au_dict.json \ - -i au.log - $(RUNPYTEST) $(srcdir)/t_salt.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_etype_info.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_bogus_kdc_req.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kdc_log.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_proxy.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_unlockiter.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_errmsg.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_authdata.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_preauth.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_princflags.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_tabdump.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_certauth.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_y2038.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kdcpolicy.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_u2u.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_kdcoptions.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_replay.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_sendto_kdc.py $(PYTESTFLAGS) - $(RUNPYTEST) $(srcdir)/t_alias.py $(PYTESTFLAGS) - -clean: - $(RM) adata conccache etinfo forward gcred hist hooks hrealm - $(RM) icinterleave icred kdbtest localauth plugorder rdreq replay - $(RM) responder s2p s4u2proxy s4u2self t_inetd unlockiter - $(RM) krb5.conf kdc.conf - $(RM) -rf kdc_realm/sandbox ldap - $(RM) au.log diff --git a/crypto/krb5/src/tests/adata.c b/crypto/krb5/src/tests/adata.c deleted file mode 100644 index 58981c971142..000000000000 --- a/crypto/krb5/src/tests/adata.c +++ /dev/null @@ -1,381 +0,0 @@ -/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ -/* tests/adata.c - Test harness for KDC authorization data */ -/* - * Copyright (C) 2014 by the Massachusetts Institute of Technology. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Usage: ./adata [-c ccname] [-p clientprinc] serviceprinc - * [ad-type ad-contents ...] - * - * This program acquires credentials for the specified service principal, using - * the specified or default ccache, possibly including requested authdata. The - * resulting ticket is decrypted using the default keytab, and the authdata in - * the ticket are displayed to stdout. - * - * In the requested authdata types, the type may be prefixed with '?' for an - * AD-IF-RELEVANT container, '!' for an AD-MANDATORY-FOR-KDC container, or '^' - * for an AD-KDC-ISSUED container checksummed with a random AES256 key. - * Multiple prefixes may be specified for nested container. - * - * In the output, authdata containers will be flattened and displayed with the - * above prefixes or '+' for an AD-CAMMAC container. AD-KDC-ISSUED and - * AD-CAMMAC containers will be verified with the appropriate key. Nested - * containers only display the prefix for the innermost container. - */ - -#include <k5-int.h> -#include <ctype.h> - -static krb5_context ctx; - -static void display_authdata_list(krb5_authdata **list, - krb5_enc_tkt_part *enc_tkt, - krb5_keyblock *tktkey, char prefix_byte, - krb5_boolean pac_ok); - -static void -check(krb5_error_code code) -{ - const char *errmsg; - - if (code) { - errmsg = krb5_get_error_message(ctx, code); - fprintf(stderr, "%s\n", errmsg); - krb5_free_error_message(ctx, errmsg); - exit(1); - } -} - -static krb5_authdatatype -get_type_for_prefix(int prefix_byte) -{ - if (prefix_byte == '?') - return KRB5_AUTHDATA_IF_RELEVANT; - if (prefix_byte == '!') - return KRB5_AUTHDATA_MANDATORY_FOR_KDC; - if (prefix_byte == '^') - return KRB5_AUTHDATA_KDC_ISSUED; - if (prefix_byte == '+') - return KRB5_AUTHDATA_CAMMAC; - abort(); -} - -static int -get_prefix_byte(krb5_authdata *ad) -{ - if (ad->ad_type == KRB5_AUTHDATA_IF_RELEVANT) - return '?'; - if (ad->ad_type == KRB5_AUTHDATA_MANDATORY_FOR_KDC) - return '!'; - if (ad->ad_type == KRB5_AUTHDATA_KDC_ISSUED) - return '^'; - if (ad->ad_type == KRB5_AUTHDATA_CAMMAC) - return '+'; - abort(); -} - -/* Construct a container of type ad_type for the single authdata element - * content. For KDC-ISSUED containers, use a random checksum key. */ -static krb5_authdata * -make_container(krb5_authdatatype ad_type, krb5_authdata *content) -{ - krb5_authdata *list[2], **enclist, *ad; - krb5_keyblock kb; - - list[0] = content; - list[1] = NULL; - - if (ad_type == KRB5_AUTHDATA_KDC_ISSUED) { - check(krb5_c_make_random_key(ctx, ENCTYPE_AES256_CTS_HMAC_SHA1_96, - &kb)); - check(krb5_make_authdata_kdc_issued(ctx, &kb, NULL, list, &enclist)); - krb5_free_keyblock_contents(ctx, &kb); - } else { - check(krb5_encode_authdata_container(ctx, ad_type, list, &enclist)); - } - - /* Grab the first element from the encoded list and free the array. */ - ad = enclist[0]; - free(enclist); - return ad; -} - -/* Parse typestr and contents into an authdata element. */ -static krb5_authdata * -make_authdata(const char *typestr, const char *contents) -{ - krb5_authdata *inner_ad, *ad; - - if (*typestr == '?' || *typestr == '!' || *typestr == '^') { - inner_ad = make_authdata(typestr + 1, contents); - ad = make_container(get_type_for_prefix(*typestr), inner_ad); - free(inner_ad->contents); - free(inner_ad); - return ad; - } - - ad = malloc(sizeof(*ad)); - assert(ad != NULL); - ad->magic = KV5M_AUTHDATA; - ad->ad_type = atoi(typestr); - ad->length = strlen(contents); - ad->contents = (unsigned char *)strdup(contents); - assert(ad->contents != NULL); - return ad; -} - -static krb5_authdata ** -get_container_contents(krb5_authdata *ad, krb5_keyblock *skey, - krb5_keyblock *tktkey) -{ - krb5_authdata **inner_ad; - - if (ad->ad_type == KRB5_AUTHDATA_KDC_ISSUED) - check(krb5_verify_authdata_kdc_issued(ctx, skey, ad, NULL, &inner_ad)); - else if (ad->ad_type == KRB5_AUTHDATA_CAMMAC) - check(k5_unwrap_cammac_svc(ctx, ad, tktkey, &inner_ad)); - else - check(krb5_decode_authdata_container(ctx, ad->ad_type, ad, &inner_ad)); - return inner_ad; -} - -static int -compare_uint32(const void *p1, const void *p2) -{ - uint32_t t1 = *(uint32_t *)p1, t2 = *(uint32_t *)p2; - - return (t1 > t2) ? 1 : (t1 == t2) ? 0 : -1; -} - -static void -display_pac(krb5_authdata *ad, krb5_enc_tkt_part *enc_tkt, - krb5_keyblock *tktkey) -{ - krb5_pac pac; - size_t tlen, i; - uint32_t *types; - - assert(ad->ad_type == KRB5_AUTHDATA_WIN2K_PAC); - check(krb5_pac_parse(ctx, ad->contents, ad->length, &pac)); - - check(krb5_pac_verify(ctx, pac, enc_tkt->times.authtime, enc_tkt->client, - tktkey, NULL)); - - check(krb5_pac_get_types(ctx, pac, &tlen, &types)); - qsort(types, tlen, sizeof(*types), compare_uint32); - - printf("["); - for (i = 0; i < tlen; i++) { - printf("%d", (int)types[i]); - if (i + 1 < tlen) - printf(", "); - } - printf("]"); - - free(types); - krb5_pac_free(ctx, pac); -} - -/* Decode and display authentication indicator authdata. */ -static void -display_auth_indicator(krb5_authdata *ad) -{ - krb5_data **strs = NULL, **p; - - check(k5_authind_decode(ad, &strs)); - assert(strs != NULL); - - printf("["); - for (p = strs; *p != NULL; p++) { - printf("%.*s", (int)(*p)->length, (*p)->data); - if (*(p + 1) != NULL) - printf(", "); - } - printf("]"); - k5_free_data_ptr_list(strs); -} - -/* Display ad as either a hex dump or ASCII text. */ -static void -display_binary_or_ascii(krb5_authdata *ad) -{ - krb5_boolean binary = FALSE; - unsigned char *p; - - for (p = ad->contents; p < ad->contents + ad->length; p++) { - if (!isascii(*p) || !isprint(*p)) - binary = TRUE; - } - if (binary) { - for (p = ad->contents; p < ad->contents + ad->length; p++) - printf("%02X", *p); - } else { - printf("%.*s", (int)ad->length, ad->contents); - } -} - -/* Display the contents of an authdata element, prefixed by prefix_byte. skey - * must be the ticket session key. */ -static void -display_authdata(krb5_authdata *ad, krb5_enc_tkt_part *enc_tkt, - krb5_keyblock *tktkey, int prefix_byte, krb5_boolean pac_ok) -{ - krb5_authdata **inner_ad; - - if (ad->ad_type == KRB5_AUTHDATA_IF_RELEVANT || - ad->ad_type == KRB5_AUTHDATA_MANDATORY_FOR_KDC || - ad->ad_type == KRB5_AUTHDATA_KDC_ISSUED || - ad->ad_type == KRB5_AUTHDATA_CAMMAC) { - if (ad->ad_type != KRB5_AUTHDATA_IF_RELEVANT) - pac_ok = FALSE; - /* Decode and display the contents. */ - inner_ad = get_container_contents(ad, enc_tkt->session, tktkey); - display_authdata_list(inner_ad, enc_tkt, tktkey, get_prefix_byte(ad), - pac_ok); - krb5_free_authdata(ctx, inner_ad); - return; - } - - assert(pac_ok || ad->ad_type != KRB5_AUTHDATA_WIN2K_PAC); - - printf("%c", prefix_byte); - printf("%d: ", (int)ad->ad_type); - - if (ad->ad_type == KRB5_AUTHDATA_WIN2K_PAC) - display_pac(ad, enc_tkt, tktkey); - else if (ad->ad_type == KRB5_AUTHDATA_AUTH_INDICATOR) - display_auth_indicator(ad); - else - display_binary_or_ascii(ad); - printf("\n"); -} - -static void -display_authdata_list(krb5_authdata **list, krb5_enc_tkt_part *tkt_enc, - krb5_keyblock *tktkey, char prefix_byte, - krb5_boolean pac_ok) -{ - if (list == NULL) - return; - /* Only expect a PAC in the first element, if at all. */ - for (; *list != NULL; list++) { - display_authdata(*list, tkt_enc, tktkey, prefix_byte, pac_ok); - pac_ok = FALSE; - } -} - -int -main(int argc, char **argv) -{ - const char *ccname = NULL, *clientname = NULL; - krb5_principal client, server; - krb5_ccache ccache; - krb5_keytab keytab; - krb5_creds in_creds, *creds; - krb5_ticket *ticket; - krb5_authdata **req_authdata = NULL, *ad; - krb5_keytab_entry ktent; - size_t count; - int c; - - check(krb5_init_context(&ctx)); - - while ((c = getopt(argc, argv, "+c:p:")) != -1) { - switch (c) { - case 'c': - ccname = optarg; - break; - case 'p': - clientname = optarg; - break; - default: - abort(); - } - } - argv += optind; - /* Parse arguments. */ - assert(*argv != NULL); - check(krb5_parse_name(ctx, *argv++, &server)); - - count = 0; - for (; argv[0] != NULL && argv[1] != NULL; argv += 2) { - ad = make_authdata(argv[0], argv[1]); - req_authdata = realloc(req_authdata, - (count + 2) * sizeof(*req_authdata)); - assert(req_authdata != NULL); - req_authdata[count++] = ad; - req_authdata[count] = NULL; - } - assert(*argv == NULL); - - if (ccname != NULL) - check(krb5_cc_resolve(ctx, ccname, &ccache)); - else - check(krb5_cc_default(ctx, &ccache)); - - if (clientname != NULL) - check(krb5_parse_name(ctx, clientname, &client)); - else - check(krb5_cc_get_principal(ctx, ccache, &client)); - - memset(&in_creds, 0, sizeof(in_creds)); - in_creds.client = client; - in_creds.server = server; - in_creds.authdata = req_authdata; - *** 43069 LINES SKIPPED ***