xref: /illumos-gate/usr/src/man/man3lib/libsasl.3lib (revision 69a119caa6570c7077699161b7c28b6ee9f8b0f4)
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]
LIBSASL 3LIB "Oct 27, 2003"
NAME
libsasl - simple authentication and security layer library
SYNOPSIS

cc [ flag... ] file... -lsasl [ library... ]
#include <sasl/sasl.h>
#include <sasl/prop.h>
#include <sasl/saslutil.h>
DESCRIPTION

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.

libsasl provides both an API for applications and an SPI for various plug-ins. To link with this library, specify -lsasl on the cc command line.

INTERFACES

The shared object libsasl.so.1 and associated include files provide the public interfaces defined below. The *_t interfaces are function prototypes for callbacks that are defined in the public SASL header files. While libsasl 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.

See Intro(3) for additional information on shared object interfaces.

prop_clear prop_dispose
prop_dup prop_erase
prop_format prop_get
prop_getnames prop_new
prop_request prop_set
prop_setvals sasl_authorize_t
sasl_auxprop sasl_auxprop_add_plugin
sasl_auxprop_getctx sasl_auxprop_request
sasl_canon_user_t sasl_canonuser_add_plugin
sasl_chalprompt_t sasl_checkapop
sasl_checkpass sasl_client_add_plugin
sasl_client_init sasl_client_new
sasl_client_plug_init_t sasl_client_start
sasl_client_step sasl_decode
sasl_decode64 sasl_dispose
sasl_done sasl_encode
sasl_encode64 sasl_encodev
sasl_erasebuffer sasl_errdetail
sasl_errors sasl_errstring
sasl_getcallback_t sasl_getopt_t
sasl_getpath_t sasl_getprop
sasl_getrealm_t sasl_getsecret_t
sasl_getsimple_t sasl_global_listmech
sasl_idle sasl_listmech
sasl_log_t sasl_server_add_plugin
sasl_server_init sasl_server_new
sasl_server_plug_init_t sasl_server_start
sasl_server_step sasl_server_userdb_checkpass_t
sasl_server_userdb_setpass_t sasl_set_alloc
sasl_set_mutex sasl_seterror
sasl_setpass sasl_setprop
sasl_utf8verify sasl_verifyfile_t
sasl_version
FILES
/usr/lib/libsasl.so.1

shared object

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
SEE ALSO

Intro(3), attributes(5),