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

NAME

6       sasl_client_step - Cyrus SASL documentation
7

SYNOPSIS

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

DESCRIPTION

19       int sasl_client_step(sasl_conn_t *conn,
20
21       const char *serverin,
22
23       unsigned serverinlen,
24
25       sasl_interact_t ** prompt_need,
26
27       const char ** clientout,
28
29       unsigned * clientoutlen);
30              sasl_client_step() performs a step in  the  authentication nego‐
31              tiation.  It returns SASL_OK if the whole  negotiation  is  suc‐
32              cessful  and SASL_CONTINUE if this step is ok but  at least  one
33              more step is needed. A client should not assume  an  authentica‐
34              tion  negotiation  is successful  just  because the server  sig‐
35              naled  success  via  protocol (i.e. if the server  said  “.   OK
36              Authentication   succeeded”   in   IMAP, sasl_client_step should
37              still be called one more time with a serverinlen of zero.
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
48                     · conn – is the SASL connection context
49
50                     · serverin – is the data given by the server (decoded  if
51                       the protocol encodes requests sent over the wire)
52
53                     · serverinlen – is the length of serverin
54
55                     · clientout – is created.  It  is   the   initial  client
56                       response   to  send to the server. It is the job of the
57                       client to send it over the network to the server.   Any
58                       protocol   specific  encoding (such as base64 encoding)
59                       nec‐ essary needs to be done by the client.
60
61                     · clientoutlen – length of clientout.
62

RETURN VALUE

64       SASL  callback  functions should return SASL return codes.  See  sasl.h
65       for a complete list. SASL_CONTINUE indicates success and that there are
66       more steps needed in the authentication.  SASL_OK  indicates  that  the
67       authentication is complete.
68
69       Other  return codes indicate errors and should either be handled or the
70       authentication session should be quit.
71

SEE ALSO

73       RFC  4422,:saslman:sasl(3),   sasl_callbacks(3),   sasl_client_init(3),
74       sasl_client_new(3), sasl_client_start(3), sasl_errors(3)
75

AUTHOR

77       The Cyrus Team
78
80       1993-2016, The Cyrus Team
81
82
83
84
852.1.27                         January 29, 2018            SASL_CLIENT_STEP(3)
Impressum