xref: /freebsd/crypto/heimdal/lib/ntlm/heimntlm-protos.h (revision c6879c6c14eedbd060ba588a3129a6c60ebbe783)
1c19800e8SDoug Rabson /* This is a generated file */
2c19800e8SDoug Rabson #ifndef __heimntlm_protos_h__
3c19800e8SDoug Rabson #define __heimntlm_protos_h__
4c19800e8SDoug Rabson 
5c19800e8SDoug Rabson #include <stdarg.h>
6c19800e8SDoug Rabson 
7c19800e8SDoug Rabson #ifdef __cplusplus
8c19800e8SDoug Rabson extern "C" {
9c19800e8SDoug Rabson #endif
10c19800e8SDoug Rabson 
11c19800e8SDoug Rabson int
12c19800e8SDoug Rabson heim_ntlm_build_ntlm1_master (
13c19800e8SDoug Rabson 	void */*key*/,
14c19800e8SDoug Rabson 	size_t /*len*/,
15c19800e8SDoug Rabson 	struct ntlm_buf */*session*/,
16c19800e8SDoug Rabson 	struct ntlm_buf */*master*/);
17c19800e8SDoug Rabson 
18c19800e8SDoug Rabson int
19ae771770SStanislav Sedov heim_ntlm_build_ntlm2_master (
20ae771770SStanislav Sedov 	void */*key*/,
21ae771770SStanislav Sedov 	size_t /*len*/,
22ae771770SStanislav Sedov 	struct ntlm_buf */*blob*/,
23ae771770SStanislav Sedov 	struct ntlm_buf */*session*/,
24ae771770SStanislav Sedov 	struct ntlm_buf */*master*/);
25ae771770SStanislav Sedov 
26ae771770SStanislav Sedov int
27ae771770SStanislav Sedov heim_ntlm_calculate_lm2 (
28ae771770SStanislav Sedov 	const void */*key*/,
29ae771770SStanislav Sedov 	size_t /*len*/,
30ae771770SStanislav Sedov 	const char */*username*/,
31ae771770SStanislav Sedov 	const char */*target*/,
32ae771770SStanislav Sedov 	const unsigned char serverchallenge[8],
33ae771770SStanislav Sedov 	unsigned char ntlmv2[16],
34ae771770SStanislav Sedov 	struct ntlm_buf */*answer*/);
35ae771770SStanislav Sedov 
36ae771770SStanislav Sedov int
37c19800e8SDoug Rabson heim_ntlm_calculate_ntlm1 (
38c19800e8SDoug Rabson 	void */*key*/,
39c19800e8SDoug Rabson 	size_t /*len*/,
40ae771770SStanislav Sedov 	unsigned char challenge[8],
41c19800e8SDoug Rabson 	struct ntlm_buf */*answer*/);
42c19800e8SDoug Rabson 
43c19800e8SDoug Rabson int
44c19800e8SDoug Rabson heim_ntlm_calculate_ntlm2 (
45c19800e8SDoug Rabson 	const void */*key*/,
46c19800e8SDoug Rabson 	size_t /*len*/,
47c19800e8SDoug Rabson 	const char */*username*/,
48c19800e8SDoug Rabson 	const char */*target*/,
49ae771770SStanislav Sedov 	const unsigned char serverchallenge[8],
50c19800e8SDoug Rabson 	const struct ntlm_buf */*infotarget*/,
51c19800e8SDoug Rabson 	unsigned char ntlmv2[16],
52c19800e8SDoug Rabson 	struct ntlm_buf */*answer*/);
53c19800e8SDoug Rabson 
54c19800e8SDoug Rabson int
55c19800e8SDoug Rabson heim_ntlm_calculate_ntlm2_sess (
56c19800e8SDoug Rabson 	const unsigned char clnt_nonce[8],
57c19800e8SDoug Rabson 	const unsigned char svr_chal[8],
58c19800e8SDoug Rabson 	const unsigned char ntlm_hash[16],
59c19800e8SDoug Rabson 	struct ntlm_buf */*lm*/,
60c19800e8SDoug Rabson 	struct ntlm_buf */*ntlm*/);
61c19800e8SDoug Rabson 
62c19800e8SDoug Rabson int
63ae771770SStanislav Sedov heim_ntlm_calculate_ntlm2_sess_hash (
64ae771770SStanislav Sedov 	const unsigned char clnt_nonce[8],
65ae771770SStanislav Sedov 	const unsigned char svr_chal[8],
66ae771770SStanislav Sedov 	unsigned char verifier[8]);
67ae771770SStanislav Sedov 
68ae771770SStanislav Sedov int
69c19800e8SDoug Rabson heim_ntlm_decode_targetinfo (
70c19800e8SDoug Rabson 	const struct ntlm_buf */*data*/,
71c19800e8SDoug Rabson 	int /*ucs2*/,
72c19800e8SDoug Rabson 	struct ntlm_targetinfo */*ti*/);
73c19800e8SDoug Rabson 
74c19800e8SDoug Rabson int
75c19800e8SDoug Rabson heim_ntlm_decode_type1 (
76c19800e8SDoug Rabson 	const struct ntlm_buf */*buf*/,
77c19800e8SDoug Rabson 	struct ntlm_type1 */*data*/);
78c19800e8SDoug Rabson 
79c19800e8SDoug Rabson int
80c19800e8SDoug Rabson heim_ntlm_decode_type2 (
81c19800e8SDoug Rabson 	const struct ntlm_buf */*buf*/,
82c19800e8SDoug Rabson 	struct ntlm_type2 */*type2*/);
83c19800e8SDoug Rabson 
84c19800e8SDoug Rabson int
85c19800e8SDoug Rabson heim_ntlm_decode_type3 (
86c19800e8SDoug Rabson 	const struct ntlm_buf */*buf*/,
87c19800e8SDoug Rabson 	int /*ucs2*/,
88c19800e8SDoug Rabson 	struct ntlm_type3 */*type3*/);
89c19800e8SDoug Rabson 
90*e4456411SJohn Baldwin int
91ae771770SStanislav Sedov heim_ntlm_derive_ntlm2_sess (
92ae771770SStanislav Sedov 	const unsigned char sessionkey[16],
93ae771770SStanislav Sedov 	const unsigned char */*clnt_nonce*/,
94ae771770SStanislav Sedov 	size_t /*clnt_nonce_length*/,
95ae771770SStanislav Sedov 	const unsigned char svr_chal[8],
96ae771770SStanislav Sedov 	unsigned char derivedkey[16]);
97ae771770SStanislav Sedov 
98c19800e8SDoug Rabson int
99c19800e8SDoug Rabson heim_ntlm_encode_targetinfo (
100c19800e8SDoug Rabson 	const struct ntlm_targetinfo */*ti*/,
101c19800e8SDoug Rabson 	int /*ucs2*/,
102c19800e8SDoug Rabson 	struct ntlm_buf */*data*/);
103c19800e8SDoug Rabson 
104c19800e8SDoug Rabson int
105c19800e8SDoug Rabson heim_ntlm_encode_type1 (
106c19800e8SDoug Rabson 	const struct ntlm_type1 */*type1*/,
107c19800e8SDoug Rabson 	struct ntlm_buf */*data*/);
108c19800e8SDoug Rabson 
109c19800e8SDoug Rabson int
110c19800e8SDoug Rabson heim_ntlm_encode_type2 (
111c19800e8SDoug Rabson 	const struct ntlm_type2 */*type2*/,
112c19800e8SDoug Rabson 	struct ntlm_buf */*data*/);
113c19800e8SDoug Rabson 
114c19800e8SDoug Rabson int
115c19800e8SDoug Rabson heim_ntlm_encode_type3 (
116c19800e8SDoug Rabson 	const struct ntlm_type3 */*type3*/,
117c19800e8SDoug Rabson 	struct ntlm_buf */*data*/);
118c19800e8SDoug Rabson 
119c19800e8SDoug Rabson void
120c19800e8SDoug Rabson heim_ntlm_free_buf (struct ntlm_buf */*p*/);
121c19800e8SDoug Rabson 
122c19800e8SDoug Rabson void
123c19800e8SDoug Rabson heim_ntlm_free_targetinfo (struct ntlm_targetinfo */*ti*/);
124c19800e8SDoug Rabson 
125c19800e8SDoug Rabson void
126c19800e8SDoug Rabson heim_ntlm_free_type1 (struct ntlm_type1 */*data*/);
127c19800e8SDoug Rabson 
128c19800e8SDoug Rabson void
129c19800e8SDoug Rabson heim_ntlm_free_type2 (struct ntlm_type2 */*data*/);
130c19800e8SDoug Rabson 
131c19800e8SDoug Rabson void
132c19800e8SDoug Rabson heim_ntlm_free_type3 (struct ntlm_type3 */*data*/);
133c19800e8SDoug Rabson 
134c19800e8SDoug Rabson int
135ae771770SStanislav Sedov heim_ntlm_keyex_unwrap (
136ae771770SStanislav Sedov 	struct ntlm_buf */*baseKey*/,
137ae771770SStanislav Sedov 	struct ntlm_buf */*encryptedSession*/,
138ae771770SStanislav Sedov 	struct ntlm_buf */*session*/);
139ae771770SStanislav Sedov 
140ae771770SStanislav Sedov int
141ae771770SStanislav Sedov heim_ntlm_keyex_wrap (
142ae771770SStanislav Sedov 	struct ntlm_buf */*base_session*/,
143ae771770SStanislav Sedov 	struct ntlm_buf */*session*/,
144ae771770SStanislav Sedov 	struct ntlm_buf */*encryptedSession*/);
145ae771770SStanislav Sedov 
146ae771770SStanislav Sedov int
147c19800e8SDoug Rabson heim_ntlm_nt_key (
148c19800e8SDoug Rabson 	const char */*password*/,
149c19800e8SDoug Rabson 	struct ntlm_buf */*key*/);
150c19800e8SDoug Rabson 
151ae771770SStanislav Sedov int
152c19800e8SDoug Rabson heim_ntlm_ntlmv2_key (
153c19800e8SDoug Rabson 	const void */*key*/,
154c19800e8SDoug Rabson 	size_t /*len*/,
155c19800e8SDoug Rabson 	const char */*username*/,
156c19800e8SDoug Rabson 	const char */*target*/,
157c19800e8SDoug Rabson 	unsigned char ntlmv2[16]);
158c19800e8SDoug Rabson 
159ae771770SStanislav Sedov size_t
160ae771770SStanislav Sedov heim_ntlm_unparse_flags (
161ae771770SStanislav Sedov 	uint32_t /*flags*/,
162ae771770SStanislav Sedov 	char */*s*/,
163ae771770SStanislav Sedov 	size_t /*len*/);
164ae771770SStanislav Sedov 
165ae771770SStanislav Sedov int
166ae771770SStanislav Sedov heim_ntlm_v1_base_session (
167ae771770SStanislav Sedov 	void */*key*/,
168ae771770SStanislav Sedov 	size_t /*len*/,
169ae771770SStanislav Sedov 	struct ntlm_buf */*session*/);
170ae771770SStanislav Sedov 
171ae771770SStanislav Sedov int
172ae771770SStanislav Sedov heim_ntlm_v2_base_session (
173ae771770SStanislav Sedov 	void */*key*/,
174ae771770SStanislav Sedov 	size_t /*len*/,
175ae771770SStanislav Sedov 	struct ntlm_buf */*ntlmResponse*/,
176ae771770SStanislav Sedov 	struct ntlm_buf */*session*/);
177ae771770SStanislav Sedov 
178c19800e8SDoug Rabson int
179c19800e8SDoug Rabson heim_ntlm_verify_ntlm2 (
180c19800e8SDoug Rabson 	const void */*key*/,
181c19800e8SDoug Rabson 	size_t /*len*/,
182c19800e8SDoug Rabson 	const char */*username*/,
183c19800e8SDoug Rabson 	const char */*target*/,
184c19800e8SDoug Rabson 	time_t /*now*/,
185ae771770SStanislav Sedov 	const unsigned char serverchallenge[8],
186c19800e8SDoug Rabson 	const struct ntlm_buf */*answer*/,
187c19800e8SDoug Rabson 	struct ntlm_buf */*infotarget*/,
188c19800e8SDoug Rabson 	unsigned char ntlmv2[16]);
189c19800e8SDoug Rabson 
190c19800e8SDoug Rabson #ifdef __cplusplus
191c19800e8SDoug Rabson }
192c19800e8SDoug Rabson #endif
193c19800e8SDoug Rabson 
194c19800e8SDoug Rabson #endif /* __heimntlm_protos_h__ */
195