Loading CHANGES +6 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,12 @@ Changes between 0.9.1c and 0.9.2 *) Modify ms/do_ms.bat to not generate assembly language makefiles since not many people have the assembler. Various Win32 compilation fixes and update to the INSTALL.W32 file with (hopefully) more accurate Win32 build instructions. [Steve Henson] *) Modify configure script 'Configure' to automatically create crypto/date.h file under Win32 and also build pem.h from pem.org. New script util/mkfiles.pl to create the MINFO file on environments that can't do a Loading INSTALL.W32 +82 −0 Original line number Diff line number Diff line Building OpenSSL under Win32. Heres a few comments about building OpenSSL in Windows environments. Most of this is tested on Win32 but it may also work in Win 3.1 with some modification. See the end of this file for Eric's original comments. You will need perl for Win32 (which can be got from various sources) and Visual C++. If you are compiling from a tarball or a CVS snapshot then the Win32 files may well be not up to date. This may mean that some "tweaking" is required to get it all to work. See the trouble shooting section later on for if (when?) it goes wrong. Firstly you should run Configure: perl Configure VC-WIN32 Then rebuild the Win32 Makefiles and friends: ms\do_ms if you get errors about things not having numbers assigned then check the troubleshooting section: you probably wont be able to compile it as it stands. then from the VC++ environment at a prompt do: nmake -f ms\ntdll.mak you may get a warning about too many rules but if all is well it should all compile and you will have some DLLs and executables in out32dll. Troubleshooting. Since the Win32 build is only occasionally tested it may not always compile cleanly. If you get an error about functions not having numbers assigned when you run ms\do_ms then this means the Win32 ordinal files are not up to date. You can do: perl util\mkdef.pl crypto ssl update then ms\do_ms should not give a warning any more. However the numbers that get assigned by this technique may not match those that eventually get assigned in the CVS tree: so you anything linked against this version of the library may need to be recompiled. If you get errors about unresolved externals then this means that either you didn't read the note above about functions not having numbers assigned or someone forgot to add a function to the header file. In this latter case check out the header file to see if the function is defined in the header file: it should be defined twice: once with ANSI prototypes and once without. If its missing from the non ASNI section then add an entry for it: check that ms\do_ms now reports missing numbers and update the numbers as above. If you get warnings in the code then the compilation will halt. The default Makefile for Win32 halts whenever any warnings occur. Since VC++ has its own ideas about warnings which don't always match up to other environments this can happen. The best fix is to edit the file with the warning in and fix it. Alternatively you can turn off the halt on warnings by editing the CFLAG line in the Makefile and deleting the /WX option. Finally you might get compilation errors. Again you will have to fix these or report them. Tweaks. There are various changes you can make to the Win32 compile environment. If you have the MASM assembler 'ml' then you can try the assembly language code. To do this remove the 'no-asm' part from do_ms.bat. You can also build a static version of the library using the Makefile ms\nt.mak -------------------------------------------------------------------------------- The orignal Windows build instructions from SSLeay follow. Note: some of this may be out of date and no longer applicable -------------------------------------------------------------------------------- The Microsoft World. The good news, to build SSLeay for the Microsft World Loading apps/speed.c +1 −2 Original line number Diff line number Diff line Loading @@ -633,8 +633,7 @@ char **argv; count*=2; Time_F(START); for (i=count; i; i--) des_ecb_encrypt((C_Block *)buf,(C_Block *)buf, &(sch[0]),DES_ENCRYPT); des_ecb_encrypt(buf,buf, &(sch[0]),DES_ENCRYPT); d=Time_F(STOP); } while (d <3); c[D_MD2][0]=count/10; Loading crypto/des/des.org +1 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ void des_encrypt2(); void des_encrypt3(); void des_decrypt3(); void des_ede3_cbc_encrypt(); void des_ede3_cbcm_encrypt(); int des_enc_read(); int des_enc_write(); char *des_fcrypt(); Loading crypto/rand/md_rand.c +1 −1 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ int num; MD_Final(md,&m); md_count[1]++; buf+=j; buf=(char *)buf + j; for (k=0; k<j; k++) { Loading Loading
CHANGES +6 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,12 @@ Changes between 0.9.1c and 0.9.2 *) Modify ms/do_ms.bat to not generate assembly language makefiles since not many people have the assembler. Various Win32 compilation fixes and update to the INSTALL.W32 file with (hopefully) more accurate Win32 build instructions. [Steve Henson] *) Modify configure script 'Configure' to automatically create crypto/date.h file under Win32 and also build pem.h from pem.org. New script util/mkfiles.pl to create the MINFO file on environments that can't do a Loading
INSTALL.W32 +82 −0 Original line number Diff line number Diff line Building OpenSSL under Win32. Heres a few comments about building OpenSSL in Windows environments. Most of this is tested on Win32 but it may also work in Win 3.1 with some modification. See the end of this file for Eric's original comments. You will need perl for Win32 (which can be got from various sources) and Visual C++. If you are compiling from a tarball or a CVS snapshot then the Win32 files may well be not up to date. This may mean that some "tweaking" is required to get it all to work. See the trouble shooting section later on for if (when?) it goes wrong. Firstly you should run Configure: perl Configure VC-WIN32 Then rebuild the Win32 Makefiles and friends: ms\do_ms if you get errors about things not having numbers assigned then check the troubleshooting section: you probably wont be able to compile it as it stands. then from the VC++ environment at a prompt do: nmake -f ms\ntdll.mak you may get a warning about too many rules but if all is well it should all compile and you will have some DLLs and executables in out32dll. Troubleshooting. Since the Win32 build is only occasionally tested it may not always compile cleanly. If you get an error about functions not having numbers assigned when you run ms\do_ms then this means the Win32 ordinal files are not up to date. You can do: perl util\mkdef.pl crypto ssl update then ms\do_ms should not give a warning any more. However the numbers that get assigned by this technique may not match those that eventually get assigned in the CVS tree: so you anything linked against this version of the library may need to be recompiled. If you get errors about unresolved externals then this means that either you didn't read the note above about functions not having numbers assigned or someone forgot to add a function to the header file. In this latter case check out the header file to see if the function is defined in the header file: it should be defined twice: once with ANSI prototypes and once without. If its missing from the non ASNI section then add an entry for it: check that ms\do_ms now reports missing numbers and update the numbers as above. If you get warnings in the code then the compilation will halt. The default Makefile for Win32 halts whenever any warnings occur. Since VC++ has its own ideas about warnings which don't always match up to other environments this can happen. The best fix is to edit the file with the warning in and fix it. Alternatively you can turn off the halt on warnings by editing the CFLAG line in the Makefile and deleting the /WX option. Finally you might get compilation errors. Again you will have to fix these or report them. Tweaks. There are various changes you can make to the Win32 compile environment. If you have the MASM assembler 'ml' then you can try the assembly language code. To do this remove the 'no-asm' part from do_ms.bat. You can also build a static version of the library using the Makefile ms\nt.mak -------------------------------------------------------------------------------- The orignal Windows build instructions from SSLeay follow. Note: some of this may be out of date and no longer applicable -------------------------------------------------------------------------------- The Microsoft World. The good news, to build SSLeay for the Microsft World Loading
apps/speed.c +1 −2 Original line number Diff line number Diff line Loading @@ -633,8 +633,7 @@ char **argv; count*=2; Time_F(START); for (i=count; i; i--) des_ecb_encrypt((C_Block *)buf,(C_Block *)buf, &(sch[0]),DES_ENCRYPT); des_ecb_encrypt(buf,buf, &(sch[0]),DES_ENCRYPT); d=Time_F(STOP); } while (d <3); c[D_MD2][0]=count/10; Loading
crypto/des/des.org +1 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ void des_encrypt2(); void des_encrypt3(); void des_decrypt3(); void des_ede3_cbc_encrypt(); void des_ede3_cbcm_encrypt(); int des_enc_read(); int des_enc_write(); char *des_fcrypt(); Loading
crypto/rand/md_rand.c +1 −1 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ int num; MD_Final(md,&m); md_count[1]++; buf+=j; buf=(char *)buf + j; for (k=0; k<j; k++) { Loading