<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
.\" Man page generated from reStructuredText.
.
.TH "SASL_SERVER_STEP" "3" "February 18, 2022" "2.1.28" "Cyrus SASL"
.SH NAME
sasl_server_step \- Cyrus SASL documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
.nf
#include <sasl/sasl.h>

int sasl_server_step(sasl_conn_t *conn,
    const char *clientin,
    unsigned clientinlen,
    const char ** serverout,
    unsigned * serveroutlen);
.fi
.SH DESCRIPTION
.INDENT 0.0
.TP
.B int sasl_server_step(sasl_conn_t *conn,
.TP
.B const char *clientin,
.TP
.B unsigned clientinlen,
.TP
.B const char ** serverout,
.TP
.B unsigned * serveroutlen);
\fBsasl_server_step()\fP performs a step in  the  authentication negotiation.  It
returns \fBSASL_OK\fP if the whole negotiation is successful and
\fBSASL_CONTINUE\fP if
this step is ok but  at least  one more step is needed.
.INDENT 7.0
.TP
.B Parameters
.INDENT 7.0
.IP \(bu 2
\fBconn\fP – is the SASL connection context
.IP \(bu 2
\fBclientin\fP – is the data given by the client (decoded  if  the
protocol encodes requests sent over the wire)
.IP \(bu 2
\fBclientinlen\fP – is the length of \fIclientin\fP
.IP \(bu 2
\fBserverout\fP – set by the library and should be sent to the client.
.IP \(bu 2
\fBserveroutlen\fP – length of \fIserverout\fP\&.
.UNINDENT
.UNINDENT
.UNINDENT
.SH RETURN VALUE
.sp
SASL  callback  functions should return SASL return codes.
See sasl.h for a complete list. \fBSASL_CONTINUE\fP indicates success
and that there are more steps needed in the authentication. \fBSASL_OK\fP
indicates that the authentication is complete.
.sp
Other return codes indicate errors and should either be handled or the authentication
session should be quit.
.SH SEE ALSO
.sp
\fI\%RFC 4422\fP,:saslman:\fIsasl(3)\fP,
sasl_server_init(3), sasl_server_new(3),
sasl_server_start(3), sasl_errors(3)
.SH AUTHOR
The Cyrus Team
.SH COPYRIGHT
1993-2016, The Cyrus Team
.\" Generated by docutils manpage writer.
.
