Imported Upstream version 1.20.1
[platform/upstream/krb5.git] / doc / html / _sources / appdev / refs / api / krb5_init_creds_step.rst.txt
1 krb5_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
41 This 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
45 If more requests are needed, *flags* will be set to :data:`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 :data:`KRB5_INIT_CREDS_STEP_FLAG_CONTINUE` and *out* will be empty.
46
47
48
49 If 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 :c:func:`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