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