Hello, > Can you (and others in this thread) please submit bug fix patches to the > request tracker (r...@openssl.org) so they don't get overlooked??
Please note this is the official submit to RT (mail already submitted to the list) Additionally to SMS's changes (below)... here are the changes that are needed to be added in order to get OpenVMS build correctly. The only extra improvement is that I used the unused second variable to configure the pointer size (32 or 64). TODO: The CA.COM is not usable as it is therefore both tests: TESTCA.COM and TESTTSA.COM fail. Regards, Z TOR_ZAY $ gdiff -p DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4-ORIG>MAKEVMS.COM DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4>MAKEVMS.COM *** dsa104:<users.zay.work.openssl-100-beta4-orig>makevms.com Tue Aug 25 09:30:02 2009 --- dsa104:<users.zay.work.openssl-100-beta4>makevms.com Thu Nov 12 11:01:00 2009 *************** $! End *** 347,356 **** $! $ ENDIF $! - $! There are many places where this is needed. - $! - $ WRITE H_FILE "#define _XOPEN_SOURCE_EXTENDED" - $! $! Close the [.CRYPTO.<ARCH>]OPENSSLCONF.H file $! $ CLOSE H_FILE --- 347,352 ---- *************** $ TIME = F$TIME() *** 386,392 **** $! $! Write The [.CRYPTO.<ARCH>]BUILDINF.H File. $! ! $ WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VER'""" $ WRITE H_FILE "#define DATE ""''TIME'"" " $! --- 382,388 ---- $! $! Write The [.CRYPTO.<ARCH>]BUILDINF.H File. $! ! $ WRITE H_FILE "#define CFLAGS ""/pointer_size=''POINTER_SIZE'/float=g"" /* compiler flags */" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VER'""" $ WRITE H_FILE "#define DATE ""''TIME'"" " $! *************** $! Tell The User We Are Partly Rebuildin *** 410,416 **** $! $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C', '[.APPS]MD5.C' And '[.APPS]RMD160.C' Files." $! ! $ DELETE SYS$DISK:[.APPS]MD4.C;*,MD5.C;*,RMD160.C;* $! $! Copy MD4.C from [.CRYPTO.MD4] into [.APPS] $! --- 406,412 ---- $! $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C', '[.APPS]MD5.C' And '[.APPS]RMD160.C' Files." $! ! $ DELETE /NOLOG SYS$DISK:[.APPS]MD4.C;*,MD5.C;*,RMD160.C;* $! $! Copy MD4.C from [.CRYPTO.MD4] into [.APPS] $! *************** $! *** 431,438 **** $! First, We Have To "Rebuild" The "[.TEST]" Directory, So Delete $! All The "C" Files That Are Currently There Now. $! ! $ DELETE SYS$DISK:[.TEST]*.C;* ! $ DELETE SYS$DISK:[.TEST]EVPTESTS.TXT;* $! $! Copy all the *TEST.C files from [.CRYPTO...] into [.TEST] $! --- 427,434 ---- $! First, We Have To "Rebuild" The "[.TEST]" Directory, So Delete $! All The "C" Files That Are Currently There Now. $! ! $ DELETE /NOLOG SYS$DISK:[.TEST]*.C;* ! $ DELETE /NOLOG SYS$DISK:[.TEST]EVPTESTS.TXT;* $! $! Copy all the *TEST.C files from [.CRYPTO...] into [.TEST] $! *************** $! *** 755,761 **** $! Tell The User We Don't Know What They Want. $! $ WRITE SYS$OUTPUT "" ! $ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [not-used option] [Debug option] <Compiler>" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL NORSAREF NODEBUG " $ WRITE SYS$OUTPUT "" --- 751,757 ---- $! Tell The User We Don't Know What They Want. $! $ WRITE SYS$OUTPUT "" ! $ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [Pointer size] [Debug option] <Compiler>" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL NORSAREF NODEBUG " $ WRITE SYS$OUTPUT "" *************** $! End The P1 Check. *** 794,799 **** --- 790,825 ---- $! $ ENDIF $! + $! Check To See If P2 Is Blank. + $! + $ IF (P2.EQS."32") + $ THEN + $ POINTER_SIZE = "32" + $ ELSE + $ IF (P3.EQS."64") + $ THEN + $ POINTER_SIZE = "64" + $ ELSE + $! + $! Tell The User Entered An Invalid Option.. + $! + $ WRITE SYS$OUTPUT "" + $ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:" + $ WRITE SYS$OUTPUT "" + $ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" + $ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" + $ WRITE SYS$OUTPUT "" + $! + $! Time To EXIT. + $! + $ GOTO TIDY + $! + $! End The Valid Arguement Check. + $! + $ ENDIF + $ ENDIF + $! End The P2 Check. + $! $! Check To See If P3 Is Blank. $! $ IF (P3.EQS."NODEBUG") TOR_ZAY $ gdiff -p DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4-ORIG.crypto.pqueue>pqueue.h DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4.CRYPTO.PQUEUE>PQUEUE.H *** dsa104:<users.zay.work.openssl-100-beta4-orig.crypto.pqueue>pqueue.h Sat May 16 18:17:46 2009 --- dsa104:<users.zay.work.openssl-100-beta4.crypto.pqueue>pqueue.h Thu Nov 12 10:12:12 2009 *************** *** 64,69 **** --- 64,74 ---- #include <stdlib.h> #include <string.h> + #ifdef OPENSSL_SYS_VMS + #include <resource.h> + #include <sys/timeb.h> + #endif + typedef struct _pqueue *pqueue; typedef struct _pitem TOR_ZAY $ gdiff -p DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4-ORIG.apps>s_socket.c DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4.apps>s_socket.c *** dsa104:<users.zay.work.openssl-100-beta4-orig.apps>s_socket.c Wed Aug 26 13:21:50 2009 --- dsa104:<users.zay.work.openssl-100-beta4.apps>s_socket.c Thu Nov 12 10:47:18 2009 *************** *** 72,78 **** recursive header file inclusion, resulting in the compiler complaining that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which is needed to have fileno() declared correctly... So let's define u_int */ ! #if defined(OPENSSL_SYS_VMS_DECC) && !defined(__U_INT) #define __U_INT typedef unsigned int u_int; #endif --- 72,78 ---- recursive header file inclusion, resulting in the compiler complaining that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which is needed to have fileno() declared correctly... So let's define u_int */ ! #if (defined(VMS) || defined(__VMS)) && !defined(__U_INT) #define __U_INT typedef unsigned int u_int; #endif TOR_ZAY $ gdiff -p DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4-ORIG.apps>s_server.c DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4.apps>s_server.c *** dsa104:<users.zay.work.openssl-100-beta4-orig.apps>s_server.c Wed Oct 28 18:49:38 2009 --- dsa104:<users.zay.work.openssl-100-beta4.apps>s_server.c Thu Nov 12 10:47:57 2009 *************** *** 165,171 **** recursive header file inclusion, resulting in the compiler complaining that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which is needed to have fileno() declared correctly... So let's define u_int */ ! #if defined(OPENSSL_SYS_VMS_DECC) && !defined(__U_INT) #define __U_INT typedef unsigned int u_int; #endif --- 165,171 ---- recursive header file inclusion, resulting in the compiler complaining that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which is needed to have fileno() declared correctly... So let's define u_int */ ! #if (defined(VMS) || defined(__VMS)) && !defined(__U_INT) #define __U_INT typedef unsigned int u_int; #endif TOR_ZAY $ gdiff -p DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4-ORIG.test>tests.com DSA104:<USERS.ZAY.WORK.OPENSSL-100-BETA4.test>tests.com *** dsa104:<users.zay.work.openssl-100-beta4-orig.test>tests.com Tue Aug 25 09:17:14 2009 --- dsa104:<users.zay.work.openssl-100-beta4.test>tests.com Thu Nov 12 15:46:44 2009 *************** $ exe_dir := sys$disk:[-.'__arch'.exe.ap *** 14,19 **** --- 14,28 ---- $ $ set default '__here' $ + $ ROOT = F$PARSE(__here,"[]A.;0",,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0" + $ ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY") + $ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") - + - ".][000000" - "[000000." - "][" - "[" - "]" - ".TEST" + $ ROOT = ROOT_DEV + "[" + ROOT_DIR + $ DEFINE/NOLOG SSLROOT 'ROOT'.APPS.] /TRANS=CONC + $ + $ openssl :== $'ROOT'.'__arch'.exe.apps]OPENSSL + $ $ on control_y then goto exit $ on error then goto exit $ *************** $! NOTE: This list reflects the list of *** 25,38 **** $! "alltests" target in Makefile. This should make it easy to see $! if there's a difference that needs to be taken care of. $ tests := - ! test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,- test_md2,test_mdc2,test_wp,- test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,test_aes,- test_rand,test_bn,test_ec,test_ecdsa,test_ecdh,- test_enc,test_x509,test_rsa,test_crl,test_sid,- test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,- ! test_ss,test_ca,test_engine,test_evp,test_ssl,test_tsa,test_ige,- ! test_jpake,test_cms $ endif $ tests = f$edit(tests,"COLLAPSE") $ --- 34,47 ---- $! "alltests" target in Makefile. This should make it easy to see $! if there's a difference that needs to be taken care of. $ tests := - ! test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,- test_md2,test_mdc2,test_wp,- test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,test_aes,- test_rand,test_bn,test_ec,test_ecdsa,test_ecdh,- test_enc,test_x509,test_rsa,test_crl,test_sid,- test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,- ! test_ss,test_ca,test_engine,test_evp,test_ssl,- ! test_jpake,test_tsa,test_ige,test_cms $ endif $ tests = f$edit(tests,"COLLAPSE") $ *************** $ test_jpake: *** 284,289 **** --- 293,302 ---- $ write sys$output "Test JPAKE" $ mcr 'texe_dir''jpaketest' $ return + $ test_cms: + $ write sys$output "CMS consistency test" + $ perl CMS-TEST.PL + $ return $ $ $ exit: -----Original Message----- From: Richard Levitte [mailto:rich...@levitte.org] Sent: den 12 november 2009 15:07 To: openssl-dev@openssl.org; s...@antinode.info Subject: Re: OpenSSL 1.0.0 beta4 release I just committed the suggested changes. I try to find the time checking the problems with the tests within the next few days. Cheers, Richard In message <09111115433492_20202...@antinode.info> on Wed, 11 Nov 2009 15:43:34 -0600 (CST), "Steven M. Schweda" <s...@antinode.info> said: sms> From: open...@master.openssl.org (OpenSSL) sms> sms> > OpenSSL version 1.0.0 Beta 4 sms> > [...] sms> > Since the third beta, the following has happened: sms> > [...] sms> - Build system fixes including VMS. sms> > [...] sms> sms> Not entirely successful. Around here: sms> sms> ALP $ cc /version sms> HP C V7.3-009 on OpenVMS Alpha V8.3 sms> sms> I tried: sms> @ makevms.com ALL "" NODEBUG DECC TCPIP sms> @ [.test]tests.com sms> sms> sms> ALP $ gdiff -u makevms.com_orig makevms.com sms> --- makevms.com_orig 2009-08-25 02:30:02 -0500 sms> +++ makevms.com 2009-11-11 13:21:47 -0600 sms> @@ -349,7 +349,7 @@ sms> $! sms> $! There are many places where this is needed. sms> $! sms> -$ WRITE H_FILE "#define _XOPEN_SOURCE_EXTENDED" sms> +$!!! WRITE H_FILE "#define _XOPEN_SOURCE_EXTENDED" sms> $! sms> $! Close the [.CRYPTO.<ARCH>]OPENSSLCONF.H file sms> $! sms> sms> What, too many things were working correctly? This _seriously_ sms> breaks the build. Why was this added? "is needed" is not a helpful sms> explanation. sms> sms> sms> --- apps/install.com_orig 2009-05-15 11:37:04 -0500 sms> +++ apps/install.com 2009-11-11 14:16:15 -0600 sms> @@ -57,7 +57,7 @@ sms> $ sms> $ SET NOON sms> $ COPY CA.COM WRK_SSLEXE:CA.COM/LOG sms> -$ SET FILE/PROT=W:RE WRK_SSLVEXE:CA.COM sms> +$ SET FILE/PROT=W:RE WRK_SSLEXE:CA.COM sms> $ COPY OPENSSL-VMS.CNF WRK_SSLROOT:[000000]OPENSSL.CNF/LOG sms> $ SET FILE/PROT=W:R WRK_SSLROOT:[000000]OPENSSL.CNF sms> $ SET ON sms> sms> Beside being simpler and perhaps a bit faster, using COPY /PROTECTION sms> instead of separate COPY and SET FILE /PROTECTION commands (as sms> previously suggested) would halve the opportunities for careless errors sms> of this type. sms> sms> sms> --- crypto/crypto-lib.com_orig 2009-08-25 02:22:08 -0500 sms> +++ crypto/crypto-lib.com 2009-11-11 10:48:40 -0600 sms> @@ -193,7 +193,8 @@ sms> $ LIB_SEED = "seed,seed_ecb,seed_cbc,seed_cfb,seed_ofb" sms> $ LIB_MODES = "cbc128,ctr128,cfb128,ofb128" sms> $ LIB_BN_ASM = "[.asm]vms.mar,vms-helper" sms> -$ IF F$TRNLNM("OPENSSL_NO_ASM") THEN LIB_BN_ASM = "bn_asm" sms> +$ IF F$TRNLNM("OPENSSL_NO_ASM") .OR. ARCH .NES. "VAX" THEN - sms> + LIB_BN_ASM = "bn_asm" sms> $ LIB_BN = "bn_add,bn_div,bn_exp,bn_lib,bn_ctx,bn_mul,bn_mod,"+ - sms> "bn_print,bn_rand,bn_shift,bn_word,bn_blind,"+ - sms> "bn_kron,bn_sqrt,bn_gcd,bn_prime,bn_err,bn_sqr,"+LIB_BN_ASM+","+ - sms> sms> Even if MACRO32 code were faster on an Alpha, the MACRO32 compiler sms> there won't compile "vms.mar". sms> sms> sms> --- crypto/symhacks.h_orig 2009-05-15 11:00:08 -0500 sms> +++ crypto/symhacks.h 2009-11-11 10:56:52 -0600 sms> @@ -138,6 +138,8 @@ sms> #define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers sms> #undef X509_STORE_CTX_get_explicit_policy sms> #define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy sms> +#undef X509_STORE_CTX_get0_current_issuer sms> +#define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_current_iss sms> sms> /* Hack some long CRYPTO names */ sms> #undef CRYPTO_set_dynlock_destroy_callback sms> sms> Yet another %CC-W-LONGEXTERN complaint. sms> sms> sms> --- util/libeay.num_orig 2009-11-04 07:29:58 -0600 sms> +++ util/libeay.num 2009-11-11 14:00:31 -0600 sms> @@ -4168,4 +4168,5 @@ sms> X509_STORE_set_verify_cb 4543 EXIST::FUNCTION: sms> X509_STORE_CTX_get0_current_crl 4544 EXIST::FUNCTION: sms> X509_STORE_CTX_get0_parent_ctx 4545 EXIST::FUNCTION: sms> -X509_STORE_CTX_get0_current_issuer 4546 EXIST::FUNCTION: sms> +X509_STORE_CTX_get0_current_issuer 4546 EXIST:!VMS:FUNCTION: sms> +X509_STORE_CTX_get0_current_iss 4546 EXIST:VMS:FUNCTION: sms> sms> See "crypto/symhacks.h". sms> sms> sms> "test/testenc.com" seems to fail. SSLROOT not defined? (If you sms> thought that it worked, what were you testing?) Apparently, sms> "test/tests.com" exits on error, so no test results after that. sms> sms> sms> Are there any plans to get this stuff to work properly before the sms> actual release? The beta kits so far have not been encouraging. I've sms> given up on seeing several previously suggested changed adopted, but it sms> would be nice if, for example, a simple build simply worked. sms> sms> ------------------------------------------------------------------------ sms> sms> Steven M. Schweda s...@antinode-info sms> 382 South Warwick Street (+1) 651-699-9818 sms> Saint Paul MN 55105-2547 -- Richard Levitte rich...@levitte.org http://richard.levitte.org/ "Life is a tremendous celebration - and I'm invited!" -- from a friend's blog, translated from Swedish ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org