sasl_client_step  -  Perform  a step in the authentication
       negotiation


SYNOPSIS

       #include <sasl.h>

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


DESCRIPTION

       sasl_client_step() performs a step in  the  authentication
       negotiation.  It  returns SASL_OK if the whole negotiation
       is sucessful 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  sucessful  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.  This  is
       allocated  by  the library and it is the job of the client
       to send it over the network to the server and free it when
       it  is  no  longer  needed. Any protocal 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 sucess
       and  that  there  are more steps needed in the authentica­
       tion.  SASL_OK  indicates  that  the   authentication   is

       should either be handled  or  the  authentication  session
       should be quit.


ERRORS

       SASL_OK Success. Authentication complete

       SASL_CONTINUE
               Success. keep going.

       SASL_INTERACT
               user  interaction  needed  to  fill in prompt_need
               list

       SASL_BADVERS
               Mechanism version mismatch

       SASL_BADPARAM
               error in config file

       SASL_NOMEM
               not enough memory to complete operation


CONFORMING TO

       RFC 2222


SEE ALSO

       othersaslstuff


Man(1) output converted with man2html