summaryrefslogtreecommitdiff
path: root/deps/openssl/openssl/VMS
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/openssl/VMS')
-rw-r--r--deps/openssl/openssl/VMS/TODO18
-rw-r--r--deps/openssl/openssl/VMS/VMSify-conf.pl11
-rw-r--r--deps/openssl/openssl/VMS/WISHLIST.TXT4
-rw-r--r--deps/openssl/openssl/VMS/engine.opt2
-rwxr-xr-xdeps/openssl/openssl/VMS/install-vms.com67
-rw-r--r--deps/openssl/openssl/VMS/mkshared.com476
-rw-r--r--deps/openssl/openssl/VMS/multinet_shr.opt1
-rw-r--r--deps/openssl/openssl/VMS/openssl_ivp.com.in50
-rw-r--r--deps/openssl/openssl/VMS/openssl_shutdown.com.in56
-rwxr-xr-xdeps/openssl/openssl/VMS/openssl_startup.com108
-rw-r--r--deps/openssl/openssl/VMS/openssl_startup.com.in123
-rwxr-xr-xdeps/openssl/openssl/VMS/openssl_undo.com20
-rw-r--r--deps/openssl/openssl/VMS/openssl_utils.com46
-rw-r--r--deps/openssl/openssl/VMS/openssl_utils.com.in14
-rw-r--r--deps/openssl/openssl/VMS/socketshr_shr.opt1
-rw-r--r--deps/openssl/openssl/VMS/tcpip_shr_decc.opt1
-rw-r--r--deps/openssl/openssl/VMS/translatesyms.pl62
-rw-r--r--deps/openssl/openssl/VMS/ucx_shr_decc.opt1
-rw-r--r--deps/openssl/openssl/VMS/ucx_shr_decc_log.opt1
-rw-r--r--deps/openssl/openssl/VMS/ucx_shr_vaxc.opt1
20 files changed, 316 insertions, 747 deletions
diff --git a/deps/openssl/openssl/VMS/TODO b/deps/openssl/openssl/VMS/TODO
deleted file mode 100644
index 359e069191..0000000000
--- a/deps/openssl/openssl/VMS/TODO
+++ /dev/null
@@ -1,18 +0,0 @@
-TODO:
-=====
-
-There are a few things that need to be worked out in the VMS version of
-OpenSSL, still:
-
-- Description files. ("Makefile's" :-))
-- Script code to link an already compiled build tree.
-- A VMSINSTALlable version (way in the future, unless someone else hacks).
-- shareable images (DLL for you Windows folks).
-
-There may be other things that I have missed and that may be desirable.
-Please send mail to <openssl-users@openssl.org> or to me directly if you
-have any ideas.
-
---
-Richard Levitte <richard@levitte.org>
-1999-05-24
diff --git a/deps/openssl/openssl/VMS/VMSify-conf.pl b/deps/openssl/openssl/VMS/VMSify-conf.pl
index d3be6a29e7..21eff113f8 100644
--- a/deps/openssl/openssl/VMS/VMSify-conf.pl
+++ b/deps/openssl/openssl/VMS/VMSify-conf.pl
@@ -1,4 +1,11 @@
-#! /usr/bin/perl
+#! /usr/bin/env perl
+# Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
use strict;
use warnings;
@@ -7,7 +14,7 @@ my @directory_vars = ( "dir", "certs", "crl_dir", "new_certs_dir" );
my @file_vars = ( "database", "certificate", "serial", "crlnumber",
"crl", "private_key", "RANDFILE" );
while(<STDIN>) {
- chomp;
+ s|\R$||;
foreach my $d (@directory_vars) {
if (/^(\s*\#?\s*${d}\s*=\s*)\.\/([^\s\#]*)([\s\#].*)$/) {
$_ = "$1sys\\\$disk:\[.$2$3";
diff --git a/deps/openssl/openssl/VMS/WISHLIST.TXT b/deps/openssl/openssl/VMS/WISHLIST.TXT
deleted file mode 100644
index c151fc8ea7..0000000000
--- a/deps/openssl/openssl/VMS/WISHLIST.TXT
+++ /dev/null
@@ -1,4 +0,0 @@
-* Have the building procedure contain a LINK-only possibility.
- Wished by Mark Daniel <mark.daniel@dsto.defence.gov.au>
-
- One way to enable that is also to go over to DESCRIP.MMS files.
diff --git a/deps/openssl/openssl/VMS/engine.opt b/deps/openssl/openssl/VMS/engine.opt
new file mode 100644
index 0000000000..1c73c8005a
--- /dev/null
+++ b/deps/openssl/openssl/VMS/engine.opt
@@ -0,0 +1,2 @@
+CASE_SENSITIVE=YES
+SYMBOL_VECTOR=(bind_engine=PROCEDURE,v_check=PROCEDURE)
diff --git a/deps/openssl/openssl/VMS/install-vms.com b/deps/openssl/openssl/VMS/install-vms.com
deleted file mode 100755
index 7da8b2153b..0000000000
--- a/deps/openssl/openssl/VMS/install-vms.com
+++ /dev/null
@@ -1,67 +0,0 @@
-$! install-vms.com -- Installs the files in a given directory tree
-$!
-$! Author: Richard Levitte <richard@levitte.org>
-$! Time of creation: 23-MAY-1998 19:22
-$!
-$! P1 root of the directory tree
-$!
-$!
-$! Announce/identify.
-$!
-$ proc = f$environment( "procedure")
-$ write sys$output "@@@ "+ -
- f$parse( proc, , , "name")+ f$parse( proc, , , "type")
-$!
-$ on error then goto tidy
-$ on control_c then goto tidy
-$!
-$ if p1 .eqs. ""
-$ then
-$ write sys$output "First argument missing."
-$ write sys$output -
- "Should be the directory where you want things installed."
-$ exit
-$ endif
-$
-$ if (f$getsyi( "cpu") .lt. 128)
-$ then
-$ arch = "VAX"
-$ else
-$ arch = f$edit( f$getsyi( "arch_name"), "upcase")
-$ if (arch .eqs. "") then arch = "UNK"
-$ endif
-$
-$ root = f$parse( P1, "[]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." - "][" - "[" - "]"
-$ root = root_dev + "[" + root_dir
-$
-$ define /nolog wrk_sslroot 'root'.] /translation_attributes = concealed
-$ define /nolog wrk_sslinclude wrk_sslroot:[include]
-$
-$ if f$parse( "wrk_sslroot:[000000]") .eqs. "" then -
- create /directory /log wrk_sslroot:[000000]
-$ if f$parse( "wrk_sslinclude:") .eqs. "" then -
- create /directory /log wrk_sslinclude:
-$ if f$parse( "wrk_sslroot:[vms]") .eqs. "" then -
- create /directory /log wrk_sslroot:[vms]
-$!
-$ copy /log /protection = world:re openssl_startup.com wrk_sslroot:[vms]
-$ copy /log /protection = world:re openssl_undo.com wrk_sslroot:[vms]
-$ copy /log /protection = world:re openssl_utils.com wrk_sslroot:[vms]
-$!
-$ tidy:
-$!
-$ call deass wrk_sslroot
-$ call deass wrk_sslinclude
-$!
-$ exit
-$!
-$ deass: subroutine
-$ if (f$trnlnm( p1, "LNM$PROCESS") .nes. "")
-$ then
-$ deassign /process 'p1'
-$ endif
-$ endsubroutine
-$!
diff --git a/deps/openssl/openssl/VMS/mkshared.com b/deps/openssl/openssl/VMS/mkshared.com
deleted file mode 100644
index b0d1fdaac3..0000000000
--- a/deps/openssl/openssl/VMS/mkshared.com
+++ /dev/null
@@ -1,476 +0,0 @@
-$! MKSHARED.COM -- Create shareable images.
-$!
-$! P1: "64" for 64-bit pointers.
-$!
-$! P2: Zlib object library path (optional).
-$!
-$! Input: [.UTIL]LIBEAY.NUM,[.xxx.EXE.CRYPTO]SSL_LIBCRYPTO[32].OLB
-$! [.UTIL]SSLEAY.NUM,[.xxx.EXE.SSL]SSL_LIBSSL[32].OLB
-$! [.CRYPTO.xxx]OPENSSLCONF.H
-$! Output: [.xxx.EXE.CRYPTO]SSL_LIBCRYPTO_SHR[32].OPT,.MAP,.EXE
-$! [.xxx.EXE.SSL]SSL_LIBSSL_SRH[32].OPT,.MAP,.EXE
-$!
-$! So far, tests have only been made on VMS for Alpha. VAX will come in time.
-$! ===========================================================================
-$!
-$! Announce/identify.
-$!
-$ proc = f$environment( "procedure")
-$ write sys$output "@@@ "+ -
- f$parse( proc, , , "name")+ f$parse( proc, , , "type")
-$!
-$! Save the original default device:[directory].
-$!
-$ def_orig = f$environment( "default")
-$ on error then goto tidy
-$ on control_c then goto tidy
-$!
-$! SET DEFAULT to the main kit directory.
-$!
-$ proc = f$environment("procedure")
-$ proc = f$parse( "A.;", proc)- "A.;"
-$ set default 'proc'
-$ set default [-]
-$!
-$! ----- Prepare info for processing: version number and file info
-$ gosub read_version_info
-$ if libver .eqs. ""
-$ then
-$ write sys$error "ERROR: Couldn't find any library version info..."
-$ go to tidy:
-$ endif
-$
-$ if (f$getsyi("cpu") .lt. 128)
-$ then
-$ arch_vax = 1
-$ arch = "VAX"
-$ else
-$ arch_vax = 0
-$ arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
-$ if (arch .eqs. "") then arch = "UNK"
-$ endif
-$!
-$ archd = arch
-$ lib32 = "32"
-$ shr = "SHR32"
-$!
-$ if (p1 .nes. "")
-$ then
-$ if (p1 .eqs. "64")
-$ then
-$ archd = arch+ "_64"
-$ lib32 = ""
-$ shr = "SHR"
-$ else
-$ if (p1 .nes. "32")
-$ then
-$ write sys$output "Second argument invalid."
-$ write sys$output "It should be "32", "64", or nothing."
-$ exit
-$ endif
-$ endif
-$ endif
-$!
-$! ----- Prepare info for processing: disabled algorithms info
-$ gosub read_disabled_algorithms_info
-$!
-$ ZLIB = p2
-$ zlib_lib = ""
-$ if (ZLIB .nes. "")
-$ then
-$ file2 = f$parse( ZLIB, "libz.olb", , , "syntax_only")
-$ if (f$search( file2) .eqs. "")
-$ then
-$ write sys$output ""
-$ write sys$output "The Option ", ZLIB, " Is Invalid."
-$ write sys$output " Can't find library: ''file2'"
-$ write sys$output ""
-$ goto tidy
-$ endif
-$ zlib_lib = ", ''file2' /library"
-$ endif
-$!
-$ if (arch_vax)
-$ then
-$ libtit = "CRYPTO_TRANSFER_VECTOR"
-$ libid = "Crypto"
-$ libnum = "[.UTIL]LIBEAY.NUM"
-$ libdir = "[.''ARCHD'.EXE.CRYPTO]"
-$ libmar = "''libdir'SSL_LIBCRYPTO_''shr'.MAR"
-$ libolb = "''libdir'SSL_LIBCRYPTO''lib32'.OLB"
-$ libopt = "''libdir'SSL_LIBCRYPTO_''shr'.OPT"
-$ libobj = "''libdir'SSL_LIBCRYPTO_''shr'.OBJ"
-$ libmap = "''libdir'SSL_LIBCRYPTO_''shr'.MAP"
-$ libgoal= "''libdir'SSL_LIBCRYPTO_''shr'.EXE"
-$ libref = ""
-$ libvec = "LIBCRYPTO"
-$ if f$search( libolb) .nes. "" then gosub create_vax_shr
-$ libtit = "SSL_TRANSFER_VECTOR"
-$ libid = "SSL"
-$ libnum = "[.UTIL]SSLEAY.NUM"
-$ libdir = "[.''ARCHD'.EXE.SSL]"
-$ libmar = "''libdir'SSL_LIBSSL_''shr'.MAR"
-$ libolb = "''libdir'SSL_LIBSSL''lib32'.OLB"
-$ libopt = "''libdir'SSL_LIBSSL_''shr'.OPT"
-$ libobj = "''libdir'SSL_LIBSSL_''shr'.OBJ"
-$ libmap = "''libdir'SSL_LIBSSL_''shr'.MAP"
-$ libgoal= "''libdir'SSL_LIBSSL_''shr'.EXE"
-$ libref = "[.''ARCHD'.EXE.CRYPTO]SSL_LIBCRYPTO_''shr'.EXE"
-$ libvec = "LIBSSL"
-$ if f$search( libolb) .nes. "" then gosub create_vax_shr
-$ else
-$ libid = "Crypto"
-$ libnum = "[.UTIL]LIBEAY.NUM"
-$ libdir = "[.''ARCHD'.EXE.CRYPTO]"
-$ libolb = "''libdir'SSL_LIBCRYPTO''lib32'.OLB"
-$ libopt = "''libdir'SSL_LIBCRYPTO_''shr'.OPT"
-$ libmap = "''libdir'SSL_LIBCRYPTO_''shr'.MAP"
-$ libgoal= "''libdir'SSL_LIBCRYPTO_''shr'.EXE"
-$ libref = ""
-$ if f$search( libolb) .nes. "" then gosub create_nonvax_shr
-$ libid = "SSL"
-$ libnum = "[.UTIL]SSLEAY.NUM"
-$ libdir = "[.''ARCHD'.EXE.SSL]"
-$ libolb = "''libdir'SSL_LIBSSL''lib32'.OLB"
-$ libopt = "''libdir'SSL_LIBSSL_''shr'.OPT"
-$ libmap = "''libdir'SSL_LIBSSL_''shr'.MAP"
-$ libgoal= "''libdir'SSL_LIBSSL_''shr'.EXE"
-$ libref = "[.''ARCHD'.EXE.CRYPTO]SSL_LIBCRYPTO_''shr'.EXE"
-$ if f$search( libolb) .nes. "" then gosub create_nonvax_shr
-$ endif
-$!
-$ tidy:
-$!
-$! Close any open files.
-$!
-$ if (f$trnlnm( "libnum", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then -
- close libnum
-$!
-$ if (f$trnlnm( "mar", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then -
- close mar
-$!
-$ if (f$trnlnm( "opt", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then -
- close opt
-$!
-$ if (f$trnlnm( "vf", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then -
- close vf
-$!
-$! Restore the original default device:[directory].
-$!
-$ set default 'def_orig'
-$ exit
-$
-$! ----- Subroutines to build the shareable libraries
-$! For each supported architecture, there's a main shareable library
-$! creator, which is called from the main code above.
-$! The creator will define a number of variables to tell the next levels of
-$! subroutines what routines to use to write to the option files, call the
-$! main processor, read_func_num, and when that is done, it will write version
-$! data at the end of the .opt file, close it, and link the library.
-$!
-$! read_func_num reads through a .num file and calls the writer routine for
-$! each line. It's also responsible for checking that order is properly kept
-$! in the .num file, check that each line applies to VMS and the architecture,
-$! and to fill in "holes" with dummy entries.
-$!
-$! The creator routines depend on the following variables:
-$! libnum The name of the .num file to use as input
-$! libolb The name of the object library to build from
-$! libid The identification string of the shareable library
-$! libopt The name of the .opt file to write
-$! libtit The title of the assembler transfer vector file (VAX only)
-$! libmar The name of the assembler transfer vector file (VAX only)
-$! libmap The name of the map file to write
-$! libgoal The name of the shareable library to write
-$! libref The name of a shareable library to link in
-$!
-$! read_func_num depends on the following variables from the creator:
-$! libwriter The name of the writer routine to call for each .num file line
-$! -----
-$
-$! ----- Subroutines for non-VAX
-$! -----
-$! The creator routine
-$ create_nonvax_shr:
-$ open /write opt 'libopt'
-$ write opt "identification=""",libid," ",libverstr,""""
-$ write opt libolb, " /library"
-$ if libref .nes. "" then write opt libref,"/SHARE"
-$ write opt "SYMBOL_VECTOR=(-"
-$ libfirstentry := true
-$ libwrch := opt
-$ libwriter := write_nonvax_transfer_entry
-$ textcount = 0
-$ gosub read_func_num
-$ write opt ")"
-$ write opt "GSMATCH=",libvmatch,",",libver
-$ close opt
-$ link /map = 'libmap' /full /share = 'libgoal' 'libopt' /options -
- 'zlib_lib'
-$ return
-$
-$! The record writer routine
-$ write_nonvax_transfer_entry:
-$ if libentry .eqs. ".dummy" then return
-$ if info_kind .eqs. "VARIABLE"
-$ then
-$ pr:=DATA
-$ else
-$ pr:=PROCEDURE
-$ endif
-$ textcount_this = f$length(pr) + f$length(libentry) + 5
-$ if textcount + textcount_this .gt. 1024
-$ then
-$ write opt ")"
-$ write opt "SYMBOL_VECTOR=(-"
-$ textcount = 16
-$ libfirstentry := true
-$ endif
-$ if libfirstentry
-$ then
-$ write 'libwrch' " ",libentry,"=",pr," -"
-$ else
-$ write 'libwrch' " ,",libentry,"=",pr," -"
-$ endif
-$ libfirstentry := false
-$ textcount = textcount + textcount_this
-$ return
-$
-$! ----- Subroutines for VAX
-$! -----
-$! The creator routine
-$ create_vax_shr:
-$ open /write mar 'libmar'
-$ type sys$input:/out=mar:
-;
-; Transfer vector for VAX shareable image
-;
-$ write mar " .TITLE ",libtit
-$ write mar " .IDENT /",libid,"/"
-$ type sys$input:/out=mar:
-;
-; Define macro to assist in building transfer vector entries. Each entry
-; should take no more than 8 bytes.
-;
- .MACRO FTRANSFER_ENTRY routine
- .ALIGN QUAD
- .TRANSFER routine
- .MASK routine
- JMP routine+2
- .ENDM FTRANSFER_ENTRY
-;
-; Place entries in own program section.
-;
-$ write mar " .PSECT $$",libvec,",QUAD,PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT"
-$ write mar libvec,"_xfer:"
-$ libwrch := mar
-$ libwriter := write_vax_ftransfer_entry
-$ gosub read_func_num
-$ type sys$input:/out=mar:
-;
-; Allocate extra storage at end of vector to allow for expansion.
-;
-$ write mar " .BLKB 32768-<.-",libvec,"_xfer> ; 64 pages total."
-$! libwriter := write_vax_vtransfer_entry
-$! gosub read_func_num
-$ write mar " .END"
-$ close mar
-$ open /write opt 'libopt'
-$ write opt "identification=""",libid," ",libverstr,""""
-$ write opt libobj
-$ write opt libolb, " /library"
-$ if libref .nes. "" then write opt libref,"/SHARE"
-$ type sys$input:/out=opt:
-!
-! Ensure transfer vector is at beginning of image
-!
-CLUSTER=FIRST
-$ write opt "COLLECT=FIRST,$$",libvec
-$ write opt "GSMATCH=",libvmatch,",",libver
-$ type sys$input:/out=opt:
-!
-! make psects nonshareable so image can be installed.
-!
-PSECT_ATTR=$CHAR_STRING_CONSTANTS,NOWRT
-$ libwrch := opt
-$ libwriter := write_vax_psect_attr
-$ gosub read_func_num
-$ close opt
-$ macro/obj='libobj' 'libmar'
-$ link /map = 'libmap' /full /share = 'libgoal' 'libopt' /options -
- 'zlib_lib'
-$ return
-$
-$! The record writer routine for VAX functions
-$ write_vax_ftransfer_entry:
-$ if info_kind .nes. "FUNCTION" then return
-$ if libentry .eqs ".dummy"
-$ then
-$ write 'libwrch' " .BLKB 8" ! Dummy is zeroes...
-$ else
-$ write 'libwrch' " FTRANSFER_ENTRY ",libentry
-$ endif
-$ return
-$! The record writer routine for VAX variables (should never happen!)
-$ write_vax_psect_attr:
-$ if info_kind .nes. "VARIABLE" then return
-$ if libentry .eqs ".dummy" then return
-$ write 'libwrch' "PSECT_ATTR=",libentry,",NOSHR"
-$ return
-$
-$! ----- Common subroutines
-$! -----
-$! The .num file reader. This one has great responsibility.
-$ read_func_num:
-$ open /read libnum 'libnum'
-$ goto read_nums
-$
-$ read_nums:
-$ libentrynum=0
-$ liblastentry:=false
-$ entrycount=0
-$ loop:
-$ read /end=loop_end /err=loop_end libnum line
-$ lin = f$edit( line, "COMPRESS,TRIM")
-$! Skip a "#" comment line.
-$ if (f$extract( 0, 1, lin) .eqs. "#") then goto loop
-$ entrynum = f$int(f$element( 1, " ", lin))
-$ entryinfo = f$element( 2, " ", lin)
-$ curentry = f$element( 0, " ", lin)
-$ info_exist = f$element( 0, ":", entryinfo)
-$ info_platforms = ","+ f$element(1, ":", entryinfo)+ ","
-$ info_kind = f$element( 2, ":", entryinfo)
-$ info_algorithms = ","+ f$element( 3, ":", entryinfo)+ ","
-$ if info_exist .eqs. "NOEXIST" then goto loop
-$ truesum = 0
-$ falsesum = 0
-$ negatives = 1
-$ plat_i = 0
-$ loop1:
-$ plat_entry = f$element( plat_i, ",", info_platforms)
-$ plat_i = plat_i + 1
-$ if plat_entry .eqs. "" then goto loop1
-$ if plat_entry .nes. ","
-$ then
-$ if f$extract(0,1,plat_entry) .nes. "!" then negatives = 0
-$ if (arch_vax)
-$ then
-$ if plat_entry .eqs. "EXPORT_VAR_AS_FUNCTION" then -
-$ truesum = truesum + 1
-$ if plat_entry .eqs. "!EXPORT_VAR_AS_FUNCTION" then -
-$ falsesum = falsesum + 1
-$ endif
-$!
-$ if ((plat_entry .eqs. "VMS") .or. -
- ((plat_entry .eqs. "ZLIB") .and. (ZLIB .nes. "")) .or. -
- (arch_vax .and. (plat_entry .eqs. "VMSVAX"))) then -
- truesum = truesum + 1
-$!
-$ if ((plat_entry .eqs. "!VMS") .or. -
- (arch_vax .and. (plat_entry .eqs. "!VMSVAX"))) then -
- falsesum = falsesum + 1
-$!
-$ goto loop1
-$ endif
-$ endloop1:
-$!DEBUG!$ if info_platforms - "EXPORT_VAR_AS_FUNCTION" .nes. info_platforms
-$!DEBUG!$ then
-$!DEBUG!$ write sys$output line
-$!DEBUG!$ write sys$output " truesum = ",truesum,-
-$!DEBUG! ", negatives = ",negatives,", falsesum = ",falsesum
-$!DEBUG!$ endif
-$ if falsesum .ne. 0 then goto loop
-$ if truesum+negatives .eq. 0 then goto loop
-$ alg_i = 0
-$ loop2:
-$ alg_entry = f$element(alg_i,",",info_algorithms)
-$ alg_i = alg_i + 1
-$ if alg_entry .eqs. "" then goto loop2
-$ if alg_entry .nes. ","
-$ then
-$ if disabled_algorithms - ("," + alg_entry + ",") .nes disabled_algorithms then goto loop
-$ if f$trnlnm("OPENSSL_NO_"+alg_entry) .nes. "" then goto loop
-$ goto loop2
-$ endif
-$ endloop2:
-$ if info_platforms - "EXPORT_VAR_AS_FUNCTION" .nes. info_platforms
-$ then
-$!DEBUG!$ write sys$output curentry," ; ",entrynum," ; ",entryinfo
-$ endif
-$ redo:
-$ next:=loop
-$ tolibentry=curentry
-$ if libentrynum .ne. entrynum
-$ then
-$ entrycount=entrycount+1
-$ if entrycount .lt. entrynum
-$ then
-$!DEBUG!$ write sys$output "Info: entrycount: ''entrycount', entrynum: ''entrynum' => 0"
-$ tolibentry=".dummy"
-$ next:=redo
-$ endif
-$ if entrycount .gt. entrynum
-$ then
-$ write sys$error "Decreasing library entry numbers! Can't continue"
-$ write sys$error """",line,""""
-$ close libnum
-$ return
-$ endif
-$ libentry=tolibentry
-$!DEBUG!$ write sys$output entrycount," ",libentry," ",entryinfo
-$ if libentry .nes. "" .and. libwriter .nes. "" then gosub 'libwriter'
-$ else
-$ write sys$error "Info: ""''curentry'"" is an alias for ""''libentry'"". Overriding..."
-$ endif
-$ libentrynum=entrycount
-$ goto 'next'
-$ loop_end:
-$ close libnum
-$ return
-$
-$! The version number reader
-$ read_version_info:
-$ libver = ""
-$ open /read vf [.CRYPTO]OPENSSLV.H
-$ loop_rvi:
-$ read/err=endloop_rvi/end=endloop_rvi vf rvi_line
-$ if rvi_line - "SHLIB_VERSION_NUMBER """ .eqs. rvi_line then -
- goto loop_rvi
-$ libverstr = f$element(1,"""",rvi_line)
-$ libvmajor = f$element(0,".",libverstr)
-$ libvminor = f$element(1,".",libverstr)
-$ libvedit = f$element(2,".",libverstr)
-$ libvpatch = f$cvui(0,8,f$extract(1,1,libvedit)+"@")-f$cvui(0,8,"@")
-$ libvedit = f$extract(0,1,libvedit)
-$ libver = f$string(f$int(libvmajor)*100)+","+-
- f$string(f$int(libvminor)*100+f$int(libvedit)*10+f$int(libvpatch))
-$ if libvmajor .eqs. "0"
-$ then
-$ libvmatch = "EQUAL"
-$ else
-$ ! Starting with the 1.0 release, backward compatibility should be
-$ ! kept, so switch over to the following
-$ libvmatch = "LEQUAL"
-$ endif
-$ endloop_rvi:
-$ close vf
-$ return
-$
-$! The disabled algorithms reader
-$ read_disabled_algorithms_info:
-$ disabled_algorithms = ","
-$ open /read cf [.CRYPTO.'ARCH']OPENSSLCONF.H
-$ loop_rci:
-$ read/err=endloop_rci/end=endloop_rci cf rci_line
-$ rci_line = f$edit(rci_line,"TRIM,COMPRESS")
-$ rci_ei = 0
-$ if f$extract(0,9,rci_line) .eqs. "# define " then rci_ei = 2
-$ if f$extract(0,8,rci_line) .eqs. "#define " then rci_ei = 1
-$ if rci_ei .eq. 0 then goto loop_rci
-$ rci_e = f$element(rci_ei," ",rci_line)
-$ if f$extract(0,11,rci_e) .nes. "OPENSSL_NO_" then goto loop_rci
-$ disabled_algorithms = disabled_algorithms + f$extract(11,999,rci_e) + ","
-$ goto loop_rci
-$ endloop_rci:
-$ close cf
-$ return
diff --git a/deps/openssl/openssl/VMS/multinet_shr.opt b/deps/openssl/openssl/VMS/multinet_shr.opt
deleted file mode 100644
index 610f42dddb..0000000000
--- a/deps/openssl/openssl/VMS/multinet_shr.opt
+++ /dev/null
@@ -1 +0,0 @@
-multinet:multinet_socket_library.exe/share
diff --git a/deps/openssl/openssl/VMS/openssl_ivp.com.in b/deps/openssl/openssl/VMS/openssl_ivp.com.in
new file mode 100644
index 0000000000..e888b52879
--- /dev/null
+++ b/deps/openssl/openssl/VMS/openssl_ivp.com.in
@@ -0,0 +1,50 @@
+$ ! OpenSSL Internal Verification Procedure
+$ !
+$ ! This script checks the consistency of a OpenSSL installation
+$ ! It had better be spawned, as it creates process logicals
+$
+$ ! Generated information
+$ INSTALLTOP := {- $config{INSTALLTOP} -}
+$ OPENSSLDIR := {- $config{OPENSSLDIR} -}
+$
+$ ! Make sure that INSTALLTOP and OPENSSLDIR become something one
+$ ! can use to call the startup procedure
+$ INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") -
+ - ".][000000" - "[000000." - "][" - "]A.;" + "."
+$ OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") -
+ - ".][000000" - "[000000." - "][" - "]A.;" + "."
+$
+$ v := {- sprintf "%02d%02d", split(/\./, $config{version}) -}
+$ pz := {- $config{pointer_size} -}
+$
+$ @'INSTALLTOP_'SYS$STARTUP]openssl_startup'v'
+$ @'INSTALLTOP_'SYS$STARTUP]openssl_utils'v'
+$
+$ IF F$SEARCH("OSSL$LIBCRYPTO''pz'") .EQS. "" -
+ .OR. F$SEARCH("OSSL$LIBSSL''pz'") .EQS. "" {- output_off() if $config{no_shared}; "" -}-
+ .OR. F$SEARCH("OSSL$LIBCRYPTO_SHR''pz'") .EQS. "" -
+ .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" {- output_on() if $config{no_shared}; "" -}-
+ .OR. F$SEARCH("OSSL$INCLUDE:[OPENSSL]crypto.h") .EQS. "" -
+ .OR. F$SEARCH("OPENSSL:crypto.h") .EQS. "" -
+ .OR. F$SEARCH("OSSL$EXE:OPENSSL''v'.EXE") .EQS. ""
+$ THEN
+$ WRITE SYS$ERROR "Installation inconsistent"
+$ EXIT %x00018292 ! RMS$_FNF, file not found
+$ ENDIF
+$
+$ ON ERROR THEN GOTO error
+$
+$ ! If something else is wrong with the installation, we're likely
+$ ! to get an image activation error here
+$ openssl version -a
+$
+$ ! FUTURE ENHANCEMENT: Verify that engines are where they should be.
+$ ! openssl engine -c -t checker
+$
+$ WRITE SYS$ERROR "OpenSSL IVP passed"
+$ EXIT %x10000001
+$
+$ error:
+$ save_status = $STATUS
+$ WRITE SYS$ERROR "OpenSSL IVP failed"
+$ EXIT 'save_status'
diff --git a/deps/openssl/openssl/VMS/openssl_shutdown.com.in b/deps/openssl/openssl/VMS/openssl_shutdown.com.in
new file mode 100644
index 0000000000..f0df1c1c35
--- /dev/null
+++ b/deps/openssl/openssl/VMS/openssl_shutdown.com.in
@@ -0,0 +1,56 @@
+$ ! OpenSSL shutdown script
+$ !
+$ ! This script deassigns the logical names used by the installation
+$ ! of OpenSSL. It can do so at any level, defined by P1.
+$ !
+$ ! P1 Qualifier(s) for DEASSIGN.
+$ ! Default: /PROCESS
+$ !
+$ ! P2 If the value is "NOALIASES", no alias logical names are
+$ ! deassigned.
+$
+$ status = %x10000001 ! Generic success
+$
+$ ! In case there's a problem
+$ ON CONTROL_Y THEN GOTO bailout
+$ ON ERROR THEN GOTO bailout
+$
+$ ! Find the architecture
+$ IF F$GETSYI("CPU") .LT. 128
+$ THEN
+$ arch := VAX
+$ ELSE
+$ arch := F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE")
+$ IF arch .EQS. "" THEN GOTO unknown_arch
+$ ENDIF
+$
+$ ! Abbrevs
+$ DEAS := DEASSIGN /NOLOG 'P1'
+$ sv := {- sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor} -}
+$ pz := {- $config{pointer_size} -}
+$
+$ DEAS OSSL$DATAROOT
+$ DEAS OSSL$INSTROOT
+$ DEAS OSSL$INCLUDE
+$ DEAS OSSL$LIB
+$ DEAS OSSL$SHARE
+$ DEAS OSSL$ENGINES'sv'
+$ DEAS OSSL$EXE
+$ DEAS OSSL$LIBCRYPTO'pz'
+$ DEAS OSSL$LIBSSL'pz'
+${- output_off() if $config{no_shared}; "" -}
+$ DEAS OSSL$LIBCRYPTO'sv'_SHR'pz'
+$ DEAS OSSL$LIBSSL'sv'_SHR'pz'
+${- output_on() if $config{no_shared}; "" -}
+$ DEAS OPENSSL
+$
+$ IF P2 .NES. "NOALIASES"
+$ THEN
+$ DEAS OSSL$ENGINES
+${- output_off() if $config{no_shared}; "" -}
+$ DEAS OSSL$LIBCRYPTO_SHR'pz'
+$ DEAS OSSL$LIBSSL_SHR'pz'
+${- output_on() if $config{no_shared}; "" -}
+$ ENDIF
+$
+$ EXIT 'status'
diff --git a/deps/openssl/openssl/VMS/openssl_startup.com b/deps/openssl/openssl/VMS/openssl_startup.com
deleted file mode 100755
index 04bbbde886..0000000000
--- a/deps/openssl/openssl/VMS/openssl_startup.com
+++ /dev/null
@@ -1,108 +0,0 @@
-$!
-$! Startup file for OpenSSL 1.x.
-$!
-$! 2011-03-05 SMS.
-$!
-$! This procedure must reside in the OpenSSL installation directory.
-$! It will fail if it is copied to a different location.
-$!
-$! P1 qualifier(s) for DEFINE. For example, "/SYSTEM" to get the
-$! logical names defined in the system logical name table.
-$!
-$! P2 "64", to use executables which were built with 64-bit pointers.
-$!
-$! Good (default) and bad status values.
-$!
-$ status = %x00010001 ! RMS$_NORMAL, normal successful completion.
-$ rms_e_fnf = %x00018292 ! RMS$_FNF, file not found.
-$!
-$! Prepare for problems.
-$!
-$ orig_dev_dir = f$environment( "DEFAULT")
-$ on control_y then goto clean_up
-$ on error then goto clean_up
-$!
-$! Determine hardware architecture.
-$!
-$ if (f$getsyi( "cpu") .lt. 128)
-$ then
-$ arch_name = "VAX"
-$ else
-$ arch_name = f$edit( f$getsyi( "arch_name"), "upcase")
-$ if (arch_name .eqs. "") then arch_name = "UNK"
-$ endif
-$!
-$ if (p2 .eqs. "64")
-$ then
-$ arch_name_exe = arch_name+ "_64"
-$ else
-$ arch_name_exe = arch_name
-$ endif
-$!
-$! Derive the OpenSSL installation device:[directory] from the location
-$! of this command procedure.
-$!
-$ proc = f$environment( "procedure")
-$ proc_dev_dir = f$parse( "A.;", proc, , , "no_conceal") - "A.;"
-$ proc_dev = f$parse( proc_dev_dir, , , "device", "syntax_only")
-$ proc_dir = f$parse( proc_dev_dir, , , "directory", "syntax_only") - -
- ".][000000"- "[000000."- "]["- "["- "]"
-$ proc_dev_dir = proc_dev+ "["+ proc_dir+ "]"
-$ set default 'proc_dev_dir'
-$ set default [-]
-$ ossl_dev_dir = f$environment( "default")
-$!
-$! Check existence of expected directories (to see if this procedure has
-$! been moved away from its proper place).
-$!
-$ if ((f$search( "certs.dir;1") .eqs. "") .or. -
- (f$search( "include.dir;1") .eqs. "") .or. -
- (f$search( "private.dir;1") .eqs. "") .or. -
- (f$search( "vms.dir;1") .eqs. ""))
-$ then
-$ write sys$output -
- " Can't find expected common OpenSSL directories in:"
-$ write sys$output " ''ossl_dev_dir'"
-$ status = rms_e_fnf
-$ goto clean_up
-$ endif
-$!
-$ if ((f$search( "''arch_name_exe'_exe.dir;1") .eqs. "") .or. -
- (f$search( "''arch_name'_lib.dir;1") .eqs. ""))
-$ then
-$ write sys$output -
- " Can't find expected architecture-specific OpenSSL directories in:"
-$ write sys$output " ''ossl_dev_dir'"
-$ status = rms_e_fnf
-$ goto clean_up
-$ endif
-$!
-$! All seems well (enough). Define the OpenSSL logical names.
-$!
-$ ossl_root = ossl_dev_dir- "]"+ ".]"
-$ define /translation_attributes = concealed /nolog'p1 SSLROOT 'ossl_root'
-$ define /nolog 'p1' SSLCERTS sslroot:[certs]
-$ define /nolog 'p1' SSLINCLUDE sslroot:[include]
-$ define /nolog 'p1' SSLPRIVATE sslroot:[private]
-$ define /nolog 'p1' SSLEXE sslroot:['arch_name_exe'_exe]
-$ define /nolog 'p1' SSLLIB sslroot:['arch_name'_lib]
-$!
-$! Defining OPENSSL lets a C program use "#include <openssl/{foo}.h>":
-$ define /nolog 'p1' OPENSSL SSLINCLUDE:
-$!
-$! Run a site-specific procedure, if it exists.
-$!
-$ if f$search( "sslroot:[vms]openssl_systartup.com") .nes."" then -
- @ sslroot:[vms]openssl_systartup.com
-$!
-$! Restore the original default dev:[dir] (if known).
-$!
-$ clean_up:
-$!
-$ if (f$type( orig_dev_dir) .nes. "")
-$ then
-$ set default 'orig_dev_dir'
-$ endif
-$!
-$ EXIT 'status'
-$!
diff --git a/deps/openssl/openssl/VMS/openssl_startup.com.in b/deps/openssl/openssl/VMS/openssl_startup.com.in
new file mode 100644
index 0000000000..9c8c09ac9c
--- /dev/null
+++ b/deps/openssl/openssl/VMS/openssl_startup.com.in
@@ -0,0 +1,123 @@
+$ ! OpenSSL startup script
+$ !
+$ ! This script defines the logical names used by the installation
+$ ! of OpenSSL. It can provide those logical names at any level,
+$ ! defined by P1.
+$ !
+$ ! The logical names created are:
+$ !
+$ ! OSSL$INSTROOT Installation root
+$ ! OSSL$DATAROOT Data root (common directory
+$ ! for certs etc)
+$ ! OSSL$INCLUDE Include directory root
+$ ! OSSL$LIB Where the static library files
+$ ! are located
+$ ! OSSL$SHARE Where the shareable image files
+$ ! are located
+$ ! OSSL$EXE Where the executables are located
+$ ! OSSL$ENGINESnnn Where the shareable images are located
+$ ! OSSL$LIBCRYPTO The static crypto library
+$ ! OSSL$LIBSSL The static ssl library
+$ ! OSSL$LIBCRYPTOnnn_SHR The shareable crypto image
+$ ! OSSL$LIBSSLnnn_SHR The shareable ssl image
+$ ! OPENSSL is OSSL$INCLUDE:[OPENSSL]
+$ !
+$ ! In all these, nnn is the OpenSSL version number. This allows
+$ ! several OpenSSL versions to be installed simultaneously, which
+$ ! matters for applications that are linked to the shareable images
+$ ! or that depend on engines.
+$ !
+$ ! In addition, unless P2 is "NOALIASES", these logical names are
+$ ! created:
+$ !
+$ ! OSSL$ENGINES Alias for OSSL$ENGINESnnn
+$ ! OSSL$LIBCRYPTO_SHR Alias for OSSL$LIBCRYPTOnnn_SHR
+$ ! OSSL$LIBSSL_SHR Alias for OSSL$LIBSSLnnn_SHR
+$ !
+$ ! P1 Qualifier(s) for DEFINE. "/SYSTEM" would be typical when
+$ ! calling this script from SYS$STARTUP:SYSTARTUP_VMS.COM,
+$ ! while "/PROCESS" would be typical for a personal install.
+$ ! Default: /PROCESS
+$ !
+$ ! P2 If the value is "NOALIASES", no alias logical names are
+$ ! created.
+$
+$ status = %x10000001 ! Generic success
+$
+$ ! In case there's a problem
+$ ON CONTROL_Y THEN GOTO bailout
+$ ON ERROR THEN GOTO bailout
+$
+$ ! Find the architecture
+$ IF F$GETSYI("CPU") .LT. 128
+$ THEN
+$ arch := VAX
+$ ELSE
+$ arch = F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE")
+$ IF arch .EQS. "" THEN GOTO unknown_arch
+$ ENDIF
+$
+$ ! Generated information
+$ INSTALLTOP := {- $config{INSTALLTOP} -}
+$ OPENSSLDIR := {- $config{OPENSSLDIR} -}
+$
+$ ! Make sure that INSTALLTOP and OPENSSLDIR become something one
+$ ! can build concealed logical names on
+$ INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") -
+ - ".][000000" - "[000000." - "][" - "]A.;" + "."
+$ OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") -
+ - ".][000000" - "[000000." - "][" - "]A.;" + "."
+$
+$ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_INSTALLTOP 'INSTALLTOP_']
+$ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_OPENSSLDIR 'OPENSSLDIR_']
+$
+$ ! Check that things are in place, and specifically, the stuff
+$ ! belonging to this architecture
+$ IF F$SEARCH("WRK_INSTALLTOP:[000000]INCLUDE.DIR;1") .EQS. "" -
+ .OR. F$SEARCH("WRK_INSTALLTOP:[000000]LIB.DIR;1") .EQS. "" -
+ .OR. F$SEARCH("WRK_INSTALLTOP:[000000]EXE.DIR;1") .EQS. "" -
+ .OR. F$SEARCH("WRK_INSTALLTOP:[LIB]''arch'.DIR;1") .EQS. "" -
+ .OR. F$SEARCH("WRK_INSTALLTOP:[EXE]''arch'.DIR;1") .EQS. "" -
+ .OR. F$SEARCH("WRK_OPENSSLDIR:[000000]openssl.cnf") .EQS. ""
+$ THEN
+$ WRITE SYS$ERROR "''INSTALLTOP' doesn't look like an OpenSSL installation for ''arch'"
+$ status = %x00018292 ! RMS$_FNF, file not found
+$ GOTO bailout
+$ ENDIF
+$
+$ ! Abbrevs
+$ DEFT := DEFINE /TRANSLATION=CONCEALED /NOLOG 'P1'
+$ DEF := DEFINE /NOLOG 'P1'
+$ sv := {- sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor} -}
+$ pz := {- $config{pointer_size} -}
+$
+$ DEFT OSSL$DATAROOT 'OPENSSLDIR_']
+$ DEFT OSSL$INSTROOT 'INSTALLTOP_']
+$ DEFT OSSL$INCLUDE 'INSTALLTOP_'INCLUDE.]
+$ DEF OSSL$LIB OSSL$INSTROOT:[LIB.'arch']
+$ DEF OSSL$SHARE OSSL$INSTROOT:[LIB.'arch']
+$ DEF OSSL$ENGINES'sv''pz' OSSL$INSTROOT:[ENGINES'sv''pz'.'arch']
+$ DEF OSSL$EXE OSSL$INSTROOT:[EXE.'arch'],-
+ OSSL$INSTROOT:[EXE]
+$ DEF OSSL$LIBCRYPTO'pz' OSSL$LIB:OSSL$LIBCRYPTO'pz'.OLB
+$ DEF OSSL$LIBSSL'pz' OSSL$LIB:OSSL$LIBSSL'pz'.OLB
+${- output_off() if $config{no_shared}; "" -}
+$ DEF OSSL$LIBCRYPTO'sv'_SHR'pz' OSSL$SHARE:OSSL$LIBCRYPTO'sv'_SHR'pz'.EXE
+$ DEF OSSL$LIBSSL'sv'_SHR'pz' OSSL$SHARE:OSSL$LIBSSL'sv'_SHR'pz'.EXE
+${- output_on() if $config{no_shared}; "" -}
+$ DEF OPENSSL OSSL$INCLUDE:[OPENSSL]
+$
+$ IF P2 .NES. "NOALIASES"
+$ THEN
+$ DEF OSSL$ENGINES'pz' OSSL$ENGINES'sv''pz'
+${- output_off() if $config{no_shared}; "" -}
+$ DEF OSSL$LIBCRYPTO_SHR'pz' OSSL$LIBCRYPTO'sv'_SHR'pz'
+$ DEF OSSL$LIBSSL_SHR'pz' OSSL$LIBSSL'sv'_SHR'pz'
+${- output_on() if $config{no_shared}; "" -}
+$ ENDIF
+$
+$ bailout:
+$ DEASSIGN WRK_INSTALLTOP
+$ DEASSIGN WRK_OPENSSLDIR
+$
+$ EXIT 'status'
diff --git a/deps/openssl/openssl/VMS/openssl_undo.com b/deps/openssl/openssl/VMS/openssl_undo.com
deleted file mode 100755
index d1623a3160..0000000000
--- a/deps/openssl/openssl/VMS/openssl_undo.com
+++ /dev/null
@@ -1,20 +0,0 @@
-$!
-$! Deassign OpenSSL logical names.
-$!
-$ call deass "OPENSSL" "''p1'"
-$ call deass "SSLCERTS" "''p1'"
-$ call deass "SSLEXE" "''p1'"
-$ call deass "SSLINCLUDE" "''p1'"
-$ call deass "SSLLIB" "''p1'"
-$ call deass "SSLPRIVATE" "''p1'"
-$ call deass "SSLROOT" "''p1'"
-$!
-$ exit
-$!
-$deass: subroutine
-$ if (f$trnlnm( p1) .nes. "")
-$ then
-$ deassign 'p2' 'p1'
-$ endif
-$ endsubroutine
-$!
diff --git a/deps/openssl/openssl/VMS/openssl_utils.com b/deps/openssl/openssl/VMS/openssl_utils.com
deleted file mode 100644
index 64f4915104..0000000000
--- a/deps/openssl/openssl/VMS/openssl_utils.com
+++ /dev/null
@@ -1,46 +0,0 @@
-$!
-$! APPS.COM
-$! Written By: Robert Byer
-$! Vice-President
-$! A-Com Computing, Inc.
-$! byer@mail.all-net.net
-$!
-$!
-$! Slightly modified by Richard Levitte <richard@levitte.org>
-$!
-$!
-$! Always define OPENSSL. Others are optional (non-null P1).
-$!
-$ OPENSSL :== $SSLEXE:OPENSSL
-$
-$ IF (P1 .NES. "")
-$ THEN
-$ VERIFY :== $SSLEXE:OPENSSL VERIFY
-$ ASN1PARSE:== $SSLEXE:OPENSSL ASN1PARS
-$! REQ could conflict with REQUEST.
-$ OREQ :== $SSLEXE:OPENSSL REQ
-$ DGST :== $SSLEXE:OPENSSL DGST
-$ DH :== $SSLEXE:OPENSSL DH
-$ ENC :== $SSLEXE:OPENSSL ENC
-$ GENDH :== $SSLEXE:OPENSSL GENDH
-$ ERRSTR :== $SSLEXE:OPENSSL ERRSTR
-$ CA :== $SSLEXE:OPENSSL CA
-$ CRL :== $SSLEXE:OPENSSL CRL
-$ RSA :== $SSLEXE:OPENSSL RSA
-$ DSA :== $SSLEXE:OPENSSL DSA
-$ DSAPARAM :== $SSLEXE:OPENSSL DSAPARAM
-$ X509 :== $SSLEXE:OPENSSL X509
-$ GENRSA :== $SSLEXE:OPENSSL GENRSA
-$ GENDSA :== $SSLEXE:OPENSSL GENDSA
-$ S_SERVER :== $SSLEXE:OPENSSL S_SERVER
-$ S_CLIENT :== $SSLEXE:OPENSSL S_CLIENT
-$ SPEED :== $SSLEXE:OPENSSL SPEED
-$ S_TIME :== $SSLEXE:OPENSSL S_TIME
-$ VERSION :== $SSLEXE:OPENSSL VERSION
-$ PKCS7 :== $SSLEXE:OPENSSL PKCS7
-$ CRL2PKCS7:== $SSLEXE:OPENSSL CRL2P7
-$ SESS_ID :== $SSLEXE:OPENSSL SESS_ID
-$ CIPHERS :== $SSLEXE:OPENSSL CIPHERS
-$ NSEQ :== $SSLEXE:OPENSSL NSEQ
-$ PKCS12 :== $SSLEXE:OPENSSL PKCS12
-$ ENDIF
diff --git a/deps/openssl/openssl/VMS/openssl_utils.com.in b/deps/openssl/openssl/VMS/openssl_utils.com.in
new file mode 100644
index 0000000000..edd733d7bb
--- /dev/null
+++ b/deps/openssl/openssl/VMS/openssl_utils.com.in
@@ -0,0 +1,14 @@
+$ ! OpenSSL utilities
+$ !
+$
+$ v := {- sprintf "%02d%02d", split(/\./, $config{version}) -}
+$
+$ OPENSSL'v' :== $OSSL$EXE:OPENSSL'v'
+$ OPENSSL :== $OSSL$EXE:OPENSSL'v'
+$
+$ IF F$TYPE(PERL) .EQS. "STRING"
+$ THEN
+$ C_REHASH :== 'PERL' OSSL$EXE:c_rehash.pl
+$ ELSE
+$ WRITE SYS$ERROR "NOTE: no perl => no C_REHASH"
+$ ENDIF
diff --git a/deps/openssl/openssl/VMS/socketshr_shr.opt b/deps/openssl/openssl/VMS/socketshr_shr.opt
deleted file mode 100644
index f6e3131626..0000000000
--- a/deps/openssl/openssl/VMS/socketshr_shr.opt
+++ /dev/null
@@ -1 +0,0 @@
-socketshr/share
diff --git a/deps/openssl/openssl/VMS/tcpip_shr_decc.opt b/deps/openssl/openssl/VMS/tcpip_shr_decc.opt
deleted file mode 100644
index 33b159e5f5..0000000000
--- a/deps/openssl/openssl/VMS/tcpip_shr_decc.opt
+++ /dev/null
@@ -1 +0,0 @@
-sys$share:tcpip$ipc_shr.exe/share
diff --git a/deps/openssl/openssl/VMS/translatesyms.pl b/deps/openssl/openssl/VMS/translatesyms.pl
new file mode 100644
index 0000000000..f61d954ec5
--- /dev/null
+++ b/deps/openssl/openssl/VMS/translatesyms.pl
@@ -0,0 +1,62 @@
+#! /usr/bin/env perl
+# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+
+# This script will translate any SYMBOL_VECTOR item that has a translation
+# in CXX$DEMANGLER_DB. The latter is generated by and CC/DECC command that
+# uses the qualifier /REPOSITORY with the build directory as value. When
+# /NAMES=SHORTENED has been used, this file will hold the translations from
+# the original symbols to the shortened variants.
+#
+# CXX$DEMAGLER_DB. is an ISAM file, but with the magic of RMS, it can be
+# read as a text file, with each record as one line.
+#
+# The lines will have the following syntax for any symbol found that's longer
+# than 31 characters:
+#
+# LONG_symbol_34567890123{cksum}$LONG_symbol_34567890123_more_than_31_chars
+#
+# $ is present at the end of the shortened symbol name, and is preceded by a
+# 7 character checksum. The $ makes it easy to separate the shortened name
+# from the original one.
+
+use strict;
+use warnings;
+
+usage() if scalar @ARGV < 1;
+
+my %translations = ();
+
+open DEMANGLER_DATA, $ARGV[0]
+ or die "Couldn't open $ARGV[0]: $!\n";
+while(<DEMANGLER_DATA>) {
+ s|\R$||;
+ (my $translated, my $original) = split /\$/;
+ $translations{$original} = $translated.'$';
+}
+close DEMANGLER_DATA;
+
+$| = 1; # Autoflush
+while(<STDIN>) {
+ s@
+ ((?:[A-Za-z0-9_]+)\/)?([A-Za-z0-9_]+)=(PROCEDURE|DATA)
+ @
+ if (defined($translations{$2})) {
+ my $trans = $translations{$2};
+ my $trans_uc = uc $trans;
+ if (defined($1) && $trans ne $trans_uc) {
+ "$trans_uc/$trans=$3"
+ } else {
+ "$trans=$3"
+ }
+ } else {
+ $&
+ }
+ @gxe;
+ print $_;
+}
diff --git a/deps/openssl/openssl/VMS/ucx_shr_decc.opt b/deps/openssl/openssl/VMS/ucx_shr_decc.opt
deleted file mode 100644
index 28d84f4af6..0000000000
--- a/deps/openssl/openssl/VMS/ucx_shr_decc.opt
+++ /dev/null
@@ -1 +0,0 @@
-sys$share:ucx$ipc_shr.exe/share
diff --git a/deps/openssl/openssl/VMS/ucx_shr_decc_log.opt b/deps/openssl/openssl/VMS/ucx_shr_decc_log.opt
deleted file mode 100644
index c9d9a96d09..0000000000
--- a/deps/openssl/openssl/VMS/ucx_shr_decc_log.opt
+++ /dev/null
@@ -1 +0,0 @@
-ucx$ipc_shr/share
diff --git a/deps/openssl/openssl/VMS/ucx_shr_vaxc.opt b/deps/openssl/openssl/VMS/ucx_shr_vaxc.opt
deleted file mode 100644
index 86bfaf0d07..0000000000
--- a/deps/openssl/openssl/VMS/ucx_shr_vaxc.opt
+++ /dev/null
@@ -1 +0,0 @@
-sys$library:ucx$ipc.olb/library