2N/A#
2N/A# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
2N/A# Use is subject to license terms.
2N/A#
2N/A# ident "%Z%%M% %I% %E% SMI"
2N/A#
2N/A# lib/libsasl/README
2N/A#
2N/A
2N/Alibsasl and its plugins is based on the Project Cyrus open source libsasl
2N/A http://asg.web.cmu.edu/sasl
2N/A
2N/AAdditionally, the SunONE consolidation maintains libsasl also based on
2N/Athe Project Cyrus open source libsasl. Inevitibly, these code bases will
2N/Ago their separate ways. In order to assist with resynchronization, some
2N/Aconventions are used. The version of the Cyrus libsasl code base that
2N/Ahas most recently been synched with can be found in <sasl/sasl.h> -
2N/A<SASL_VERSION_MAJOR>.<SASL_VERSION_MINOR>.<SASL_VERSION_STEP>.
2N/A
2N/AFor changes that are particular to the Solaris code base, the
2N/Aconditional _INTEGRATED_SOLARIS_ is used. For other Sun generated
2N/Achange from the Project Cyrus code base common to both SunONE and
2N/ASolaris, the conditional _SUN_SDK_ is used. Both of these are defined
2N/Ain include/config.h. Additionally, the Cyrus code base is not cstyle or
2N/Alint-clean except where noted.
2N/A
2N/AThe public header files <sasl/sasl.h>, <sasl/saslplug.h>, <sasl/saslutil.h>
2N/Aand <sasl/prop.h> are the exception. These are both hdrchk and cstyle clean
2N/Aand do not use the above conditional lablels.
2N/A
2N/AAny changes in this code base are additive. This will ease merging changes
2N/Ato and from other code bases. One unfortunate side effect is that this
2N/Aintroduces many conditional compile blocks.
2N/A
2N/AYou will notice that there will be reference to other platforms that Solaris
2N/Ain this code. This is due to the open source roots of the code. This is
2N/Aalso retained to ease merges.
2N/A
2N/AFor globalization, it should be noted that there are three classes of strings
2N/Athat need to be i18n'ed. The first are the error strings returned by
2N/Asasl_errstring(), the second are the strings returned by sasl_errdetail(),
2N/Aand third are the prompts returned to the client in sasl_interact_t or
2N/Ain sasl_chalprompt_t. The error strings returned by sasl_errdetail() are
2N/Agenerated by calls to sasl_seterror() or the sasl_utils_t seterror().
2N/AIt should be noted that libsasl requires better support from Solaris to
2N/Abe able to support multiple different locales on different threads.
2N/A
2N/AOn the other hand, the logged messages should not be i18n'ed.
2N/A
2N/ANote that some public functions in the Cyrus distribution are not included
2N/Ain the Solaris libsasl API: sasl_mkchal(), sasl_randcreate(), sasl_randfree(),
2N/Asasl_randseed(), sasl_rand(), and sasl_churn(). These functions are used
2N/Ain sasl_util_t as part of the SPI.
2N/A
2N/Ainclude/config.h was originally generated by autoconfiguration tools, but
2N/Ahas customized to contain both autoconfiguration information and additional
2N/Alibrary specific defines such as _INTEGRATE_SOLARIS_ and _SUN_SDK_.