Hello,
Thank you for releasing 1.0.0l and 1.0.1f. I tested them right away (that I haven't done for more than a year) found that there are needed some changes in order to make the it work under OpenVMS. 1. I have tested for the very first time with HP C V7.3-020 on OpenVMS IA64 V8.4 and found that among few older informational messages there were many warning in the code like. Compiling The o_dir.c File. (LIBRARY,LIB) l -= p + 1 - r; ...............^ %CC-W-MAYLOSEDATA3, In this statement, "p+1-r" has a larger data size than int. Assignment can result in data loss. at line number 170 in file DKA0:[WORK.openssl-100l.crypto]LPdir_vms.c;1 I know that these issues are in the code for ages, but my personal opinion is that for a security software these warnings need to be addressed (if a compiler has detected a warning) to improve the code quality. Now, I just disabled the MAYLOSEDATA3 warning by configuring them in the openvms *.com files like: $ CCDISABLEWARNINGS = "MAYLOSEDATA3" !!! "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR" In order to see clearly the important errors and warnings. I can provide the full list if needed. 2. Problem with undefined references file: DKA0:[WORK.openssl-100k.IA64.EXE.SSL]SSL_LIBSSL32.OLB;1 %ILINK-W-NUDFSYMS, 5 undefined symbols: %ILINK-I-UDFSYM, SSL3_CBC_COPY_MAC %ILINK-I-UDFSYM, SSL3_CBC_DIGEST_RECORD %ILINK-I-UDFSYM, SSL3_CBC_RECORD_DIGEST_SUPPORTE %ILINK-I-UDFSYM, SSL3_CBC_REMOVE_PADDING %ILINK-I-UDFSYM, TLS1_CBC_REMOVE_PADDING %ILINK-W-USEUNDEF, undefined symbol TLS1_CBC_REMOVE_PADDING referenced .occur because the s3_cbc file is not compiled at all during OpenVMS build. The solution is to add the s3_cbc file to ssl-lib.com like in the following patch: ************ File DKA0:<WORK.openssl-100l.ssl>ssl-lib.com;1 217 "s3_meth,s3_srvr,s3_clnt,s3_lib,s3_enc,s3_pkt,s3_both,"+ - 218 "s23_meth,s23_srvr,s23_clnt,s23_lib,s23_pkt,"+ - ****** File DKA0:<WORK.openssl-100l.ssl>ssl-lib.com;4 217 "s3_meth,s3_srvr,s3_clnt,s3_lib,s3_enc,s3_pkt,s3_both,s3_cbc,"+ - 218 "s23_meth,s23_srvr,s23_clnt,s23_lib,s23_pkt,"+ - ************ 3. The external identifier name exceeds 31 characters type of problems int ssl_check_clienthello_tlsext_early(SSL *s); ....^ %CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; truncated to "SSL_CHECK_CLIENTHELLO_TLSEXT_EA". at line number 1069 in file DKA0:[WORK.openssl-100k.ssl]ssl_locl.h;1 The solution is to add them to crypto/symhacks.h like below: ************ File DKA0:<WORK.openssl-100l.crypto>symhacks.h;2 189 #undef ssl3_cbc_record_digest_supported 190 #define ssl3_cbc_record_digest_supported ssl3_cbc_record_digest_support 191 #undef ssl_check_clienthello_tlsext_late 192 #define ssl_check_clienthello_tlsext_late ssl_check_clihello_tlsext_late 193 #undef ssl_check_clienthello_tlsext_early 194 #define ssl_check_clienthello_tlsext_early ssl_check_clihello_tlsext_early 195 196 /* Hack some long ENGINE names */ ****** File DKA0:<WORK.openssl-100l.crypto>symhacks.h;1 189 /* Hack some long ENGINE names */ ************ Please, note these patches above are valid for both 1.0.0l and 1.0.1f After this release 1.0.0l builds and passes all tests on VAX, Alpha (32 and 64 bit) and Itanium (32 and 64 bit) as well as 1.0.1f (except on VAX, because of already discussed reasons) Maybe it is noteworthy to add that tests on VMS are aborted if any failure occur. On one server I did not have perl installed (that happens rather often in OpenVMS environment ) therefore I changed test/tests.com that test_cms be the last one (that will fail anyway because of lack of perl) giving chance for all other tests to perform. Thank you. Regards, Z