xref: /freebsd/crypto/krb5/src/tests/asn.1/ktest.h (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 /* tests/asn.1/ktest.h */
3 /*
4  * Copyright (C) 1994 by the Massachusetts Institute of Technology.
5  * All rights reserved.
6  *
7  * Export of this software from the United States of America may
8  *   require a specific license from the United States Government.
9  *   It is the responsibility of any person or organization contemplating
10  *   export to obtain such a license before exporting.
11  *
12  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
13  * distribute this software and its documentation for any purpose and
14  * without fee is hereby granted, provided that the above copyright
15  * notice appear in all copies and that both that copyright notice and
16  * this permission notice appear in supporting documentation, and that
17  * the name of M.I.T. not be used in advertising or publicity pertaining
18  * to distribution of the software without specific, written prior
19  * permission.  Furthermore if you modify this software you must label
20  * your software as modified software and not distribute it in such a
21  * fashion that it might be confused with the original M.I.T. software.
22  * M.I.T. makes no representations about the suitability of
23  * this software for any purpose.  It is provided "as is" without express
24  * or implied warranty.
25  */
26 
27 #ifndef __KTEST_H__
28 #define __KTEST_H__
29 
30 #include "k5-int.h"
31 #include "k5-spake.h"
32 #include "kdb.h"
33 
34 #define SAMPLE_USEC 123456
35 #define SAMPLE_TIME 771228197  /* Fri Jun 10  6:03:17 GMT 1994 */
36 #define SAMPLE_SEQ_NUMBER 17
37 #define SAMPLE_NONCE 42
38 #define SAMPLE_FLAGS 0xFEDCBA98
39 #define SAMPLE_ERROR 0x3C;
40 
41 void ktest_make_sample_data(krb5_data *d);
42 void ktest_make_sample_authenticator(krb5_authenticator *a);
43 void ktest_make_sample_principal(krb5_principal *p);
44 void ktest_make_sample_checksum(krb5_checksum *cs);
45 void ktest_make_sample_keyblock(krb5_keyblock *kb);
46 void ktest_make_sample_ticket(krb5_ticket *tkt);
47 void ktest_make_sample_enc_data(krb5_enc_data *ed);
48 void ktest_make_sample_enc_tkt_part(krb5_enc_tkt_part *etp);
49 void ktest_make_sample_transited(krb5_transited *t);
50 void ktest_make_sample_ticket_times(krb5_ticket_times *tt);
51 void ktest_make_sample_addresses(krb5_address ***caddrs);
52 void ktest_make_sample_address(krb5_address *a);
53 void ktest_make_sample_authorization_data(krb5_authdata ***ad);
54 void ktest_make_sample_authdata(krb5_authdata *ad);
55 void ktest_make_sample_enc_kdc_rep_part(krb5_enc_kdc_rep_part *ekr);
56 void ktest_make_sample_kdc_req(krb5_kdc_req *kr);
57 
58 void ktest_make_sample_last_req(krb5_last_req_entry ***lr);
59 void ktest_make_sample_last_req_entry(krb5_last_req_entry **lre);
60 void ktest_make_sample_kdc_rep(krb5_kdc_rep *kdcr);
61 void ktest_make_sample_pa_data_array(krb5_pa_data ***pad);
62 void ktest_make_sample_empty_pa_data_array(krb5_pa_data ***pad);
63 void ktest_make_sample_pa_data(krb5_pa_data *pad);
64 void ktest_make_sample_ap_req(krb5_ap_req *ar);
65 void ktest_make_sample_ap_rep(krb5_ap_rep *ar);
66 void ktest_make_sample_ap_rep_enc_part(krb5_ap_rep_enc_part *arep);
67 void ktest_make_sample_kdc_req_body(krb5_kdc_req *krb);
68 void ktest_make_sample_safe(krb5_safe *s);
69 void ktest_make_sample_priv(krb5_priv *p);
70 void ktest_make_sample_priv_enc_part(krb5_priv_enc_part *pep);
71 void ktest_make_sample_cred(krb5_cred *c);
72 void ktest_make_sample_cred_enc_part(krb5_cred_enc_part *cep);
73 void ktest_make_sample_sequence_of_ticket(krb5_ticket ***sot);
74 void ktest_make_sample_error(krb5_error *kerr);
75 void ktest_make_sequence_of_cred_info(krb5_cred_info ***soci);
76 void ktest_make_sample_cred_info(krb5_cred_info *ci);
77 
78 void ktest_make_sample_etype_info(krb5_etype_info_entry ***p);
79 void ktest_make_sample_etype_info2(krb5_etype_info_entry ***p);
80 void ktest_make_sample_pa_enc_ts(krb5_pa_enc_ts *am);
81 void ktest_make_sample_sam_challenge_2(krb5_sam_challenge_2 *p);
82 void ktest_make_sample_sam_challenge_2_body(krb5_sam_challenge_2_body *p);
83 void ktest_make_sample_sam_response_2(krb5_sam_response_2 *p);
84 void ktest_make_sample_enc_sam_response_enc_2(krb5_enc_sam_response_enc_2 *p);
85 void ktest_make_sample_pa_for_user(krb5_pa_for_user *p);
86 void ktest_make_sample_pa_s4u_x509_user(krb5_pa_s4u_x509_user *p);
87 void ktest_make_sample_ad_kdcissued(krb5_ad_kdcissued *p);
88 void ktest_make_sample_iakerb_header(krb5_iakerb_header *p);
89 void ktest_make_sample_iakerb_finished(krb5_iakerb_finished *p);
90 void ktest_make_sample_fast_response(krb5_fast_response *p);
91 void ktest_make_sha256_alg(krb5_algorithm_identifier *p);
92 void ktest_make_sha1_alg(krb5_algorithm_identifier *p);
93 void ktest_make_minimal_otp_tokeninfo(krb5_otp_tokeninfo *p);
94 void ktest_make_maximal_otp_tokeninfo(krb5_otp_tokeninfo *p);
95 void ktest_make_minimal_pa_otp_challenge(krb5_pa_otp_challenge *p);
96 void ktest_make_maximal_pa_otp_challenge(krb5_pa_otp_challenge *p);
97 void ktest_make_minimal_pa_otp_req(krb5_pa_otp_req *p);
98 void ktest_make_maximal_pa_otp_req(krb5_pa_otp_req *p);
99 
100 #ifndef DISABLE_PKINIT
101 void ktest_make_sample_pa_pk_as_req(krb5_pa_pk_as_req *p);
102 void ktest_make_sample_pa_pk_as_rep_dhInfo(krb5_pa_pk_as_rep *p);
103 void ktest_make_sample_pa_pk_as_rep_encKeyPack(krb5_pa_pk_as_rep *p);
104 void ktest_make_sample_auth_pack(krb5_auth_pack *p);
105 void ktest_make_sample_kdc_dh_key_info(krb5_kdc_dh_key_info *p);
106 void ktest_make_sample_reply_key_pack(krb5_reply_key_pack *p);
107 void ktest_make_sample_sp80056a_other_info(krb5_sp80056a_other_info *p);
108 void ktest_make_sample_pkinit_supp_pub_info(krb5_pkinit_supp_pub_info *p);
109 #endif
110 
111 #ifdef ENABLE_LDAP
112 void ktest_make_sample_ldap_seqof_key_data(ldap_seqof_key_data *p);
113 #endif
114 
115 void ktest_make_sample_kkdcp_message(krb5_kkdcp_message *p);
116 void ktest_make_minimal_cammac(krb5_cammac *p);
117 void ktest_make_maximal_cammac(krb5_cammac *p);
118 void ktest_make_sample_secure_cookie(krb5_secure_cookie *p);
119 void ktest_make_minimal_spake_factor(krb5_spake_factor *p);
120 void ktest_make_maximal_spake_factor(krb5_spake_factor *p);
121 void ktest_make_support_pa_spake(krb5_pa_spake *p);
122 void ktest_make_challenge_pa_spake(krb5_pa_spake *p);
123 void ktest_make_response_pa_spake(krb5_pa_spake *p);
124 void ktest_make_encdata_pa_spake(krb5_pa_spake *p);
125 
126 /*----------------------------------------------------------------------*/
127 
128 void ktest_empty_authorization_data(krb5_authdata **ad);
129 void ktest_destroy_authorization_data(krb5_authdata ***ad);
130 void ktest_destroy_authorization_data(krb5_authdata ***ad);
131 void ktest_empty_addresses(krb5_address **a);
132 void ktest_destroy_addresses(krb5_address ***a);
133 void ktest_destroy_address(krb5_address **a);
134 void ktest_empty_pa_data_array(krb5_pa_data **pad);
135 void ktest_destroy_pa_data_array(krb5_pa_data ***pad);
136 void ktest_destroy_pa_data(krb5_pa_data **pad);
137 
138 void ktest_destroy_data(krb5_data **d);
139 void ktest_empty_data(krb5_data *d);
140 void ktest_destroy_principal(krb5_principal *p);
141 void ktest_destroy_checksum(krb5_checksum **cs);
142 void ktest_empty_keyblock(krb5_keyblock *kb);
143 void ktest_destroy_keyblock(krb5_keyblock **kb);
144 void ktest_destroy_authdata(krb5_authdata **ad);
145 void ktest_destroy_sequence_of_integer(long **soi);
146 void ktest_destroy_sequence_of_ticket(krb5_ticket ***sot);
147 void ktest_destroy_ticket(krb5_ticket **tkt);
148 void ktest_empty_ticket(krb5_ticket *tkt);
149 void ktest_destroy_enc_data(krb5_enc_data *ed);
150 void ktest_empty_error(krb5_error *kerr);
151 void ktest_destroy_etype_info_entry(krb5_etype_info_entry *i);
152 void ktest_destroy_etype_info(krb5_etype_info_entry **info);
153 
154 void ktest_empty_kdc_req(krb5_kdc_req *kr);
155 void ktest_empty_kdc_rep(krb5_kdc_rep *kr);
156 
157 void ktest_empty_authenticator(krb5_authenticator *a);
158 void ktest_empty_enc_tkt_part(krb5_enc_tkt_part *etp);
159 void ktest_destroy_enc_tkt_part(krb5_enc_tkt_part **etp);
160 void ktest_empty_enc_kdc_rep_part(krb5_enc_kdc_rep_part *ekr);
161 void ktest_destroy_transited(krb5_transited *t);
162 void ktest_empty_ap_rep(krb5_ap_rep *ar);
163 void ktest_empty_ap_req(krb5_ap_req *ar);
164 void ktest_empty_cred_enc_part(krb5_cred_enc_part *cep);
165 void ktest_destroy_cred_info(krb5_cred_info **ci);
166 void ktest_destroy_sequence_of_cred_info(krb5_cred_info ***soci);
167 void ktest_empty_safe(krb5_safe *s);
168 void ktest_empty_priv(krb5_priv *p);
169 void ktest_empty_priv_enc_part(krb5_priv_enc_part *pep);
170 void ktest_empty_cred(krb5_cred *c);
171 void ktest_destroy_last_req(krb5_last_req_entry ***lr);
172 void ktest_empty_ap_rep_enc_part(krb5_ap_rep_enc_part *arep);
173 void ktest_empty_sam_challenge_2(krb5_sam_challenge_2 *p);
174 void ktest_empty_sam_challenge_2_body(krb5_sam_challenge_2_body *p);
175 void ktest_empty_sam_response_2(krb5_sam_response_2 *p);
176 void ktest_empty_enc_sam_response_enc_2(krb5_enc_sam_response_enc_2 *p);
177 void ktest_empty_pa_for_user(krb5_pa_for_user *p);
178 void ktest_empty_pa_s4u_x509_user(krb5_pa_s4u_x509_user *p);
179 void ktest_empty_ad_kdcissued(krb5_ad_kdcissued *p);
180 void ktest_empty_iakerb_header(krb5_iakerb_header *p);
181 void ktest_empty_iakerb_finished(krb5_iakerb_finished *p);
182 void ktest_empty_fast_response(krb5_fast_response *p);
183 void ktest_empty_otp_tokeninfo(krb5_otp_tokeninfo *p);
184 void ktest_empty_pa_otp_challenge(krb5_pa_otp_challenge *p);
185 void ktest_empty_pa_otp_req(krb5_pa_otp_req *p);
186 
187 #ifndef DISABLE_PKINIT
188 void ktest_empty_pa_pk_as_req(krb5_pa_pk_as_req *p);
189 void ktest_empty_pa_pk_as_rep(krb5_pa_pk_as_rep *p);
190 void ktest_empty_auth_pack(krb5_auth_pack *p);
191 void ktest_empty_kdc_dh_key_info(krb5_kdc_dh_key_info *p);
192 void ktest_empty_reply_key_pack(krb5_reply_key_pack *p);
193 void ktest_empty_sp80056a_other_info(krb5_sp80056a_other_info *p);
194 void ktest_empty_pkinit_supp_pub_info(krb5_pkinit_supp_pub_info *p);
195 #endif
196 
197 #ifdef ENABLE_LDAP
198 void ktest_empty_ldap_seqof_key_data(krb5_context, ldap_seqof_key_data *p);
199 #endif
200 
201 void ktest_empty_kkdcp_message(krb5_kkdcp_message *p);
202 void ktest_empty_cammac(krb5_cammac *p);
203 void ktest_empty_secure_cookie(krb5_secure_cookie *p);
204 void ktest_empty_spake_factor(krb5_spake_factor *p);
205 void ktest_empty_pa_spake(krb5_pa_spake *p);
206 
207 extern krb5_context test_context;
208 extern char *sample_principal_name;
209 
210 #endif
211