'\" te
.\" Copyright (c) 2003 by Sun Microsystems, Inc.  All rights reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH LIBSASL 3LIB "Oct 27, 2003"
.SH NAME
libsasl \- simple authentication and security layer library
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR... ] \fIfile\fR... \fB-lsasl\fR [ \fIlibrary\fR... ]
#include <\fBsasl/sasl.h\fR>
#include <\fBsasl/prop.h\fR>
#include <\fBsasl/saslutil.h\fR>
.fi

.SH DESCRIPTION
.sp
.LP
SASL is a security framework used by connection-oriented network applications
primarily for authentication.  Another way to describe SASL is that it is a
glue layer between a network application and some security mechanisms that
allow applications to authenticate each other and provide additional security
services such as data encryption.  As a glue layer, SASL hides the interface
specifics of the security mechanism from the application, which allows greater
portability and flexibility as new security mechanisms are implemented.  SASL
is similar to the GSS-API in that it provides a layer of abstraction between an
application and one or more security mechanisms.
.sp
.LP
\fBlibsasl\fR provides both an API for applications and an SPI for various
plug-ins. To link with this library, specify \fB-lsasl\fR on the \fBcc\fR
command line.
.SH INTERFACES
.sp
.LP
The shared object \fBlibsasl.so.1\fR and associated include files provide the
public interfaces defined below. The \fB*_t\fR interfaces are function
prototypes for callbacks that are defined in the public SASL header files.
While \fBlibsasl\fR provides default versions for some of the callbacks, this
structure allows an application to define its own version of the some of the
callback functions.
.sp
.LP
See \fBIntro\fR(3) for additional information on shared object interfaces.
.sp

.sp
.TS
l l
l l .
\fBprop_clear\fR	\fBprop_dispose\fR
\fBprop_dup\fR	\fBprop_erase\fR
\fBprop_format\fR	\fBprop_get\fR
\fBprop_getnames\fR	\fBprop_new\fR
\fBprop_request\fR	\fBprop_set\fR
\fBprop_setvals\fR	\fBsasl_authorize_t\fR
\fBsasl_auxprop\fR	\fBsasl_auxprop_add_plugin\fR
\fBsasl_auxprop_getctx\fR	\fBsasl_auxprop_request\fR
\fBsasl_canon_user_t\fR	\fBsasl_canonuser_add_plugin\fR
\fBsasl_chalprompt_t\fR	\fBsasl_checkapop\fR
\fBsasl_checkpass\fR	\fBsasl_client_add_plugin\fR
\fBsasl_client_init\fR	\fBsasl_client_new\fR
\fBsasl_client_plug_init_t\fR	\fBsasl_client_start\fR
\fBsasl_client_step\fR	\fBsasl_decode\fR
\fBsasl_decode64\fR	\fBsasl_dispose\fR
\fBsasl_done\fR	\fBsasl_encode\fR
\fBsasl_encode64\fR	\fBsasl_encodev\fR
\fBsasl_erasebuffer\fR	\fBsasl_errdetail\fR
\fBsasl_errors\fR	\fBsasl_errstring\fR
\fBsasl_getcallback_t\fR	\fBsasl_getopt_t\fR
\fBsasl_getpath_t\fR	\fBsasl_getprop\fR
\fBsasl_getrealm_t\fR	\fBsasl_getsecret_t\fR
\fBsasl_getsimple_t\fR	\fBsasl_global_listmech\fR
\fBsasl_idle\fR	\fBsasl_listmech\fR
\fBsasl_log_t\fR	\fBsasl_server_add_plugin\fR
\fBsasl_server_init\fR	\fBsasl_server_new\fR
\fBsasl_server_plug_init_t\fR	\fBsasl_server_start\fR
\fBsasl_server_step\fR	\fBsasl_server_userdb_checkpass_t\fR
\fBsasl_server_userdb_setpass_t\fR	\fBsasl_set_alloc\fR
\fBsasl_set_mutex\fR	\fBsasl_seterror\fR
\fBsasl_setpass\fR	\fBsasl_setprop\fR
\fBsasl_utf8verify\fR	\fBsasl_verifyfile_t\fR
\fBsasl_version\fR	
.TE

.SH FILES
.sp
.ne 2
.na
\fB\fB/usr/lib/libsasl.so.1\fR\fR
.ad
.RS 25n
shared object
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Evolving
.TE

.SH SEE ALSO
.sp
.LP
\fBIntro\fR(3), \fBattributes\fR(5),