sasl_client_step

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
sasl_client_step(10 July 2001)		       sasl_client_step(10 July 2001)



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 sucessful and SASL_CON-
       TINUE  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. It is the job of the client to send it
       over  the network to the server.	 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 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 2222

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



SASL man pages			     SASL      sasl_client_step(10 July 2001)