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