From: Richard Levitte Date: Mon, 28 Jun 2004 11:55:28 +0000 (+0000) Subject: NetWare fixes provided by Verdon Walker for OpenSSL 0.9.8-dev. X-Git-Tag: BEN_FIPS_TEST_6~14^2~189 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=47c1735acd4fe3d26b192e6784069892c37320a2 NetWare fixes provided by Verdon Walker for OpenSSL 0.9.8-dev. The changes have been mailed to as well. PR: 903 --- diff --git a/Configure b/Configure index 1d938088a8..5688cb0653 100755 --- a/Configure +++ b/Configure @@ -529,6 +529,7 @@ my %table=( "netware-clib", "mwccnlm:::::${x86_gcc_opts}:::", # netware-libc => LibC/NKS support "netware-libc", "mwccnlm:::::BN_LLONG ${x86_gcc_opts}:::", +"netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall::::${x86_gcc_opts}:::", # DJGPP "DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::", diff --git a/INSTALL.NW b/INSTALL.NW index 22718f774b..6ee02939c0 100644 --- a/INSTALL.NW +++ b/INSTALL.NW @@ -99,9 +99,9 @@ following tools may be required: 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. + 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 @@ -115,9 +115,9 @@ following tools may be required: 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. + 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 It is not necessary to download the WinSock2 Developer when building @@ -133,8 +133,8 @@ 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] - + netware\set_env.bat [target] + target - "netware-clib" - CLib NetWare build - "netware-libc" - LibC NetWare build @@ -145,23 +145,21 @@ environment variables: MWCIncludes - The location of the NDK include files. - CLIB ex: set MWCIncludes=c:\ndk\nwsdk\include\nlm - LibC ex: set MWCIncludes=c:\ndk\libc\include + CLIB ex: set MWCIncludes=c:\ndk\nwsdk\include\nlm + LibC ex: set MWCIncludes=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 "nwpre.obj" file 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:\codewar\novell support\metrowerks support\ - libraries\runtime\nwpre.obj - - LibC ex: set PRELUDE=c:\ndk\libc\imports\libcpre.o + 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 + + 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 @@ -173,7 +171,7 @@ 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 - "netware-libc" - LibC NetWare build @@ -184,16 +182,16 @@ the assembly code. Always run build.bat from the "openssl" directory. "no-asm" - don't use assembly configure opts- all unrecognized arguments are passed to the - perl configure script + perl configure script examples: - - CLIB build, debug, without assembly: - netware\build.bat netware-clib debug no-asm - - LibC build, non-debug, using NASM assembly: - netware\build.bat netware-libc nw-nasm - + + CLIB build, debug, without assembly: + netware\build.bat netware-clib debug no-asm + + LibC build, non-debug, using NASM assembly: + netware\build.bat netware-libc nw-nasm + Running build.bat generates a make file to be processed by your make tool (gmake or nmake): @@ -207,7 +205,7 @@ subdirectory (in the order listed below): perl configure no-asm [other config opts] [netware-clib|netware-libc] configures no assembly build for specified netware environment - (CLIB or LibC). + (CLIB or LibC). perl util\mkfiles.pl >MINFO generates a listing of source files (used by mk1mf) @@ -434,4 +432,5 @@ 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". +"clib.imp". + diff --git a/Netware/set_env.bat b/Netware/set_env.bat index 67a4725b09..e9012e3409 100644 --- a/Netware/set_env.bat +++ b/Netware/set_env.bat @@ -60,10 +60,10 @@ if "%LIBC_BUILD%" == "Y" set IMPORTS=%TOOLS%\ndk\libc\imports if "%CLIB_BUILD%" == "Y" set IMPORTS=%TOOLS%\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 "nwpre.obj" is +rem the Metrowerks NetWare PDK - NOTE: for Clib builds "clibpre.o" is rem recommended, for LibC NKS builds libcpre.o must be used -if "%LIBC_BUILD%" == "Y" set PRELUDE=%TOOLS%\ndk\libc\imports\libcpre.o -if "%CLIB_BUILD%" == "Y" set PRELUDE=%TOOLS%\codewar\pdk_21\novell support\metrowerks support\libraries\runtime\nwpre.obj +if "%LIBC_BUILD%" == "Y" set PRELUDE=%IMPORTS%\libcpre.o +if "%CLIB_BUILD%" == "Y" set PRELUDE=%IMPORTS%\clibpre.o if "%LIBC_BUILD%" == "Y" echo Enviroment configured for LibC build diff --git a/apps/s_client.c b/apps/s_client.c index 43934d87bc..f04080e075 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -690,6 +690,16 @@ re_start: } else i=select(width,(void *)&readfds,(void *)&writefds, NULL,NULL); } +#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,NULL); + } #else i=select(width,(void *)&readfds,(void *)&writefds, NULL,NULL); diff --git a/crypto/rand/rand_nw.c b/crypto/rand/rand_nw.c index 0ff884783e..ba57812788 100644 --- a/crypto/rand/rand_nw.c +++ b/crypto/rand/rand_nw.c @@ -1,4 +1,4 @@ -/* crypto/rand/rand_win.c */ +/* crypto/rand/rand_nw.c */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -116,7 +116,7 @@ #if defined (OPENSSL_SYS_NETWARE) #if defined(NETWARE_LIBC) -#include +#include #endif extern long RunningProcess; @@ -147,18 +147,23 @@ int RAND_poll(void) for( i=2; i