1 This is a private copy of OpenSSL library, used by illumos. 2 Libraries are renamed to libsunw_crypto.so.1 and libsunw_ssl.so.1. 3 All global symbols are prefixed by "sunw_" to avoid conflicts 4 with OpenSSL library provided by distributions. 5 To use this library with your code you should ensure that it 6 includes opensslconf.h so that global symbols are transparently 7 renamed. 8 9 Compared to the original OpenSSL version the code is 10 organized in the following way. 11 Only files which are used in illumos i386/amd64 build are present. 12 All private include files are moved to usr/src/lib/openssl/include. 13 All public include files are moved to usr/src/lib/openssl/include/openssl. 14 C files from ssl/ are moved to usr/src/lib/openssl/libsunw_ssl, 15 C files from crypto/ are moved to usr/src/lib/openssl/sunw_crypto, 16 subdirectory structure is preserved. 17 All Perl files used to generate assembler are moved from crypto/perlasm 18 and crypto/*/asm to usr/src/lib/openssl/libsunw_crypto/pl/. 19 No plain asm files are used. 20 Scripts form https://github.com/joyent/illumos-extra/tree/master/openssl1x/tools 21 were used to generate initial sunw_prefix.h and mapfiles. 22 23 The easiest way to update OpenSSL to the next minor version (i.e. form 1.0.1X to 24 1.0.1X+1) would be just make diff between 1.0.1X and 1.0.1X+1 and manually apply 25 it to usr/src/lib/openssl. 26 While doing this, take into consideration the following: 27 - only diff for files in ssl,crypto and include subdirectories is necessary; 28 - some files are not present in this copy of OpenSSL, so remove from diff changes 29 to the files which are not present in usr/src/lib/openssl; 30 - some header files in original OpenSSL version are present in both include 31 directory and ssl or crypto directories, for such files only diff for files in 32 include directory is necessary. 33 34 You can use check_symbols target to list new unprefixed function symbols which 35 could be introduced by update. You likely want to add them to mapfile-vers and 36 sunw_prefix.h files