summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--INSTALL3
-rw-r--r--INSTALL.VMS204
-rw-r--r--Makefile.org4
-rw-r--r--README3
-rw-r--r--apps/CA.com200
-rw-r--r--apps/Makefile.ssl2
-rw-r--r--apps/apps.c22
-rw-r--r--apps/ca.c54
-rw-r--r--apps/eay.c2
-rw-r--r--apps/install.com69
-rw-r--r--apps/makeapps.com1137
-rw-r--r--apps/openssl-vms.cnf190
-rw-r--r--apps/openssl.c2
-rw-r--r--apps/req.c2
-rw-r--r--apps/s_apps.h24
-rw-r--r--apps/s_client.c23
-rw-r--r--apps/s_server.c26
-rw-r--r--apps/s_socket.c37
-rw-r--r--apps/s_time.c30
-rw-r--r--apps/speed.c19
-rw-r--r--crypto/Makefile.ssl2
-rw-r--r--crypto/asn1/a_utctm.c42
-rw-r--r--crypto/bf/bf_opts.c19
-rw-r--r--crypto/bf/bfspeed.c19
-rw-r--r--crypto/bio/b_sock.c12
-rw-r--r--crypto/bio/bss_acpt.c5
-rw-r--r--crypto/bio/bss_conn.c6
-rw-r--r--crypto/bio/bss_rtcp.c21
-rw-r--r--crypto/bn/asm/vms.mar6695
-rw-r--r--crypto/bn/bn.h4
-rw-r--r--crypto/bn/bn_lcl.h16
-rw-r--r--crypto/bn/bn_lib.c16
-rw-r--r--crypto/bn/bnspeed.c19
-rw-r--r--crypto/bn/expspeed.c19
-rw-r--r--crypto/bn/vms-helper.c66
-rw-r--r--crypto/cast/cast_lcl.h19
-rw-r--r--crypto/cast/cast_s.h16
-rw-r--r--crypto/cast/cast_spd.c19
-rw-r--r--crypto/cast/castopts.c19
-rw-r--r--crypto/conf/conf.c4
-rw-r--r--crypto/cryptlib.h7
-rw-r--r--crypto/crypto-lib.com1218
-rw-r--r--crypto/crypto.h2
-rw-r--r--crypto/des/des-lib.com1001
-rw-r--r--crypto/des/des.c12
-rw-r--r--crypto/des/des.h12
-rw-r--r--crypto/des/des_locl.h15
-rw-r--r--crypto/des/des_opts.c20
-rw-r--r--crypto/des/des_ver.h4
-rw-r--r--crypto/des/destest.c2
-rw-r--r--crypto/des/ecb_enc.c4
-rw-r--r--crypto/des/enc_read.c2
-rw-r--r--crypto/des/read_pwd.c19
-rw-r--r--crypto/des/set_key.c2
-rw-r--r--crypto/des/speed.c19
-rw-r--r--crypto/des/spr.h2
-rw-r--r--crypto/des/str2key.c2
-rwxr-xr-xcrypto/des/vms.com90
-rw-r--r--crypto/idea/idea_spd.c19
-rw-r--r--crypto/install.com128
-rwxr-xr-xcrypto/libvms.com31
-rw-r--r--crypto/opensslconf.h.in2
-rw-r--r--crypto/pem/pem.h10
-rw-r--r--crypto/rand/randfile.c15
-rw-r--r--crypto/rc2/rc2speed.c19
-rw-r--r--crypto/rc4/rc4speed.c19
-rw-r--r--crypto/rc5/rc5speed.c19
-rw-r--r--crypto/tmdiff.c36
-rw-r--r--crypto/x509/x509.h5
-rw-r--r--crypto/x509/x509_vfy.h15
-rw-r--r--e_os.h90
-rw-r--r--install.com88
-rwxr-xr-xmakevms.com961
-rw-r--r--rsaref/Makefile.ssl2
-rw-r--r--rsaref/install.com69
-rw-r--r--rsaref/rsaref-lib.com901
-rw-r--r--ssl/Makefile.ssl2
-rw-r--r--ssl/install.com102
-rw-r--r--ssl/s2_lib.c2
-rw-r--r--ssl/s3_lib.c3
-rw-r--r--ssl/ssl-lib.com1199
-rw-r--r--ssl/ssl.c2
-rw-r--r--ssl/ssl.h21
-rw-r--r--ssl/ssl_cert.c4
-rw-r--r--ssl/ssl_lib.c2
-rw-r--r--ssl/ssl_locl.h11
-rw-r--r--ssl/ssl_task.c10
-rw-r--r--ssl/ssltest.c9
-rw-r--r--test/Makefile.ssl5
-rw-r--r--test/VMSca-response.11
-rw-r--r--test/VMSca-response.22
-rw-r--r--test/maketests.com1053
-rw-r--r--test/tcrl.com78
-rw-r--r--test/testca.com76
-rw-r--r--test/testenc.com50
-rw-r--r--test/testgen.com33
-rw-r--r--test/tests.com203
-rw-r--r--test/testss.com104
-rw-r--r--test/testssl.com63
-rw-r--r--test/tpkcs7.com49
-rw-r--r--test/tpkcs7d.com42
-rw-r--r--test/treq.com78
-rw-r--r--test/trsa.com78
-rw-r--r--test/tsid.com78
-rw-r--r--test/tverify.com26
-rw-r--r--test/tx509.com78
107 files changed, 16968 insertions, 452 deletions
diff --git a/CHANGES b/CHANGES
index df6dbeb0b7..770bd1982b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,9 @@
Changes between 0.9.2b and 0.9.3
+ *) VMS support.
+ [Richard Levitte <richard@levitte.org>]
+
*) New option -out to asn1parse to allow the parsed structure to be
output to a file. This is most useful when combined with the -strparse
option to examine the output of things like OCTET STRINGS.
diff --git a/INSTALL b/INSTALL
index f8dc959053..424869aa10 100644
--- a/INSTALL
+++ b/INSTALL
@@ -2,7 +2,8 @@
INSTALLATION ON THE UNIX PLATFORM
---------------------------------
- [For instructions for compiling OpenSSL on Windows systems, see INSTALL.W32].
+ [See INSTALL.W32 for instructions for compiling OpenSSL on Windows systems,
+ and INSTALL.VMS for installing on OpenVMS systems.]
To install OpenSSL, you will need:
diff --git a/INSTALL.VMS b/INSTALL.VMS
new file mode 100644
index 0000000000..cf3c81a6ef
--- /dev/null
+++ b/INSTALL.VMS
@@ -0,0 +1,204 @@
+ VMS Installation instructions
+ written by Richard Levitte
+ <richard@levitte.org>
+
+
+Intro:
+======
+
+This file is divided in the following parts:
+
+ Compilation - Mandatory reading.
+ Test - Mandatory reading.
+ Installation - Mandatory reading.
+ Backward portability - Read if it's an issue.
+ Possible bugs or quirks - A few warnings on things that
+ may go wrong or may surprise you.
+ Report - How to get in touch with me.
+
+Compilation:
+============
+
+I've used the very good command procedures written by Robert Byer
+<byer@mail.all-net.net>, and just slightly modified them, making
+them slightly more general and easier to maintain.
+
+You can actually compile in almost any directory separately. Look
+for a command procedure name xxx-LIB.COM (in the library directories)
+or MAKExxx.COM (in the program directories) and read the comments at
+the top to understand how to use them. However, if you want to
+compile all you can get, the simplest is to use MAKEVMS.COM in the top
+directory. The syntax is trhe following:
+
+ @MAKEVMS <option> <rsaref-p> <debug-p> [<compiler>]
+
+<option> must be one of the following:
+
+ ALL Just build "everything".
+ DATE Just build the "[.INCLUDE]DATE.H" file.
+ SOFTLINKS Just copies some files, to simulate Unix soft links.
+ RSAREF Just build the "[.xxx.EXE.RSAREF]LIBRSAGLUE.OLB" library.
+ CRYPTO Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library.
+ SSL Just build the "[.xxx.EXE.SSL]LIBSSL.OLB" library.
+ SSL_TASK Just build the "[.xxx.EXE.SSL]SSL_TASK.EXE" program.
+ TEST Just build the "test" programs for OpenSSL.
+ APPS Just build the "application" programs for OpenSSL.
+
+<rsaref-p> must be one of the following:
+
+ RSAREF compile using the RSAREF Library
+ NORSAREF compile without using RSAREF
+
+Note: The RSAREF libraries are NOT INCLUDED and you have to
+ download it from "ftp://ftp.rsa.com/rsaref". You have to
+ get the ".tar-Z" file as the ".zip" file dosen't have the
+ directory structure stored. You have to extract the file
+ into the [.RSAREF] directory as that is where the scripts
+ will look for the files.
+
+Note 2: I have never done this, so I've no idea if it works or not.
+
+<debug-p> must be one of the following:
+
+ DEBUG compile with debugging info (will not optimize)
+ NODEBUG compile without debugging info (will optimize)
+
+<compiler> must be one of the following:
+
+ VAXC For VAX C.
+ DECC For DEC C.
+ GNUC For GNU C.
+
+
+You will find the crypto library in [.xxx.EXE.CRYPTO], called LIBCRYPTO.OLB,
+where xxx is VAX or AXP. You will find the SSL library in [.xxx.EXE.SSL],
+named LIBSSL.OLB, and you will find a bunch of useful programs in
+[.xxx.EXE.APPS]. However, these shouldn't be used right off unless it's
+just to test them. For production use, make sure you install first, see
+Installation below.
+
+Note: Some programs in this package require a TCP/IP library.
+
+Note 2: if you want to compile the crypto library only, please make sure
+ you have at least done a @MAKEVMS DATE and a @MAKEVMS SOFTLINKS.
+ A lot of things will break if you don't.
+
+Test:
+=====
+
+Testing is very simple, just do the following:
+
+ @[.TEST]TESTS
+
+If a test fails, try with defining the logical name OPENSSL_NO_ASM (yes,
+it's an ugly hack!) and rebuild. Please send a bug report to
+<openssl-bugs@openssl.org>, including the output of "openssl version -a"
+and of the failed test.
+
+Installation:
+=============
+
+Installation is easy, just do the following:
+
+ @INSTALL <root>
+
+<root> is the directory in which everything will be installed,
+subdirectories, libraries, header files, programs and startup command
+procedures.
+
+In the [.VMS] subdirectory of the installation, you will find the
+following command procedures:
+
+ OPENSSL_STARTUP.COM
+
+ defines all needed logical names. Takes one argument that
+ tells it in what logical name table to insert the logical
+ names. If you insert if it SYS$MANAGER:SYSTARTUP_VMS.COM, the
+ call should look like this:
+
+ @openssldev:[openssldir.VMS]OPENSSL_STARTUP "/SYSTEM"
+
+ OPENSSL_UTILS.COM
+
+ sets up the symbols to the applications. Should be called
+ from for example SYS$MANAGER:SYLOGIN.COM
+
+The logical names that are set up are the following:
+
+ SSLROOT a dotted concealed logical name pointing at the
+ root directory.
+ SSLLIB points at the directory where CRYPTORTL.OLB and
+ SSLRTL.OLB are installed.
+ SSLINCLUDE points at the directory where the header files are
+ installed.
+ SSLEXE points at the directory where the applications are
+ installed.
+ SSLCERTS the place where the certificates are stored.
+ SSLPRIVATE I'm actually not sure what this is used for.
+
+
+Backward portability:
+=====================
+
+One great problem when you build a library is making sure it will work
+on as many versions of VMS as possible. Especially, code compiled on
+OpenVMS version 7.x and above tend to be unusable in version 6.x or
+lower, because some C library routines have changed names internally
+(the C programmer won't usually see it, because the old name is
+maintained through C macros). One obvious solution is to make sure
+you have a development machine with an old enough version of OpenVMS.
+However, if you are stuck with a bunch of Alphas running OpenVMS version
+7.1, you seem to be out of luck. Fortunately, the DEC C header files
+are cluttered with conditionals that make some declarations and definitions
+dependent on the OpenVMS version or the C library version, *and* you
+can use those macros to simulate older OpenVMS or C library versions,
+by defining the macros _VMS_V6_SOURCE, __VMS_VER and __CTRL_VER with
+correct values. In the compilation scripts, I've provided the possibility
+for the user to influense the creation of such macros, through a bunch of
+symbols, all having names starting with USER_. Here's the list of them:
+
+ USER_CCFLAGS - Used to give additional qualifiers to the
+ compiler. It can't be used to define macros
+ since the scripts will do such things as well.
+ To do such things, use USER_CCDEFS.
+ USER_CCDEFS - Used to define macros on the command line. The
+ value of this symbol will be inserted inside a
+ /DEFINE=(...).
+ USER_CCDISABLEWARNINGS - Used to disable some warnings. The value is
+ inserted inside a /DISABLE=WARNING=(...).
+
+So, to maintain backward compatibility with older VMS versions, do the
+following before you start compiling:
+
+ $ USER_CCDEFS := _VMS_V6_SOURCE=1,__VMS_VER=60000000,__CRTL_VER=60000000
+ $ USER_CCDISABLEWARNINGS := PREOPTW
+
+The USER_CCDISABLEWARNINGS is there because otherwise, DEC C will complain
+that those macros have been changed.
+
+Note: Currently, this is only usefull for library compilation. The
+ programs will still be linked with the current version of the
+ C library shareable image, and will thus complain if they are
+ faced with an older version of the same C library shareable image.
+ This will probably be fixed in a future revision of OpenSSL.
+
+
+Possible bugs or quirks:
+========================
+
+I'm not perfectly sure all the programs will use the SSLCERTS:
+directory by default, it may very well be that you have to give them
+extra arguments. Please experiment.
+
+
+Report:
+=======
+
+I maintain a few mailinglists for bug reports and such on software that
+I develop/port/enhance/destroy. Please look at http://www.free.lp.se/
+for further info.
+
+
+--
+Richard Levitte <richard@levitte.org>
+1999-03-09
diff --git a/Makefile.org b/Makefile.org
index d8dacc650f..ef956d87f1 100644
--- a/Makefile.org
+++ b/Makefile.org
@@ -162,7 +162,7 @@ SHELL=/bin/sh
TOP= .
ONEDIRS=out tmp
-EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep
+EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS
WDIRS= windows
LIBS= libcrypto.a libssl.a
@@ -308,7 +308,7 @@ dist:
@$(MAKE) tar
dist_pem_h:
- (cd crypto/pem; $(MAKE) SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean)
+ (cd crypto/pem; $(MAKE) CC='${CC}' SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean)
install: all
@-mkdir -p $(INSTALL_PREFIX)$(INSTALLTOP)/bin 2>/dev/null
diff --git a/README b/README
index 189c2941a8..f95c925e12 100644
--- a/README
+++ b/README
@@ -141,7 +141,8 @@
------------
To install this package under a Unix derivative, read the INSTALL file. For
- a Win32 platform, read the INSTALL.W32 file.
+ a Win32 platform, read the INSTALL.W32 file. For OpenVMS systems, read
+ INSTALL.VMS.
For people in the USA, it is possible to compile OpenSSL to use RSA Inc.'s
public key library, RSAREF, by configuring OpenSSL with the option "rsaref".
diff --git a/apps/CA.com b/apps/CA.com
new file mode 100644
index 0000000000..f324788eca
--- /dev/null
+++ b/apps/CA.com
@@ -0,0 +1,200 @@
+$! CA - wrapper around ca to make it easier to use ... basically ca requires
+$! some setup stuff to be done before you can use it and this makes
+$! things easier between now and when Eric is convinced to fix it :-)
+$!
+$! CA -newca ... will setup the right stuff
+$! CA -newreq ... will generate a certificate request
+$! CA -sign ... will sign the generated request and output
+$