xref: /onnv-gate/usr/src/lib/libsasl/README (revision 0:68f95e015346)
1*0Sstevel@tonic-gate#
2*0Sstevel@tonic-gate# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
3*0Sstevel@tonic-gate# Use is subject to license terms.
4*0Sstevel@tonic-gate#
5*0Sstevel@tonic-gate# ident	"%Z%%M%	%I%	%E% SMI"
6*0Sstevel@tonic-gate#
7*0Sstevel@tonic-gate# lib/libsasl/README
8*0Sstevel@tonic-gate#
9*0Sstevel@tonic-gate
10*0Sstevel@tonic-gatelibsasl and its plugins is based on the Project Cyrus open source libsasl
11*0Sstevel@tonic-gate	http://asg.web.cmu.edu/sasl
12*0Sstevel@tonic-gate
13*0Sstevel@tonic-gateAdditionally, the SunONE consolidation maintains libsasl also based on
14*0Sstevel@tonic-gatethe Project Cyrus open source libsasl. Inevitibly, these code bases will
15*0Sstevel@tonic-gatego their separate ways. In order to assist with resynchronization, some
16*0Sstevel@tonic-gateconventions are used. The version of the Cyrus libsasl code base that
17*0Sstevel@tonic-gatehas most recently been synched with can be found in <sasl/sasl.h> -
18*0Sstevel@tonic-gate<SASL_VERSION_MAJOR>.<SASL_VERSION_MINOR>.<SASL_VERSION_STEP>.
19*0Sstevel@tonic-gate
20*0Sstevel@tonic-gateFor changes that are particular to the Solaris code base, the
21*0Sstevel@tonic-gateconditional _INTEGRATED_SOLARIS_ is used.  For other Sun generated
22*0Sstevel@tonic-gatechange from the Project Cyrus code base common to both SunONE and
23*0Sstevel@tonic-gateSolaris, the conditional _SUN_SDK_ is used.  Both of these are defined
24*0Sstevel@tonic-gatein include/config.h.  Additionally, the Cyrus code base is not cstyle or
25*0Sstevel@tonic-gatelint-clean except where noted.
26*0Sstevel@tonic-gate
27*0Sstevel@tonic-gateThe public header files <sasl/sasl.h>, <sasl/saslplug.h>, <sasl/saslutil.h>
28*0Sstevel@tonic-gateand <sasl/prop.h> are the exception. These are both hdrchk and cstyle clean
29*0Sstevel@tonic-gateand do not use the above conditional lablels.
30*0Sstevel@tonic-gate
31*0Sstevel@tonic-gateAny changes in this code base are additive. This will ease merging changes
32*0Sstevel@tonic-gateto and from other code bases. One unfortunate side effect is that this
33*0Sstevel@tonic-gateintroduces many conditional compile blocks.
34*0Sstevel@tonic-gate
35*0Sstevel@tonic-gateYou will notice that there will be reference to other platforms that Solaris
36*0Sstevel@tonic-gatein this code. This is due to the open source roots of the code. This is
37*0Sstevel@tonic-gatealso retained to ease merges.
38*0Sstevel@tonic-gate
39*0Sstevel@tonic-gateFor globalization, it should be noted that there are three classes of strings
40*0Sstevel@tonic-gatethat need to be i18n'ed. The first are the error strings returned by
41*0Sstevel@tonic-gatesasl_errstring(), the second are the strings returned by sasl_errdetail(),
42*0Sstevel@tonic-gateand third are the prompts returned to the client in sasl_interact_t or
43*0Sstevel@tonic-gatein sasl_chalprompt_t. The error strings returned by sasl_errdetail() are
44*0Sstevel@tonic-gategenerated by calls to sasl_seterror() or the sasl_utils_t seterror().
45*0Sstevel@tonic-gateIt should be noted that libsasl requires better support from Solaris to
46*0Sstevel@tonic-gatebe able to support multiple different locales on different threads.
47*0Sstevel@tonic-gate
48*0Sstevel@tonic-gateOn the other hand, the logged messages should not be i18n'ed.
49*0Sstevel@tonic-gate
50*0Sstevel@tonic-gateNote that some public functions in the Cyrus distribution are not included
51*0Sstevel@tonic-gatein the Solaris libsasl API: sasl_mkchal(), sasl_randcreate(), sasl_randfree(),
52*0Sstevel@tonic-gatesasl_randseed(), sasl_rand(), and sasl_churn(). These functions are used
53*0Sstevel@tonic-gatein sasl_util_t as part of the SPI.
54*0Sstevel@tonic-gate
55*0Sstevel@tonic-gateinclude/config.h was originally generated by autoconfiguration tools, but
56*0Sstevel@tonic-gatehas customized to contain both autoconfiguration information and additional
57*0Sstevel@tonic-gatelibrary specific defines such as _INTEGRATE_SOLARIS_ and _SUN_SDK_.
58