summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--Configurations/10-main.conf57
-rwxr-xr-xConfigure23
-rw-r--r--INSTALL10
-rw-r--r--INSTALL.NW454
-rw-r--r--INSTALL.OS231
-rw-r--r--Netware/build.bat235
-rw-r--r--Netware/cpy_tests.bat113
-rw-r--r--Netware/do_tests.pl592
-rw-r--r--Netware/globals.txt254
-rw-r--r--Netware/readme.txt19
-rw-r--r--Netware/set_env.bat112
-rw-r--r--README2
-rw-r--r--apps/apps.c24
-rw-r--r--apps/apps.h4
-rw-r--r--apps/ca.c2
-rw-r--r--apps/opt.c7
-rw-r--r--apps/s_apps.h4
-rw-r--r--apps/s_client.c19
-rw-r--r--apps/s_server.c19
-rw-r--r--apps/speed.c6
-rw-r--r--crypto/bio/b_sock.c24
-rw-r--r--crypto/bio/bss_file.c21
-rw-r--r--crypto/bio/bss_sock.c2
-rw-r--r--crypto/o_time.c2
-rw-r--r--crypto/pkcs7/bio_pk7.c2
-rw-r--r--crypto/rand/Makefile.in4
-rw-r--r--crypto/rand/build.info2
-rw-r--r--crypto/rand/rand_egd.c2
-rw-r--r--crypto/rand/rand_nw.c178
-rw-r--r--crypto/rand/rand_os2.c169
-rw-r--r--crypto/rand/rand_unix.c6
-rw-r--r--crypto/ui/ui_openssl.c7
-rw-r--r--crypto/uid.c2
-rw-r--r--e_os.h75
-rw-r--r--include/openssl/bio.h2
-rw-r--r--include/openssl/e_os2.h12
-rw-r--r--include/openssl/symhacks.h2
-rw-r--r--os2/OS2-EMX.cmd102
-rw-r--r--os2/backwardify.pl32
-rw-r--r--ssl/d1_lib.c2
-rw-r--r--test/bftest.c4
-rw-r--r--test/destest.c4
-rw-r--r--test/dhtest.c4
-rw-r--r--test/dsatest.c4
-rw-r--r--test/exptest.c3
-rw-r--r--test/ideatest.c4
-rw-r--r--test/md2test.c4
-rw-r--r--test/md5test.c4
-rw-r--r--test/mdc2test.c4
-rw-r--r--test/randtest.c4
-rw-r--r--test/rc2test.c4
-rw-r--r--test/rc4test.c4
-rw-r--r--test/rsa_test.c4
-rw-r--r--test/sha1test.c4
-rw-r--r--util/libcrypto.num10
-rwxr-xr-xutil/mk1mf.pl21
-rwxr-xr-xutil/mkdef.pl27
-rw-r--r--util/pl/OS2-EMX.pl120
-rw-r--r--util/pl/netware.pl534
60 files changed, 54 insertions, 3350 deletions
diff --git a/CHANGES b/CHANGES
index e73a95b1a5..16443a3f59 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,7 +7,7 @@
*) Removed the aged BC-32 config and all its supporting scripts
[Richard Levitte]
- *) Removed support for Ultrix as a platform.
+ *) Removed support for Ultrix, Netware, and OS/2.
[Rich Salz]
*) Add support for HKDF.
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 1d943862f4..5a3a5faa93 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -1489,57 +1489,6 @@ sub vc_wince_info {
inherit_from => [ "Cygwin-x86" ]
},
-#### NetWare from David Ward (dsward@novell.com)
-# requires either MetroWerks NLM development tools, or gcc / nlmconv
-# NetWare defaults socket bio to WinSock sockets. However,
-# the builds can be configured to use BSD sockets instead.
-# netware-clib => legacy CLib c-runtime support
- "netware-clib" => {
- inherit_from => [ "BASE_Windows" ],
- cc => "mwccnlm",
- build_scheme => add("netware", { separator => undef }),
- },
- "netware-clib-bsdsock" => {
- inherit_from => [ "BASE_Windows" ],
- cc => "mwccnlm",
- build_scheme => add("netware", { separator => undef }),
- },
- "netware-clib-gcc" => {
- inherit_from => [ "BASE_unix" ],
- cc => "i586-netware-gcc",
- cflags => "-nostdinc -I/ndk/nwsdk/include/nlm -I/ndk/ws295sdk/include -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYS_NETWARE -O2 -Wall",
- },
- "netware-clib-bsdsock-gcc" => {
- inherit_from => [ "BASE_unix" ],
- cc => "i586-netware-gcc",
- cflags => "-nostdinc -I/ndk/nwsdk/include/nlm -DNETWARE_BSDSOCK -DNETDB_USE_INTERNET -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYS_NETWARE -O2 -Wall",
- },
- # netware-libc => LibC/NKS support
- "netware-libc" => {
- inherit_from => [ "BASE_Windows" ],
- cc => "mwccnlm",
- bn_ops => "BN_LLONG",
- build_scheme => add("netware", { separator => undef }),
- },
- "netware-libc-bsdsock" => {
- inherit_from => [ "BASE_Windows" ],
- cc => "mwccnlm",
- bn_ops => "BN_LLONG",
- build_scheme => add("netware", { separator => undef }),
- },
- "netware-libc-gcc" => {
- inherit_from => [ "BASE_unix" ],
- cc => "i586-netware-gcc",
- cflags => "-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYS_NETWARE -DTERMIO -O2 -Wall",
- bn_ops => "BN_LLONG",
- },
- "netware-libc-bsdsock-gcc" => {
- inherit_from => [ "BASE_unix" ],
- cc => "i586-netware-gcc",
- cflags => "-nostdinc -I/ndk/libc/include -DNETWARE_BSDSOCK -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYS_NETWARE -DTERMIO -O2 -Wall",
- bn_ops => "BN_LLONG",
- },
-
#### DJGPP
"DJGPP" => {
inherit_from => [ asm("x86_asm") ],
@@ -1653,12 +1602,6 @@ sub vc_wince_info {
shared_cflag => "-fPIC",
},
-##### OS/2 EMX
- "OS2-EMX" => {
- inherit_from => [ "BASE_unix" ],
- cc => "gcc",
- },
-
##### VxWorks for various targets
"vxworks-ppc60x" => {
inherit_from => [ "BASE_unix" ],
diff --git a/Configure b/Configure
index 0972cfe456..4145e39878 100755
--- a/Configure
+++ b/Configure
@@ -860,7 +860,6 @@ my %target = resolve_config($target);
$target{exe_extension}="";
$target{exe_extension}=".exe" if ($config{target} eq "DJGPP"
|| $config{target} =~ /^(?:Cygwin|mingw)/);
-$target{exe_extension}=".nlm" if ($config{target} =~ /netware/);
$target{exe_extension}=".pm" if ($config{target} =~ /vos/);
($target{shared_extension_simple}=$target{shared_extension})
@@ -1869,16 +1868,15 @@ my %builders = (
build_Makefile();
# create the ms/version32.rc file if needed
- if ($platform ne "netware") {
- my ($v1, $v2, $v3, $v4);
- if ($config{version_num} =~ /^0x([0-9a-f]{1})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{1})L$/i) {
- $v1=hex $1;
- $v2=hex $2;
- $v3=hex $3;
- $v4=hex $4;
- }
- open (OUT,">ms/version32.rc") || die "Can't open ms/version32.rc";
- print OUT <<"EOF";
+ my ($v1, $v2, $v3, $v4);
+ if ($config{version_num} =~ /^0x([0-9a-f]{1})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{1})L$/i) {
+ $v1=hex $1;
+ $v2=hex $2;
+ $v3=hex $3;
+ $v4=hex $4;
+ }
+ open (OUT,">ms/version32.rc") || die "Can't open ms/version32.rc";
+ print OUT <<"EOF";
#include <winver.h>
LANGUAGE 0x09,0x01
@@ -1927,8 +1925,7 @@ BEGIN
END
END
EOF
- close(OUT);
- }
+ close(OUT);
},
);
diff --git a/INSTALL b/INSTALL
index 2377449dbb..51887f1ab1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -2,12 +2,10 @@
OPENSSL INSTALLATION
--------------------
- [Installation on DOS (with djgpp), MacOS (before MacOS X)
- and NetWare is described in INSTALL.DJGPP, INSTALL.MacOS
- and INSTALL.NW.
-
- This document describes installation on the main supported operating
- systems, currently the Linux/Unix family, OpenVMS and Windows.]
+ [This document describes installation on the main supported operating
+ systems, currently the Linux/Unix family, OpenVMS and Windows.
+ Installation on DOS (with djgpp), MacOS (before MacOS X)
+ is described in INSTALL.DJGPP or INSTALL.MacOS, respectively.]
To install OpenSSL, you will need:
diff --git a/INSTALL.NW b/INSTALL.NW
deleted file mode 100644
index 29eb8075b3..0000000000
--- a/INSTALL.NW
+++ /dev/null
@@ -1,454 +0,0 @@
-
-INSTALLATION ON THE NETWARE PLATFORM
-------------------------------------
-
-Notes about building OpenSSL for NetWare.
-
-
-BUILD PLATFORM:
----------------
-The build scripts (batch files, perl scripts, etc) have been developed and
-tested on W2K. The scripts should run fine on other Windows platforms
-(NT, Win9x, WinXP) but they have not been tested. They may require some
-modifications.
-
-
-Supported NetWare Platforms - NetWare 5.x, NetWare 6.x:
--------------------------------------------------------
-OpenSSL can either use the WinSock interfaces introduced in NetWare 5,
-or the BSD socket interface. Previous versions of NetWare, 4.x and 3.x,
-are only supported if OpenSSL is build for CLIB and BSD sockets;
-WinSock builds only support NetWare 5 and up.
-
-On NetWare there are two c-runtime libraries. There is the legacy CLIB
-interfaces and the newer LIBC interfaces. Being ANSI-C libraries, the
-functionality in CLIB and LIBC is similar but the LIBC interfaces are built
-using Novell Kernal Services (NKS) which is designed to leverage
-multi-processor environments.
-
-The NetWare port of OpenSSL can be configured to build using CLIB or LIBC.
-The CLIB build was developed and tested using NetWare 5.0 sp6.0a. The LIBC
-build was developed and tested using the NetWare 6.0 FCS.
-
-The necessary LIBC functionality ships with NetWare 6. However, earlier
-NetWare 5.x versions will require updates in order to run the OpenSSL LIBC
-build (NetWare 5.1 SP8 is known to work).
-
-As of June 2005, the LIBC build can be configured to use BSD sockets instead
-of WinSock sockets. Call Configure (usually through netware\build.bat) using
-a target of "netware-libc-bsdsock" instead of "netware-libc".
-
-As of June 2007, support for CLIB and BSD sockets is also now available
-using a target of "netware-clib-bsdsock" instead of "netware-clib";
-also gcc builds are now supported on both Linux and Win32 (post 0.9.8e).
-
-REQUIRED TOOLS:
----------------
-Based upon the configuration and build options used, some or all of the
-following tools may be required:
-
-* Perl for Win32 - required (http://www.activestate.com/ActivePerl)
- Used to run the various perl scripts on the build platform.
-
-* Perl 5.8.0 for NetWare v3.20 (or later) - required
- (http://developer.novell.com) Used to run the test script on NetWare
- after building.
-
-* Compiler / Linker - required:
- Metrowerks CodeWarrior PDK 2.1 (or later) for NetWare (commercial):
- Provides command line tools used for building.
- Tools:
- mwccnlm.exe - C/C++ Compiler for NetWare
- mwldnlm.exe - Linker for NetWare
- mwasmnlm.exe - x86 assembler for NetWare (if using assembly option)
-
- gcc / nlmconv Cross-Compiler, available from Novell Forge (free):
- http://forge.novell.com/modules/xfmod/project/?aunixnw
-
-* Assemblers - optional:
- If you intend to build using the assembly options you will need an
- assembler. Work has been completed to support two assemblers, Metrowerks
- and NASM. However, during development, a bug was found in the Metrowerks
- assembler which generates incorrect code. Until this problem is fixed,
- the Metrowerks assembler cannot be used.
-
- mwasmnlm.exe - Metrowerks x86 assembler - part of CodeWarrior tools.
- (version 2.2 Built Aug 23, 1999 - not useable due to code
- generation bug)
-
- nasmw.exe - Netwide Assembler NASM
- version 0.98 was used in development and testing
-
-* Make Tool - required:
- In order to build you will need a make tool. Two make tools are
- supported, GNU make (gmake.exe) or Microsoft nmake.exe.
-
- make.exe - GNU make for Windows (version 3.75 used for development)
- http://gnuwin32.sourceforge.net/packages/make.htm
-
- nmake.exe - Microsoft make (Version 6.00.8168.0 used for development)
- http://support.microsoft.com/kb/132084/EN-US/
-
-* Novell Developer Kit (NDK) - required: (http://developer.novell.com)
-
- CLIB - BUILDS:
-
- WinSock2 Developer Components for NetWare:
- For initial development, the October 27, 2000 version was used.
- However, future versions should also work.
-
- NOTE: The WinSock2 components include headers & import files for
- NetWare, but you will also need the winsock2.h and supporting
- headers (pshpack4.h, poppack.h, qos.h) delivered in the
- Microsoft SDK. Note: The winsock2.h support headers may change
- with various versions of winsock2.h. Check the dependencies
- section on the NDK WinSock2 download page for the latest
- information on dependencies. These components are unsupported by
- Novell. They are provided as a courtesy, but it is strongly
- suggested that all development be done using LIBC, not CLIB.
-
- As of June 2005, the WinSock2 components are available at:
- http://forgeftp.novell.com//ws2comp/
-
-
- NLM and NetWare libraries for C (including CLIB and XPlat):
- If you are going to build a CLIB version of OpenSSL, you will
- need the CLIB headers and imports. The March, 2001 NDK release or
- later is recommended.
-
- Earlier versions should work but haven't been tested. In recent
- versions the import files have been consolidated and function
- names moved. This means you may run into link problems
- (undefined symbols) when using earlier versions. The functions
- are available in earlier versions, but you will have to modifiy
- the make files to include additional import files (see
- openssl\util\pl\netware.pl).
-
-
- LIBC - BUILDS:
-
- Libraries for C (LIBC) - LIBC headers and import files
- If you are going to build a LIBC version of OpenSSL, you will
- need the LIBC headers and imports. The March 14, 2002 NDK release or
- later is required.
-
- NOTE: The LIBC SDK includes the necessary WinSock2 support.
- It is not necessary to download the WinSock2 NDK when building for
- LIBC. The LIBC SDK also includes the appropriate BSD socket support
- if configuring to use BSD sockets.
-
-
-BUILDING:
----------
-Before building, you will need to set a few environment variables. You can
-set them manually or you can modify the "netware\set_env.bat" file.
-
-The set_env.bat file is a template you can use to set up the path
-and environment variables you will need to build. Modify the
-various lines to point to YOUR tools and run set_env.bat.
-
- netware\set_env.bat <target> [compiler]
-
- target - "netware-clib" - CLIB NetWare build
- - "netware-libc" - LIBC NetWare build
-
- compiler - "gnuc" - GNU GCC Compiler
- - "codewarrior" - MetroWerks CodeWarrior (default)
-
-If you don't use set_env.bat, you will need to set up the following
-environment variables:
-
- PATH - Set PATH to point to the tools you will use.
-
- INCLUDE - The location of the NDK include files.
-
- CLIB ex: set INCLUDE=c:\ndk\nwsdk\include\nlm
- LIBC ex: set INCLUDE=c:\ndk\libc\include
-
- PRELUDE - The absolute path of the prelude object to link with. For
- a CLIB build it is recommended you use the "clibpre.o" files shipped
- with the Metrowerks PDK for NetWare. For a LIBC build you should
- use the "libcpre.o" file delivered with the LIBC NDK components.
-
- CLIB ex: set PRELUDE=c:\ndk\nwsdk\imports\clibpre.o
- LIBC ex: set PRELUDE=c:\ndk\libc\imports\libcpre.o
-
- IMPORTS - The locaton of the NDK import files.
-
- CLIB ex: set IMPORTS=c:\ndk\nwsdk\imports
- LIBC ex: set IMPORTS=c:\ndk\libc\imports
-
-
-In order to build, you need to run the Perl scripts to configure the build
-process and generate a make file. There is a batch file,
-"netware\build.bat", to automate the process.
-
-Build.bat runs the build configuration scripts and generates a make file.
-If an assembly option is specified, it also runs the scripts to generate
-the assembly code. Always run build.bat from the "openssl" directory.
-
- netware\build [target] [debug opts] [assembly opts] [configure opts]
-
- target - "netware-clib" - CLIB NetWare build (WinSock Sockets)
- - "netware-clib-bsdsock" - CLIB NetWare build (BSD Sockets)
- - "netware-libc" - LIBC NetWare build (WinSock Sockets)
- - "netware-libc-bsdsock" - LIBC NetWare build (BSD Sockets)
-
- debug opts - "debug" - build debug
-
- assembly opts - "nw-mwasm" - use Metrowerks assembler
- "nw-nasm" - use NASM assembler
- "no-asm" - don't use assembly
-
- configure opts- all unrecognized arguments are passed to the
- perl 'configure' script. See that script for
- internal documentation regarding options that
- are available.
-
- examples:
-
- CLIB build, debug, without assembly:
- netware\build.bat netware-clib debug no-asm
-
- LIBC build, non-debug, using NASM assembly, add mdc2 support:
- netware\build.bat netware-libc nw-nasm enable-mdc2
-
- LIBC build, BSD sockets, non-debug, without assembly:
- netware\build.bat netware-libc-bsdsock no-asm
-
-Running build.bat generates a make file to be processed by your make
-tool (gmake or nmake):
-
- CLIB ex: gmake -f netware\nlm_clib_dbg.mak
- LIBC ex: gmake -f netware\nlm_libc.mak
- LIBC ex: gmake -f netware\nlm_libc_bsdsock.mak
-
-
-You can also run the build scripts manually if you do not want to use the
-build.bat file. Run the following scripts in the "\openssl"
-subdirectory (in the order listed below):
-
- perl configure no-asm [other config opts] [netware-clib|netware-libc|netware-libc-bsdsock]
- configures no assembly build for specified netware environment
- (CLIB or LIBC).
-
- perl util\mkfiles.pl >MINFO
- generates a listing of source files (used by mk1mf)
-
- perl util\mk1mf.pl no-asm [other config opts] [netware-clib|netware-libc|netware-libc-bsdsock >netware\nlm.mak
- generates the makefile for NetWare
-
- gmake -f netware\nlm.mak
- build with the make tool (nmake.exe also works)
-
-NOTE: If you are building using the assembly option, you must also run the
-various Perl scripts to generate the assembly files. See build.bat
-for an example of running the various assembly scripts. You must use the
-"no-asm" option to build without assembly. The configure and mk1mf scripts
-also have various other options. See the scripts for more information.
-
-
-The output from the build is placed in the following directories:
-
- CLIB Debug build:
- out_nw_clib.dbg - static libs & test nlm(s)
- tmp_nw_clib.dbg - temporary build files
- outinc_nw_clib - necessary include files
-
- CLIB Non-debug build:
- out_nw_clib - static libs & test nlm(s)
- tmp_nw_clib - temporary build files
- outinc_nw_clib - necesary include files
-
- LIBC Debug build:
- out_nw_libc.dbg - static libs & test nlm(s)
- tmp_nw_libc.dbg - temporary build files
- outinc_nw_libc - necessary include files
-
- LIBC Non-debug build:
- out_nw_libc - static libs & test nlm(s)
- tmp_nw_libc - temporary build files
- outinc_nw_libc - necesary include files
-
-
-TESTING:
---------
-The build process creates the OpenSSL static libs ( crypto.lib, ssl.lib,
-rsaglue.lib ) and several test programs. You should copy the test programs
-to your NetWare server and run the tests.
-
-The batch file "netware\cpy_tests.bat" will copy all the necessary files
-to your server for testing. In order to run the batch file, you need a
-drive mapped to your target server. It will create an "OpenSSL" directory
-on the drive and copy the test files to it. CAUTION: If a directory with the
-name of "OpenSSL" already exists, it will be deleted.
-
-To run cpy_tests.bat:
-
- netware\cpy_tests [output directory] [NetWare drive]
-
- output directory - "out_nw_clib.dbg", "out_nw_libc", etc.
- NetWare drive - drive letter of mapped drive
-
- CLIB ex: netware\cpy_tests out_nw_clib m:
- LIBC ex: netware\cpy_tests out_nw_libc m:
-
-
-The Perl script, "do_tests.pl", in the "OpenSSL" directory on the server
-should be used to execute the tests. Before running the script, make sure
-your SEARCH PATH includes the "OpenSSL" directory. For example, if you
-copied the files to the "sys:" volume you use the command:
-
- SEARCH ADD SYS:\OPENSSL
-
-
-To run do_tests.pl type (at the console prompt):
-
- perl \openssl\do_tests.pl [options]
-
- options:
- -p - pause after executing each test
-
-The do_tests.pl script generates a log file "\openssl\test_out\tests.log"
-which should be reviewed for errors. Any errors will be denoted by the word
-"ERROR" in the log.
-
-DEVELOPING WITH THE OPENSSL SDK:
---------------------------------
-Now that everything is built and tested, you are ready to use the OpenSSL
-libraries in your development.
-
-There is no real installation procedure, just copy the static libs and
-headers to your build location. The libs (crypto.lib & ssl.lib) are
-located in the appropriate "out_nw_XXXX" directory
-(out_nw_clib, out_nw_libc, etc).
-
-The headers are located in the appropriate "outinc_nw_XXX" directory
-(outinc_nw_clib, outinc_nw_libc).
-
-One suggestion is to create the following directory
-structure for the OpenSSL SDK:
-
- \openssl
- |- bin
- | |- openssl.nlm
- | |- (other tests you want)
- |
- |- lib
- | | - crypto.lib
- | | - ssl.lib
- |
- |- include
- | | - openssl
- | | | - (all the headers in "outinc_nw\openssl")
-
-
-The program "openssl.nlm" can be very useful. It has dozens of
-options and you may want to keep it handy for debugging, testing, etc.
-
-When building your apps using OpenSSL, define "NETWARE". It is needed by
-some of the OpenSSL headers. One way to do this is with a compile option,
-for example "-DNETWARE".
-
-
-
-NOTES:
-------
-
-Resource leaks in Tests
-------------------------
-Some OpenSSL tests do not clean up resources and NetWare reports
-the resource leaks when the tests unload. If this really bugs you,
-you can stop the messages by setting the developer option off at the console
-prompt (set developer option = off). Or better yet, fix the tests to
-clean up the resources!
-
-
-Multi-threaded Development
----------------------------
-The NetWare version of OpenSSL is thread-safe, however multi-threaded
-applications must provide the necessary locking function callbacks. This
-is described in doc\threads.doc. The file "openssl-x.x.x\crypto\threads\mttest.c"
-is a multi-threaded test program and demonstrates the locking functions.
-
-
-What is openssl2.nlm?
----------------------
-The openssl program has numerous options and can be used for many different
-things. Many of the options operate in an interactive mode requiring the
-user to enter data. Because of this, a default screen is created for the
-program. However, when running the test script it is not desirable to
-have a separate screen. Therefore, the build also creates openssl2.nlm.
-Openssl2.nlm is functionally identical but uses the console screen.
-Openssl2 can be used when a non-interactive mode is desired.
-
-NOTE: There are may other possibilities (command line options, etc)
-which could have been used to address the screen issue. The openssl2.nlm
-option was chosen because it impacted only the build not the code.
-
-
-Why only static libraries?
---------------------------
-Globals, globals, and more globals. The OpenSSL code uses many global
-variables that are allocated and initialized when used for the first time.
-
-On NetWare, most applications (at least historically) run in the kernel.
-When running in the kernel, there is one instance of global variables.
-For regular application type NLM(s) this isn't a problem because they are
-the only ones using the globals. However, for a library NLM (an NLM which
-exposes functions and has no threads of execution), the globals cause
-problems. Applications could inadvertently step on each other if they
-change some globals. Even worse, the first application that triggers a
-global to be allocated and initialized has the allocated memory charged to
-itself. Now when that application unloads, NetWare will clean up all the
-applicaton's memory. The global pointer variables inside OpenSSL now
-point to freed memory. An abend waiting to happen!
-
-To work correctly in the kernel, library NLM(s) that use globals need to
-provide a set of globals (instance data) for each application. Another
-option is to require the library only be loaded in a protected address
-space along with the application using it.
-
-Modifying the OpenSSL code to provide a set of globals (instance data) for
-each application isn't technically difficult, but due to the large number
-globals it would require substantial code changes and it wasn't done. Hence,
-the build currently only builds static libraries which are then linked
-into each application.
-
-NOTE: If you are building a library NLM that uses the OpenSSL static
-libraries, you will still have to deal with the global variable issue.
-This is because when you link in the OpenSSL code you bring in all the
-globals. One possible solution for the global pointer variables is to
-register memory functions with OpenSSL which allocate memory and charge it
-to your library NLM (see the function CRYPTO_set_mem_functions). However,
-be aware that now all memory allocated by OpenSSL is charged to your NLM.
-
-
-CodeWarrior Tools and W2K
----------------------------
-There have been problems reported with the CodeWarrior Linker
-(mwldnlm.exe) in the PDK 2.1 for NetWare when running on Windows 2000. The
-problems cause the link step to fail. The only work around is to obtain an
-updated linker from Metrowerks. It is expected Metrowerks will release
-PDK 3.0 (in beta testing at this time - May, 2001) in the near future which
-will fix these problems.
-
-
-Makefile "vclean"
-------------------
-The generated makefile has a "vclean" target which cleans up the build
-directories. If you have been building successfully and suddenly
-experience problems, use "vclean" (gmake -f netware\nlm_xxxx.mak vclean) and retry.
-
-
-"Undefined Symbol" Linker errors
---------------------------------
-There have been linker errors reported when doing a CLIB build. The problems
-occur because some versions of the CLIB SDK import files inadvertently
-left out some symbols. One symbol in particular is "_lrotl". The missing
-functions are actually delivered in the binaries, but they were left out of
-the import files. The issues should be fixed in the September 2001 release
-of the NDK. If you experience the problems you can temporarily
-work around it by manually adding the missing symbols to your version of
-"clib.imp".
-
diff --git a/INSTALL.OS2 b/INSTALL.OS2
deleted file mode 100644
index 530316db18..0000000000
--- a/INSTALL.OS2
+++ /dev/null
@@ -1,31 +0,0 @@
-
- Installation on OS/2
- --------------------
-
- You need to have the following tools installed:
-
- * EMX GCC
- * PERL
- * GNU make
-
-
- To build the makefile, run
-
- > os2\os2-emx
-
- This will configure OpenSSL and create OS2-EMX.mak which you then use to
- build the OpenSSL libraries & programs by running
-
- > make -f os2-emx.mak
-
- If that finishes successfully you will find the libraries and programs in the
- "out" directory.
-
- Alternatively, you can make a dynamic build that puts the library code into
- crypto.dll and ssl.dll by running
-
- > make -f os2-emx-dll.mak
-
- This will build the above mentioned dlls and a matching pair of import
- libraries in the "out_dll" directory along with the set of test programs
- and the openssl application.
diff --git a/Netware/build.bat b/Netware/build.bat
deleted file mode 100644
index 3125c2a487..0000000000
--- a/Netware/build.bat
+++ /dev/null
@@ -1,235 +0,0 @@
-@echo off
-
-rem ========================================================================
-rem Batch file to automate building OpenSSL for NetWare.
-rem
-rem usage:
-rem build [target] [debug opts] [assembly opts] [configure opts]
-rem
-rem target - "netware-clib" - CLib NetWare build (WinSock Sockets)
-rem - "netware-clib-bsdsock" - CLib NetWare build (BSD Sockets)
-rem - "netware-libc" - LibC NetWare build (WinSock Sockets)
-rem - "netware-libc-bsdsock" - LibC NetWare build (BSD Sockets)
-rem
-rem debug opts - "debug" - build debug
-rem
-rem assembly opts - "nw-mwasm" - use Metrowerks assembler
-rem - "nw-nasm" - use NASM assembler
-rem - "no-asm" - don't use assembly
-rem
-rem configure opts- all unrecognized arguments are passed to the
-rem perl configure script
-rem
-rem If no arguments are specified the default is to build non-debug with
-rem no assembly. NOTE: there is no default BLD_TARGET.
-rem
-
-
-
-rem No assembly is the default - Uncomment section below to change
-rem the assembler default
-set ASM_MODE=
-set ASSEMBLER=
-set NO_ASM=no-asm
-
-rem Uncomment to default to the Metrowerks assembler
-rem set ASM_MODE=nw-mwasm
-rem set ASSEMBLER=Metrowerks
-rem set NO_ASM=
-
-rem Uncomment to default to the NASM assembler
-rem set ASM_MODE=nw-nasm
-rem set ASSEMBLER=NASM
-rem set NO_ASM=
-
-rem No default Bld target
-set BLD_TARGET=no_target
-rem set BLD_TARGET=netware-clib
-rem set BLD_TARGET=netware-libc
-
-
-rem Default to build non-debug
-set DEBUG=
-
-rem Uncomment to default to debug build
-rem set DEBUG=debug
-
-
-set CONFIG_OPTS=
-set ARG_PROCESSED=NO
-
-
-rem Process command line args
-:opts
-if "a%1" == "a" goto endopt
-if "%1" == "no-asm" set NO_ASM=no-asm
-if "%1" == "no-asm" set ARG_PROCESSED=YES
-if "%1" == "debug" set DEBUG=debug
-if "%1" == "debug" set ARG_PROCESSED=YES
-if "%1" == "nw-nasm" set ASM_MODE=nw-nasm
-if "%1" == "nw-nasm" set ASSEMBLER=NASM
-if "%1" == "nw-nasm" set NO_ASM=
-if "%1" == "nw-nasm" set ARG_PROCESSED=YES
-if "%1" == "nw-mwasm" set ASM_MODE=nw-mwasm
-if "%1" == "nw-mwasm" set ASSEMBLER=Metrowerks
-if "%1" == "nw-mwasm" set NO_ASM=
-if "%1" == "nw-mwasm" set ARG_PROCESSED=YES
-if "%1" == "netware-clib" set BLD_TARGET=netware-clib
-if "%1" == "netware-clib" set ARG_PROCESSED=YES
-if "%1" == "netware-clib-bsdsock" set BLD_TARGET=netware-clib-bsdsock
-if "%1" == "netware-clib-bsdsock" set ARG_PROCESSED=YES
-if "%1" == "netware-libc" set BLD_TARGET=netware-libc
-if "%1" == "netware-libc" set ARG_PROCESSED=YES
-if "%1" == "netware-libc-bsdsock" set BLD_TARGET=netware-libc-bsdsock
-if "%1" == "netware-libc-bsdsock" set ARG_PROCESSED=YES
-
-rem If we didn't recognize the argument, consider it an option for config
-if "%ARG_PROCESSED%" == "NO" set CONFIG_OPTS=%CONFIG_OPTS% %1
-if "%ARG_PROCESSED%" == "YES" set ARG_PROCESSED=NO
-
-shift
-goto opts
-:endopt
-
-rem make sure a valid BLD_TARGET was specified
-if "%BLD_TARGET%" == "no_target" goto no_target
-
-rem build the nlm make file name which includes target and debug info
-set NLM_MAKE=
-if "%BLD_TARGET%" == "netware-clib" set NLM_MAKE=netware\nlm_clib
-if "%BLD_TARGET%" == "netware-clib-bsdsock" set NLM_MAKE=netware\nlm_clib_bsdsock
-if "%BLD_TARGET%" == "netware-libc" set NLM_MAKE=netware\nlm_libc
-if "%BLD_TARGET%" == "netware-libc-bsdsock" set NLM_MAKE=netware\nlm_libc_bsdsock
-if "%DEBUG%" == "" set NLM_MAKE=%NLM_MAKE%.mak
-if "%DEBUG%" == "debug" set NLM_MAKE=%NLM_MAKE%_dbg.mak
-
-if "%NO_ASM%" == "no-asm" set ASM_MODE=
-if "%NO_ASM%" == "no-asm" set ASSEMBLER=
-if "%NO_ASM%" == "no-asm" set CONFIG_OPTS=%CONFIG_OPTS% no-asm
-if "%NO_ASM%" == "no-asm" goto do_config
-
-
-rem ==================================================
-echo Generating x86 for %ASSEMBLER% assembler
-
-echo Bignum
-cd crypto\bn\asm
-rem perl x86.pl %ASM_MODE% > bn-nw.asm
-perl bn-586.pl %ASM_MODE% > bn-nw.asm
-perl co-586.pl %ASM_MODE% > co-nw.asm
-cd ..\..\..
-
-echo AES
-cd crypto\aes\asm
-perl aes-586.pl %ASM_MODE% > a-nw.asm
-cd ..\..\..
-
-echo DES
-cd crypto\des\asm
-perl des-586.pl %ASM_MODE% > d-nw.asm
-cd ..\..\..
-
-echo "crypt(3)"
-
-cd crypto\des\asm
-perl crypt586.pl %ASM_MODE% > y-nw.asm
-cd ..\..\..
-
-echo Blowfish
-
-cd crypto\bf\asm
-perl bf-586.pl %ASM_MODE% > b-nw.asm
-cd ..\..\..
-
-echo CAST5
-cd crypto\cast\asm
-perl cast-586.pl %ASM_MODE% > c-nw.asm
-cd ..\..\..
-
-echo RC4
-cd crypto\rc4\asm
-perl rc4-586.pl %ASM_MODE% > r4-nw.asm
-cd ..\..\..
-
-echo MD5
-cd crypto\md5\asm
-perl md5-586.pl %ASM_MODE% > m5-nw.asm
-cd ..\..\..
-
-echo SHA1
-cd crypto\sha\asm
-perl sha1-586.pl %ASM_MODE% > s1-nw.asm
-perl sha256-586.pl %ASM_MODE% > sha256-nw.asm
-perl sha512-586.pl %ASM_MODE% > sha512-nw.asm
-cd ..\..\..
-
-echo RIPEMD160
-cd crypto\ripemd\asm
-perl rmd-586.pl %ASM_MODE% > rm-nw.asm
-cd ..\..\..
-
-echo RC5\32
-cd crypto\rc5\asm
-perl rc5-586.pl %ASM_MODE% > r5-nw.asm
-cd ..\..\..
-
-echo WHIRLPOOL
-cd crypto\whrlpool\asm
-perl wp-mmx.pl %ASM_MODE% > wp-nw.asm
-cd ..\..\..
-
-echo CPUID
-cd crypto
-perl x86cpuid.pl %ASM_MODE% > x86cpuid-nw.asm
-cd ..\
-
-rem ===============================================================
-rem
-:do_config
-
-echo .
-echo configure options: %CONFIG_OPTS% %BLD_TARGET%
-echo .
-perl configure %CONFIG_OPTS% %BLD_TARGET%
-
-perl util\mkfiles.pl >MINFO
-
-echo .
-echo mk1mf.pl options: %DEBUG% %ASM_MODE% %CONFIG_OPTS% %BLD_TARGET%
-echo .
-perl util\mk1mf.pl %DEBUG% %ASM_MODE% %CONFIG_OPTS% %BLD_TARGET% >%NLM_MAKE%
-
-make -f %NLM_MAKE% vclean
-echo .
-echo The makefile "%NLM_MAKE%" has been created use your maketool to
-echo build (ex: make -f %NLM_MAKE%)
-goto end
-
-rem ===============================================================
-rem
-:no_target
-echo .
-echo . No build target specified!!!
-echo .
-echo . usage: build [target] [debug opts] [assembly opts] [configure opts]
-echo .
-echo . target - "netware-clib" - CLib NetWare build (WinSock Sockets)
-echo . - "netware-clib-bsdsock" - CLib NetWare build (BSD Sockets)
-echo . - "netware-libc" - LibC NetWare build (WinSock Sockets)
-echo . - "netware-libc-bsdsock" - LibC NetWare build (BSD Sockets)
-echo .
-echo . debug opts - "debug" - build debug
-echo .
-echo . assembly opts - "nw-mwasm" - use Metrowerks assembler
-echo . "nw-nasm" - use NASM assembler
-echo . "no-asm" - don't use assembly
-echo .
-echo . configure opts- all unrecognized arguments are passed to the
-echo . perl configure script
-echo .
-echo . If no debug or assembly opts are specified the default is to build
-echo . non-debug without assembly
-echo .
-
-
-:end
diff --git a/Netware/cpy_tests.bat b/Netware/cpy_tests.bat
deleted file mode 100644
index 1583f28067..0000000000
--- a/Netware/cpy_tests.bat
+++ /dev/null
@@ -1,113 +0,0 @@
-@echo off
-
-rem Batch file to copy OpenSSL stuff to a NetWare server for testing
-
-rem This batch file will create an "opensssl" directory at the root of the
-rem specified NetWare drive and copy the required files to run the tests.
-rem It should be run from inside the "openssl\netware" subdirectory.
-
-rem Usage:
-rem cpy_tests.bat <test subdirectory> <NetWare drive>
-rem <test subdirectory> - out_nw.dbg | out_nw
-rem <NetWare drive> - any mapped drive letter
-rem
-rem example ( copy from debug build to m: dirve ):
-rem cpy_tests.bat out_nw.dbg m:
-rem
-rem CAUTION: If a directory named OpenSSL exists on the target drive
-rem it will be deleted first.
-
-
-if "%1" == "" goto usage
-if "%2" == "" goto usage
-
-rem Assume running in \openssl directory unless cpy_tests.bat exists then
-rem it must be the \openssl\netware directory
-set loc=.
-if exist cpy_tests.bat set loc=..
-
-rem make sure the local build subdirectory specified is valid
-if not exist %loc%\%1\NUL goto invalid_dir
-
-rem make sure target drive is valid
-if not exist %2\NUL goto invalid_drive
-
-rem If an OpenSSL directory exists on the target drive, remove it
-if exist %2\openssl\NUL goto remove_openssl
-goto do_copy
-
-:remove_openssl
-echo .
-echo OpenSSL directory exists on %2 - it will be removed!
-pause
-rmdir %2\openssl /s /q
-
-:do_copy
-rem make an "openssl" directory and others at the root of the NetWare drive
-mkdir %2\openssl
-mkdir %2\openssl\test_out
-mkdir %2\openssl\apps
-mkdir %2\openssl\certs
-mkdir %2\openssl\test
-
-
-rem copy the test nlms
-copy %loc%\%1\*.nlm %2\openssl\
-
-rem copy the test perl script
-copy %loc%\netware\do_tests.pl %2\openssl\
-
-rem copy the certs directory stuff
-xcopy %loc%\certs\*.* %2\openssl\certs\ /s
-
-rem copy the test directory stuff
-copy %loc%\test\CAss.cnf %2\openssl\test\
-copy %loc%\test\Uss.cnf %2\openssl\test\
-copy %loc%\test\pkcs7.pem %2\openssl\test\
-copy %loc%\test\pkcs7-1.pem %2\openssl\test\
-copy %loc%\test\testcrl.pem %2\openssl\test\
-copy %loc%\test\testp7.pem %2\openssl\test\
-copy %loc%\test\testreq2.pem %2\openssl\test\
-copy %loc%\test\testrsa.pem %2\openssl\test\
-copy %loc%\test\testsid.pem %2\openssl\test\
-copy %loc%\test\testx509.pem %2\openssl\test\
-copy %loc%\test\v3-cert1.pem %2\openssl\test\
-copy %loc%\test\v3-cert2.pem %2\openssl\test\
-copy %loc%\crypto\evp\evptests.txt %2\openssl\test\
-
-rem copy the apps directory stuff
-copy %loc%\apps\client.pem %2\openssl\apps\
-copy %loc%\apps\server.pem %2\openssl\apps\
-copy %loc%\apps\openssl.cnf %2\openssl\apps\
-
-echo .
-echo Tests copied
-echo Run the test script at the console by typing:
-echo "Perl \openssl\do_tests.pl"
-echo .
-echo Make sure the Search path includes the OpenSSL subdirectory
-
-goto end
-
-:invalid_dir
-echo.
-echo Invalid build directory specified: %1
-echo.
-goto usage
-
-:invalid_drive
-echo.
-echo Invalid drive: %2
-echo.
-goto usage
-
-:usage
-echo.
-echo usage: cpy_tests.bat [test subdirectory] [NetWare drive]
-echo [test subdirectory] - out_nw_clib.dbg, out_nw_libc.dbg, etc.
-echo [NetWare drive] - any mapped drive letter
-echo.
-echo example: cpy_test out_nw_clib.dbg M:
-echo (copy from clib debug build area to M: drive)
-
-:end
diff --git a/Netware/do_tests.pl b/Netware/do_tests.pl
deleted file mode 100644
index f8909a43cc..0000000000
--- a/Netware/do_tests.pl
+++ /dev/null
@@ -1,592 +0,0 @@
-# perl script to run OpenSSL tests
-
-
-my $base_path = "\\openssl";
-
-my $output_path = "$base_path\\test_out";
-my $cert_path = "$base_path\\certs";
-my $test_path = "$base_path\\test";
-my $app_path = "$base_path\\apps";
-
-my $tmp_cert = "$output_path\\cert.tmp";
-my $OpenSSL_config = "$app_path\\openssl.cnf";
-my $log_file = "$output_path\\tests.log";
-
-my $pause = 0;
-
-
-# process the command line args to see if they wanted us to pause
-# between executing each command
-foreach $i (@ARGV)
-{
- if ($i =~ /^-p$/)
- { $pause=1; }
-}
-
-
-
-main();
-
-
-############################################################################
-sub main()
-{
- # delete all the output files in the output directory
- unlink <$output_path\\*.*>;
-
- # open the main log file
- open(OUT, ">$log_file") || die "unable to open $log_file\n";
-
- print( OUT "========================================================\n");
- my $outFile = "$output_path\\version.out";
- system("openssl2 version (CLIB_OPT)/>$outFile");
- log_output("CHECKING FOR OPENSSL VERSION:", $outFile);
-
- algorithm_tests();
- encryption_tests();
- evp_tests();
- pem_tests();
- verify_tests();
- ca_tests();
- ssl_tests();
-
- close(OUT);
-
- print("\nCompleted running tests.\n\n");
- print("Check log file for errors: $log_file\n");
-}
-
-############################################################################
-sub algorithm_tests
-{
- my $i;
- my $outFile;
- my @tests = ( rsa_test, destest, ideatest, bftest, bntest, shatest, sha1test,
- sha256t, sha512t, dsatest, md2test, md4test, md5test, mdc2test,
- rc2test, rc4test, rc5test, randtest, rmdtest, dhtest, ecdhtest,
- ecdsatest, ectest, exptest, casttest, hmactest );
-
- print( "\nRUNNING CRYPTO ALGORITHM TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "CRYPTO ALGORITHM TESTS:\n\n");
-
- foreach $i (@tests)
- {
- if (-e "$base_path\\$i.nlm")
- {
- $outFile = "$output_path\\$i.out";
- system("$i (CLIB_OPT)/>$outFile");
- log_desc("Test: $i\.nlm:");
- log_output("", $outFile );
- }
- else
- {
- log_desc("Test: $i\.nlm: file not found");
- }
- }
-}
-
-############################################################################
-sub encryption_tests
-{
- my $i;
- my $outFile;
- my @enc_tests = ( "enc", "rc4", "des-cfb", "des-ede-cfb", "des-ede3-cfb",
- "des-ofb", "des-ede-ofb", "des-ede3-ofb",
- "des-ecb", "des-ede", "des-ede3", "des-cbc",
- "des-ede-cbc", "des-ede3-cbc", "idea-ecb", "idea-cfb",
- "idea-ofb", "idea-cbc", "rc2-ecb", "rc2-cfb",
- "rc2-ofb", "rc2-cbc", "bf-ecb", "bf-cfb",
- "bf-ofb", "bf-cbc" );
-
- my $input = "$base_path\\do_tests.pl";
- my $cipher = "$output_path\\cipher.out";
- my $clear = "$output_path\\clear.out";
-
- print( "\nRUNNING ENCRYPTION & DECRYPTION TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "FILE ENCRYPTION & DECRYPTION TESTS:\n\n");
-
- foreach $i (@enc_tests)
- {
- log_desc("Testing: $i");
-
- # do encryption
- $outFile = "$output_path\\enc.out";
- system("openssl2 $i -e -bufsize 113 -k test -in $input -out $cipher (CLIB_OPT)/>$outFile" );
- log_output("Encrypting: $input --> $cipher", $outFile);
-
- # do decryption
- $outFile = "$output_path\\dec.out";
- system("openssl2 $i -d -bufsize 157 -k test -in $cipher -out $clear (CLIB_OPT)/>$outFile");
- log_output("Decrypting: $cipher --> $clear", $outFile);
-
- # compare files
- $x = compare_files( $input, $clear, 1);
- if ( $x == 0 )
- {
- print( "\rSUCCESS - files match: $input, $clear\n");
- print( OUT "SUCCESS - files match: $input, $clear\n");
- }
- else
- {
- print( "\rERROR: files don't match\n");
- print( OUT "ERROR: files don't match\n");
- }
-
- do_wait();
-
- # Now do the same encryption but use Base64
-
- # do encryption B64
- $outFile = "$output_path\\B64enc.out";
- system("openssl2 $i -a -e -bufsize 113 -k test -in $input -out $cipher (CLIB_OPT)/>$outFile");
- log_output("Encrypting(B64): $cipher --> $clear", $outFile);
-
- # do decryption B64
- $outFile = "$output_path\\B64dec.out";
- system("openssl2 $i -a -d -bufsize 157 -k test -in $cipher -out $clear (CLIB_OPT)/>$outFile");
- log_output("Decrypting(B64): $cipher --> $clear", $outFile);
-
- # compare files
- $x = compare_files( $input, $clear, 1);
- if ( $x == 0 )
- {
- print( "\rSUCCESS - files match: $input, $clear\n");
- print( OUT "SUCCESS - files match: $input, $clear\n");
- }
- else
- {
- print( "\rERROR: files don't match\n");
- print( OUT "ERROR: files don't match\n");
- }
-
- do_wait();
-
- } # end foreach
-
- # delete the temporary files
- unlink($cipher);
- unlink($clear);
-}
-
-
-############################################################################
-sub pem_tests
-{
- my $i;
- my $tmp_out;
- my $outFile = "$output_path\\pem.out";
-
- my %pem_tests = (
- "crl" => "testcrl.pem",
- "pkcs7" => "testp7.pem",
- "req" => "testreq2.pem",
- "rsa" => "testrsa.pem",
- "x509" => "testx509.pem",
- "x509" => "v3-cert1.pem",
- "sess_id" => "testsid.pem" );
-
-
- print( "\nRUNNING PEM TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "PEM TESTS:\n\n");
-
- foreach $i (keys(%pem_tests))
- {
- log_desc( "Testing: $i");
-
- my $input = "$test_path\\$pem_tests{$i}";
-
- $tmp_out = "$output_path\\$pem_tests{$i}";
-
- if ($i ne "req" )
- {
- system("openssl2 $i -in $input -out $tmp_out (CLIB_OPT)/>$outFile");
- log_output( "openssl2 $i -in $input -out $tmp_out", $outFile);
- }
- else
- {
- system("openssl2 $i -in $input -out $tmp_out -config $OpenSSL_config (CLIB_OPT)/>$outFile");
- log_output( "openssl2 $i -in $input -out $tmp_out -config $OpenSSL_config", $outFile );
- }
-
- $x = compare_files( $input, $tmp_out);
- if ( $x == 0 )
- {
- print( "\rSUCCESS - files match: $input, $tmp_out\n");
- print( OUT "SUCCESS - files match: $input, $tmp_out\n");
- }
- else
- {
- print( "\rERROR: files don't match\n");
- print( OUT "ERROR: files don't match\n");
- }
- do_wait();
-
- } # end foreach
-}
-
-
-############################################################################
-sub verify_tests
-{
- my $i;
- my $outFile = "$output_path\\verify.out";
-
- $cert_path =~ s/\\/\//g;
- my @cert_files = <$cert_path/*.pem>;
-
- print( "\nRUNNING VERIFY TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "VERIFY TESTS:\n\n");
-
- make_tmp_cert_file();
-
- foreach $i (@cert_files)
- {
- system("openssl2 verify -CAfile $tmp_cert $i (CLIB_OPT)/>$outFile");
- log_desc("Verifying cert: $i");
- log_output("openssl2 verify -CAfile $tmp_cert $i", $outFile);
- }
-}
-
-
-############################################################################
-sub ssl_tests
-{
- my $outFile = "$output_path\\ssl_tst.out";
- my($CAcert) = "$output_path\\certCA.ss";
- my($Ukey) = "$output_path\\keyU.ss";
- my($Ucert) = "$output_path\\certU.ss";
- my($ssltest)= "ssltest -key $Ukey -cert $Ucert -c_key $Ukey -c_cert $Ucert -CAfile $CAcert";
-
- print( "\nRUNNING SSL TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "SSL TESTS:\n\n");
-
- system("ssltest -ssl3 (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3:");
- log_output("ssltest -ssl3", $outFile);
-
- system("$ssltest -ssl3 -server_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 with server authentication:");
- log_output("$ssltest -ssl3 -server_auth", $outFile);
-
- system("$ssltest -ssl3 -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 with client authentication:");
- log_output("$ssltest -ssl3 -client_auth", $outFile);
-
- system("$ssltest -ssl3 -server_auth -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 with both client and server authentication:");
- log_output("$ssltest -ssl3 -server_auth -client_auth", $outFile);
-
- system("ssltest (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3:");
- log_output("ssltest", $outFile);
-
- system("$ssltest -server_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with server authentication:");
- log_output("$ssltest -server_auth", $outFile);
-
- system("$ssltest -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with client authentication:");
- log_output("$ssltest -client_auth ", $outFile);
-
- system("$ssltest -server_auth -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with both client and server authentication:");
- log_output("$ssltest -server_auth -client_auth", $outFile);
-
- system("ssltest -bio_pair -dhe1024dsa -v (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with 1024 bit DHE via BIO pair:");
- log_output("ssltest -bio_pair -dhe1024dsa -v", $outFile);
-
- system("ssltest -bio_pair -ssl3 (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 via BIO pair:");
- log_output("ssltest -bio_pair -ssl3", $outFile);
-
- system("$ssltest -bio_pair -ssl3 -server_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 with server authentication via BIO pair:");
- log_output("$ssltest -bio_pair -ssl3 -server_auth", $outFile);
-
- system("$ssltest -bio_pair -ssl3 -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 with client authentication via BIO pair:");
- log_output("$ssltest -bio_pair -ssl3 -client_auth", $outFile);
-
- system("$ssltest -bio_pair -ssl3 -server_auth -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv3 with both client and server authentication via BIO pair:");
- log_output("$ssltest -bio_pair -ssl3 -server_auth -client_auth", $outFile);
-
- system("ssltest -bio_pair (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 via BIO pair:");
- log_output("ssltest -bio_pair", $outFile);
-
- system("$ssltest -bio_pair -server_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with server authentication via BIO pair:");
- log_output("$ssltest -bio_pair -server_auth", $outFile);
-
- system("$ssltest -bio_pair -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with client authentication via BIO pair:");
- log_output("$ssltest -bio_pair -client_auth", $outFile);
-
- system("$ssltest -bio_pair -server_auth -client_auth (CLIB_OPT)/>$outFile");
- log_desc("Testing sslv2/sslv3 with both client and server authentication via BIO pair:");
- log_output("$ssltest -bio_pair -server_auth -client_auth", $outFile);
-}
-
-
-############################################################################
-sub ca_tests
-{
- my $outFile = "$output_path\\ca_tst.out";
-
- my($CAkey) = "$output_path\\keyCA.ss";
- my($CAcert) = "$output_path\\certCA.ss";
- my($CAserial) = "$output_path\\certCA.srl";
- my($CAreq) = "$output_path\\reqCA.ss";
- my($CAreq2) = "$output_path\\req2CA.ss";
-
- my($CAconf) = "$test_path\\CAss.cnf";
-
- my($Uconf) = "$test_path\\Uss.cnf";
-
- my($Ukey) = "$output_path\\keyU.ss";
- my($Ureq) = "$output_path\\reqU.ss";
- my($Ucert) = "$output_path\\certU.ss";
-
- print( "\nRUNNING CA TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "CA TESTS:\n");
-
- system("openssl2 req -config $CAconf -out $CAreq -keyout $CAkey -new (CLIB_OPT)/>$outFile");
- log_desc("Make a certificate request using req:");
- log_output("openssl2 req -config $CAconf -out $CAreq -keyout $CAkey -new", $outFile);
-
- system("openssl2 x509 -CAcreateserial -in $CAreq -days 30 -req -out $CAcert -signkey $CAkey (CLIB_OPT)/>$outFile");
- log_desc("Convert the certificate request into a self signed certificate using x509:");
- log_output("openssl2 x509 -CAcreateserial -in $CAreq -days 30 -req -out $CAcert -signkey $CAkey", $outFile);
-
- system("openssl2 x509 -in $CAcert -x509toreq -signkey $CAkey -out $CAreq2 (CLIB_OPT)/>$outFile");
- log_desc("Convert a certificate into a certificate request using 'x509':");
- log_output("openssl2 x509 -in $CAcert -x509toreq -signkey $CAkey -out $CAreq2", $outFile);
-
- system("openssl2 req -config $OpenSSL_config -verify -in $CAreq -noout (CLIB_OPT)/>$outFile");
- log_output("openssl2 req -config $OpenSSL_config -verify -in $CAreq -noout", $outFile);
-
- system("openssl2 req -config $OpenSSL_config -verify -in $CAreq2 -noout (CLIB_OPT)/>$outFile");
- log_output( "openssl2 req -config $OpenSSL_config -verify -in $CAreq2 -noout", $outFile);
-
- system("openssl2 verify -CAfile $CAcert $CAcert (CLIB_OPT)/>$outFile");
- log_output("openssl2 verify -CAfile $CAcert $CAcert", $outFile);
-
- system("openssl2 req -config $Uconf -out $Ureq -keyout $Ukey -new (CLIB_OPT)/>$outFile");
- log_desc("Make another certificate request using req:");
- log_output("openssl2 req -config $Uconf -out $Ureq -keyout $Ukey -new", $outFile);
-
- system("openssl2 x509 -CAcreateserial -in $Ureq -days 30 -req -out $Ucert -CA $CAcert -CAkey $CAkey -CAserial $CAserial (CLIB_OPT)/>$outFile");
- log_desc("Sign certificate request with the just created CA via x509:");
- log_output("openssl2 x509 -CAcreateserial -in $Ureq -days 30 -req -out $Ucert -CA $CAcert -CAkey $CAkey -CAserial $CAserial", $outFile);
-
- system("openssl2 verify -CAfile $CAcert $Ucert (CLIB_OPT)/>$outFile");
- log_output("openssl2 verify -CAfile $CAcert $Ucert", $outFile);
-
- system("openssl2 x509 -subject -issuer -startdate -enddate -noout -in $Ucert (CLIB_OPT)/>$outFile");
- log_desc("Certificate details");
- log_output("openssl2 x509 -subject -issuer -startdate -enddate -noout -in $Ucert", $outFile);
-
- print(OUT "--\n");
- print(OUT "The generated CA certificate is $CAcert\n");
- print(OUT "The generated CA private key is $CAkey\n");
- print(OUT "The current CA signing serial number is in $CAserial\n");
-
- print(OUT "The generated user certificate is $Ucert\n");
- print(OUT "The generated user private key is $Ukey\n");
- print(OUT "--\n");
-}
-
-############################################################################
-sub evp_tests
-{
- my $i = 'evp_test';
-
- print( "\nRUNNING EVP TESTS:\n\n");
-
- print( OUT "\n========================================================\n");
- print( OUT "EVP TESTS:\n\n");
-
- if (-e "$base_path\\$i.nlm")
- {
- my $outFile = "$output_path\\$i.out";
- system("$i $test_path\\evptests.txt (CLIB_OPT)/>$outFile");
- log_desc("Test: $i\.nlm:");
- log_output("", $outFile );
- }
- else
- {
- log_desc("Test: $i\.nlm: file not found");
- }
-}
-
-############################################################################
-sub log_output( $ $ )
-{
- my( $desc, $file ) = @_;
- my($error) = 0;
- my($key);
- my($msg);
-
- if ($desc)
- {
- print("\r$desc\n");
- print(OUT "$desc\n");
- }
-
- # loop waiting for test program to complete
- while ( stat($file) == 0)
- { print(". "); sleep(1); }
-
-
- # copy test output to log file
- open(IN, "<$file");
- while (<IN>)
- {
- print(OUT $_);
- if ( $_ =~ /ERROR/ )
- {
- $error = 1;
- }
- }
- # close and delete the temporary test output file
- close(IN);
- unlink($file);
-
- if ( $error == 0 )
- {
- $msg = "Test Succeeded";
- }
- else
- {
- $msg = "Test Failed";
- }
-
- print(OUT "$msg\n");
-
- if ($pause)
- {
- print("$msg - press ENTER to continue...");
- $key = getc;
- print("\n");
- }
-
- # Several of the testing scripts run a loop loading the
- # same NLM with different options.
- # On slow NetWare machines there appears to be some delay in the
- # OS actually unloading the test nlms and the OS complains about.
- # the NLM already being loaded. This additional pause is to
- # to help provide a little more time for unloading before trying to
- # load again.
- sleep(1);
-}
-
-
-############################################################################
-sub log_desc( $ )
-{
- my( $desc ) = @_;
-
- print("\n");
- print("$desc\n");
-
- print(OUT "\n");
- print(OUT "$desc\n");
- print(OUT "======================================\n");
-}
-
-############################################################################
-sub compare_files( $ $ $ )
-{
- my( $file1, $file2, $binary ) = @_;
- my( $n1, $n2, $b1, $b2 );
- my($ret) = 1;
-
- open(IN0, $file1) || die "\nunable to open $file1\n";
- open(IN1, $file2) || die "\nunable to open $file2\n";
-
- if ($binary)
- {
- binmode IN0;
- binmode IN1;
- }
-
- for (;;)
- {
- $n1 = read(IN0, $b1, 512);
- $n2 = read(IN1, $b2, 512);
-
- if ($n1 != $n2) {last;}
- if ($b1 != $b2) {last;}
-
- if ($n1 == 0)
- {
- $ret = 0;
- last;
- }
- }
- close(IN0);
- close(IN1);
- return($ret);
-}
-
-############################################################################
-sub do_wait()
-{
- my($key);
-
- if ($pause)
- {
- print("Press ENTER to continue...");
- $key = getc;
- print("\n");
- }
-}
-
-
-############################################################################
-sub make_tmp_cert_file()
-{
- my @cert_files = <$cert_path/*.pem>;
-
- # delete the file if it already exists
- unlink($tmp_cert);
-
- open( TMP_CERT, ">$tmp_cert") || die "\nunable to open $tmp_cert\n";
-
- print("building temporary cert file\n");
-
- # create a temporary cert file that contains all the certs
- foreach $i (@cert_files)
- {
- open( IN_CERT, $i ) || die "\nunable to open $i\n";
-
- for(;;)
- {
- $n = sysread(IN_CERT, $data, 1024);
-
- if ($n == 0)
- {
- close(IN_CERT);
- last;
- };
-
- syswrite(TMP_CERT, $data, $n);
- }
- }
-
- close( TMP_CERT );
-}
diff --git a/Netware/globals.txt b/Netware/globals.txt
deleted file mode 100644
index 7d1bd7ed0f..0000000000
--- a/Netware/globals.txt
+++ /dev/null
@@ -1,254 +0,0 @@
-An initial review of the OpenSSL code was done to determine how many
-global variables where present. The idea was to determine the amount of
-work required to pull the globals into an instance data structure in
-order to build a Library NLM for NetWare. This file contains the results
-of the review. Each file is listed along with the globals in the file.
-The initial review was done very quickly so this list is probably
-not a comprehensive list.
-
-
-cryptlib.c
-===========================================
-
-static STACK *app_locks=NULL;
-
-static STACK_OF(CRYPTO_dynlock) *dyn_locks=NULL;
-
-static void (MS_FAR *locking_callback)(int mode,int type,
- const char *file,int line)=NULL;
-static int (MS_FAR *add_lock_callback)(int *pointer,int amount,
- int type,const char *file,int line)=NULL;
-static unsigned long (MS_FAR *id_callback)(void)=NULL;
-static struct CRYPTO_dynlock_value *(MS_FAR *dynlock_create_callback)
- (const char *file,int line)=NULL;
-static void (MS_FAR *dynlock_lock_callback)(int mode,
- struct CRYPTO_dynlock_value *l, const char *file,int line)=NULL;
-static void (MS_FAR *dynlock_destroy_callback)(struct CRYPTO_dynlock_value *l,
- const char *file,int line)=NULL;
-
-
-mem.c
-===========================================
-static int allow_customize = 1; /* we provide flexible functions for */
-static int allow_customize_debug = 1;/* exchanging memory-related functions at
-
-/* may be changed as long as `allow_customize' is set */
-static void *(*malloc_locked_func)(size_t) = malloc;
-static void (*free_locked_func)(void *) = free;
-static void *(*malloc_func)(size_t) = malloc;
-static void *(*realloc_func)(void *, size_t)= realloc;
-static void (*free_func)(void *) = free;
-
-/* use default functions from mem_dbg.c */
-static void (*malloc_debug_func)(void *,int,const char *,int,int)
- = CRYPTO_dbg_malloc;
-static void (*realloc_debug_func)(void *,void *,int,const char *,int,int)
- = CRYPTO_dbg_realloc;
-static void (*free_debug_func)(void *,int) = CRYPTO_dbg_free;
-static void (*set_debug_options_func)(long) = CRYPTO_dbg_set_options;
-static long (*get_debug_options_func)(void) = CRYPTO_dbg_get_options;
-
-
-mem_dbg.c
-===========================================
-static int mh_mode=CRYPTO_MEM_CHECK_OFF;
-static unsigned long order = 0; /* number of memory requests */
-static LHASH *mh=NULL; /* hash-table of memory requests (address as key) */
-
-static LHASH *amih=NULL; /* hash-table with those app_mem_info_st's */
-static long options = /* extra information to be recorded */
-static unsigned long disabling_thread = 0;
-
-
-err.c
-===========================================
-static LHASH *error_hash=NULL;
-static LHASH *thread_hash=NULL;
-
-several files have routines with static "init" to track if error strings
- have been loaded ( may not want separate error strings for each process )
- The "init" variable can't be left "global" because the error has is a ptr
- that is malloc'ed. The malloc'ed error has is dependant on the "init"
- vars.
-
- files:
- pem_err.c
- cpt_err.c
- pk12err.c
- asn1_err.c
- bio_err.c
- bn_err.c
- buf_err.c
- comp_err.c
- conf_err.c
- cpt_err.c
- dh_err.c
- dsa_err.c
- dso_err.c
- evp_err.c
- obj_err.c
- pkcs7err.c
- rand_err.c
- rsa_err.c
- rsar_err.c
- ssl_err.c
- x509_err.c
- v3err.c
- err.c
-
-These file have similar "init" globals but they are for other stuff not
-error strings:
-
- bn_lib.c
- ecc_enc.c
- s23_clnt.c
- s23_meth.c
- s23_srvr.c
- s2_clnt.c
- s2_lib.c
- s2_meth.c
- s2_srvr.c
- s3_clnt.c
- s3_lib.c
- s3_srvr.c
- t1_clnt.c
- t1_meth.c
- t1_srvr.c
-
-rand_lib.c
-===========================================
-static RAND_METHOD *rand_meth= &rand_ssleay_meth;
-
-md_rand.c
-===========================================
-static int state_num=0,state_index=0;
-static unsigned char state[STATE_SIZE+MD_DIGEST_LENGTH];
-static unsigned char md[MD_DIGEST_LENGTH];
-static long md_count[2]={0,0};
-static double entropy=0;
-static int initialized=0;
-
-/* This should be set to 1 only when ssleay_rand_add() is called inside
- an already locked state, so it doesn't try to lock and thereby cause
- a hang. And it should always be reset back to 0 before unlocking. */
-static int add_do_not_lock=0;
-
-obj_dat.c
-============================================
-static int new_nid=NUM_NID;
-static LHASH *added=NULL;
-
-b_sock.c
-===========================================
-static unsigned long BIO_ghbn_hits=0L;
-static unsigned long BIO_ghbn_miss=0L;
-static struct ghbn_cache_st
- {
- char name[129];
- struct hostent *ent;
- unsigned long order;
- } ghbn_cache[GHBN_NUM];
-
-static int wsa_init_done=0;
-
-
-bio_lib.c
-===========================================
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *bio_meth=NULL;
-static int bio_meth_num=0;
-
-
-bn_lib.c
-========================================
-static int bn_limit_bits=0;
-static int bn_limit_num=8; /* (1<<bn_limit_bits) */
-static int bn_limit_bits_low=0;
-static int bn_limit_num_low=8; /* (1<<bn_limit_bits_low) */
-static int bn_limit_bits_high=0;
-static int bn_limit_num_high=8; /* (1<<bn_limit_bits_high) */
-static int bn_limit_bits_mont=0;
-static int bn_limit_num_mont=8; /* (1<<bn_limit_bits_mont) */
-
-conf_lib.c
-========================================
-static CONF_METHOD *default_CONF_method=NULL;
-
-dh_lib.c
-========================================
-static DH_METHOD *default_DH_method;
-static int dh_meth_num = 0;
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dh_meth = NULL;
-
-dsa_lib.c
-========================================
-static DSA_METHOD *default_DSA_method;
-static int dsa_meth_num = 0;
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dsa_meth = NULL;
-
-dso_lib.c
-========================================
-static DSO_METHOD *default_DSO_meth = NULL;
-
-rsa_lib.c
-========================================
-static RSA_METHOD *default_RSA_meth=NULL;
-static int rsa_meth_num=0;
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *rsa_meth=NULL;
-
-x509_trs.c
-=======================================
-static int (*default_trust)(int id, X509 *x, int flags) = obj_trust;
-static STACK_OF(X509_TRUST) *trtable = NULL;
-
-x509_req.c
-=======================================
-static int *ext_nids = ext_nid_list;
-
-o_names.c
-======================================
-static LHASH *names_lh=NULL;
-static STACK_OF(NAME_FUNCS) *name_funcs_stack;
-static int free_type;
-static int names_type_num=OBJ_NAME_TYPE_NUM;
-
-
-th-lock.c - NEED to add support for locking for NetWare
-==============================================
-static long *lock_count;
-(other platform specific globals)
-
-x_x509.c
-==============================================
-static int x509_meth_num = 0;
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_meth = NULL;
-
-
-evp_pbe.c
-============================================
-static STACK *pbe_algs;
-
-evp_key.c
-============================================
-static char prompt_string[80];
-
-ssl_ciph.c
-============================================
-static STACK_OF(SSL_COMP) *ssl_comp_methods=NULL;
-
-ssl_lib.c
-=============================================
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_meth=NULL;
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_ctx_meth=NULL;
-static int ssl_meth_num=0;
-static int ssl_ctx_meth_num=0;
-
-ssl_sess.c
-=============================================
-static int ssl_session_num=0;
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_session_meth=NULL;
-
-x509_vfy.c
-============================================
-static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_store_ctx_method=NULL;
-static int x509_store_ctx_num=0;
-
diff --git a/Netware/readme.txt b/Netware/readme.txt
deleted file mode 100644
index a5b5faae33..0000000000
--- a/Netware/readme.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-
-Contents of the openssl\netware directory
-==========================================
-
-Regular files:
-
-readme.txt - this file
-do_tests.pl - perl script used to run the OpenSSL tests on NetWare
-cpy_tests.bat - batch to to copy test stuff to NetWare server
-build.bat - batch file to help with builds
-set_env.bat - batch file to help setup build environments
-globals.txt - results of initial code review to identify OpenSSL global variables
-
-
-The following files are generated by the various scripts. They are
-recreated each time and it is okay to delete them.
-
-*.def - command files used by Metrowerks linker
-*.mak - make files generated by mk1mf.pl
diff --git a/Netware/set_env.bat b/Netware/set_env.bat
deleted file mode 100644
index f063cc9879..0000000000
--- a/Netware/set_env.bat
+++ /dev/null
@@ -1,112 +0,0 @@
-@echo off
-
-rem ========================================================================
-rem Batch file to assist in setting up the necessary environment for
-rem building OpenSSL for NetWare.
-rem
-rem usage:
-rem set_env [target]
-rem
-rem target - "netware-clib" - Clib build
-rem - "netware-libc" - LibC build
-rem
-rem
-
-if "a%1" == "a" goto usage
-
-set LIBC_BUILD=
-set CLIB_BUILD=
-set GNUC=
-
-if "%1" == "netware-clib" set CLIB_BUILD=Y
-if "%1" == "netware-clib" set LIBC_BUILD=
-
-if "%1" == "netware-libc" set LIBC_BUILD=Y
-if "%1" == "netware-libc" set CLIB_BUILD=
-
-if "%2" == "gnuc" set GNUC=Y
-if "%2" == "codewarrior" set GNUC=
-
-rem Location of tools (compiler, linker, etc)
-if "%NDKBASE%" == "" set NDKBASE=c:\Novell
-
-rem If Perl for Win32 is not already in your path, add it here
-set PERL_PATH=
-
-rem Define path to the Metrowerks command line tools
-rem or GNU Crosscompiler gcc / nlmconv
-rem ( compiler, assembler, linker)
-if "%GNUC%" == "Y" set COMPILER_PATH=c:\usr\i586-netware\bin;c:\usr\bin
-if "%GNUC%" == "" set COMPILER_PATH=c:\prg\cwcmdl40
-
-rem If using gnu make define path to utility
-rem set GNU_MAKE_PATH=%NDKBASE%\gnu
-set GNU_MAKE_PATH=c:\prg\tools
-
-rem If using ms nmake define path to nmake
-rem set MS_NMAKE_PATH=%NDKBASE%\msvc\600\bin
-
-rem If using NASM assembler define path
-rem set NASM_PATH=%NDKBASE%\nasm
-set NASM_PATH=c:\prg\tools
-
-rem Update path to include tool paths
-set path=%path%;%COMPILER_PATH%
-if not "%GNU_MAKE_PATH%" == "" set path=%path%;%GNU_MAKE_PATH%
-if not "%MS_NMAKE_PATH%" == "" set path=%path%;%MS_NMAKE_PATH%
-if not "%NASM_PATH%" == "" set path=%path%;%NASM_PATH%
-if not "%PERL_PATH%" == "" set path=%path%;%PERL_PATH%
-
-rem Set INCLUDES to location of Novell NDK includes
-if "%LIBC_BUILD%" == "Y" set INCLUDE=%NDKBASE%\ndk\libc\include;%NDKBASE%\ndk\libc\include\winsock
-if "%CLIB_BUILD%" == "Y" set INCLUDE=%NDKBASE%\ndk\nwsdk\include\nlm;%NDKBASE%\ws295sdk\include
-
-rem Set Imports to location of Novell NDK import files
-if "%LIBC_BUILD%" == "Y" set IMPORTS=%NDKBASE%\ndk\libc\imports
-if "%CLIB_BUILD%" == "Y" set IMPORTS=%NDKBASE%\ndk\nwsdk\imports
-
-rem Set PRELUDE to the absolute path of the prelude object to link with in
-rem the Metrowerks NetWare PDK - NOTE: for Clib builds "clibpre.o" is
-rem recommended, for LibC NKS builds libcpre.o must be used
-if "%GNUC%" == "Y" goto gnuc
-if "%LIBC_BUILD%" == "Y" set PRELUDE=%IMPORTS%\libcpre.o
-rem if "%CLIB_BUILD%" == "Y" set PRELUDE=%IMPORTS%\clibpre.o
-if "%CLIB_BUILD%" == "Y" set PRELUDE=%IMPORTS%\prelude.o
-echo using MetroWerks CodeWarrior
-goto info
-
-:gnuc
-if "%LIBC_BUILD%" == "Y" set PRELUDE=%IMPORTS%\libcpre.gcc.o
-rem if "%CLIB_BUILD%" == "Y" set PRELUDE=%IMPORTS%\clibpre.gcc.o
-if "%CLIB_BUILD%" == "Y" set PRELUDE=%IMPORTS%\prelude.gcc.o
-echo using GNU GCC Compiler
-
-:info
-echo.
-
-if "%LIBC_BUILD%" == "Y" echo Environment configured for LibC build
-if "%LIBC_BUILD%" == "Y" echo use "netware\build.bat netware-libc ..."
-
-if "%CLIB_BUILD%" == "Y" echo Environment configured for CLib build
-if "%CLIB_BUILD%" == "Y" echo use "netware\build.bat netware-clib ..."
-
-goto end
-
-:usage
-rem ===============================================================
-echo.
-echo No target build specified!
-echo.
-echo usage: set_env [target] [compiler]
-echo.
-echo target - "netware-clib" - Clib build
-echo - "netware-libc" - LibC build
-echo.
-echo compiler - "gnuc" - GNU GCC Compiler
-echo - "codewarrior" - MetroWerks CodeWarrior (default)
-echo.
-
-:end
-echo.
-
-
diff --git a/README b/README
index 3e291d2159..ddfab7667c 100644
--- a/README
+++ b/README
@@ -50,8 +50,6 @@
See the appropriate file:
INSTALL Linux, Unix, etc.
INSTALL.DJGPP DOS platform with DJGPP
- INSTALL.NW Netware
- INSTALL.OS2 OS/2
INSTALL.VMS VMS
INSTALL.WIN Windows
INSTALL.WCE Windows CE
diff --git a/apps/apps.c b/apps/apps.c
index c76e3e345d..694d090158 100644
--- a/apps/apps.c
+++ b/apps/apps.c
@@ -2203,30 +2203,6 @@ double app_tminterval(int stop, int usertime)
return (ret);
}
-#elif defined(OPENSSL_SYS_NETWARE)
-# include <time.h>
-
-double app_tminterval(int stop, int usertime)
-{
- static clock_t tmstart;
- static int warning = 1;
- double ret = 0;
-
- if (usertime && warning) {
- BIO_printf(bio_err, "To get meaningful results, run "
- "this program on idle system.\n");
- warning = 0;
- }
-
- if (stop == TM_START)
- tmstart = clock();
- else
- ret = (clock() - tmstart) / (double)CLOCKS_PER_SEC;
-
- return (ret);
-}
-
-
#elif defined(OPENSSL_SYSTEM_VXWORKS)
# include <time.h>
diff --git a/apps/apps.h b/apps/apps.h
index 3d146b10d8..e7ea46181c 100644
--- a/apps/apps.h
+++ b/apps/apps.h
@@ -128,9 +128,7 @@
# include <openssl/ocsp.h>
# endif
# include <openssl/ossl_typ.h>
-# ifndef OPENSSL_SYS_NETWARE
-# include <signal.h>
-# endif
+# include <signal.h>
# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE)
# define openssl_fdset(a,b) FD_SET((unsigned int)a, b)
diff --git a/apps/ca.c b/apps/ca.c
index 4cd4aa1bcb..3062d7e054 100644
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -81,7 +81,7 @@
# else
# include <unixlib.h>
# endif
-# elif !defined(OPENSSL_SYS_VXWORKS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_NETWARE)
+# elif !defined(OPENSSL_SYS_VXWORKS) && !defined(OPENSSL_SYS_WINDOWS)
# include <sys/file.h>
# endif
#endif
diff --git a/apps/opt.c b/apps/opt.c
index 3525b969c6..f4eba2dca0 100644
--- a/apps/opt.c
+++ b/apps/opt.c
@@ -78,7 +78,7 @@ static char prog[40];
/*
* Return the simple name of the program; removing various platform gunk.
*/
-#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_WIN32)
char *opt_progname(const char *argv0)
{
size_t i, n;
@@ -97,11 +97,6 @@ char *opt_progname(const char *argv0)
if (n > 4 &&
(strcmp(&p[n - 4], ".exe") == 0 || strcmp(&p[n - 4], ".EXE") == 0))
n -= 4;
-#if defined(OPENSSL_SYS_NETWARE)
- if (n > 4 &&
- (strcmp(&p[n - 4], ".nlm") == 0 || strcmp(&p[n - 4], ".NLM") == 0))
- n -= 4;
-#endif
/* Copy over the name, in lowercase. */
if (n > sizeof prog - 1)
diff --git a/apps/s_apps.h b/apps/s_apps.h
index c000aa13d2..b029635912 100644
--- a/apps/s_apps.h
+++ b/apps/s_apps.h
@@ -107,10 +107,6 @@
* Hudson (tjh@cryptsoft.com).
*
*/
-/* conflicts with winsock2 stuff on netware */
-#if !defined(OPENSSL_SYS_NETWARE)
-# include <sys/types.h>
-#endif
#include <openssl/opensslconf.h>
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
diff --git a/apps/s_client.c b/apps/s_client.c
index 20ede4b188..9f8a3c9181 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -906,7 +906,7 @@ int s_client_main(int argc, char **argv)
ENGINE *ssl_client_engine = NULL;
#endif
ENGINE *e = NULL;
-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
struct timeval tv;
#endif
char *servername = NULL;
@@ -2210,7 +2210,7 @@ int s_client_main(int argc, char **argv)
ssl_pending = read_ssl && SSL_has_pending(con);
if (!ssl_pending) {
-#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE)
+#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS)
if (tty_on) {
if (read_tty)
openssl_fdset(fileno(stdin), &readfds);
@@ -2268,17 +2268,6 @@ int s_client_main(int argc, char **argv)
i = select(width, (void *)&readfds, (void *)&writefds,
NULL, timeoutp);
}
-#elif defined(OPENSSL_SYS_NETWARE)
- if (!write_tty) {
- if (read_tty) {
- tv.tv_sec = 1;
- tv.tv_usec = 0;
- i = select(width, (void *)&readfds, (void *)&writefds,
- NULL, &tv);
- } else
- i = select(width, (void *)&readfds, (void *)&writefds,
- NULL, timeoutp);
- }
#else
i = select(width, (void *)&readfds, (void *)&writefds,
NULL, timeoutp);
@@ -2360,7 +2349,7 @@ int s_client_main(int argc, char **argv)
goto shut;
}
}
-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
/* Assume Windows/DOS/BeOS can always write */
else if (!ssl_pending && write_tty)
#else
@@ -2455,8 +2444,6 @@ int s_client_main(int argc, char **argv)
|| (WAIT_OBJECT_0 ==
WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0)))
# endif
-#elif defined (OPENSSL_SYS_NETWARE)
- else if (_kbhit())
#else
else if (FD_ISSET(fileno(stdin), &readfds))
#endif
diff --git a/apps/s_server.c b/apps/s_server.c
index e77f2f4fa7..e660eecaa1 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -147,11 +147,6 @@
#include <openssl/e_os2.h>
-/* conflicts with winsock2 stuff on netware */
-#if !defined(OPENSSL_SYS_NETWARE)
-# include <sys/types.h>
-#endif
-
/*
* With IPv6, it looks like Digital has mixed up the proper order of
* recursive header file inclusion, resulting in the compiler complaining
@@ -2112,7 +2107,7 @@ static int sv_body(int s, int stype, unsigned char *context)
SSL *con = NULL;
BIO *sbio;
struct timeval timeout;
-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
struct timeval tv;
#else
struct timeval *timeoutp;
@@ -2228,7 +2223,7 @@ static int sv_body(int s, int stype, unsigned char *context)
if (!read_from_sslcon) {
FD_ZERO(&readfds);
-#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE)
+#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS)
openssl_fdset(fileno(stdin), &readfds);
#endif
openssl_fdset(s, &readfds);
@@ -2239,7 +2234,7 @@ static int sv_body(int s, int stype, unsigned char *context)
* if you do have a cast then you can either go for (int *) or
* (void *).
*/
-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
/*
* Under DOS (non-djgpp) and Windows we can't select on stdin:
* only on sockets. As a workaround we timeout the select every
@@ -2793,9 +2788,7 @@ static int www_body(int s, int stype, unsigned char *context)
continue;
}
#endif
-#if defined(OPENSSL_SYS_NETWARE)
- delay(1000);
-#elif !defined(OPENSSL_SYS_MSDOS)
+#if !defined(OPENSSL_SYS_MSDOS)
sleep(1);
#endif
continue;
@@ -3186,9 +3179,7 @@ static int rev_body(int s, int stype, unsigned char *context)
continue;
}
#endif
-#if defined(OPENSSL_SYS_NETWARE)
- delay(1000);
-#elif !defined(OPENSSL_SYS_MSDOS)
+#if !defined(OPENSSL_SYS_MSDOS)
sleep(1);
#endif
continue;
diff --git a/apps/speed.c b/apps/speed.c
index b6843ec38e..230ed62e04 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -91,10 +91,6 @@
# include OPENSSL_UNISTD
#endif
-#ifndef OPENSSL_SYS_NETWARE
-# include <signal.h>
-#endif
-
#if defined(_WIN32)
# include <windows.h>
#endif
@@ -165,7 +161,7 @@
#include <openssl/modes.h>
#ifndef HAVE_FORK
-# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_NETWARE)
+# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS)
# define HAVE_FORK 0
# else
# define HAVE_FORK 1
diff --git a/crypto/bio/b_sock.c b/crypto/bio/b_sock.c
index 50bd27dabd..046de99190 100644
--- a/crypto/bio/b_sock.c
+++ b/crypto/bio/b_sock.c
@@ -72,7 +72,7 @@ NETDB_DEFINE_CONTEXT
# else
# define MAX_LISTEN 32
# endif
-# if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
+# if defined(OPENSSL_SYS_WINDOWS)
static int wsa_init_done = 0;
# endif
@@ -202,23 +202,6 @@ int BIO_sock_init(void)
return (-1);
# endif
-# if defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
- WORD wVerReq;
- WSADATA wsaData;
- int err;
-
- if (!wsa_init_done) {
- wsa_init_done = 1;
- wVerReq = MAKEWORD(2, 0);
- err = WSAStartup(wVerReq, &wsaData);
- if (err != 0) {
- SYSerr(SYS_F_WSASTARTUP, err);
- BIOerr(BIO_F_BIO_SOCK_INIT, BIO_R_WSASTARTUP);
- return (-1);
- }
- }
-# endif
-
return (1);
}
@@ -229,11 +212,6 @@ void BIO_sock_cleanup(void)
wsa_init_done = 0;
WSACleanup();
}
-# elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
- if (wsa_init_done) {
- wsa_init_done = 0;
- WSACleanup();
- }
# endif
}
diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c
index 2689a283b8..d53d52bd14 100644
--- a/crypto/bio/bss_file.c
+++ b/crypto/bio/bss_file.c
@@ -87,10 +87,6 @@
# include "bio_lcl.h"
# include <openssl/err.h>
-# if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_CLIB)
-# include <nwfileio.h>
-# endif
-
# if !defined(OPENSSL_NO_STDIO)
static int file_write(BIO *h, const char *buf, int num);
@@ -331,13 +327,6 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr)
_setmode(fd, _O_TEXT);
else
_setmode(fd, _O_BINARY);
-# elif defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_CLIB)
- int fd = fileno((FILE *)ptr);
- /* Under CLib there are differences in file modes */
- if (num & BIO_FP_TEXT)
- setmode(fd, O_TEXT);
- else
- setmode(fd, O_BINARY);
# elif defined(OPENSSL_SYS_MSDOS)
int fd = fileno((FILE *)ptr);
/* Set correct text/binary mode */
@@ -351,7 +340,7 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr)
} else
_setmode(fd, _O_BINARY);
}
-# elif defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_WIN32_CYGWIN)
+# elif defined(OPENSSL_SYS_WIN32_CYGWIN)
int fd = fileno((FILE *)ptr);
if (num & BIO_FP_TEXT)
setmode(fd, O_TEXT);
@@ -379,13 +368,7 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr)
ret = 0;
break;
}
-# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_WIN32_CYGWIN)
- if (!(num & BIO_FP_TEXT))
- strcat(p, "b");
- else
- strcat(p, "t");
-# endif
-# if defined(OPENSSL_SYS_NETWARE)
+# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32_CYGWIN)
if (!(num & BIO_FP_TEXT))
strcat(p, "b");
else
diff --git a/crypto/bio/bss_sock.c b/crypto/bio/bss_sock.c
index 428c514e31..8d87c8c338 100644
--- a/crypto/bio/bss_sock.c
+++ b/crypto/bio/bss_sock.c
@@ -222,7 +222,7 @@ int BIO_sock_should_retry(int i)
int BIO_sock_non_fatal_error(int err)
{
switch (err) {
-# if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_NETWARE)
+# if defined(OPENSSL_SYS_WINDOWS)
# if defined(WSAEWOULDBLOCK)
case WSAEWOULDBLOCK:
# endif
diff --git a/crypto/o_time.c b/crypto/o_time.c
index 59d759f4ea..75aa2e56a2 100644
--- a/crypto/o_time.c
+++ b/crypto/o_time.c
@@ -83,7 +83,7 @@ struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result)
{
struct tm *ts = NULL;
-#if defined(OPENSSL_THREADS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_OS2) && (!defined(OPENSSL_SYS_VMS) || defined(gmtime_r)) && !defined(OPENSSL_SYS_MACOSX)
+#if defined(OPENSSL_THREADS) && !defined(OPENSSL_SYS_WIN32) && (!defined(OPENSSL_SYS_VMS) || defined(gmtime_r)) && !defined(OPENSSL_SYS_MACOSX)
/*
* should return &data, but doesn't on some systems, so we don't even
* look at the return value
diff --git a/crypto/pkcs7/bio_pk7.c b/crypto/pkcs7/bio_pk7.c
index d0e5d61c70..6014b12407 100644
--- a/crypto/pkcs7/bio_pk7.c
+++ b/crypto/pkcs7/bio_pk7.c
@@ -56,7 +56,7 @@
#include <openssl/pkcs7.h>
#include <openssl/bio.h>
-#if !defined(OPENSSL_SYS_NETWARE) && !defined(OPENSSL_SYS_VXWORKS)
+#if !defined(OPENSSL_SYS_VXWORKS)
# include <memory.h>
#endif
#include <stdio.h>
diff --git a/crypto/rand/Makefile.in b/crypto/rand/Makefile.in
index 8796faf895..095f0f002f 100644
--- a/crypto/rand/Makefile.in
+++ b/crypto/rand/Makefile.in
@@ -16,9 +16,9 @@ GENERAL=Makefile
LIB=$(TOP)/libcrypto.a
LIBSRC=md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c \
- rand_win.c rand_unix.c rand_os2.c rand_nw.c
+ rand_win.c rand_unix.c
LIBOBJ=md_rand.o randfile.o rand_lib.o rand_err.o rand_egd.o \
- rand_win.o rand_unix.o rand_os2.o rand_nw.o
+ rand_win.o rand_unix.o
SRC= $(LIBSRC)
diff --git a/crypto/rand/build.info b/crypto/rand/build.info
index b0712b25b7..3ad50e2590 100644
--- a/crypto/rand/build.info
+++ b/crypto/rand/build.info
@@ -1,4 +1,4 @@
LIBS=../../libcrypto
SOURCE[../../libcrypto]=\
md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c \
- rand_win.c rand_unix.c rand_vms.c rand_os2.c rand_nw.c
+ rand_win.c rand_unix.c rand_vms.c
diff --git a/crypto/rand/rand_egd.c b/crypto/rand/rand_egd.c
index 6f13717b5a..47a575235a 100644
--- a/crypto/rand/rand_egd.c
+++ b/crypto/rand/rand_egd.c
@@ -99,7 +99,7 @@ NON_EMPTY_TRANSLATION_UNIT
* RAND_egd() is a wrapper for RAND_egd_bytes() with numbytes=255.
*/
-# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_UEFI)
+# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_UEFI)
int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes)
{
return (-1);
diff --git a/crypto/rand/rand_nw.c b/crypto/rand/rand_nw.c
deleted file mode 100644
index e49498ec24..0000000000
--- a/crypto/rand/rand_nw.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-/* ====================================================================
- * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
-#include "internal/cryptlib.h"
-#include <openssl/rand.h>
-#include "rand_lcl.h"
-
-#if defined (OPENSSL_SYS_NETWARE)
-
-# if defined(NETWARE_LIBC)
-# include <nks/thread.h>
-# else
-# include <nwthread.h>
-# endif
-
-extern int GetProcessSwitchCount(void);
-# if !defined(NETWARE_LIBC) || (CURRENT_NDK_THRESHOLD < 509220000)
-extern void *RunningProcess; /* declare here same as found in newer NDKs */
-extern unsigned long GetSuperHighResolutionTimer(void);
-# endif
-
- /*
- * the FAQ indicates we need to provide at least 20 bytes (160 bits) of
- * seed
- */
-int RAND_poll(void)
-{
- unsigned long l;
- unsigned long tsc;
- int i;
-
- /*
- * There are several options to gather miscellaneous data but for now we
- * will loop checking the time stamp counter (rdtsc) and the
- * SuperHighResolutionTimer. Each iteration will collect 8 bytes of data
- * but it is treated as only 1 byte of entropy. The call to
- * ThreadSwitchWithDelay() will introduce additional variability into the
- * data returned by rdtsc. Applications can argument the seed material
- * by adding additional stuff with RAND_add() and should probably do so.
- */
- l = GetProcessSwitchCount();
- RAND_add(&l, sizeof(l), 1);
-
- /* need to cast the void* to unsigned long here */
- l = (unsigned long)RunningProcess;
- RAND_add(&l, sizeof(l), 1);
-
- for (i = 2; i < ENTROPY_NEEDED; i++) {
-# ifdef __MWERKS__
- asm {
- rdtsc mov tsc, eax}
-# elif defined(__GNUC__) && __GNUC__>=2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
- asm volatile ("rdtsc":"=a" (tsc)::"edx");
-# endif
-
- RAND_add(&tsc, sizeof(tsc), 1);
-
- l = GetSuperHighResolutionTimer();
- RAND_add(&l, sizeof(l), 0);
-
-# if defined(NETWARE_LIBC)
- NXThreadYield();
-# else /* NETWARE_CLIB */
- ThreadSwitchWithDelay();
-# endif
- }
-
- return 1;
-}
-
-#endif
diff --git a/crypto/rand/rand_os2.c b/crypto/rand/rand_os2.c
deleted file mode 100644
index b3700553ef..0000000000
--- a/crypto/rand/rand_os2.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/* ====================================================================
- * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
-#include "internal/cryptlib.h"
-#include <openssl/rand.h>
-#include "rand_lcl.h"
-
-#ifdef OPENSSL_SYS_OS2
-
-# define INCL_DOSPROCESS
-# define INCL_DOSPROFILE
-# define INCL_DOSMISC
-# define INCL_DOSMODULEMGR
-# include <os2.h>
-
-# define CMD_KI_RDCNT (0x63)
-
-typedef struct _CPUUTIL {
- ULONG ulTimeLow; /* Low 32 bits of time stamp */
- ULONG ulTimeHigh; /* High 32 bits of time stamp */
- ULONG ulIdleLow; /* Low 32 bits of idle time */
- ULONG ulIdleHigh; /* High 32 bits of idle time */
- ULONG ulBusyLow; /* Low 32 bits of busy time */
- ULONG ulBusyHigh; /* High 32 bits of busy time */
- ULONG ulIntrLow; /* Low 32 bits of interrupt time */
- ULONG ulIntrHigh; /* High 32 bits of interrupt time */
-} CPUUTIL;
-
-# ifndef __KLIBC__
-APIRET APIENTRY(*DosPerfSysCall) (ULONG ulCommand, ULONG ulParm1,
- ULONG ulParm2, ULONG ulParm3) = NULL;
-APIRET APIENTRY(*DosQuerySysState) (ULONG func, ULONG arg1, ULONG pid,
- ULONG _res_, PVOID buf, ULONG bufsz) =
- NULL;
-# endif
-HMODULE hDoscalls = 0;
-
-int RAND_poll(void)
-{
- char failed_module[20];
- QWORD qwTime;
- ULONG SysVars[QSV_FOREGROUND_PROCESS];
-
- if (hDoscalls == 0) {
- ULONG rc =
- DosLoadModule(failed_module, sizeof(failed_module), "DOSCALLS",
- &hDoscalls);
-
-# ifndef __KLIBC__
- if (rc == 0) {
- rc = DosQueryProcAddr(hDoscalls, 976, NULL,
- (PFN *) & DosPerfSysCall);
-
- if (rc)
- DosPerfSysCall = NULL;
-
- rc = DosQueryProcAddr(hDoscalls, 368, NULL,
- (PFN *) & DosQuerySysState);
-
- if (rc)
- DosQuerySysState = NULL;
- }
-# endif
- }
-
- /* Sample the hi-res timer, runs at around 1.1 MHz */
- DosTmrQueryTime(&qwTime);
- RAND_add(&qwTime, sizeof(qwTime), 2);
-
- /*
- * Sample a bunch of system variables, includes various process & memory
- * statistics
- */
- DosQuerySysInfo(1, QSV_FOREGROUND_PROCESS, SysVars, sizeof(SysVars));
- RAND_add(SysVars, sizeof(SysVars), 4);
-
- /*
- * If available, sample CPU registers that count at CPU MHz Only fairly
- * new CPUs (PPro & K6 onwards) & OS/2 versions support this
- */
- if (DosPerfSysCall) {
- CPUUTIL util;
-
- if (DosPerfSysCall(CMD_KI_RDCNT, (ULONG) & util, 0, 0) == 0) {
- RAND_add(&util, sizeof(util), 10);
- } else {
-# ifndef __KLIBC__
- DosPerfSysCall = NULL;
-# endif
- }
- }
-
- /*
- * DosQuerySysState() gives us a huge quantity of process, thread, memory
- * & handle stats
- */
- if (DosQuerySysState) {
- char *buffer = OPENSSL_malloc(256 * 1024);
-
- if (buffer == NULL)
- return 0;
-
- if (DosQuerySysState(0x1F, 0, 0, 0, buffer, 256 * 1024) == 0) {
- /*
- * First 4 bytes in buffer is a pointer to the thread count there
- * should be at least 1 byte of entropy per thread
- */
- RAND_add(buffer, 256 * 1024, **(ULONG **) buffer);
- }
-
- OPENSSL_free(buffer);
- return 1;
- }
-
- return 0;
-}
-
-#endif /* OPENSSL_SYS_OS2 */
diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c
index 87a436d8ee..1aff4440fd 100644
--- a/crypto/rand/rand_unix.c
+++ b/crypto/rand/rand_unix.c
@@ -115,7 +115,7 @@
#include <openssl/rand.h>
#include "rand_lcl.h"
-#if !(defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_UEFI))
+#if !(defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI))
# include <sys/types.h>
# include <sys/time.h>
@@ -414,9 +414,7 @@ int RAND_poll(void)
#endif /* !(defined(OPENSSL_SYS_WINDOWS) ||
* defined(OPENSSL_SYS_WIN32) ||
* defined(OPENSSL_SYS_VMS) ||
- * defined(OPENSSL_SYS_OS2) ||
- * defined(OPENSSL_SYS_VXWORKS) ||
- * defined(OPENSSL_SYS_NETWARE)) */
+ * defined(OPENSSL_SYS_VXWORKS) */
#if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI)
int RAND_poll(void)
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c
index 9a4870803e..295449f3df 100644
--- a/crypto/ui/ui_openssl.c
+++ b/crypto/ui/ui_openssl.c
@@ -194,14 +194,13 @@
# define TERMIO
# undef SGTTY
/*
- * We know that VMS, MSDOS, VXWORKS, NETWARE use entirely other mechanisms.
+ * We know that VMS, MSDOS, VXWORKS, use entirely other mechanisms.
* MAC_OS_GUSI_SOURCE should probably go away, but that needs to be confirmed.
*/
# elif !defined(OPENSSL_SYS_VMS) \
&& !defined(OPENSSL_SYS_MSDOS) \
&& !defined(MAC_OS_GUSI_SOURCE) \
&& !defined(OPENSSL_SYS_VXWORKS) \
- && !defined(OPENSSL_SYS_NETWARE)
# define TERMIOS
# undef TERMIO
# undef SGTTY
@@ -253,7 +252,7 @@ struct IOSB {
};
#endif
-#if defined(MAC_OS_GUSI_SOURCE) || defined(OPENSSL_SYS_NETWARE)
+#if defined(MAC_OS_GUSI_SOURCE)
/*
* This one needs work. As a matter of fact the code is unoperational
* and this is only a trick to get it compiled.
@@ -465,7 +464,7 @@ static int open_console(UI *ui)
CRYPTO_THREAD_write_lock(ui->lock);
is_a_tty = 1;
-#if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_VXWORKS)
tty_in = stdin;
tty_out = stderr;
#else
diff --git a/crypto/uid.c b/crypto/uid.c
index 6c3cd114a6..2093947cfc 100644
--- a/crypto/uid.c
+++ b/crypto/uid.c
@@ -64,7 +64,7 @@ int OPENSSL_issetugid(void)
return issetugid();
}
-#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE)
+#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS)
int OPENSSL_issetugid(void)
{
diff --git a/e_os.h b/e_os.h
index 02c1ffd7a2..212a524a15 100644
--- a/e_os.h
+++ b/e_os.h
@@ -173,25 +173,6 @@ extern "C" {
# define closesocket(s) close(s)
# define readsocket(s,b,n) read((s),(b),(n))
# define writesocket(s,b,n) write((s),(char *)(b),(n))
-# elif defined(OPENSSL_SYS_NETWARE)
-# if defined(NETWARE_BSDSOCK)
-# define get_last_socket_error() errno
-# define clear_socket_error() errno=0
-# define closesocket(s) close(s)
-# define ioctlsocket(a,b,c) ioctl(a,b,c)
-# if defined(NETWARE_LIBC)
-# define readsocket(s,b,n) recv((s),(b),(n),0)
-# define writesocket(s,b,n) send((s),(b),(n),0)
-# else
-# define readsocket(s,b,n) recv((s),(char*)(b),(n),0)
-# define writesocket(s,b,n) send((s),(char*)(b),(n),0)
-# endif
-# else
-# define get_last_socket_error() WSAGetLastError()
-# define clear_socket_error() WSASetLastError(0)
-# define readsocket(s,b,n) recv((s),(b),(n),0)
-# define writesocket(s,b,n) send((s),(b),(n),0)
-# endif
# else
# define get_last_socket_error() errno
# define clear_socket_error() errno=0
@@ -399,27 +380,6 @@ extern FILE *_imp___iob;
# define NO_SYS_PARAM_H
# define NO_SYS_UN_H
-# elif defined(OPENSSL_SYS_NETWARE)
-# include <fcntl.h>
-# include <unistd.h>
-# define NO_SYS_TYPES_H
-# undef DEVRANDOM
-# ifdef NETWARE_CLIB
-# define getpid GetThreadID
-extern int GetThreadID(void);
-/* # include <conio.h> */
-extern int kbhit(void);
-# else
-# include <screen.h>
-# endif
-# define NO_SYSLOG
-# define _setmode setmode
-# define _kbhit kbhit
-# define _O_TEXT O_TEXT
-# define _O_BINARY O_BINARY
-# define LIST_SEPARATOR_CHAR ';'
-# define EXIT(n) { if (n) printf("ERROR: %d\n", (int)n); exit(n); }
-
# else
/* !defined VMS */
# ifdef OPENSSL_UNISTD
@@ -479,26 +439,6 @@ struct servent *PASCAL getservbyname(const char *, const char *);
# else
# endif
-# elif defined(OPENSSL_SYS_NETWARE)
- /*
- * NetWare uses the WinSock2 interfaces by default, but can be
- * configured for BSD
- */
-# if defined(NETWARE_BSDSOCK)
-# include <netdb.h>
-# include <sys/socket.h>
-# include <netinet/in.h>
-# include <sys/time.h>
-# if defined(NETWARE_CLIB)
-# include <sys/bsdskt.h>
-# else
-# include <sys/select.h>
-# endif
-# define INVALID_SOCKET (int)(~0)
-# else
-# include <novsock2.h>
-# endif
-
# else
# ifndef NO_SYS_PARAM_H
@@ -594,21 +534,6 @@ struct servent *PASCAL getservbyname(const char *, const char *);
# define strcasecmp OPENSSL_strcasecmp
# define strncasecmp OPENSSL_strncasecmp
# define OPENSSL_IMPLEMENTS_strncasecmp
-# elif defined(OPENSSL_SYS_OS2) && defined(__EMX__)
-# define strcasecmp stricmp
-# define strncasecmp strnicmp
-# elif defined(OPENSSL_SYS_NETWARE)
-# include <string.h>
-# if defined(NETWARE_CLIB)
-# define strcasecmp stricmp
-# define strncasecmp strnicmp
-# endif /* NETWARE_CLIB */
-# endif
-
-# if defined(OPENSSL_SYS_OS2) && defined(__EMX__)
-# include <io.h>
-# include <fcntl.h>
-# define NO_SYSLOG
# endif
/* vxworks */
diff --git a/include/openssl/bio.h b/include/openssl/bio.h
index ae59948389..06e1cbf792 100644
--- a/include/openssl/bio.h
+++ b/include/openssl/bio.h
@@ -672,9 +672,7 @@ BIO_METHOD *BIO_s_socket(void);
BIO_METHOD *BIO_s_connect(void);
BIO_METHOD *BIO_s_accept(void);
BIO_METHOD *BIO_s_fd(void);
-# ifndef OPENSSL_SYS_OS2
BIO_METHOD *BIO_s_log(void);
-# endif
BIO_METHOD *BIO_s_bio(void);
BIO_METHOD *BIO_s_null(void);
BIO_METHOD *BIO_f_null(void);
diff --git a/include/openssl/e_os2.h b/include/openssl/e_os2.h
index 15b3400f71..bbd6116f86 100644
--- a/include/openssl/e_os2.h
+++ b/include/openssl/e_os2.h
@@ -69,12 +69,6 @@ extern "C" {
# define OPENSSL_SYS_UNIX
-/* ---------------------- NetWare ----------------------------------------- */
-# if defined(NETWARE) && !defined(OPENSSL_SYS_NETWARE)
-# undef OPENSSL_SYS_UNIX
-# define OPENSSL_SYS_NETWARE
-# endif
-
/* --------------------- Microsoft operating systems ---------------------- */
/*
@@ -163,12 +157,6 @@ extern "C" {
# endif
# endif
-/* -------------------------------- OS/2 ---------------------------------- */
-# if defined(__EMX__) || defined(__OS2__)
-# undef OPENSSL_SYS_UNIX
-# define OPENSSL_SYS_OS2
-# endif
-
/* -------------------------------- Unix ---------------------------------- */
# ifdef OPENSSL_SYS_UNIX
# if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX)
diff --git a/include/openssl/symhacks.h b/include/openssl/symhacks.h
index 394f91434e..99a2de5f41 100644
--- a/include/openssl/symhacks.h
+++ b/include/openssl/symhacks.h
@@ -58,7 +58,7 @@
# include <openssl/e_os2.h>
/* Case insensitive linking causes problems.... */
-# if defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_VMS)
+# if defined(OPENSSL_SYS_VMS)
# undef ERR_load_CRYPTO_strings
# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings
# undef OCSP_crlID_new
diff --git a/os2/OS2-EMX.cmd b/os2/OS2-EMX.cmd
deleted file mode 100644
index 5924b50b6d..0000000000
--- a/os2/OS2-EMX.cmd
+++ /dev/null
@@ -1,102 +0,0 @@
-@echo off
-
-perl Configure OS2-EMX
-perl util\mkfiles.pl > MINFO
-
-@rem create make file
-perl util\mk1mf.pl OS2-EMX > OS2-EMX.mak
-perl util\mk1mf.pl dll OS2-EMX > OS2-EMX-DLL.mak
-
-echo Generating export definition files
-perl util\mkdef.pl crypto OS2 > os2\crypto.def
-perl util\mkdef.pl ssl OS2 > os2\ssl.def
-
-echo Generating x86 for GNU assember
-
-echo Bignum
-cd crypto\bn\asm
-rem perl x86.pl a.out > bn-os2.asm
-perl bn-586.pl a.out > bn-os2.asm
-perl co-586.pl a.out > co-os2.asm
-cd ..\..\..
-
-echo DES
-cd crypto\des\asm
-perl des-586.pl a.out > d-os2.asm
-cd ..\..\..
-
-echo crypt(3)
-cd crypto\des\asm
-perl crypt586.pl a.out > y-os2.asm
-cd ..\..\..
-
-echo Blowfish
-cd crypto\bf\asm
-perl bf-586.pl a.out > b-os2.asm
-cd ..\..\..
-
-echo CAST5
-cd crypto\cast\asm
-perl cast-586.pl a.out > c-os2.asm
-cd ..\..\..
-
-echo RC4
-cd crypto\rc4\asm
-perl rc4-586.pl a.out > r4-os2.asm
-cd ..\..\..
-
-echo MD5
-cd crypto\md5\asm
-perl md5-586.pl a.out > m5-os2.asm
-cd ..\..\..
-
-echo SHA1
-cd crypto\sha\asm
-perl sha1-586.pl a.out > s1-os2.asm
-cd ..\..\..
-
-echo RIPEMD160
-cd crypto\ripemd\asm
-perl rmd-586.pl a.out > rm-os2.asm
-cd ..\..\..
-
-echo RC5\32
-cd crypto\rc5\asm
-perl rc5-586.pl a.out > r5-os2.asm
-cd ..\..\..
-
-cd os2
-
-if exist noname\backward_ssl.def goto nomkdir
-mkdir noname
-:nomkdir
-
-perl backwardify.pl crypto.def >backward_crypto.def
-perl backwardify.pl ssl.def >backward_ssl.def
-perl backwardify.pl -noname crypto.def >noname\backward_crypto.def
-perl backwardify.pl -noname ssl.def >noname\backward_ssl.def
-
-echo Creating backward compatibility forwarder dlls:
-echo crypto.dll
-gcc -Zomf -Zdll -Zcrtdll -o crypto.dll backward_crypto.def 2>&1 | grep -v L4085
-echo ssl.dll
-gcc -Zomf -Zdll -Zcrtdll -o ssl.dll backward_ssl.def 2>&1 | grep -v L4085
-
-echo Creating smaller backward compatibility forwarder dlls:
-echo These DLLs are not good for runtime resolution of symbols.
-echo noname\crypto.dll
-gcc -Zomf -Zdll -Zcrtdll -o noname/crypto.dll noname/backward_crypto.def 2>&1 | grep -v L4085
-echo noname\ssl.dll
-gcc -Zomf -Zdll -Zcrtdll -o noname/ssl.dll noname/backward_ssl.def 2>&1 | grep -v L4085
-
-echo Compressing forwarders (it is ok if lxlite is not found):
-lxlite *.dll noname/*.dll
-
-cd ..
-
-echo Now run:
-echo For static build:
-echo make -f OS2-EMX.mak
-echo For dynamic build:
-echo make -f OS2-EMX-DLL.mak
-echo then rename crypto.dll to cryptssl.dll, ssl.dll to open_ssl.dll
diff --git a/os2/backwardify.pl b/os2/backwardify.pl
deleted file mode 100644
index 272423c8fa..0000000000
--- a/os2/backwardify.pl
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-# Use as $0
-# Use as $0 -noname
-
-my $did_library;
-my $did_description;
-my $do_exports;
-my @imports;
-my $noname = (@ARGV and $ARGV[0] eq '-noname' and shift);
-while (<>) {
- unless ($did_library) {
- s/\b(cryptssl)\b/crypto/ and $did_library = $1 if /^LIBRARY\s+cryptssl\b/;
- s/\b(open_ssl)\b/ssl/ and $did_library = $1 if /^LIBRARY\s+open_ssl\b/;
- }
- unless ($did_description) {
- s&^(DESCRIPTION\s+(['"])).*&${1}\@#www.openssl.org/:#\@forwarder DLL for pre-0.9.7c+ OpenSSL to the new dll naming scheme$2& and $did_description++;
- }
- if ($do_exports) {{
- last unless /\S/;
- warn, last unless /^ \s* ( \w+ ) \s+ \@(\d+)\s*$/x;
- push @imports, [$1, $2];
- s/$/ NONAME/ if $noname;
- }}
- $do_exports++ if not $do_exports and /^EXPORTS/;
- print $_;
-}
-print "IMPORTS\n";
-for my $imp (@imports) {
- print "\t$imp->[0]=$did_library.$imp->[1]\n";
-}
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
index f2daaf2fd2..8f399d07e9 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -64,8 +64,6 @@
#if defined(OPENSSL_SYS_VMS)
# include <sys/timeb.h>
-#elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_)
-# include <sys/timeval.h>
#elif defined(OPENSSL_SYS_VXWORKS)
# include <sys/times.h>
#elif !defined(OPENSSL_SYS_WIN32)
diff --git a/test/bftest.c b/test/bftest.c
index 657ae90c34..b5e6c5144d 100644
--- a/test/bftest.c
+++ b/test/bftest.c
@@ -288,10 +288,6 @@ int main(int argc, char *argv[])
else
ret = test();
-# ifdef OPENSSL_SYS_NETWARE
- if (ret)
- printf("ERROR: %d\n", ret);
-# endif
EXIT(ret);
}
diff --git a/test/destest.c b/test/destest.c
index 5e4552c8a6..a544f41526 100644
--- a/test/destest.c
+++ b/test/destest.c
@@ -718,10 +718,6 @@ int main(int argc, char *argv[])
printf("fast crypt error, %s should be yA1Rp/1hZXIJk\n", str);
err = 1;
}
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
printf("\n");
return (err);
}
diff --git a/test/dhtest.c b/test/dhtest.c
index 224b1fdee8..5940aa78b2 100644
--- a/test/dhtest.c
+++ b/test/dhtest.c
@@ -202,10 +202,6 @@ int main(int argc, char *argv[])
DH_free(a);
BN_GENCB_free(_cb);
BIO_free(out);
-# ifdef OPENSSL_SYS_NETWARE
- if (ret)
- printf("ERROR: %d\n", ret);
-# endif
EXIT(ret);
}
diff --git a/test/dsatest.c b/test/dsatest.c
index b53ee471df..27996ac85e 100644
--- a/test/dsatest.c
+++ b/test/dsatest.c
@@ -217,10 +217,6 @@ int main(int argc, char **argv)
#endif
BIO_free(bio_err);
bio_err = NULL;
-# ifdef OPENSSL_SYS_NETWARE
- if (!ret)
- printf("ERROR\n");
-# endif
EXIT(!ret);
}
diff --git a/test/exptest.c b/test/exptest.c
index bc023ef67e..68802683b7 100644
--- a/test/exptest.c
+++ b/test/exptest.c
@@ -312,8 +312,5 @@ int main(int argc, char *argv[])
EXIT(0);
err:
ERR_print_errors(out);
-#ifdef OPENSSL_SYS_NETWARE
- printf("ERROR\n");
-#endif
EXIT(1);
}
diff --git a/test/ideatest.c b/test/ideatest.c
index 7418a17fa1..d7c9eedcbe 100644
--- a/test/ideatest.c
+++ b/test/ideatest.c
@@ -167,10 +167,6 @@ int main(int argc, char *argv[])
} else
printf("ok\n");
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
EXIT(err);
}
diff --git a/test/md2test.c b/test/md2test.c
index b416735251..ccf46593d0 100644
--- a/test/md2test.c
+++ b/test/md2test.c
@@ -121,10 +121,6 @@ int main(int argc, char *argv[])
R++;
P++;
}
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
EXIT(err);
return err;
}
diff --git a/test/md5test.c b/test/md5test.c
index 35aebf626e..2c75890014 100644
--- a/test/md5test.c
+++ b/test/md5test.c
@@ -117,10 +117,6 @@ int main(int argc, char *argv[])
P++;
}
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
EXIT(err);
}
diff --git a/test/mdc2test.c b/test/mdc2test.c
index d1fe049ab6..2177a0ef6d 100644
--- a/test/mdc2test.c
+++ b/test/mdc2test.c
@@ -135,10 +135,6 @@ int main(int argc, char *argv[])
printf("pad2 - ok\n");
EVP_MD_CTX_free(c);
-# ifdef OPENSSL_SYS_NETWARE
- if (ret)
- printf("ERROR: %d\n", ret);
-# endif
EXIT(ret);
}
#endif
diff --git a/test/randtest.c b/test/randtest.c
index 69f3fd4b8e..dc0e84d7a9 100644
--- a/test/randtest.c
+++ b/test/randtest.c
@@ -189,9 +189,5 @@ int main(int argc, char **argv)
printf("test 4 done\n");
err:
err = ((err) ? 1 : 0);
-#ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-#endif
EXIT(err);
}
diff --git a/test/rc2test.c b/test/rc2test.c
index 5cfbac9d62..3890cf0d39 100644
--- a/test/rc2test.c
+++ b/test/rc2test.c
@@ -141,10 +141,6 @@ int main(int argc, char *argv[])
if (err == 0)
printf("ecb RC2 ok\n");
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
EXIT(err);
}
diff --git a/test/rc4test.c b/test/rc4test.c
index 7de091c3bd..271fcf1580 100644
--- a/test/rc4test.c
+++ b/test/rc4test.c
@@ -218,10 +218,6 @@ int main(int argc, char *argv[])
} else
printf("ok\n");
}
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
EXIT(err);
}
#endif
diff --git a/test/rsa_test.c b/test/rsa_test.c
index 770c376380..d5d73e02aa 100644
--- a/test/rsa_test.c
+++ b/test/rsa_test.c
@@ -329,10 +329,6 @@ int main(int argc, char *argv[])
err = 1;
#endif
-# ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-# endif
return err;
}
#endif
diff --git a/test/sha1test.c b/test/sha1test.c
index 903d786ba6..ada37d11d6 100644
--- a/test/sha1test.c
+++ b/test/sha1test.c
@@ -131,10 +131,6 @@ int main(int argc, char *argv[])
} else
printf("test 3 ok\n");
-#ifdef OPENSSL_SYS_NETWARE
- if (err)
- printf("ERROR: %d\n", err);
-#endif
EVP_MD_CTX_free(c);
EXIT(err);
return (0);
diff --git a/util/libcrypto.num b/util/libcrypto.num
index 7a86ac8106..8383e52c91 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -288,7 +288,7 @@ TS_REQ_free 282 1_1_0 EXIST::FUNCTION:
PEM_read_DHparams 283 1_1_0 EXIST::FUNCTION:DH
RSA_private_decrypt 284 1_1_0 EXIST::FUNCTION:RSA
X509V3_EXT_get_nid 285 1_1_0 EXIST::FUNCTION:
-BIO_s_log 286 1_1_0 EXIST:!OS2,!WIN32,!macintosh:FUNCTION:
+BIO_s_log 286 1_1_0 EXIST:!WIN32,!macintosh:FUNCTION:
EC_POINT_set_to_infinity 287 1_1_0 EXIST::FUNCTION:EC
EVP_des_ede_ofb 288 1_1_0 EXIST::FUNCTION:DES
ECDH_KDF_X9_62 289 1_1_0 EXIST::FUNCTION:EC
@@ -1719,8 +1719,8 @@ X509_ATTRIBUTE_create_by_NID 1669 1_1_0 EXIST::FUNCTION:
TS_VERIFY_CTX_free 1670 1_1_0 EXIST::FUNCTION:
EC_KEY_up_ref 1671 1_1_0 EXIST::FUNCTION:EC
EC_GROUP_get_basis_type 1672 1_1_0 EXIST::FUNCTION:EC
-OCSP_crlID_new 1673 1_1_0 EXIST:!OS2,!VMS:FUNCTION:
-OCSP_crlID2_new 1673 1_1_0 EXIST:OS2,VMS:FUNCTION:
+OCSP_crlID_new 1673 1_1_0 EXIST:!VMS:FUNCTION:
+OCSP_crlID2_new 1673 1_1_0 EXIST:VMS:FUNCTION:
PEM_write_PKCS7 1674 1_1_0 EXIST::FUNCTION:
PKCS7_add_signer 1675 1_1_0 EXIST::FUNCTION:
X509_SIG_it 1676 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
@@ -2176,8 +2176,8 @@ ENGINE_load_public_key 2109 1_1_0 EXIST::FUNCTION:ENGINE
ASIdOrRange_it 2110 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:RFC3779
ASIdOrRange_it 2110 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:RFC3779
DHparams_print_fp 2111 1_1_0 EXIST::FUNCTION:DH,STDIO
-ERR_load_CRYPTO_strings 2112 1_1_0 EXIST:!OS2,!VMS:FUNCTION:
-ERR_load_CRYPTOlib_strings 2112 1_1_0 EXIST:OS2,VMS:FUNCTION:
+ERR_load_CRYPTO_strings 2112 1_1_0 EXIST:!VMS:FUNCTION:
+ERR_load_CRYPTOlib_strings 2112 1_1_0 EXIST:VMS:FUNCTION:
X509_REQ_set_version 2113 1_1_0 EXIST::FUNCTION:
d2i_ASN1_GENERALSTRING 2114 1_1_0 EXIST::FUNCTION:
i2d_ASIdentifiers 2115 1_1_0 EXIST::FUNCTION:RFC3779
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index 55a8ddddd8..69bc89530e 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -108,11 +108,6 @@ $infile="MINFO";
"Mingw32-files", "Create files with DOS copy ...",
"linux-elf","Linux elf",
"FreeBSD","FreeBSD distribution",
- "OS2-EMX", "EMX GCC OS/2",
- "netware-clib", "CodeWarrior for NetWare - CLib - with WinSock Sockets",
- "netware-clib-bsdsock", "CodeWarrior for NetWare - CLib - with BSD Sockets",
- "netware-libc", "CodeWarrior for NetWare - LibC - with WinSock Sockets",
- "netware-libc-bsdsock", "CodeWarrior for NetWare - LibC - with BSD Sockets",
"default","cc under unix",
"auto", "auto detect from top level Makefile",
"copy", "copy from top level Makefile"
@@ -149,8 +144,6 @@ and [options] can be one of
no-autoalginit - Don't auto load algorithms in libcrypto
no-autoerrinit - Don't auto load error strings for libcrypto or libssl
nasm - Use NASM for x86 asm
- nw-nasm - Use NASM x86 asm for NetWare
- nw-mwasm - Use Metrowerks x86 asm for NetWare
gaswin - Use GNU as with Mingw32
no-socks - No socket code
no-err - No error strings
@@ -233,18 +226,6 @@ elsif ($platform eq "linux-elf")
require "linux.pl";
$unix=1;
}
-elsif ($platform eq "OS2-EMX")
- {
- $wc=1;
- require 'OS2-EMX.pl';
- }
-elsif (($platform eq "netware-clib") || ($platform eq "netware-libc") ||
- ($platform eq "netware-clib-bsdsock") || ($platform eq "netware-libc-bsdsock"))
- {
- $LIBC=1 if $platform eq "netware-libc" || $platform eq "netware-libc-bsdsock";
- $BSDSOCK=1 if ($platform eq "netware-libc-bsdsock") || ($platform eq "netware-clib-bsdsock");
- require 'netware.pl';
- }
else
{
require "unix.pl";
@@ -1377,8 +1358,6 @@ sub read_options
"no-dh" => \$no_dh,
"no-asm" => \$no_asm,
"nasm" => \$nasm,
- "nw-nasm" => \$nw_nasm,
- "nw-mwasm" => \$nw_mwasm,
"gaswin" => \$gaswin,
"no-ssl3" => \$no_ssl3,
"no-ssl3-method" => 0,
diff --git a/util/mkdef.pl b/util/mkdef.pl
index 4578c9afc2..ec1907890f 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -61,7 +61,6 @@ my $VMSNonVAX=0;
my $VMS=0;
my $W32=0;
my $NT=0;
-my $OS2=0;
my $linux=0;
# Set this to make typesafe STACK definitions appear in DEF
my $safe_stack_def = 0;
@@ -155,7 +154,6 @@ foreach (@ARGV, split(/ /, $config{options}))
$linux=1;
}
$VMS=$VMSNonVAX=1 if $_ eq "VMS";
- $OS2=1 if $_ eq "OS2";
if ($_ eq "zlib" || $_ eq "enable-zlib" || $_ eq "zlib-dynamic"
|| $_ eq "enable-zlib-dynamic") {
$zlib = 1;
@@ -212,11 +210,11 @@ if (!$libname) {
}
# If no platform is given, assume WIN32
-if ($W32 + $VMS + $OS2 + $linux == 0) {
+if ($W32 + $VMS + $linux == 0) {
$W32 = 1;
}
die "Please, only one platform at a time"
- if ($W32 + $VMS + $OS2 + $linux > 1);
+ if ($W32 + $VMS + $linux > 1);
if (!$do_ssl && !$do_crypto)
{
@@ -1113,7 +1111,6 @@ sub is_valid
if ($keyword eq "VMS" && $VMS) { return 1; }
if ($keyword eq "WIN32" && $W32) { return 1; }
if ($keyword eq "WINNT" && $NT) { return 1; }
- if ($keyword eq "OS2" && $OS2) { return 1; }
# Special platforms:
# EXPORT_VAR_AS_FUNCTION means that global variables
# will be represented as functions. This currently
@@ -1202,22 +1199,8 @@ sub print_def_file
if ($W32)
{ $libname.="32"; }
- elsif ($OS2)
- { # DLL names should not clash on the whole system.
- # However, they should not have any particular relationship
- # to the name of the static library. Chose descriptive names
- # (must be at most 8 chars).
- my %translate = (ssl => 'open_ssl', crypto => 'cryptssl');
- $libname = $translate{$name} || $name;
- $liboptions = <<EOO;
-INITINSTANCE
-DATA MULTIPLE NONSHARED
-EOO
- # Vendor field can't contain colon, drat; so we omit http://
- $description = "\@#$http_vendor:$version#\@$what; DLL for library $name. Build for EMX -Zmtd";
- }
- if ($W32 || $OS2)
+ if ($W32)
{
print OUT <<"EOF";
;
@@ -1329,12 +1312,12 @@ EOF
}
print OUT $symline;
$symvtextcount += length($symline) - 2;
- } elsif($v && !$OS2) {
+ } elsif($v) {
printf OUT " %s%-39s @%-8d DATA\n",
($W32)?"":"_",$s2,$n;
} else {
printf OUT " %s%-39s @%d\n",
- ($W32||$OS2)?"":"_",$s2,$n;
+ ($W32)?"":"_",$s2,$n;
}
}
}
diff --git a/util/pl/OS2-EMX.pl b/util/pl/OS2-EMX.pl
deleted file mode 100644
index 92a332e6e9..0000000000
--- a/util/pl/OS2-EMX.pl
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/local/bin/perl
-#
-# OS2-EMX.pl - for EMX GCC on OS/2
-#
-
-$o='/';
-$cp='cp';
-$rm='rm -f';
-
-$preamble = "SHELL=sh\n";
-
-# C compiler stuff
-
-$cc='gcc';
-$cflags="-DL_ENDIAN -O3 -fomit-frame-pointer -m486 -Zmtd -Wall ";
-$cflags.="-Zomf " if $shlib;
-$shl_cflag="-Zdll";
-
-if ($debug) {
- $cflags.="-g ";
-}
-
-$obj=$shlib ? '.obj' : '.o';
-$ofile='-o ';
-
-# EXE linking stuff
-$link='${CC}';
-$lflags='${CFLAGS} -Zbsd-signals -s';
-$efile='-o ';
-$exep='.exe';
-$ex_libs="-lsocket";
-
-# static library stuff
-$mklib='ar r';
-$mlflags='';
-$ranlib="ar s";
-$plib='';
-$libp=$shlib ? ".lib" : ".a";
-$shlibp=$shlib ? ".dll" : ".a";
-$lfile='';
-
-$asm=$shlib ? 'as -Zomf' : 'as';
-$afile='-o ';
-$bn_asm_obj="";
-$bn_asm_src="";
-$des_enc_obj="";
-$des_enc_src="";
-$bf_enc_obj="";
-$bf_enc_src="";
-
-if (!$no_asm)
- {
- $bn_asm_obj="crypto/bn/asm/bn-os2$obj crypto/bn/asm/co-os2$obj";
- $bn_asm_src="crypto/bn/asm/bn-os2.asm crypto/bn/asm/co-os2.asm";
- $des_enc_obj="crypto/des/asm/d-os2$obj crypto/des/asm/y-os2$obj";
- $des_enc_src="crypto/des/asm/d-os2.asm crypto/des/asm/y-os2.asm";
- $bf_enc_obj="crypto/bf/asm/b-os2$obj";
- $bf_enc_src="crypto/bf/asm/b-os2.asm";
- $cast_enc_obj="crypto/cast/asm/c-os2$obj";
- $cast_enc_src="crypto/cast/asm/c-os2.asm";
- $rc4_enc_obj="crypto/rc4/asm/r4-os2$obj";
- $rc4_enc_src="crypto/rc4/asm/r4-os2.asm";
- $rc5_enc_obj="crypto/rc5/asm/r5-os2$obj";
- $rc5_enc_src="crypto/rc5/asm/r5-os2.asm";
- $md5_asm_obj="crypto/md5/asm/m5-os2$obj";
- $md5_asm_src="crypto/md5/asm/m5-os2.asm";
- $sha1_asm_obj="crypto/sha/asm/s1-os2$obj";
- $sha1_asm_src="crypto/sha/asm/s1-os2.asm";
- $rmd160_asm_obj="crypto/ripemd/asm/rm-os2$obj";
- $rmd160_asm_src="crypto/ripemd/asm/rm-os2.asm";
- $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS";
- }
-
-if ($shlib)
- {
- $mlflags.=" $lflags -Zdll";
- $lib_cflag=" -D_DLL";
- $out_def="out_dll";
- $tmp_def="tmp_dll";
- }
-
-sub do_lib_rule
- {
- local($obj,$target,$name,$shlib)=@_;
- local($ret,$_,$Name);
-
- $target =~ s/\//$o/g if $o ne '/';
- $target="$target";
- ($Name=$name) =~ tr/a-z/A-Z/;
-
- $ret.="$target: \$(${Name}OBJ)\n";
- if (!$shlib)
- {
- $ret.="\t\$(RM) $target\n";
- $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
- $ret.="\t\$(RANLIB) $target\n\n";
- }
- else
- {
- local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':'';
- $ex.=' -lsocket';
- $ret.="\t\$(LINK_CMD) \$(SHLIB_CFLAGS) \$(MLFLAGS) $efile$target \$(SHLIB_EX_OBJ) \$(${Name}OBJ) $ex os2/${Name}.def\n";
- $ret.="\temximp -o $out_def/$name.a os2/${Name}.def\n";
- $ret.="\temximp -o $out_def/$name.lib os2/${Name}.def\n\n";
- }
- }
-
-sub do_link_rule
- {
- local($target,$files,$dep_libs,$libs)=@_;
- local($ret,$_);
-
- $file =~ s/\//$o/g if $o ne '/';
- $n=&bname($target);
- $ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK_CMD) ${efile}$target \$(CFLAG) \$(LFLAGS) $files $libs\n\n";
- return($ret);
- }
-
-1;
diff --git a/util/pl/netware.pl b/util/pl/netware.pl
deleted file mode 100644
index 070c7aa79c..0000000000
--- a/util/pl/netware.pl
+++ /dev/null
@@ -1,534 +0,0 @@
-# Metrowerks Codewarrior or gcc / nlmconv for NetWare
-#
-
-$version_header = "crypto/opensslv.h";
-open(IN, "$version_header") or die "Couldn't open $version_header: $!";
-while (<IN>) {
- if (/^#define[\s\t]+OPENSSL_VERSION_NUMBER[\s\t]+0x(\d)(\d{2})(\d{2})(\d{2})/)
- {
- # die "OpenSSL version detected: $1.$2.$3.$4\n";
- #$nlmvernum = "$1,$2,$3";
- $nlmvernum = "$1,".($2*10+$3).",".($4*1);
- #$nlmverstr = "$1.".($2*1).".".($3*1).($4?(chr(96+$4)):"");
- break;
- }
-}
-close(IN) or die "Couldn't close $version_header: $!";
-
-$readme_file = "README";
-open(IN, $readme_file) or die "Couldn't open $readme_file: $!";
-while (<IN>) {
- if (/^[\s\t]+OpenSSL[\s\t]+(\d)\.(\d{1,2})\.(\d{1,2})([a-z])(.*)/)
- {
- #$nlmvernum = "$1,$2,$3";
- #$nlmvernum = "$1,".($2*10+$3).",".($4*1);
- $nlmverstr = "$1.$2.$3$4$5";
- }
- elsif (/^[\s\t]+(Copyright \(c\) \d{4}\-\d{4} The OpenSSL Project)$/)
- {
- $nlmcpystr = $1;
- }
- break if ($nlmvernum && $nlmcpystr);
-}
-close(IN) or die "Couldn't close $readme_file: $!";
-
-# Define stacksize here
-$nlmstack = "32768";
-
-# some default settings here in case we failed to find them in README
-$nlmvernum = "1,0,0" if (!$nlmvernum);
-$nlmverstr = "OpenSSL" if (!$nlmverstr);
-$nlmcpystr = "Copyright (c) 1998-now The OpenSSL Project" if (!$nlmcpystr);
-
-# die "OpenSSL copyright: $nlmcpystr\nOpenSSL verstring: $nlmverstr\nOpenSSL vernumber: $nlmvernum\n";
-
-# The import files and other misc imports needed to link
-@misc_imports = ("GetProcessSwitchCount", "RunningProcess",
- "GetSuperHighResolutionTimer");
-if ($LIBC)
-{
- @import_files = ("libc.imp");
- @module_files = ("libc");
- $libarch = "LIBC";
-}
-else
-{
- # clib build
- @import_files = ("clib.imp");
- push(@import_files, "socklib.imp") if ($BSDSOCK);
- @module_files = ("clib");
- # push(@misc_imports, "_rt_modu64%16", "_rt_divu64%16");
- $libarch = "CLIB";
-}
-if ($BSDSOCK)
-{
- $libarch .= "-BSD";
-}
-else
-{
- $libarch .= "-WS2";
- push(@import_files, "ws2nlm.imp");
-}
-
-# The "IMPORTS" environment variable must be set and point to the location
-# where import files (*.imp) can be found.
-# Example: set IMPORTS=c:\ndk\nwsdk\imports
-$import_path = $ENV{"IMPORTS"} || die ("IMPORTS environment variable not set\n");
-
-
-# The "PRELUDE" environment variable must be set and point to the location
-# and name of the prelude source to link with ( nwpre.obj is recommended ).
-# Example: set PRELUDE=c:\codewar\novell support\metrowerks support\libraries\runtime\nwpre.obj
-$prelude = $ENV{"PRELUDE"} || die ("PRELUDE environment variable not set\n");
-
-# The "INCLUDES" environment variable must be set and point to the location
-# where import files (*.imp) can be found.
-$include_path = $ENV{"INCLUDE"} || die ("INCLUDES environment variable not set\n");
-$include_path =~ s/\\/\//g;
-$include_path = join(" -I", split(/;/, $include_path));
-
-# check for gcc compiler
-$gnuc = $ENV{"GNUC"};
-
-#$ssl= "libssl32";
-#$crypto="libcrypto32";
-
-if ($gnuc)
-{
- # C compiler
- $cc='gcc';
- # Linker
- $link='nlmconv';
- # librarian
- $mklib='ar';
- $o='/';
- # cp command
- $cp='cp -af';
- # rm command
- $rm='rm -f';
- # mv command
- $mv='mv -f';
- # mkdir command
- $mkdir='gmkdir';
- #$ranlib='ranlib';
-}
-else
-{
- # C compiler
- $cc='mwccnlm';
- # Linker
- $link='mwldnlm';
- # librarian
- $mklib='mwldnlm';
- # Path separator
- $o='\\';
- # cp command
- $cp='copy >nul:';
- # rm command
- $rm='del /f /q';
- # mv command
- $mv='move /y';
-}
-
-# assembler
-if ($nw_nasm)
-{
- $asm=(`nasm -v 2>NUL` gt `nasmw -v 2>NUL`?"nasm":"nasmw");
- if ($gnuc)
- {
- $asm.=" -s -f elf";
- }
- else
- {
- $asm.=" -s -f coff -d __coff__";
- }
- $afile="-o ";
- $asm.=" -g" if $debug;
-}
-elsif ($nw_mwasm)
-{
- $asm="mwasmnlm -maxerrors 20";
- $afile="-o ";
- $asm.=" -g" if $debug;
-}
-elsif ($nw_masm)
-{
-# masm assembly settings - it should be possible to use masm but haven't
-# got it working.
-# $asm='ml /Cp /coff /c /Cx';
-# $asm.=" /Zi" if $debug;
-# $afile='/Fo';
- die("Support for masm assembler not yet functional\n");
-}
-else
-{
- $asm="";
- $afile="";
-}
-
-
-
-if ($gnuc)
-{
- # compile flags for GNUC
- # additional flags based upon debug | non-debug
- if ($debug)
- {
- $cflags="-g -DDEBUG";
- }
- else
- {
- $cflags="-O2";
- }
- $cflags.=" -nostdinc -I$include_path \\
- -fno-builtin -fpcc-struct-return -fno-strict-aliasing \\
- -funsigned-char -Wall -Wno-unused -Wno-uninitialized";
-
- # link flags
- $lflags="-T";
-}
-else
-{
- # compile flags for CodeWarrior
- # additional flags based upon debug | non-debug
- if ($debug)
- {
- $cflags="-opt off -g -sym internal -DDEBUG";
- }
- else
- {
- # CodeWarrior compiler has a problem with optimizations for floating
- # points - no optimizations until further investigation
- # $cflags="-opt all";
- }
-
- # NOTES: Several c files in the crypto subdirectory include headers from
- # their local directories. Metrowerks wouldn't find these h files
- # without adding individual include directives as compile flags
- # or modifying the c files. Instead of adding individual include
- # paths for each subdirectory a recursive include directive
- # is used ( -ir crypto ).
- #
- # A similar issue exists for the engines and apps subdirectories.
- #
- # Turned off the "possible" warnings ( -w nopossible ). Metrowerks
- # complained a lot about various stuff. May want to turn back
- # on for further development.
- $cflags.=" -nostdinc -ir crypto -ir ssl -ir engines -ir apps -I$include_path \\
- -msgstyle gcc -align 4 -processor pentium -char unsigned \\
- -w on -w nolargeargs -w nopossible -w nounusedarg -w nounusedexpr \\
- -w noimplicitconv -relax_pointers -nosyspath -maxerrors 20";
-
- # link flags
- $lflags="-msgstyle gcc -zerobss -nostdlib -sym internal -commandfile";
-}
-
-# common defines
-$cflags.=" -DL_ENDIAN -DOPENSSL_SYS_NETWARE -U_WIN32";
-
-# If LibC build add in NKS_LIBC define and set the entry/exit
-# routines - The default entry/exit routines are for CLib and don't exist
-# in LibC
-if ($LIBC)
-{
- $cflags.=" -DNETWARE_LIBC";
- $nlmstart = "_LibCPrelude";
- $nlmexit = "_LibCPostlude";
- @nlm_flags = ("pseudopreemption", "flag_on 64");
-}
-else
-{
- $cflags.=" -DNETWARE_CLIB";
- $nlmstart = "_Prelude";
- $nlmexit = "_Stop";
-}
-
-# If BSD Socket support is requested, set a define for the compiler
-if ($BSDSOCK)
-{
- $cflags.=" -DNETWARE_BSDSOCK";
- if (!$LIBC)
- {
- $cflags.=" -DNETDB_USE_INTERNET";
- }
-}
-
-
-# linking stuff
-# for the output directories use the mk1mf.pl values with "_nw" appended
-if ($shlib)
-{
- if ($LIBC)
- {
- $out_def.="_nw_libc_nlm";
- $tmp_def.="_nw_libc_nlm";
- $inc_def.="_nw_libc_nlm";
- }
- else # NETWARE_CLIB
- {
- $out_def.="_nw_clib_nlm";
- $tmp_def.="_nw_clib_nlm";
- $inc_def.="_nw_clib_nlm";
- }
-}
-else
-{
- if ($gnuc) # GNUC Tools
- {
- $libp=".a";
- $shlibp=".a";
- $lib_flags="-cr";
- }
- else # CodeWarrior
- {
- $libp=".lib";
- $shlibp=".lib";
- $lib_flags="-nodefaults -type library -o";
- }
- if ($LIBC)
- {
- $out_def.="_nw_libc";
- $tmp_def.="_nw_libc";
- $inc_def.="_nw_libc";
- }
- else # NETWARE_CLIB
- {
- $out_def.="_nw_clib";
- $tmp_def.="_nw_clib";
- $inc_def.="_nw_clib";
- }
-}
-
-# used by mk1mf.pl
-$obj='.o';
-$ofile='-o ';
-$efile='';
-$exep='.nlm';
-$ex_libs='';
-
-if (!$no_asm)
-{
- $bn_asm_obj="\$(OBJ_D)${o}bn-nw${obj}";
- $bn_asm_src="crypto${o}bn${o}asm${o}bn-nw.asm";
- $bnco_asm_obj="\$(OBJ_D)${o}co-nw${obj}";
- $bnco_asm_src="crypto${o}bn${o}asm${o}co-nw.asm";
- $aes_asm_obj="\$(OBJ_D)${o}a-nw${obj}";
- $aes_asm_src="crypto${o}aes${o}asm${o}a-nw.asm";
- $des_enc_obj="\$(OBJ_D)${o}d-nw${obj} \$(OBJ_D)${o}y-nw${obj}";
- $des_enc_src="crypto${o}des${o}asm${o}d-nw.asm crypto${o}des${o}asm${o}y-nw.asm";
- $bf_enc_obj="\$(OBJ_D)${o}b-nw${obj}";
- $bf_enc_src="crypto${o}bf${o}asm${o}b-nw.asm";
- $cast_enc_obj="\$(OBJ_D)${o}c-nw${obj}";
- $cast_enc_src="crypto${o}cast${o}asm${o}c-nw.asm";
- $rc4_enc_obj="\$(OBJ_D)${o}r4-nw${obj}";
- $rc4_enc_src="crypto${o}rc4${o}asm${o}r4-nw.asm";
- $rc5_enc_obj="\$(OBJ_D)${o}r5-nw${obj}";
- $rc5_enc_src="crypto${o}rc5${o}asm${o}r5-nw.asm";
- $md5_asm_obj="\$(OBJ_D)${o}m5-nw${obj}";
- $md5_asm_src="crypto${o}md5${o}asm${o}m5-nw.asm";
- $sha1_asm_obj="\$(OBJ_D)${o}s1-nw${obj} \$(OBJ_D)${o}sha256-nw${obj} \$(OBJ_D)${o}sha512-nw${obj}";
- $sha1_asm_src="crypto${o}sha${o}asm${o}s1-nw.asm crypto${o}sha${o}asm${o}sha256-nw.asm crypto${o}sha${o}asm${o}sha512-nw.asm";
- $rmd160_asm_obj="\$(OBJ_D)${o}rm-nw${obj}";
- $rmd160_asm_src="crypto${o}ripemd${o}asm${o}rm-nw.asm";
- $whirlpool_asm_obj="\$(OBJ_D)${o}wp-nw${obj}";
- $whirlpool_asm_src="crypto${o}whrlpool${o}asm${o}wp-nw.asm";
- $cpuid_asm_obj="\$(OBJ_D)${o}x86cpuid-nw${obj}";
- $cpuid_asm_src="crypto${o}x86cpuid-nw.asm";
- $cflags.=" -DOPENSSL_CPUID_OBJ -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DMD5_ASM -DWHIRLPOOL_ASM";
- $cflags.=" -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM";
- $cflags.=" -DAES_ASM -DRMD160_ASM";
-}
-else
-{
- $bn_asm_obj='';
- $bn_asm_src='';
- $bnco_asm_obj='';
- $bnco_asm_src='';
- $aes_asm_obj='';
- $aes_asm_src='';
- $des_enc_obj='';
- $des_enc_src='';
- $bf_enc_obj='';
- $bf_enc_src='';
- $cast_enc_obj='';
- $cast_enc_src='';
- $rc4_enc_obj='';
- $rc4_enc_src='';
- $rc5_enc_obj='';
- $rc5_enc_src='';
- $md5_asm_obj='';
- $md5_asm_src='';
- $sha1_asm_obj='';
- $sha1_asm_src='';
- $rmd160_asm_obj='';
- $rmd160_asm_src='';
- $whirlpool_asm_obj='';
- $whirlpool_asm_src='';
- $cpuid_asm_obj='';
- $cpuid_asm_src='';
-}
-
-# create the *.def linker command files in \openssl\netware\ directory
-sub do_def_file
-{
- # strip off the leading path
- my($target) = bname(shift);
- my($i);
-
- if ($target =~ /(.*).nlm/)
- {
- $target = $1;
- }
-
- # special case for openssl - the mk1mf.pl defines E_EXE = openssl
- if ($target =~ /E_EXE/)
- {
- $target =~ s/\$\(E_EXE\)/openssl/;
- }
-
- # Note: originally tried to use full path ( \openssl\netware\$target.def )
- # Metrowerks linker choked on this with an assertion failure. bug???
- #
- my($def_file) = "netware${o}$target.def";
-
- open(DEF_OUT, ">$def_file") || die("unable to open file $def_file\n");
-
- print( DEF_OUT "# command file generated by netware.pl for NLM target.\n" );
- print( DEF_OUT "# do not edit this file - all your changes will be lost!!\n" );
- print( DEF_OUT "#\n");
- print( DEF_OUT "DESCRIPTION \"$target ($libarch) - OpenSSL $nlmverstr\"\n");
- print( DEF_OUT "COPYRIGHT \"$nlmcpystr\"\n");
- print( DEF_OUT "VERSION $nlmvernum\n");
- print( DEF_OUT "STACK $nlmstack\n");
- print( DEF_OUT "START $nlmstart\n");
- print( DEF_OUT "EXIT $nlmexit\n");
-
- # special case for openssl
- if ($target eq "openssl")
- {
- print( DEF_OUT "SCREENNAME \"OpenSSL $nlmverstr\"\n");
- }
- else
- {
- print( DEF_OUT "SCREENNAME \"DEFAULT\"\n");
- }
-
- foreach $i (@misc_imports)
- {
- print( DEF_OUT "IMPORT $i\n");
- }
-
- foreach $i (@import_files)
- {
- print( DEF_OUT "IMPORT \@$import_path${o}$i\n");
- }
-
- foreach $i (@module_files)
- {
- print( DEF_OUT "MODULE $i\n");
- }
-
- foreach $i (@nlm_flags)
- {
- print( DEF_OUT "$i\n");
- }
-
- if ($gnuc)
- {
- if ($target =~ /openssl/)
- {
- print( DEF_OUT "INPUT ${tmp_def}${o}openssl${obj}\n");
- print( DEF_OUT "INPUT ${tmp_def}${o}openssl${libp}\n");
- }
- else
- {
- print( DEF_OUT "INPUT ${tmp_def}${o}${target}${obj}\n");
- }
- print( DEF_OUT "INPUT $prelude\n");
- print( DEF_OUT "INPUT ${out_def}${o}${ssl}${libp} ${out_def}${o}${crypto}${libp}\n");
- print( DEF_OUT "OUTPUT $target.nlm\n");
- }
-
- close(DEF_OUT);
- return($def_file);
-}
-
-sub do_lib_rule
-{
- my($objs,$target,$name,$shlib)=@_;
- my($ret);
-
- $ret.="$target: $objs\n";
- if (!$shlib)
- {
- $ret.="\t\@echo Building Lib: $name\n";
- $ret.="\t\$(MKLIB) $lib_flags $target $objs\n";
- $ret.="\t\@echo .\n"
- }
- else
- {
- die( "Building as NLM not currently supported!" );
- }
-
- $ret.="\n";
- return($ret);
-}
-
-sub do_link_rule
-{
- my($target,$files,$dep_libs,$libs)=@_;
- my($ret);
- my($def_file) = do_def_file($target);
-
- $ret.="$target: $files $dep_libs\n";
-
- # NOTE: When building the test nlms no screen name is given
- # which causes the console screen to be used. By using the console
- # screen there is no "<press any key to continue>" message which
- # requires user interaction. The test script ( do_tests.pl ) needs
- # to be able to run the tests without requiring user interaction.
- #
- # However, the sample program "openssl.nlm" is used by the tests and is
- # a interactive sample so a screen is desired when not be run by the
- # tests. To solve the problem, two versions of the program are built:
- # openssl2 - no screen used by tests
- # openssl - default screen - use for normal interactive modes
- #
-
- # special case for openssl - the mk1mf.pl defines E_EXE = openssl
- if ($target =~ /E_EXE/)
- {
- my($target2) = $target;
-
- $target2 =~ s/\(E_EXE\)/\(E_EXE\)2/;
-
- # openssl2
- my($def_file2) = do_def_file($target2);
-
- if ($gnuc)
- {
- $ret.="\t\$(MKLIB) $lib_flags \$(TMP_D)${o}\$(E_EXE).a \$(filter-out \$(TMP_D)${o}\$(E_EXE)${obj},$files)\n";
- $ret.="\t\$(LINK_CMD) \$(LFLAGS) $def_file2\n";
- $ret.="\t\@$mv \$(E_EXE)2.nlm \$(TEST_D)\n";
- }
- else
- {
- $ret.="\t\$(LINK_CMD) \$(LFLAGS) $def_file2 $files \"$prelude\" $libs -o $target2\n";
- }
- }
- if ($gnuc)
- {
- $ret.="\t\$(LINK_CMD) \$(LFLAGS) $def_file\n";
- $ret.="\t\@$mv \$(\@F) \$(TEST_D)\n";
- }
- else
- {
- $ret.="\t\$(LINK_CMD) \$(LFLAGS) $def_file $files \"$prelude\" $libs -o $target\n";
- }
-
- $ret.="\n";
- return($ret);
-
-}
-
-1;