xref: /freebsd/crypto/krb5/doc/html/_sources/appdev/refs/api/krb5_init_creds_step.rst.txt (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1krb5_init_creds_step -  Get the next KDC request for acquiring initial credentials.
2====================================================================================
3
4..
5
6.. c:function:: krb5_error_code krb5_init_creds_step(krb5_context context, krb5_init_creds_context ctx, krb5_data * in, krb5_data * out, krb5_data * realm, unsigned int * flags)
7
8..
9
10
11:param:
12
13	          **[in]** **context** - Library context
14
15	          **[in]** **ctx** - Initial credentials context
16
17	          **[in]** **in** - KDC response (empty on the first call)
18
19	          **[out]** **out** - Next KDC request
20
21	          **[out]** **realm** - Realm for next KDC request
22
23	          **[out]** **flags** - Output flags
24
25
26..
27
28
29:retval:
30         -   0   Success; otherwise - Kerberos error codes
31
32
33..
34
35
36
37
38
39
40
41This function constructs the next KDC request in an initial credential exchange, allowing the caller to control the transport of KDC requests and replies. On the first call, *in* should be set to an empty buffer; on subsequent calls, it should be set to the KDC's reply to the previous request.
42
43
44
45If more requests are needed, *flags* will be set to #KRB5_INIT_CREDS_STEP_FLAG_CONTINUE and the next request will be placed in *out* . If no more requests are needed, *flags* will not contain #KRB5_INIT_CREDS_STEP_FLAG_CONTINUE and *out* will be empty.
46
47
48
49If this function returns **KRB5KRB_ERR_RESPONSE_TOO_BIG** , the caller should transmit the next request using TCP rather than UDP. If this function returns any other error, the initial credential exchange has failed.
50
51
52
53 *context* must be the same as the one passed to krb5_init_creds_init() for this initial credentials context.
54
55
56
57
58
59
60
61
62
63
64..
65
66
67
68
69
70