1 .\" <!-- $Id: auth_sasl.sgml,v 1.3 2007/04/01 00:21:34 mrsam Exp $ -->
2 .\" <!-- Copyright 2004 Double Precision, Inc. See COPYING for -->
3 .\" <!-- distribution information. -->
6 .\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
8 .\" Manual: Double Precision, Inc.
9 .\" Source: Double Precision, Inc.
11 .TH "AUTH_SASL" "3" "04/06/2007" "Double Precision, Inc." "Double Precision, Inc."
12 .\" disable hyphenation
14 .\" disable justification (adjust text to left margin only)
17 auth_sasl \- SASL implementation
22 #include <courierauthsasl.h>
26 .BI "int rc=auth_sasl(const\ char\ *" "method" ", const\ char\ *" "initialresponse" ", char\ *(*" "conversation_func" ")(const\ char\ *,\ void\ *), void\ *" "callback_arg" ", char\ **" "authtype_ret" ", char\ **" "authdata_ret" ");"
33 server implementation.
39 knows how to handle the following SASL methods:
41 \h'-04'\(bu\h'+03'LOGIN
44 \h'-04'\(bu\h'+03'PLAIN
47 \h'-04'\(bu\h'+03'CRAM\-MD5
50 \h'-04'\(bu\h'+03'CRAM\-SHA1
55 is a base64\-encoded initial response provided in the client's
61 if an initial response was not included in the client's
66 \fIconversation_func\fR
67 is the application\-implemented
69 conversation callback function.
70 \fIconversation_func\fR
71 receives a base64\-encoded
77 \fIconversation_func\fR
78 must return a buffer containing the base64\-encoded reply from the client.
82 this buffer when it's done.
83 \fIconversation_func\fR
93 conversation succesfully completes,
98 \fI*authdata_ret\fR. They will be set to a
99 \fBmalloc\fR(3)\-ed buffers that can be directly passed as arguments to
100 \fI\fBauth_generic\fR(3)\fR\&[1]. It is the application's responsibility to
102 these buffers when it's done with them.
110 conversation succesfully completes, and
114 are succesfully assembled. Any other return indicates an error condition. Right now two error conditions are defined:
120 conversation was aborted by the client.
125 General error (insufficient memory, or some other reason). Check
132 \fI\fBauthlib\fR(3)\fR\&[2],
133 \fI\fBauth_generic\fR(3)\fR\&[1].
136 \fBauth_generic\fR(3)