Commit cf6a1dea authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

PR: 2202 (partial)

Submitted by: Steven M. Schweda <sms@antinode.info>

VMS fixes:
	Reduce copying into .apps and .test in makevms.com
	Don't try to use blank CA certificate in CA.com
	Allow use of C files from original directories in maketests.com
parent ea5b3f5e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -4,7 +4,11 @@

 Changes between 0.9.8n and 0.9.8o [xx XXX xxxx]

  *)
  *) VMS fixes: 
     Reduce copying into .apps and .test in makevms.com
     Don't try to use blank CA certificate in CA.com
     Allow use of C files from original directories in maketests.com
     [Steven M. Schweda" <sms@antinode.info>]

 Changes between 0.9.8m and 0.9.8n [24 Mar 2010]

+2 −2
Original line number Diff line number Diff line
@@ -114,8 +114,8 @@ $!
$   IF F$SEARCH(CATOP+".private"+CAKEY) .EQS. ""
$   THEN
$     READ '__INPUT' FILE -
	   /PROMT="CA certificate filename (or enter to create)"
$     IF F$SEARCH(FILE) .NES. ""
	   /PROMPT="CA certificate filename (or enter to create): "
$     IF (FILE .NES. "") .AND. (F$SEARCH(FILE) .NES. "")
$     THEN
$       COPY 'FILE' 'CATOP'.private'CAKEY'
$	RET=$STATUS
+2 −30
Original line number Diff line number Diff line
@@ -408,42 +408,14 @@ $ SOFTLINKS:
$!
$! Tell The User We Are Partly Rebuilding The [.APPS] Directory.
$!
$ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C', '[.APPS]MD5.C' And '[.APPS]RMD160.C' Files."
$ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C' File."
$!
$ DELETE SYS$DISK:[.APPS]MD4.C;*,MD5.C;*,RMD160.C;*
$ DELETE SYS$DISK:[.APPS]MD4.C;*
$!
$! Copy MD4.C from [.CRYPTO.MD4] into [.APPS]
$!
$ COPY SYS$DISK:[.CRYPTO.MD4]MD4.C SYS$DISK:[.APPS]
$!
$! Copy MD5.C from [.CRYPTO.MD5] into [.APPS]
$!
$ COPY SYS$DISK:[.CRYPTO.MD5]MD5.C SYS$DISK:[.APPS]
$!
$! Copy RMD160.C from [.CRYPTO.RIPEMD] into [.APPS]
$!
$ COPY SYS$DISK:[.CRYPTO.RIPEMD]RMD160.C SYS$DISK:[.APPS]
$!
$! Tell The User We Are Partly Rebuilding The [.TEST] Directory.
$!
$ WRITE SYS$OUTPUT "Rebuilding The '[.TEST]*.C' Files."
$!
$! 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]
$!
$ COPY SYS$DISK:[.CRYPTO.*]%*TEST.C SYS$DISK:[.TEST]
$ COPY SYS$DISK:[.CRYPTO.SHA]SHA%%%T.C SYS$DISK:[.TEST]
$ COPY SYS$DISK:[.CRYPTO.EVP]EVPTESTS.TXT SYS$DISK:[.TEST]
$!
$! Copy all the *TEST.C files from [.SSL...] into [.TEST]
$!
$ COPY SYS$DISK:[.SSL]%*TEST.C SYS$DISK:[.TEST]
$!
$! Tell The User We Are Rebuilding The [.INCLUDE.OPENSSL] Directory.
$!
$ WRITE SYS$OUTPUT "Rebuilding The '[.INCLUDE.OPENSSL]' Directory."
+195 −154
Original line number Diff line number Diff line
@@ -42,34 +42,20 @@ $! (That is, If Wee Need To Link To One.)
$!
$ TCPIP_LIB = ""
$!
$! Check What Architecture We Are Using.
$! Check Which Architecture We Are Using.
$!
$ IF (F$GETSYI("CPU").LT.128)
$ THEN
$!
$!  The Architecture Is VAX.
$!
$   ARCH := VAX
$!
$! Else...
$!
$ ELSE
$!
$!  The Architecture Is Alpha, IA64 or whatever comes in the future.
$!
$   ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE")
$   IF (ARCH .EQS. "") THEN ARCH = "UNK"
$ if (f$getsyi( "HW_MODEL") .lt. 1024)
$ then
$    arch = "VAX"
$ else
$    arch = ""
$    arch = arch+ f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
$    if (arch .eqs. "") then arch = "UNK"
$ endif
$!
$! End The Architecture Check.
$!
$ ENDIF
$!
$! Define The OBJ Directory.
$! Define The OBJ and EXE Directories (EXE before CHECK_OPTIONS).
$!
$ OBJ_DIR := SYS$DISK:[-.'ARCH'.OBJ.TEST]
$!
$! Define The EXE Directory.
$!
$ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.TEST]
$!
$! Check To Make Sure We Have Valid Command Line Parameters.
@@ -82,7 +68,7 @@ $ GOSUB INITIALISE
$!
$! Tell The User What Kind of Machine We Run On.
$!
$ WRITE SYS$OUTPUT "Compiling On A ",ARCH," Machine."
$ WRITE SYS$OUTPUT "Compiling On ''ARCH'."
$!
$! Define The CRYPTO-LIB We Are To Use.
$!
@@ -92,58 +78,108 @@ $! Define The SSL We Are To Use.
$!
$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL.OLB
$!
$! Check To See If The Architecture Specific OBJ Directory Exists.
$! Create the OBJ and EXE Directories, if needed.
$!
$ IF (F$PARSE(OBJ_DIR).EQS."")
$ THEN
$!
$!  The EXE Directory Dosen't Exist, So Create It.
$ IF (F$PARSE(OBJ_DIR).EQS."") THEN -
   CREATE /DIRECTORY 'OBJ_DIR'
$ IF (F$PARSE(EXE_DIR).EQS."") THEN -
   CREATE /DIRECTORY 'EXE_DIR'
$!
$   CREATE/DIRECTORY 'OBJ_DIR'
$! Check To See If We Have The Proper Libraries.
$!
$! End The Architecture Specific OBJ Directory Check.
$ GOSUB LIB_CHECK
$!
$ ENDIF
$! Check To See If We Have A Linker Option File.
$!
$! Check To See If The Architecture Specific EXE Directory Exists.
$ GOSUB CHECK_OPT_FILE
$!
$ IF (F$PARSE(EXE_DIR).EQS."")
$ THEN
$! Define The TEST Files.
$!
$!  The EXE Directory Dosen't Exist, So Create It.
T_D_1  = "[-.crypto.bf]"
T_F_1  = "bftest"
T_D_2  = "[-.crypto.bn]
T_F_2  = "bntest,exptest" ! "divtest"
T_D_3  = "[-.crypto.cast]"
T_F_3  = "casttest"
T_D_4  = "[-.crypto.conf]"
T_F_4  = "" ! "test"
T_D_5  = "[-.crypto.des]"
T_F_5  = "destest"
T_D_6  = "[-.crypto.dh]"
T_F_6  = "dhtest"
T_D_7  = "[-.crypto.dsa]"
T_F_7  = "dsatest"
T_D_8  = "[-.crypto.ec]"
T_F_8  = "ectest"
T_D_9  = "[-.crypto.ecdh]"
T_F_9  = "ecdhtest"
T_D_10 = "[-.crypto.ecdsa]"
T_F_10 = "ecdsatest"
T_D_11 = "[-.crypto.engine]"
T_F_11 = "enginetest"
T_D_12 = "[-.crypto.evp]"
T_F_12 = "evp_test"
T_D_13 = "[-.crypto.hmac]"
T_F_13 = "hmactest"
T_D_14 = "[-.crypto.idea]"
T_F_14 = "ideatest"
T_D_15 = "[-.crypto.jpake]"
T_F_15 = "jpaketest"
T_D_16 = "[-.crypto.lhash]"
T_F_16 = "" ! "lh_test"
T_D_17 = "[-.crypto.md2]"
T_F_17 = "md2test"
T_D_18 = "[-.crypto.md4]"
T_F_18 = "md4test"
T_D_19 = "[-.crypto.md5]"
T_F_19 = "md5test"
T_D_20 = "[-.crypto.mdc2]"
T_F_20 = "mdc2test"
T_D_21 = "[-.crypto.pqueue]"
T_F_21 = "" ! "pq_test"
T_D_22 = "[-.crypto.rand]"
T_F_22 = "randtest"
T_D_23 = "[-.crypto.rc2]"
T_F_23 = "rc2test"
T_D_24 = "[-.crypto.rc4]"
T_F_24 = "rc4test"
T_D_25 = "[-.crypto.rc5]"
T_F_25 = "rc5test"
T_D_26 = "[-.crypto.ripemd]"
T_F_26 = "rmdtest"
T_D_27 = "[-.crypto.rsa]"
T_F_27 = "rsa_test"
T_D_28 = "[-.crypto.sha]
T_F_28 = "sha1test,sha256t,sha512t,shatest"
T_D_29 = "[-.crypto.threads]
T_F_29 = "" !"mttest"
T_D_30 = "[-.crypto.x509v3]
T_F_30 = "" ! "tabtest"
T_D_31 = "[-.ssl]"
T_F_31 = "ssltest"
T_D_32 = "[-.test]"
T_F_32 = "igetest"
$!
$   CREATE/DIRECTORY 'EXE_DIR'
$ TCPIP_PROGRAMS = ",,"
$ IF COMPILER .EQS. "VAXC" THEN -
     TCPIP_PROGRAMS = ",SSLTEST,"
$!
$! End The Architecture Specific EXE Directory Check.
$! Define and initialize Test Directory Counter.
$!
$ ENDIF
$ T_D_N = 0
$!
$! Check To See If We Have The Proper Libraries.
$! Increment directory counter.  Exit the directory loop, if done.
$!
$ GOSUB LIB_CHECK
$ NEXT_DIR:
$!
$! Check To See If We Have A Linker Option File.
$ T_D_N = T_D_N+ 1
$ IF (F$TYPE( T_D_'T_D_N') .EQS. "") THEN GOTO DIR_DONE
$!
$ GOSUB CHECK_OPT_FILE
$!  Skip empty directory or file name list.
$!
$! Define The TEST Files.
$! NOTE: Some might think this list ugly.  However, it's made this way to
$! reflect the EXE variable in Makefile as closely as possible,
$! thereby making it fairly easy to verify that the lists are the same.
$!
$ TEST_FILES = "BNTEST,ECTEST,ECDSATEST,ECDHTEST,IDEATEST,"+ -
	       "MD2TEST,MD4TEST,MD5TEST,HMACTEST,"+ -
	       "RC2TEST,RC4TEST,RC5TEST,"+ -
	       "DESTEST,SHATEST,SHA1TEST,SHA256T,SHA512T,"+ -
	       "MDC2TEST,RMDTEST,"+ -
	       "RANDTEST,DHTEST,ENGINETEST,"+ -
	       "BFTEST,CASTTEST,SSLTEST,EXPTEST,DSATEST,RSA_TEST,"+ -
	       "EVP_TEST,JPAKETEST"
$! Should we add MTTEST,PQ_TEST,LH_TEST,DIVTEST,TABTEST as well?
$
$ TCPIP_PROGRAMS = ",,"
$ IF COMPILER .EQS. "VAXC" THEN -
     TCPIP_PROGRAMS = ",SSLTEST,"
$   TEST_DIR = T_D_'T_D_N'
$   TEST_FILES = T_F_'T_D_N'
$   IF ((TEST_DIR .EQS. "") .OR. (TEST_FILES .EQS. "")) THEN GOTO NEXT_DIR
$!
$!  Define A File Counter And Set It To "0".
$!
@@ -167,7 +203,7 @@ $ FILE_COUNTER = FILE_COUNTER + 1
$!
$!  Create The Source File Name.
$!
$ SOURCE_FILE = "SYS$DISK:[]" + FILE_NAME + ".C"
$   SOURCE_FILE = "SYS$DISK:''TEST_DIR'" + FILE_NAME + ".C"
$!
$!  Create The Object File Name.
$!
@@ -201,9 +237,7 @@ $!
$!  Compile The File.
$!
$   ON ERROR THEN GOTO NEXT_FILE
$ CC/OBJECT='OBJECT_FILE' /PREFIX=ALL -
    /INCLUDE=(SYS$DISK:[-],SYS$DISK:[-.CRYPTO],SYS$DISK:[-.CRYPTO.X509V3],SYS$DISK:[-.INCLUDE.OPENSSL]) - 
    'SOURCE_FILE'
$   CC /OBJECT='OBJECT_FILE' 'SOURCE_FILE'
$   ON WARNING THEN GOTO NEXT_FILE
$!
$!  Check If What We Are About To Compile Works Without A TCP/IP Library.
@@ -213,7 +247,8 @@ $ THEN
$!
$!    Inform The User That A TCP/IP Library Is Needed To Compile This Program.
$!
$   WRITE SYS$OUTPUT FILE_NAME," Needs A TCP/IP Library.  Can't Link.  Skipping..."
$     WRITE SYS$OUTPUT -
       FILE_NAME," Needs A TCP/IP Library.  Can't Link.  Skipping..."
$     GOTO NEXT_FILE
$!
$!  End The TCP/IP Library Check.
@@ -228,10 +263,12 @@ $ THEN
$!
$!    Don't Link With The RSAREF Routines And TCP/IP Library.
$!
$   LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
$     LINK /'DEBUGGER' /'TRACEBACK' /EXECUTABLE = 'EXE_FILE' -
       'OBJECT_FILE', -
        'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, -
        'TCPIP_LIB','OPT_FILE'/OPTION
       'SSL_LIB' /LIBRARY, -
       'CRYPTO_LIB' /LIBRARY, -
       'TCPIP_LIB', -
       'OPT_FILE' /OPTIONS
$!
$!    Else...
$!
@@ -239,10 +276,11 @@ $ ELSE
$!
$!    Don't Link With The RSAREF Routines And Link With A TCP/IP Library.
$!
$   LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
$     LINK /'DEBUGGER' /'TRACEBACK' /EXECUTABLE = 'EXE_FILE' -
       'OBJECT_FILE', -
        'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, -
        'OPT_FILE'/OPTION
       'SSL_LIB' /LIBRARY, -
       'CRYPTO_LIB' /LIBRARY, -
       'OPT_FILE' /OPTIONS
$!
$!  End The TCP/IP Library Check.
$!
@@ -255,6 +293,9 @@ $!
$! All Done With This Library Part.
$!
$ FILE_DONE:
$ GOTO NEXT_DIR
$!
$ DIR_DONE:
$!
$! All Done, Time To Exit.
$!
@@ -281,10 +322,10 @@ $!
$     CREATE 'OPT_FILE'
$DECK
!
! Default System Options File To Link Agianst 
! The Sharable VAX C Runtime Library.
! Default System Options File To Link Against
! The Shareable VAX C Runtime Library.
!
SYS$SHARE:VAXCRTL.EXE/SHARE
SYS$SHARE:VAXCRTL.EXE /SHAREABLE
$EOD
$!
$!  End The Option File Check.
@@ -310,11 +351,11 @@ $!
$     CREATE 'OPT_FILE'
$DECK
!
! Default System Options File To Link Agianst 
! The Sharable C Runtime Library.
! Default System Options File To Link Against
! The Shareable C Runtime Library.
!
GNU_CC:[000000]GCCLIB/LIBRARY
SYS$SHARE:VAXCRTL/SHARE
GNU_CC:[000000]GCCLIB.OLB /LIBRARY
SYS$SHARE:VAXCRTL.EXE /SHAREABLE
$EOD
$!
$!  End The Option File Check.
@@ -345,10 +386,10 @@ $!
$       CREATE 'OPT_FILE'
$DECK
!
! Default System Options File To Link Agianst 
! The Sharable DEC C Runtime Library.
! Default System Options File To Link Against
! The Shareable DEC C Runtime Library.
!
SYS$SHARE:DECC$SHR.EXE/SHARE
SYS$SHARE:DECC$SHR.EXE /SHAREABLE
$EOD
$!
$!    Else...
@@ -360,11 +401,11 @@ $!
$       CREATE 'OPT_FILE'
$DECK
!
! Default System Options File For non-VAX To Link Agianst 
! The Sharable C Runtime Library.
! Default System Options File For non-VAX To Link Against
! The Shareable C Runtime Library.
!
SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE
SYS$SHARE:CMA$OPEN_RTL/SHARE
SYS$SHARE:CMA$OPEN_LIB_SHR.EXE /SHAREABLE
SYS$SHARE:CMA$OPEN_RTL.EXE /SHAREABLE
$EOD
$!
$!    End The DEC C Option File Check.
@@ -757,7 +798,7 @@ $ THEN
$!
$!    Set the library to use SOCKETSHR
$!
$     TCPIP_LIB = "SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT/OPT"
$     TCPIP_LIB = "SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT /OPTIONS"
$!
$!    Done with SOCKETSHR
$!
@@ -768,7 +809,7 @@ $!
$   IF P3.EQS."MULTINET"
$   THEN
$!
$!    Set the library to use UXC emulation.
$!    Set the library to use UCX emulation.
$!
$     P3 = "UCX"
$!
@@ -783,13 +824,13 @@ $ THEN
$!
$!    Set the library to use UCX.
$!
$     TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT/OPT"
$     TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT /OPTIONS"
$     IF F$TRNLNM("UCX$IPC_SHR") .NES. ""
$     THEN
$       TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT/OPT"
$       TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT /OPTIONS"
$     ELSE
$       IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN -
	  TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT/OPT"
	  TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT /OPTIONS"
$     ENDIF
$!
$!    Done with UCX
@@ -803,7 +844,7 @@ $ THEN
$!
$!    Set the library to use TCPIP (post UCX).
$!
$     TCPIP_LIB = "SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT/OPT"
$     TCPIP_LIB = "SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT /OPTIONS"
$!
$!    Done with TCPIP
$!