This file is divided in the following parts:
+ Requirements - Mandatory reading.
+ Checking the distribution - Mandatory reading.
Compilation - Mandatory reading.
+ Logical names - 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.
+ TODO - Things that are to come.
+
+
+Requirements:
+=============
+
+To build and install OpenSSL, you will need:
+
+ * DEC C or some other ANSI C compiler. VAX C is *not* supported.
+ [Note: OpenSSL has only been tested with DEC C. Compiling with
+ a different ANSI C compiler may require some work]
+
+Checking the distribution:
+==========================
+
+There have been reports of places where the distribution didn't quite get
+through, for example if you've copied the tree from a NFS-mounted Unix
+mount point.
+
+The easiest way to check if everything got through as it should is to check
+for one of the following files:
+
+ [.CRYPTO]OPENSSLCONF.H_IN
+ [.CRYPTO]OPENSSLCONF_H.IN
+
+They should never exist both at once, but one of them should (preferably
+the first variant). If you can't find any of those two, something went
+wrong.
+
+The best way to get a correct distribution is to download the gzipped tar
+file from ftp://ftp.openssl.org/source/, use GUNZIP to uncompress it and
+use VMSTAR to unpack the resulting tar file.
+
+GUNZIP is available in many places on the net. One of the distribution
+points is the WKU software archive, ftp://ftp.wku.edu/vms/fileserv/ .
+
+VMSTAR is also available in many places on the net. The recommended place
+to find information about it is http://www.free.lp.se/vmstar/ .
+
Compilation:
============
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:
+directory. The syntax is the 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.
+ CONFIG Just build the "[.CRYPTO]OPENSSLCONF.H" file.
+ BUILDINF Just build the "[.INCLUDE]BUILDINF.H" file.
SOFTLINKS Just copies some files, to simulate Unix soft links.
+ BUILDALL Same as ALL, except CONFIG, BUILDINF and SOFTLINKS aren't done.
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.
+ TEST Just build the "[.xxx.EXE.TEST]" test programs for OpenSSL.
+ APPS Just build the "[.xxx.EXE.APPS]" 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 doesn'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 0: The RSAREF library IS NO LONGER NEEDED. The RSA patent
+ expires September 20, 2000, and RSA Security chose to make
+ the algorithm public domain two weeks before that.
+
+Note 1: If you still want to use RSAREF, the library is NOT INCLUDED
+ and you have to download it. RSA Security doesn't carry it
+ any more, but there are a number of places where you can find
+ it. You have to get the ".tar-Z" file as the ".zip" file
+ doesn'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.
<compiler> must be one of the following:
- VAXC For VAX C.
DECC For DEC C.
GNUC For GNU C.
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 1: 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.
+ you have at least done a @MAKEVMS CONFIG, a @MAKEVMS BUILDINF and
+ a @MAKEVMS SOFTLINKS. A lot of things will break if you don't.
+
+
+Logical names:
+==============
+
+There are a few things that can't currently be given through the command
+line. Instead, logical names are used.
+
+Currently, the logical names supported are:
+
+ OPENSSL_NO_ASM with value YES, the assembler parts of OpenSSL will
+ not be used. Instead, plain C implementations are
+ used. This is good to try if something doesn't work.
+ OPENSSL_NO_'alg' with value YES, the corresponding crypto algorithm
+ will not be implemented. Supported algorithms to
+ do this with are: RSA, DSA, DH, MD2, MD4, MD5, RIPEMD,
+ SHA, DES, MDC2, CR2, RC4, RC5, IDEA, BF, CAST, HMAC,
+ SSL2. So, for example, having the logical name
+ OPENSSL_NO_RSA with the value YES means that the
+ LIBCRYPTO.OLB library will not contain an RSA
+ implementation.
-Note 3: Alpha users will get a number of informational messages when
- compiling the [.asm]vms.mar file in the BN (bignum) part of
- the crypto library. These can be safely ignored.
Test:
=====
<openssl-bugs@openssl.org>, including the output of "openssl version -a"
and of the failed test.
+
Installation:
=============
(the NOTE in section 4 of "Installation in Detail").
You don't need to "deleting old header files"!!!
+
Backward portability:
=====================
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
+Note: Currently, this is only useful 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.
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
-
-
TODO:
=====
--
Richard Levitte <richard@levitte.org>
-1999-05-24
+2000-02-27