.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" This manpage is Copyright (C) 1999 Tim Martin
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\"
.TH sasl_server_step "26 March 2000" SASL "SASL man pages"
.SH NAME
sasl_server_step \- Perform a step in the authentication negotiation


.SH SYNOPSIS
.nf
.B #include <sasl.h>
.sp
.BI "int sasl_server_step(sasl_conn_t " *conn ", "
.BI "		          const char " *clientin ", "
.BI "		          unsigned " clientinlen ", "
.BI "	        	  char ** " serverout ", "
.BI "		          unsigned * " serveroutlen ", "
.BI "		          const char ** " errstr ");"


.SH DESCRIPTION

.B sasl_server_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.

.I errstr
is sometimes returned on error and gives a mechanism specific reason
for failure. This information should not be given to the client.

.I conn
is the SASL connection context
.I clientin
is the data given by the client (decoded if the protocol encodes requests sent over the wire)
.I clientinlen
is the length of clientin
.I serverout
and
.I serveroutlen
is allocated by the library and should be sent to the client.
.PP

.SH "RETURN VALUE"

sasl_server_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.

.SH ERRORS
.TP 0.8i
.B SASL_OK
Success. Authentication complete
.TP 0.8i
.B SASL_CONTINUE
Success. keep going.
.TP 0.8i
.B SASL_INTERACT
user interaction needed to fill in prompt_need list
.TP 0.8i
.B SASL_BADVERS
Mechanism version mismatch
.TP 0.8i
.B SASL_BADPARAM
error in config file
.TP 0.8i
.B SASL_NOMEM
not enough memory to complete operation

.SH "CONFORMING TO"
RFC 2222
.SH "SEE ALSO"
.BR other sasl stuff
.BR 
.BR 