1SASL_CLIENT_START(3)              Cyrus SASL              SASL_CLIENT_START(3)
2
3
4

NAME

6       sasl_client_start - Cyrus SASL documentation
7

SYNOPSIS

9       #include <sasl/sasl.h>
10
11       int sasl_client_start(sasl_conn_t * conn,
12               const char * mechlist,
13               sasl_interact_t ** prompt_need,
14               const char ** clientout,
15               unsigned * clientoutlen,
16               const char ** mech);
17

DESCRIPTION

19       int sasl_client_start(sasl_conn_t * conn,
20
21       const char * mechlist,
22
23       sasl_interact_t ** prompt_need,
24
25       const char ** clientout,
26
27       unsigned * clientoutlen,
28
29       const char ** mech);
30              sasl_client_start()  selects  a mechanism for authentication and
31              starts the authentication session. The mechlist is the  list  of
32              mechanisms the client might like to use. The mech‐ anisms in the
33              list are not necessarily  supported by   the  client   or   even
34              valid.  SASL determines which of these to use based upon the se‐
35              curity preferences specified earlier. The  list   of  mechanisms
36              is  typically  a list of mechanisms the server supports acquired
37              from a capability request.
38
39              If SASL_INTERACT is returned the library needs  some  values  to
40              be  filled  in  before it can proceed. The prompt_need structure
41              will be filled in with requests. The application should  fulfill
42              these  requests  and call sasl_client_start again with identical
43              parameters  (the  prompt_need  parameter  will   be   the   same
44              pointer as before but filled in by the application).
45
46              Parameters
47
48conn – is the SASL connection context
49
50mechlist  –  is  a  list  of  mechanisms the server has
51                       available.  Punctuation is ignored.
52
53prompt_need – is filled  in  with  a  list  of  prompts
54                       needed to continue (if necessary).
55
56clientout 
57
58                       is  created.  It  is  the  initial client  response  to
59                       send to the server. It is the job of the client to send
60                       it  over the network to the server.  Any protocol  spe‐
61                       cific encoding  (such  as  base64  encoding)  necessary
62                       needs to be done by the client.
63
64                       If  the  protocol  lacks client‐send‐first  capability,
65                       then set clientout to NULL.
66
67                       If  there  is no initial client‐send,  then  *clientout
68                       will be set to NULL on return.
69
70
71clientoutlen – length of clientout.
72
73mech  – contains the name of the chosen  SASL mechanism
74                       (on success)
75

RETURN VALUE

77       SASL  callback  functions should return SASL return codes.  See  sasl.h
78       for a complete list. SASL_CONTINUE indicates success and that there are
79       more steps needed in the authentication.
80
81       Other return codes indicate errors and should either be handled or  the
82       authentication session should be quit.
83

SEE ALSO

85       RFC   4422,:saslman:sasl(3),   sasl_callbacks(3),  sasl_client_init(3),
86       sasl_client_new(3), sasl_client_step(3), sasl_errors(3)
87

AUTHOR

89       The Cyrus Team
90
92       1993-2016, The Cyrus Team
93
94
95
96
972.1.28                         February 18, 2022          SASL_CLIENT_START(3)
Impressum