xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/krb5/html/group__krb5__auth.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>Heimdal Kerberos 5 authentication functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a>  </div>
25  <div class="headertitle">
26<div class="title">Heimdal Kerberos 5 authentication functions</div>  </div>
27</div><!--header-->
28<div class="contents">
29<table class="memberdecls">
30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
31Functions</h2></td></tr>
32<tr class="memitem:ga92b082fa699694b353fa51675f2c2259"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#ga92b082fa699694b353fa51675f2c2259">krb5_rd_req_in_ctx_alloc</a> (krb5_context context, krb5_rd_req_in_ctx *ctx)</td></tr>
33<tr class="separator:ga92b082fa699694b353fa51675f2c2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
34<tr class="memitem:ga124150b9eea8b56a9b432cf5e7a8db07"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#ga124150b9eea8b56a9b432cf5e7a8db07">krb5_rd_req_in_set_keytab</a> (krb5_context context, krb5_rd_req_in_ctx in, krb5_keytab keytab)</td></tr>
35<tr class="separator:ga124150b9eea8b56a9b432cf5e7a8db07"><td class="memSeparator" colspan="2">&#160;</td></tr>
36<tr class="memitem:gadd6913bc77982a536168d9dd52df2363"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gadd6913bc77982a536168d9dd52df2363">krb5_rd_req_in_set_pac_check</a> (krb5_context context, krb5_rd_req_in_ctx in, krb5_boolean flag)</td></tr>
37<tr class="separator:gadd6913bc77982a536168d9dd52df2363"><td class="memSeparator" colspan="2">&#160;</td></tr>
38<tr class="memitem:gac1ffffee7558466d31c23b110c95aa7b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gac1ffffee7558466d31c23b110c95aa7b">krb5_rd_req_out_get_server</a> (krb5_context context, krb5_rd_req_out_ctx out, krb5_principal *principal)</td></tr>
39<tr class="separator:gac1ffffee7558466d31c23b110c95aa7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
40<tr class="memitem:gad8a5460c599500c0d64e632341c8f74a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gad8a5460c599500c0d64e632341c8f74a">krb5_rd_req_out_ctx_free</a> (krb5_context context, krb5_rd_req_out_ctx ctx)</td></tr>
41<tr class="separator:gad8a5460c599500c0d64e632341c8f74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
42<tr class="memitem:ga589cab7251a70a5addbf1af56313401e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx</a> (krb5_context context, krb5_auth_context *auth_context, const krb5_data *inbuf, krb5_const_principal server, krb5_rd_req_in_ctx inctx, krb5_rd_req_out_ctx *outctx)</td></tr>
43<tr class="separator:ga589cab7251a70a5addbf1af56313401e"><td class="memSeparator" colspan="2">&#160;</td></tr>
44</table>
45<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
46<h2 class="groupheader">Function Documentation</h2>
47<a id="ga589cab7251a70a5addbf1af56313401e"></a>
48<h2 class="memtitle"><span class="permalink"><a href="#ga589cab7251a70a5addbf1af56313401e">&#9670;&nbsp;</a></span>krb5_rd_req_ctx()</h2>
49
50<div class="memitem">
51<div class="memproto">
52      <table class="memname">
53        <tr>
54          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_ctx </td>
55          <td>(</td>
56          <td class="paramtype">krb5_context&#160;</td>
57          <td class="paramname"><em>context</em>, </td>
58        </tr>
59        <tr>
60          <td class="paramkey"></td>
61          <td></td>
62          <td class="paramtype">krb5_auth_context *&#160;</td>
63          <td class="paramname"><em>auth_context</em>, </td>
64        </tr>
65        <tr>
66          <td class="paramkey"></td>
67          <td></td>
68          <td class="paramtype">const krb5_data *&#160;</td>
69          <td class="paramname"><em>inbuf</em>, </td>
70        </tr>
71        <tr>
72          <td class="paramkey"></td>
73          <td></td>
74          <td class="paramtype">krb5_const_principal&#160;</td>
75          <td class="paramname"><em>server</em>, </td>
76        </tr>
77        <tr>
78          <td class="paramkey"></td>
79          <td></td>
80          <td class="paramtype">krb5_rd_req_in_ctx&#160;</td>
81          <td class="paramname"><em>inctx</em>, </td>
82        </tr>
83        <tr>
84          <td class="paramkey"></td>
85          <td></td>
86          <td class="paramtype">krb5_rd_req_out_ctx *&#160;</td>
87          <td class="paramname"><em>outctx</em>&#160;</td>
88        </tr>
89        <tr>
90          <td></td>
91          <td>)</td>
92          <td></td><td></td>
93        </tr>
94      </table>
95</div><div class="memdoc">
96<p>The core server function that verify application authentication requests from clients.</p>
97<dl class="params"><dt>Parameters</dt><dd>
98  <table class="params">
99    <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr>
100    <tr><td class="paramname">auth_context</td><td>the authentication context, can be NULL, then default values for the authentication context will used. </td></tr>
101    <tr><td class="paramname">inbuf</td><td>the (AP-REQ) authentication buffer</td></tr>
102    <tr><td class="paramname">server</td><td>the server to authenticate to. If NULL the function will try to find any available credential in the keytab that will verify the reply. The function will prefer the server specified in the AP-REQ, but if there is no mach, it will try all keytab entries for a match. This has serious performance issues for large keytabs.</td></tr>
103    <tr><td class="paramname">inctx</td><td>control the behavior of the function, if NULL, the default behavior is used. </td></tr>
104    <tr><td class="paramname">outctx</td><td>the return outctx, free with <a class="el" href="group__krb5__auth.html#gad8a5460c599500c0d64e632341c8f74a">krb5_rd_req_out_ctx_free()</a>. </td></tr>
105  </table>
106  </dd>
107</dl>
108<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
109
110</div>
111</div>
112<a id="ga92b082fa699694b353fa51675f2c2259"></a>
113<h2 class="memtitle"><span class="permalink"><a href="#ga92b082fa699694b353fa51675f2c2259">&#9670;&nbsp;</a></span>krb5_rd_req_in_ctx_alloc()</h2>
114
115<div class="memitem">
116<div class="memproto">
117      <table class="memname">
118        <tr>
119          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_ctx_alloc </td>
120          <td>(</td>
121          <td class="paramtype">krb5_context&#160;</td>
122          <td class="paramname"><em>context</em>, </td>
123        </tr>
124        <tr>
125          <td class="paramkey"></td>
126          <td></td>
127          <td class="paramtype">krb5_rd_req_in_ctx *&#160;</td>
128          <td class="paramname"><em>ctx</em>&#160;</td>
129        </tr>
130        <tr>
131          <td></td>
132          <td>)</td>
133          <td></td><td></td>
134        </tr>
135      </table>
136</div><div class="memdoc">
137<p>Allocate a krb5_rd_req_in_ctx as an input parameter to <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. The caller should free the context with krb5_rd_req_in_ctx_free() when done with the context.</p>
138<dl class="params"><dt>Parameters</dt><dd>
139  <table class="params">
140    <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr>
141    <tr><td class="paramname">ctx</td><td>in ctx to <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>.</td></tr>
142  </table>
143  </dd>
144</dl>
145<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
146
147</div>
148</div>
149<a id="ga124150b9eea8b56a9b432cf5e7a8db07"></a>
150<h2 class="memtitle"><span class="permalink"><a href="#ga124150b9eea8b56a9b432cf5e7a8db07">&#9670;&nbsp;</a></span>krb5_rd_req_in_set_keytab()</h2>
151
152<div class="memitem">
153<div class="memproto">
154      <table class="memname">
155        <tr>
156          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_set_keytab </td>
157          <td>(</td>
158          <td class="paramtype">krb5_context&#160;</td>
159          <td class="paramname"><em>context</em>, </td>
160        </tr>
161        <tr>
162          <td class="paramkey"></td>
163          <td></td>
164          <td class="paramtype">krb5_rd_req_in_ctx&#160;</td>
165          <td class="paramname"><em>in</em>, </td>
166        </tr>
167        <tr>
168          <td class="paramkey"></td>
169          <td></td>
170          <td class="paramtype">krb5_keytab&#160;</td>
171          <td class="paramname"><em>keytab</em>&#160;</td>
172        </tr>
173        <tr>
174          <td></td>
175          <td>)</td>
176          <td></td><td></td>
177        </tr>
178      </table>
179</div><div class="memdoc">
180<p>Set the keytab that <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> will use.</p>
181<dl class="params"><dt>Parameters</dt><dd>
182  <table class="params">
183    <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr>
184    <tr><td class="paramname">in</td><td>in ctx to <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. </td></tr>
185    <tr><td class="paramname">keytab</td><td>keytab that <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> will use, only copy the pointer, so the caller must free they keytab after krb5_rd_req_in_ctx_free() is called.</td></tr>
186  </table>
187  </dd>
188</dl>
189<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
190
191</div>
192</div>
193<a id="gadd6913bc77982a536168d9dd52df2363"></a>
194<h2 class="memtitle"><span class="permalink"><a href="#gadd6913bc77982a536168d9dd52df2363">&#9670;&nbsp;</a></span>krb5_rd_req_in_set_pac_check()</h2>
195
196<div class="memitem">
197<div class="memproto">
198      <table class="memname">
199        <tr>
200          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_set_pac_check </td>
201          <td>(</td>
202          <td class="paramtype">krb5_context&#160;</td>
203          <td class="paramname"><em>context</em>, </td>
204        </tr>
205        <tr>
206          <td class="paramkey"></td>
207          <td></td>
208          <td class="paramtype">krb5_rd_req_in_ctx&#160;</td>
209          <td class="paramname"><em>in</em>, </td>
210        </tr>
211        <tr>
212          <td class="paramkey"></td>
213          <td></td>
214          <td class="paramtype">krb5_boolean&#160;</td>
215          <td class="paramname"><em>flag</em>&#160;</td>
216        </tr>
217        <tr>
218          <td></td>
219          <td>)</td>
220          <td></td><td></td>
221        </tr>
222      </table>
223</div><div class="memdoc">
224<p>Set if krb5_rq_red() is going to check the Windows PAC or not</p>
225<dl class="params"><dt>Parameters</dt><dd>
226  <table class="params">
227    <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr>
228    <tr><td class="paramname">in</td><td>krb5_rd_req_in_ctx to check the option on. </td></tr>
229    <tr><td class="paramname">flag</td><td>flag to select if to check the pac (TRUE) or not (FALSE).</td></tr>
230  </table>
231  </dd>
232</dl>
233<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
234
235</div>
236</div>
237<a id="gad8a5460c599500c0d64e632341c8f74a"></a>
238<h2 class="memtitle"><span class="permalink"><a href="#gad8a5460c599500c0d64e632341c8f74a">&#9670;&nbsp;</a></span>krb5_rd_req_out_ctx_free()</h2>
239
240<div class="memitem">
241<div class="memproto">
242      <table class="memname">
243        <tr>
244          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_rd_req_out_ctx_free </td>
245          <td>(</td>
246          <td class="paramtype">krb5_context&#160;</td>
247          <td class="paramname"><em>context</em>, </td>
248        </tr>
249        <tr>
250          <td class="paramkey"></td>
251          <td></td>
252          <td class="paramtype">krb5_rd_req_out_ctx&#160;</td>
253          <td class="paramname"><em>ctx</em>&#160;</td>
254        </tr>
255        <tr>
256          <td></td>
257          <td>)</td>
258          <td></td><td></td>
259        </tr>
260      </table>
261</div><div class="memdoc">
262<p>Free the krb5_rd_req_out_ctx.</p>
263<dl class="params"><dt>Parameters</dt><dd>
264  <table class="params">
265    <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr>
266    <tr><td class="paramname">ctx</td><td>krb5_rd_req_out_ctx context to free. </td></tr>
267  </table>
268  </dd>
269</dl>
270
271</div>
272</div>
273<a id="gac1ffffee7558466d31c23b110c95aa7b"></a>
274<h2 class="memtitle"><span class="permalink"><a href="#gac1ffffee7558466d31c23b110c95aa7b">&#9670;&nbsp;</a></span>krb5_rd_req_out_get_server()</h2>
275
276<div class="memitem">
277<div class="memproto">
278      <table class="memname">
279        <tr>
280          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_out_get_server </td>
281          <td>(</td>
282          <td class="paramtype">krb5_context&#160;</td>
283          <td class="paramname"><em>context</em>, </td>
284        </tr>
285        <tr>
286          <td class="paramkey"></td>
287          <td></td>
288          <td class="paramtype">krb5_rd_req_out_ctx&#160;</td>
289          <td class="paramname"><em>out</em>, </td>
290        </tr>
291        <tr>
292          <td class="paramkey"></td>
293          <td></td>
294          <td class="paramtype">krb5_principal *&#160;</td>
295          <td class="paramname"><em>principal</em>&#160;</td>
296        </tr>
297        <tr>
298          <td></td>
299          <td>)</td>
300          <td></td><td></td>
301        </tr>
302      </table>
303</div><div class="memdoc">
304<p>Get the principal that was used in the request from the client. Might not match whats in the ticket if <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> searched in the keytab for a matching key.</p>
305<dl class="params"><dt>Parameters</dt><dd>
306  <table class="params">
307    <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr>
308    <tr><td class="paramname">out</td><td>a krb5_rd_req_out_ctx from <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. </td></tr>
309    <tr><td class="paramname">principal</td><td>return principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>. </td></tr>
310  </table>
311  </dd>
312</dl>
313
314</div>
315</div>
316</div><!-- contents -->
317<hr size="1"><address style="text-align: right;"><small>
318Generated on Tue Nov 15 2022 14:04:26 for Heimdal Kerberos 5 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
319</body>
320</html>
321