bionic (3) sasl_client_step.3.gz

Provided by: libsasl2-dev_2.1.27~101-g0780600+dfsg-3ubuntu2.4_amd64 bug

NAME

       sasl_client_step - Perform a step in the authentication negotiation

SYNOPSIS

       #include <sasl/sasl.h>

       int sasl_client_step(sasl_conn_t *conn,
                      const char *serverin,
                      unsigned serverinlen,
                      sasl_interact_t ** prompt_need,
                      const char ** clientout,
                      unsigned * clientoutlen);

DESCRIPTION

       sasl_client_step()  performs  a  step  in the authentication negotiation. It returns SASL_OK if the whole
       negotiation is successful and SASL_CONTINUE if this step is ok but at least one more step  is  needed.  A
       client  should  not  assume  an authentication negotiation is successful just because the server signaled
       success via protocol (i.e. if the server said ". OK Authentication succeeded"  in  IMAP  sasl_client_step
       should still be called one more time with a serverinlen of zero.

       If  SASL_INTERACT  is  returned  the library needs some values to be filled in before it can proceed. The
       prompt_need structure will be filled in with requests. The application should fulfill these requests  and
       call  sasl_client_start  again  with  identical  parameters  (the  prompt_need parameter will be the same
       pointer as before but filled in by the application).

       conn is the SASL connection context

       serverin is the data given by the server (decoded if the protocol encodes requests sent over the wire)

       serverinlen is the length of serverin

       clientout and clientoutlen is created. It is the initial client response to send to the server. It is the
       job  of  the  client  to send it over the network to the server.  Any protocol specific encoding (such as
       base64 encoding) necessary needs to be done by the client.

RETURN VALUE

       sasl_client_step returns an integer which corresponds  to  one  of  the  following  codes.  SASL_CONTINUE
       indicates  success and that there are more steps needed in the authentication. SASL_OK indicates that the
       authentication is complete. All other return codes indicate errors and should either be  handled  or  the
       authentication session should be quit.

CONFORMING TO

       RFC 4422

SEE ALSO

       sasl(3), sasl_callbacks(3), sasl_errors(3), sasl_client_init(3), sasl_client_new(3), sasl_client_start(3)