Compare commits
	
		
			2 Commits
		
	
	
		
			OpenSSL-fi
			...
			OpenSSL_0_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					690dba1a9f | ||
| 
						 | 
					9beaae61ec | 
							
								
								
									
										131
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								CHANGES
									
									
									
									
									
								
							@@ -2,134 +2,7 @@
 | 
			
		||||
 OpenSSL CHANGES
 | 
			
		||||
 _______________
 | 
			
		||||
 | 
			
		||||
 Changes between 0.9.6 and 0.9.7  [xx XXX 2000]
 | 
			
		||||
 | 
			
		||||
  *) Fix for bug in DirectoryString mask setting. Add support for
 | 
			
		||||
     X509_NAME_print_ex() in 'req' and X509_print_ex() function
 | 
			
		||||
     to allow certificate printing to more controllable, additional
 | 
			
		||||
     'certopt' option to 'x509' to allow new printing options to be
 | 
			
		||||
     set.
 | 
			
		||||
     [Steve Henson]
 | 
			
		||||
 | 
			
		||||
  *) Clean old EAY MD5 hack from e_os.h.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
  *) Fix SSL_CTX_set_read_ahead macro to actually use its argument.
 | 
			
		||||
 | 
			
		||||
     Copy SSL_CTX's read_ahead flag to SSL object directly in SSL_new
 | 
			
		||||
     and not in SSL_clear because the latter is also used by the
 | 
			
		||||
     accept/connect functions; previously, the settings made by
 | 
			
		||||
     SSL_set_read_ahead would be lost during the handshake.
 | 
			
		||||
     [Bodo Moeller; problems reported by Anders Gertz <gertz@epact.se>]     
 | 
			
		||||
 | 
			
		||||
  *) Correct util/mkdef.pl to be selective about disabled algorithms.
 | 
			
		||||
     Previously, it would create entries for disableed algorithms no
 | 
			
		||||
     matter what.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
 Changes between 0.9.5a and 0.9.6  [24 Sep 2000]
 | 
			
		||||
 | 
			
		||||
  *) In ssl23_get_client_hello, generate an error message when faced
 | 
			
		||||
     with an initial SSL 3.0/TLS record that is too small to contain the
 | 
			
		||||
     first two bytes of the ClientHello message, i.e. client_version.
 | 
			
		||||
     (Note that this is a pathologic case that probably has never happened
 | 
			
		||||
     in real life.)  The previous approach was to use the version number
 | 
			
		||||
     from the record header as a substitute; but our protocol choice
 | 
			
		||||
     should not depend on that one because it is not authenticated
 | 
			
		||||
     by the Finished messages.
 | 
			
		||||
     [Bodo Moeller]
 | 
			
		||||
 | 
			
		||||
  *) More robust randomness gathering functions for Windows.
 | 
			
		||||
     [Jeffrey Altman <jaltman@columbia.edu>]
 | 
			
		||||
 | 
			
		||||
  *) For compatibility reasons if the flag X509_V_FLAG_ISSUER_CHECK is
 | 
			
		||||
     not set then we don't setup the error code for issuer check errors
 | 
			
		||||
     to avoid possibly overwriting other errors which the callback does
 | 
			
		||||
     handle. If an application does set the flag then we assume it knows
 | 
			
		||||
     what it is doing and can handle the new informational codes
 | 
			
		||||
     appropriately.
 | 
			
		||||
     [Steve Henson]
 | 
			
		||||
 | 
			
		||||
  *) Fix for a nasty bug in ASN1_TYPE handling. ASN1_TYPE is used for
 | 
			
		||||
     a general "ANY" type, as such it should be able to decode anything
 | 
			
		||||
     including tagged types. However it didn't check the class so it would
 | 
			
		||||
     wrongly interpret tagged types in the same way as their universal
 | 
			
		||||
     counterpart and unknown types were just rejected. Changed so that the
 | 
			
		||||
     tagged and unknown types are handled in the same way as a SEQUENCE:
 | 
			
		||||
     that is the encoding is stored intact. There is also a new type
 | 
			
		||||
     "V_ASN1_OTHER" which is used when the class is not universal, in this
 | 
			
		||||
     case we have no idea what the actual type is so we just lump them all
 | 
			
		||||
     together.
 | 
			
		||||
     [Steve Henson]
 | 
			
		||||
 | 
			
		||||
  *) On VMS, stdout may very well lead to a file that is written to
 | 
			
		||||
     in a record-oriented fashion.  That means that every write() will
 | 
			
		||||
     write a separate record, which will be read separately by the
 | 
			
		||||
     programs trying to read from it.  This can be very confusing.
 | 
			
		||||
 | 
			
		||||
     The solution is to put a BIO filter in the way that will buffer
 | 
			
		||||
     text until a linefeed is reached, and then write everything a
 | 
			
		||||
     line at a time, so every record written will be an actual line,
 | 
			
		||||
     not chunks of lines and not (usually doesn't happen, but I've
 | 
			
		||||
     seen it once) several lines in one record.  BIO_f_linebuffer() is
 | 
			
		||||
     the answer.
 | 
			
		||||
 | 
			
		||||
     Currently, it's a VMS-only method, because that's where it has
 | 
			
		||||
     been tested well enough.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
  *) Remove 'optimized' squaring variant in BN_mod_mul_montgomery,
 | 
			
		||||
     it can return incorrect results.
 | 
			
		||||
     (Note: The buggy variant was not enabled in OpenSSL 0.9.5a,
 | 
			
		||||
     but it was in 0.9.6-beta[12].)
 | 
			
		||||
     [Bodo Moeller]
 | 
			
		||||
 | 
			
		||||
  *) Disable the check for content being present when verifying detached
 | 
			
		||||
     signatures in pk7_smime.c. Some versions of Netscape (wrongly)
 | 
			
		||||
     include zero length content when signing messages.
 | 
			
		||||
     [Steve Henson]
 | 
			
		||||
 | 
			
		||||
  *) New BIO_shutdown_wr macro, which invokes the BIO_C_SHUTDOWN_WR
 | 
			
		||||
     BIO_ctrl (for BIO pairs).
 | 
			
		||||
     [Bodo M<>ller]
 | 
			
		||||
 | 
			
		||||
  *) Add DSO method for VMS.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
  *) Bug fix: Montgomery multiplication could produce results with the
 | 
			
		||||
     wrong sign.
 | 
			
		||||
     [Ulf M<>ller]
 | 
			
		||||
 | 
			
		||||
  *) Add RPM specification openssl.spec and modify it to build three
 | 
			
		||||
     packages.  The default package contains applications, application
 | 
			
		||||
     documentation and run-time libraries.  The devel package contains
 | 
			
		||||
     include files, static libraries and function documentation.  The
 | 
			
		||||
     doc package contains the contents of the doc directory.  The original
 | 
			
		||||
     openssl.spec was provided by Damien Miller <djm@mindrot.org>.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
     
 | 
			
		||||
  *) Add a large number of documentation files for many SSL routines.
 | 
			
		||||
     [Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE>]
 | 
			
		||||
 | 
			
		||||
  *) Add a configuration entry for Sony News 4.
 | 
			
		||||
     [NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp>]
 | 
			
		||||
 | 
			
		||||
  *) Don't set the two most significant bits to one when generating a
 | 
			
		||||
     random number < q in the DSA library.
 | 
			
		||||
     [Ulf M<>ller]
 | 
			
		||||
 | 
			
		||||
  *) New SSL API mode 'SSL_MODE_AUTO_RETRY'.  This disables the default
 | 
			
		||||
     behaviour that SSL_read may result in SSL_ERROR_WANT_READ (even if
 | 
			
		||||
     the underlying transport is blocking) if a handshake took place.
 | 
			
		||||
     (The default behaviour is needed by applications such as s_client
 | 
			
		||||
     and s_server that use select() to determine when to use SSL_read;
 | 
			
		||||
     but for applications that know in advance when to expect data, it
 | 
			
		||||
     just makes things more complicated.)
 | 
			
		||||
     [Bodo Moeller]
 | 
			
		||||
 | 
			
		||||
  *) Add RAND_egd_bytes(), which gives control over the number of bytes read
 | 
			
		||||
     from EGD.
 | 
			
		||||
     [Ben Laurie]
 | 
			
		||||
 Changes between 0.9.5a and 0.9.6  [xx XXX 2000]
 | 
			
		||||
 | 
			
		||||
  *) Add a few more EBCDIC conditionals that make `req' and `x509'
 | 
			
		||||
     work better on such systems.
 | 
			
		||||
@@ -325,7 +198,7 @@
 | 
			
		||||
     [Steve Henson]
 | 
			
		||||
 | 
			
		||||
  *) Changes needed for Tandem NSK.
 | 
			
		||||
     [Scott Uroff <scott@xypro.com>]
 | 
			
		||||
     [Scott Uroff scott@xypro.com]
 | 
			
		||||
 | 
			
		||||
  *) Fix SSL 2.0 rollback checking: Due to an off-by-one error in
 | 
			
		||||
     RSA_padding_check_SSLv23(), special padding was never detected
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										43
									
								
								Configure
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								Configure
									
									
									
									
									
								
							@@ -212,20 +212,11 @@ my %table=(
 | 
			
		||||
#   crypto/sha/sha_lcl.h.
 | 
			
		||||
#					<appro@fy.chalmers.se>
 | 
			
		||||
#
 | 
			
		||||
#!#"hpux-parisc-cc","cc:-Ae +O3 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 | 
			
		||||
"hpux-parisc-cc","cc:-Ae +O3 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 | 
			
		||||
# Since there is mention of this in shlib/hpux10-cc.sh
 | 
			
		||||
"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 | 
			
		||||
"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 | 
			
		||||
"hpux64-parisc-cc","cc:-Ae +DD64 +O3 +ESlit -z -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dlfcn",
 | 
			
		||||
 | 
			
		||||
# More attempts at unified 10.X and 11.X targets for HP C compiler.
 | 
			
		||||
#
 | 
			
		||||
# Chris Ruemmler <ruemmler@cup.hp.com>
 | 
			
		||||
# Kevin Steves <ks@hp.se>
 | 
			
		||||
"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl",
 | 
			
		||||
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2.o:::::::::dl",
 | 
			
		||||
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2W.o:::::::::dlfcn",
 | 
			
		||||
"hpux-parisc1_1-cc","cc:+DA1.1 +DS1.1 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl",
 | 
			
		||||
"hpux64-parisc-cc","cc:-Ae +DD64 +O3 +ESlit -z -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl",
 | 
			
		||||
 | 
			
		||||
# HPUX 9.X config.
 | 
			
		||||
# Don't use the bundled cc.  It is broken.  Use HP ANSI C if possible, or
 | 
			
		||||
@@ -256,16 +247,13 @@ my %table=(
 | 
			
		||||
#"hpux11-64bit-cc","cc:+DA2.0W -g -D_HPUX_SOURCE -Aa -Ae +ESlit::-D_REENTRANT::SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT :::",
 | 
			
		||||
# Use unified settings above instead.
 | 
			
		||||
 | 
			
		||||
#### HP MPE/iX http://jazz.external.hp.com/src/openssl/
 | 
			
		||||
"MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB::(unknown):-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
 | 
			
		||||
 | 
			
		||||
# Dec Alpha, OSF/1 - the alpha164-cc is the flags for a 21164A with
 | 
			
		||||
# the new compiler
 | 
			
		||||
# For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
 | 
			
		||||
"alpha-gcc","gcc:-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:asm/alpha.o:::::::::dlfcn:true64-shared",
 | 
			
		||||
"alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o:::::::::dlfcn:true64-shared",
 | 
			
		||||
"alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o:::::::::dlfcn:true64-shared",
 | 
			
		||||
"FreeBSD-alpha","gcc:-DTERMIOS -O -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2:::",
 | 
			
		||||
"FreeBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2:::",
 | 
			
		||||
 | 
			
		||||
#### Alpha Linux with GNU C and Compaq C setups
 | 
			
		||||
# Special notes:
 | 
			
		||||
@@ -280,8 +268,8 @@ my %table=(
 | 
			
		||||
#
 | 
			
		||||
#					<appro@fy.chalmers.se>
 | 
			
		||||
#
 | 
			
		||||
"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o:dlfcn:linux-shared:-fPIC",
 | 
			
		||||
"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o:dlfcn:linux-shared:-fPIC",
 | 
			
		||||
"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o::",
 | 
			
		||||
"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o::",
 | 
			
		||||
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:asm/alpha.o::",
 | 
			
		||||
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:asm/alpha.o::",
 | 
			
		||||
 | 
			
		||||
@@ -291,8 +279,8 @@ my %table=(
 | 
			
		||||
# The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
 | 
			
		||||
# bn86-elf.o file file since it is hand tweaked assembler.
 | 
			
		||||
"linux-elf",	"gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
 | 
			
		||||
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 | 
			
		||||
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 | 
			
		||||
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-lefence:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 | 
			
		||||
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 | 
			
		||||
"linux-aout",	"gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
 | 
			
		||||
"linux-mips",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::(unknown)::BN_LLONG:::",
 | 
			
		||||
"linux-ppc",    "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::",
 | 
			
		||||
@@ -371,24 +359,24 @@ my %table=(
 | 
			
		||||
 | 
			
		||||
# Windows NT, Microsoft Visual C++ 4.0
 | 
			
		||||
 | 
			
		||||
"VC-NT","cl:::::BN_LLONG RC4_INDEX ${x86_gcc_opts}::::::::::win32",
 | 
			
		||||
"VC-WIN32","cl:::::BN_LLONG RC4_INDEX ${x86_gcc_opts}::::::::::win32",
 | 
			
		||||
"VC-NT","cl:::::BN_LLONG RC4_INDEX ${x86_gcc_opts}:::",
 | 
			
		||||
"VC-WIN32","cl:::::BN_LLONG RC4_INDEX ${x86_gcc_opts}:::",
 | 
			
		||||
"VC-WIN16","cl:::(unknown)::MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::",
 | 
			
		||||
"VC-W31-16","cl:::(unknown)::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX SIXTEEN_BIT:::",
 | 
			
		||||
"VC-W31-32","cl:::::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::",
 | 
			
		||||
"VC-MSDOS","cl:::(unknown)::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX SIXTEEN_BIT:::",
 | 
			
		||||
 | 
			
		||||
# Borland C++ 4.5
 | 
			
		||||
"BC-32","bcc32:::::BN_LLONG DES_PTR RC4_INDEX::::::::::win32",
 | 
			
		||||
"BC-32","bcc32:::::BN_LLONG DES_PTR RC4_INDEX:::",
 | 
			
		||||
"BC-16","bcc:::(unknown)::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::",
 | 
			
		||||
 | 
			
		||||
# Mingw32
 | 
			
		||||
# (Note: the real CFLAGS for Windows builds are defined by util/mk1mf.pl
 | 
			
		||||
# and its library files in util/pl/*)
 | 
			
		||||
"Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
 | 
			
		||||
"Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:",
 | 
			
		||||
 | 
			
		||||
# CygWin32
 | 
			
		||||
"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
 | 
			
		||||
"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:",
 | 
			
		||||
 | 
			
		||||
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
 | 
			
		||||
"ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown)::::::",
 | 
			
		||||
@@ -405,9 +393,6 @@ my %table=(
 | 
			
		||||
##### MacOS X (a.k.a. Rhapsody) setup
 | 
			
		||||
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
 | 
			
		||||
 | 
			
		||||
##### Sony NEWS-OS 4.x
 | 
			
		||||
"newsos4-gcc","gcc:-O -DB_ENDIAN -DNEWS4::(unknown):-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
 | 
			
		||||
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
 | 
			
		||||
@@ -719,10 +704,6 @@ if ($shared_cflag ne "")
 | 
			
		||||
		$shared_mark2 = ".shlib.";
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
else
 | 
			
		||||
	{
 | 
			
		||||
	$no_shared = 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#my ($bn1)=split(/\s+/,$bn_obj);
 | 
			
		||||
#$bn1 = "" unless defined $bn1;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								FAQ
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								FAQ
									
									
									
									
									
								
							@@ -32,7 +32,7 @@ OpenSSL  -  Frequently Asked Questions
 | 
			
		||||
* Which is the current version of OpenSSL?
 | 
			
		||||
 | 
			
		||||
The current version is available from <URL: http://www.openssl.org>.
 | 
			
		||||
OpenSSL 0.9.6 was released on September 24th, 2000.
 | 
			
		||||
OpenSSL 0.9.5a was released on April 1st, 2000.
 | 
			
		||||
 | 
			
		||||
In addition to the current stable release, you can also access daily
 | 
			
		||||
snapshots of the OpenSSL development version at <URL:
 | 
			
		||||
@@ -135,7 +135,7 @@ installing the SUNski package from Sun patch 105710-01 (Sparc) which
 | 
			
		||||
adds a /dev/random device and make sure it gets used, usually through
 | 
			
		||||
$RANDFILE.  There are probably similar patches for the other Solaris
 | 
			
		||||
versions.  However, be warned that /dev/random is usually a blocking
 | 
			
		||||
device, which may have some effects on OpenSSL.
 | 
			
		||||
device, which may have som effects on OpenSSL.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
* Why does the linker complain about undefined symbols?
 | 
			
		||||
@@ -194,7 +194,7 @@ unsigned char *buf, *p;
 | 
			
		||||
int len;
 | 
			
		||||
 | 
			
		||||
len = i2d_PKCS7(p7, NULL);
 | 
			
		||||
buf = OPENSSL_malloc(len); /* or Malloc, error checking omitted */
 | 
			
		||||
buf = OPENSSL_Malloc(len); /* or Malloc, error checking omitted */
 | 
			
		||||
p = buf;
 | 
			
		||||
i2d_PKCS7(p7, &p);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								INSTALL.VMS
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								INSTALL.VMS
									
									
									
									
									
								
							@@ -82,17 +82,12 @@ directory.  The syntax is trhe following:
 | 
			
		||||
      RSAREF    compile using the RSAREF Library
 | 
			
		||||
      NORSAREF  compile without using RSAREF
 | 
			
		||||
 | 
			
		||||
Note 0: The RASREF library IS NO LONGER NEEDED.  The RSA patent
 | 
			
		||||
        expires September 20, 2000, and RSA Security chose to make
 | 
			
		||||
        the algorithm public domain two weeks before that.
 | 
			
		||||
 | 
			
		||||
Note 1: If you still want to use RSAREF, the library is NOT INCLUDED
 | 
			
		||||
        and you have to download it.  RSA Security doesn't carry it
 | 
			
		||||
        any more, but there are a number of places where you can find
 | 
			
		||||
        it.  You have to get the ".tar-Z" file as the ".zip" file
 | 
			
		||||
        doesn't have the directory structure stored.  You have to
 | 
			
		||||
        extract the file into the [.RSAREF] directory as that is where
 | 
			
		||||
        the scripts will look for the files.
 | 
			
		||||
Note 1: The RSAREF libraries are NOT INCLUDED and you have to
 | 
			
		||||
        download it from "ftp://ftp.rsa.com/rsaref".  You have to
 | 
			
		||||
        get the ".tar-Z" file as the ".zip" file doesn't have the
 | 
			
		||||
        directory structure stored.  You have to extract the file
 | 
			
		||||
        into the [.RSAREF] directory as that is where the scripts
 | 
			
		||||
        will look for the files.
 | 
			
		||||
 | 
			
		||||
Note 2: I have never done this, so I've no idea if it works or not.
 | 
			
		||||
 | 
			
		||||
@@ -134,7 +129,7 @@ Currently, the logical names supported are:
 | 
			
		||||
                        used.  This is good to try if something doesn't work.
 | 
			
		||||
      OPENSSL_NO_'alg'  with value YES, the corresponding crypto algorithm
 | 
			
		||||
                        will not be implemented.  Supported algorithms to
 | 
			
		||||
                        do this with are: RSA, DSA, DH, MD2, MD4, MD5, RIPEMD,
 | 
			
		||||
                        do this with are: RSA, DSA, DH, MD2, MD5, RIPEMD,
 | 
			
		||||
                        SHA, DES, MDC2, CR2, RC4, RC5, IDEA, BF, CAST, HMAC,
 | 
			
		||||
                        SSL2.  So, for example, having the logical name
 | 
			
		||||
                        OPENSSL_NO_RSA with the value YES means that the
 | 
			
		||||
 
 | 
			
		||||
@@ -108,8 +108,8 @@
 | 
			
		||||
 | 
			
		||||
 * Compiler installation:
 | 
			
		||||
 | 
			
		||||
   Mingw32 is available from <ftp://ftp.xraylith.wisc.edu/pub/khan/
 | 
			
		||||
   gnu-win32/mingw32/gcc-2.95.2/gcc-2.95.2-msvcrt.exe>. GNU make is at
 | 
			
		||||
   Mingw32 is available from <ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/
 | 
			
		||||
   mingw32/egcs-1.1.2/egcs-1.1.2-mingw32.zip>. GNU make is at
 | 
			
		||||
   <ftp://agnes.dida.physik.uni-essen.de/home/janjaap/mingw32/binaries/
 | 
			
		||||
   make-3.76.1.zip>. Install both of them in C:\egcs-1.1.2 and run
 | 
			
		||||
   C:\egcs-1.1.2\mingw32.bat to set the PATH.
 | 
			
		||||
 
 | 
			
		||||
@@ -62,7 +62,7 @@ AR=ar r
 | 
			
		||||
RANLIB= ranlib
 | 
			
		||||
PERL= perl
 | 
			
		||||
TAR= tar
 | 
			
		||||
TARFLAGS= --no-recursion
 | 
			
		||||
TARFLAGS= --norecurse
 | 
			
		||||
 | 
			
		||||
# Set BN_ASM to bn_asm.o if you want to use the C version
 | 
			
		||||
BN_ASM= bn_asm.o
 | 
			
		||||
@@ -462,8 +462,7 @@ install: all install_docs
 | 
			
		||||
		if [ -f "$$i" ]; then \
 | 
			
		||||
		(       echo installing $$i; \
 | 
			
		||||
			cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
 | 
			
		||||
			(echo $$i | grep '\\.a$$' > /dev/null 2>&1) \
 | 
			
		||||
			&& $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
 | 
			
		||||
			$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
 | 
			
		||||
			chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
 | 
			
		||||
		fi \
 | 
			
		||||
	done
 | 
			
		||||
@@ -474,19 +473,19 @@ install_docs:
 | 
			
		||||
		$(INSTALL_PREFIX)$(MANDIR)/man3 \
 | 
			
		||||
		$(INSTALL_PREFIX)$(MANDIR)/man5 \
 | 
			
		||||
		$(INSTALL_PREFIX)$(MANDIR)/man7
 | 
			
		||||
	@echo installing man 1 and man 5
 | 
			
		||||
	@for i in doc/apps/*.pod; do \
 | 
			
		||||
		fn=`basename $$i .pod`; \
 | 
			
		||||
		sec=`[ "$$fn" = "config" ] && echo 5 || echo 1`; \
 | 
			
		||||
		echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
 | 
			
		||||
		(cd `dirname $$i`; \
 | 
			
		||||
		$(PERL) ../../util/pod2man.pl --section=$$sec --center=OpenSSL \
 | 
			
		||||
			 --release=$(VERSION) `basename $$i`) \
 | 
			
		||||
			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
 | 
			
		||||
	done
 | 
			
		||||
	@echo installing man 3 and man 7
 | 
			
		||||
	@for i in doc/crypto/*.pod doc/ssl/*.pod; do \
 | 
			
		||||
		fn=`basename $$i .pod`; \
 | 
			
		||||
		sec=`[ "$$fn" = "des_modes" ] && echo 7 || echo 3`; \
 | 
			
		||||
		echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
 | 
			
		||||
		(cd `dirname $$i`; \
 | 
			
		||||
		$(PERL) ../../util/pod2man.pl --section=$$sec --center=OpenSSL \
 | 
			
		||||
			--release=$(VERSION) `basename $$i`) \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								NEWS
									
									
									
									
									
								
							@@ -5,21 +5,6 @@
 | 
			
		||||
  This file gives a brief overview of the major changes between each OpenSSL
 | 
			
		||||
  release. For more details please read the CHANGES file.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6:
 | 
			
		||||
 | 
			
		||||
      o Some documentation for BIO and SSL libraries.
 | 
			
		||||
      o Enhanced chain verification using key identifiers.
 | 
			
		||||
      o New sign and verify options to 'dgst' application.
 | 
			
		||||
      o Support for DER and PEM encoded messages in 'smime' application.
 | 
			
		||||
      o New 'rsautl' application, low level RSA utility.
 | 
			
		||||
      o MD4 now included.
 | 
			
		||||
      o Bugfix for SSL rollback padding check.
 | 
			
		||||
      o Support for external crypto devices [1].
 | 
			
		||||
      o Enhanced EVP interface.
 | 
			
		||||
 | 
			
		||||
    [1] The support for external crypto devices is currently a separate
 | 
			
		||||
        distribution.  See the file README.ENGINE.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a:
 | 
			
		||||
 | 
			
		||||
      o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								README
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
 | 
			
		||||
 OpenSSL 0.9.7-dev 24 Sep 2000
 | 
			
		||||
 OpenSSL 0.9.6-beta1 11 Sep 2000
 | 
			
		||||
 | 
			
		||||
 Copyright (c) 1998-2000 The OpenSSL Project
 | 
			
		||||
 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
 | 
			
		||||
@@ -163,9 +163,6 @@
 | 
			
		||||
 the string "[PATCH]" in the subject. Please be sure to include a
 | 
			
		||||
 textual explanation of what your patch does.
 | 
			
		||||
 | 
			
		||||
 Note: For legal reasons, contributions from the US can be accepted only
 | 
			
		||||
 if a copy of the patch is sent to crypt@bxa.doc.gov
 | 
			
		||||
 | 
			
		||||
 The preferred format for changes is "diff -u" output. You might
 | 
			
		||||
 generate it like this:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,63 +0,0 @@
 | 
			
		||||
 | 
			
		||||
  ENGINE
 | 
			
		||||
  ======
 | 
			
		||||
 | 
			
		||||
  With OpenSSL 0.9.6, a new component has been added to support external 
 | 
			
		||||
  crypto devices, for example accelerator cards.  The component is called
 | 
			
		||||
  ENGINE, and has still a pretty experimental status and almost no
 | 
			
		||||
  documentation.  It's designed to be faily easily extensible by the
 | 
			
		||||
  calling programs.
 | 
			
		||||
 | 
			
		||||
  There's currently built-in support for the following crypto devices:
 | 
			
		||||
 | 
			
		||||
      o CryptoSwift
 | 
			
		||||
      o Compaq Atalla
 | 
			
		||||
      o nCipher CHIL
 | 
			
		||||
 | 
			
		||||
  A number of things are still needed and are being worked on:
 | 
			
		||||
 | 
			
		||||
      o An openssl utility command to handle or at least check available
 | 
			
		||||
        engines.
 | 
			
		||||
      o A better way of handling the methods that are handled by the
 | 
			
		||||
        engines.
 | 
			
		||||
      o Documentation!
 | 
			
		||||
 | 
			
		||||
  What already exists is fairly stable as far as it has been tested, but
 | 
			
		||||
  the test base has been a bit small most of the time.
 | 
			
		||||
 | 
			
		||||
  Because of this experimental status and what's lacking, the ENGINE
 | 
			
		||||
  component is not yet part of the default OpenSSL distribution.  However,
 | 
			
		||||
  we have made a separate kit for those who want to try this out, to be
 | 
			
		||||
  found in the same places as the default OpenSSL distribution, but with
 | 
			
		||||
  "-engine-" being part of the kit file name.  For example, version 0.9.6
 | 
			
		||||
  is distributed in the following two files:
 | 
			
		||||
 | 
			
		||||
      openssl-0.9.6.tar.gz
 | 
			
		||||
      openssl-engine-0.9.6.tar.gz
 | 
			
		||||
 | 
			
		||||
  NOTES
 | 
			
		||||
  =====
 | 
			
		||||
 | 
			
		||||
  openssl-engine-0.9.6.tar.gz does not depend on openssl-0.9.6.tar, you do
 | 
			
		||||
  not need to download both.
 | 
			
		||||
 | 
			
		||||
  openssl-engine-0.9.6.tar.gz is usable even if you don't have an external
 | 
			
		||||
  crypto device.  The internal OpenSSL functions are contained in the
 | 
			
		||||
  engine "openssl", and will be used by default.
 | 
			
		||||
 | 
			
		||||
  No external crypto device is chosen unless you say so.  You have actively
 | 
			
		||||
  tell the openssl utility commands to use it through a new command line
 | 
			
		||||
  switch called "-engine".  And if you want to use the ENGINE library to
 | 
			
		||||
  do something similar, you must also explicitely choose an external crypto
 | 
			
		||||
  device, or the built-in crypto routines will be used, just as in the
 | 
			
		||||
  default OpenSSL distribution.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  PROBLEMS
 | 
			
		||||
  ========
 | 
			
		||||
 | 
			
		||||
  It seems like the ENGINE part doesn't work too well with Cryptoswift on
 | 
			
		||||
  Win32.  A quick test done right before the release showed that trying
 | 
			
		||||
  "openssl speed -engine cswift" generated errors.  If the DSO gets enabled,
 | 
			
		||||
  an attempt is made to write at memory address 0x00000002.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								STATUS
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								STATUS
									
									
									
									
									
								
							@@ -1,11 +1,11 @@
 | 
			
		||||
 | 
			
		||||
  OpenSSL STATUS                           Last modified at
 | 
			
		||||
  ______________                           $Date: 2000/09/24 17:31:36 $
 | 
			
		||||
  ______________                           $Date: 2000/09/11 12:39:43 $
 | 
			
		||||
 | 
			
		||||
  DEVELOPMENT STATE
 | 
			
		||||
 | 
			
		||||
    o  OpenSSL 0.9.7:  Under development...
 | 
			
		||||
    o  OpenSSL 0.9.6:  Released on September 24th, 2000
 | 
			
		||||
    o  OpenSSL 0.9.6:  Under development (in release cycle)...
 | 
			
		||||
                       Proposed release date September 24, 2000
 | 
			
		||||
    o  OpenSSL 0.9.5a: Released on April     1st, 2000
 | 
			
		||||
    o  OpenSSL 0.9.5:  Released on February 28th, 2000
 | 
			
		||||
    o  OpenSSL 0.9.4:  Released on August   09th, 1999
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										126
									
								
								TABLE
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								TABLE
									
									
									
									
									
								
							@@ -36,7 +36,7 @@ $cast_obj     =
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = win32
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
@@ -76,7 +76,7 @@ $cast_obj     =
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = win32
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
@@ -102,7 +102,7 @@ $shared_cflag =
 | 
			
		||||
 | 
			
		||||
*** FreeBSD-alpha
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DTERMIOS -O -fomit-frame-pointer
 | 
			
		||||
$cflags       = -DTERMIOS -O3 -fomit-frame-pointer
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$lflags       = 
 | 
			
		||||
@@ -140,26 +140,6 @@ $dso_scheme   =
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** MPE/iX-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -D_ENDIAN -DBN_DIV2W -O3 -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$lflags       = -L/SYSLOG/PUB -lsyslog -lsocket -lcurses
 | 
			
		||||
$bn_ops       = BN_LLONG DES_PTR DES_UNROLL DES_RISC1
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** Mingw32
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
 | 
			
		||||
@@ -176,7 +156,7 @@ $cast_obj     =
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = win32
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
@@ -416,7 +396,7 @@ $cast_obj     =
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = win32
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
@@ -496,7 +476,7 @@ $cast_obj     =
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = win32
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
@@ -825,7 +805,7 @@ $cc           = gcc
 | 
			
		||||
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$lflags       = -lefence -ldl
 | 
			
		||||
$lflags       = -lefence
 | 
			
		||||
$bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 | 
			
		||||
$bn_obj       = asm/bn86-elf.o asm/co86-elf.o
 | 
			
		||||
$des_obj      = asm/dx86-elf.o asm/yx86-elf.o
 | 
			
		||||
@@ -845,7 +825,7 @@ $cc           = gcc
 | 
			
		||||
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 | 
			
		||||
$bn_obj       = asm/bn86-elf.o asm/co86-elf.o
 | 
			
		||||
$des_obj      = asm/dx86-elf.o asm/yx86-elf.o
 | 
			
		||||
@@ -1182,11 +1162,11 @@ $shared_cflag =
 | 
			
		||||
 | 
			
		||||
*** hpux-parisc-cc
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY
 | 
			
		||||
$cflags       = -Ae +O3 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$lflags       = -ldld
 | 
			
		||||
$bn_ops       = MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$bn_ops       = BN_LLONG DES_PTR DES_UNROLL DES_RISC1
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -1240,46 +1220,6 @@ $dso_scheme   = dl
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** hpux-parisc1_1-cc
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = +DA1.1 +DS1.1 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$lflags       = -ldld
 | 
			
		||||
$bn_ops       = MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = dl
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** hpux-parisc2-cc
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = +DA2.0 +DS2.0 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$lflags       = -ldld
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$bn_obj       = asm/pa-risc2.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = dl
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** hpux10-brokencc
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = -DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 -z
 | 
			
		||||
@@ -1365,7 +1305,7 @@ $cc           = cc
 | 
			
		||||
$cflags       = -Ae +DD64 +O3 +ESlit -z -DB_ENDIAN -DMD32_XARRAY
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$lflags       = -ldld
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -1376,27 +1316,7 @@ $cast_obj     =
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = dlfcn
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** hpux64-parisc2-cc
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = +DD64 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$bn_obj       = asm/pa-risc2W.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = dlfcn
 | 
			
		||||
$dso_scheme   = dl
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
@@ -1820,26 +1740,6 @@ $dso_scheme   =
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** newsos4-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -O -DB_ENDIAN -DNEWS4
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$lflags       = -lmld -liberty
 | 
			
		||||
$bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
 | 
			
		||||
*** nextstep
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = -O -Wall
 | 
			
		||||
 
 | 
			
		||||
@@ -146,9 +146,8 @@ progs.h: progs.pl
 | 
			
		||||
app_rand.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
app_rand.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
app_rand.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
app_rand.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
app_rand.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
app_rand.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
app_rand.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
app_rand.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
app_rand.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
app_rand.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
app_rand.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -165,9 +164,8 @@ app_rand.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
apps.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
apps.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
apps.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
apps.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
apps.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
apps.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
apps.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
apps.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
apps.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
apps.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
apps.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -186,9 +184,8 @@ apps.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
asn1pars.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
asn1pars.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
asn1pars.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
asn1pars.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
asn1pars.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
asn1pars.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
asn1pars.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
asn1pars.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
asn1pars.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
asn1pars.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
asn1pars.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -227,10 +224,9 @@ ca.o: ../include/openssl/x509v3.h apps.h
 | 
			
		||||
ciphers.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ciphers.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
ciphers.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
ciphers.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
ciphers.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
ciphers.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
ciphers.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
ciphers.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
ciphers.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
ciphers.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
ciphers.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
ciphers.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
ciphers.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -271,9 +267,8 @@ crl.o: ../include/openssl/x509v3.h apps.h
 | 
			
		||||
crl2p7.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
crl2p7.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
crl2p7.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
crl2p7.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
crl2p7.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
crl2p7.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
crl2p7.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
crl2p7.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
crl2p7.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
crl2p7.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
crl2p7.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -291,9 +286,8 @@ crl2p7.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
dgst.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dgst.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
dgst.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
dgst.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dgst.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
dgst.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
dgst.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
dgst.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dgst.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
dgst.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dgst.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -311,29 +305,27 @@ dgst.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
dh.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dh.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
dh.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
dh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dh.o: ../include/openssl/des.h ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dh.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
dh.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
dh.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
dh.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
dh.o: ../include/openssl/md4.h ../include/openssl/md5.h
 | 
			
		||||
dh.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
 | 
			
		||||
dh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
dh.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
 | 
			
		||||
dh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
dh.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
 | 
			
		||||
dh.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
 | 
			
		||||
dh.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
dh.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
dh.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
 | 
			
		||||
dh.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
dh.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
dh.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dh.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
dh.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dh.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
dh.o: ../include/openssl/md2.h ../include/openssl/md4.h
 | 
			
		||||
dh.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
 | 
			
		||||
dh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
dh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
dh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
dh.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
 | 
			
		||||
dh.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
 | 
			
		||||
dh.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
 | 
			
		||||
dh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
dh.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
dh.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
dsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
dsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
dsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dsa.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
dsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
dsa.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
dsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dsa.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
dsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -351,9 +343,8 @@ dsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
dsaparam.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dsaparam.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
dsaparam.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
dsaparam.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dsaparam.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
dsaparam.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
dsaparam.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
dsaparam.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dsaparam.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
dsaparam.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dsaparam.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -371,9 +362,8 @@ dsaparam.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
enc.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
enc.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
enc.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
enc.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
enc.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
enc.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
enc.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
enc.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
enc.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
enc.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -392,10 +382,9 @@ enc.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
errstr.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
errstr.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
errstr.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
errstr.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
errstr.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
errstr.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
errstr.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
errstr.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
errstr.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
errstr.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
errstr.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
errstr.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
errstr.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -415,9 +404,8 @@ errstr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
gendh.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
gendh.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
gendh.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
gendh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
gendh.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
gendh.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
gendh.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
gendh.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
gendh.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
gendh.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
gendh.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -436,9 +424,8 @@ gendh.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
gendsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
gendsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
gendsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
gendsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
gendsa.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
gendsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
gendsa.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
gendsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
gendsa.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
gendsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
gendsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -456,9 +443,8 @@ gendsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
genrsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
genrsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
genrsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
genrsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
genrsa.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
genrsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
genrsa.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
genrsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
genrsa.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
genrsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
genrsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -476,9 +462,8 @@ genrsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
nseq.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
nseq.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
nseq.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
nseq.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
nseq.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
nseq.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
nseq.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
nseq.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
nseq.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
nseq.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
nseq.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -520,9 +505,8 @@ openssl.o: progs.h s_apps.h
 | 
			
		||||
passwd.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
passwd.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
passwd.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
passwd.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
passwd.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
passwd.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
passwd.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
passwd.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
passwd.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
passwd.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
passwd.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -540,9 +524,8 @@ passwd.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
pkcs12.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs12.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
pkcs12.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
pkcs12.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
pkcs12.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
pkcs12.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
pkcs12.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
pkcs12.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
pkcs12.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs12.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs12.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -561,9 +544,8 @@ pkcs12.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
pkcs7.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs7.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
pkcs7.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
pkcs7.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
pkcs7.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
pkcs7.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
pkcs7.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
pkcs7.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
pkcs7.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs7.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs7.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -581,9 +563,8 @@ pkcs7.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
pkcs8.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs8.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
pkcs8.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
pkcs8.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
pkcs8.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
pkcs8.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
pkcs8.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
pkcs8.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
pkcs8.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs8.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs8.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -602,9 +583,8 @@ pkcs8.o: ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
rand.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rand.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
rand.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
rand.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
rand.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
rand.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
rand.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
rand.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
rand.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
rand.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rand.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -643,9 +623,8 @@ req.o: ../include/openssl/x509v3.h apps.h
 | 
			
		||||
rsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
rsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
rsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
rsa.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
rsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
rsa.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
rsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
rsa.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
rsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -663,9 +642,8 @@ rsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
rsautl.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rsautl.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
rsautl.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
rsautl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
rsautl.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
rsautl.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
rsautl.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
rsautl.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
rsautl.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
rsautl.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rsautl.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -683,10 +661,9 @@ rsautl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
s_cb.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_cb.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
s_cb.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
s_cb.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_cb.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
s_cb.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
s_cb.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
s_cb.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
s_cb.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
s_cb.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
s_cb.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
s_cb.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
s_cb.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -706,10 +683,9 @@ s_cb.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h s_apps.h
 | 
			
		||||
s_client.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_client.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
s_client.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
s_client.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_client.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
s_client.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
s_client.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
s_client.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
s_client.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
s_client.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
s_client.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
s_client.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
s_client.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -730,10 +706,9 @@ s_client.o: s_apps.h
 | 
			
		||||
s_server.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_server.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
s_server.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
s_server.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_server.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
s_server.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
s_server.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
s_server.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
s_server.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
s_server.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
s_server.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
s_server.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
s_server.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -754,10 +729,9 @@ s_server.o: s_apps.h
 | 
			
		||||
s_socket.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_socket.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
s_socket.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
s_socket.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_socket.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
s_socket.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
s_socket.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
s_socket.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
s_socket.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
s_socket.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
s_socket.o: ../include/openssl/e_os2.h ../include/openssl/evp.h
 | 
			
		||||
s_socket.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
s_socket.o: ../include/openssl/md2.h ../include/openssl/md4.h
 | 
			
		||||
@@ -777,10 +751,9 @@ s_socket.o: ../include/openssl/x509_vfy.h apps.h s_apps.h
 | 
			
		||||
s_time.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_time.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
s_time.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
s_time.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_time.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
s_time.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
s_time.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
s_time.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
s_time.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
s_time.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
s_time.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
s_time.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
s_time.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -801,10 +774,9 @@ s_time.o: s_apps.h
 | 
			
		||||
sess_id.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
sess_id.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
sess_id.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
sess_id.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
sess_id.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
sess_id.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
sess_id.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
 | 
			
		||||
sess_id.o: ../include/openssl/comp.h ../include/openssl/crypto.h
 | 
			
		||||
sess_id.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
sess_id.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
sess_id.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
sess_id.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
sess_id.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
@@ -824,9 +796,8 @@ sess_id.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
smime.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
smime.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
smime.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
smime.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
smime.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
smime.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
smime.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
smime.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
smime.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
smime.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
smime.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -844,9 +815,8 @@ smime.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
speed.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
speed.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
speed.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
speed.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
speed.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
speed.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
speed.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
speed.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
speed.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
speed.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
speed.o: ../include/openssl/hmac.h ../include/openssl/idea.h
 | 
			
		||||
@@ -906,9 +876,8 @@ verify.o: ../include/openssl/x509v3.h apps.h
 | 
			
		||||
version.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
version.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
version.o: ../include/openssl/buffer.h ../include/openssl/cast.h
 | 
			
		||||
version.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
version.o: ../include/openssl/des.h ../include/openssl/dh.h
 | 
			
		||||
version.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
 | 
			
		||||
version.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
version.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
version.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
version.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
version.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										59
									
								
								apps/apps.c
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								apps/apps.c
									
									
									
									
									
								
							@@ -74,14 +74,6 @@
 | 
			
		||||
#  include "bss_file.c"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
	char *name;
 | 
			
		||||
	unsigned long flag;
 | 
			
		||||
	unsigned long mask;
 | 
			
		||||
} NAME_EX_TBL;
 | 
			
		||||
 | 
			
		||||
static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL *in_tbl);
 | 
			
		||||
 | 
			
		||||
int app_init(long mesgwin);
 | 
			
		||||
#ifdef undef /* never finished - probably never will be :-) */
 | 
			
		||||
int args_from_file(char *file, int *argc, char **argv[])
 | 
			
		||||
@@ -668,7 +660,7 @@ STACK_OF(X509) *load_certs(BIO *err, char *file, int format)
 | 
			
		||||
 | 
			
		||||
	if      (format == FORMAT_PEM)
 | 
			
		||||
		{
 | 
			
		||||
		othercerts = sk_X509_new_null();
 | 
			
		||||
		othercerts = sk_X509_new(NULL);
 | 
			
		||||
		if(!othercerts)
 | 
			
		||||
			{
 | 
			
		||||
			sk_X509_free(othercerts);
 | 
			
		||||
@@ -702,43 +694,16 @@ end:
 | 
			
		||||
	return(othercerts);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define X509V3_EXT_UNKNOWN_MASK		(0xfL << 16)
 | 
			
		||||
/* Return error for unknown extensions */
 | 
			
		||||
#define X509V3_EXT_DEFAULT		0
 | 
			
		||||
/* Print error for unknown extensions */
 | 
			
		||||
#define X509V3_EXT_ERROR_UNKNOWN	(1L << 16)
 | 
			
		||||
/* ASN1 parse unknown extensions */
 | 
			
		||||
#define X509V3_EXT_PARSE_UNKNOWN	(2L << 16)
 | 
			
		||||
/* BIO_dump unknown extensions */
 | 
			
		||||
#define X509V3_EXT_DUMP_UNKNOWN		(3L << 16)
 | 
			
		||||
 | 
			
		||||
int set_cert_ex(unsigned long *flags, const char *arg)
 | 
			
		||||
{
 | 
			
		||||
	static const NAME_EX_TBL cert_tbl[] = {
 | 
			
		||||
		{ "compatible", X509_FLAG_COMPAT, 0xffffffffl},
 | 
			
		||||
		{ "no_header", X509_FLAG_NO_HEADER, 0},
 | 
			
		||||
		{ "no_version", X509_FLAG_NO_VERSION, 0},
 | 
			
		||||
		{ "no_serial", X509_FLAG_NO_SERIAL, 0},
 | 
			
		||||
		{ "no_signame", X509_FLAG_NO_SIGNAME, 0},
 | 
			
		||||
		{ "no_validity", X509_FLAG_NO_VALIDITY, 0},
 | 
			
		||||
		{ "no_subject", X509_FLAG_NO_SUBJECT, 0},
 | 
			
		||||
		{ "no_pubkey", X509_FLAG_NO_PUBKEY, 0},
 | 
			
		||||
		{ "no_extensions", X509_FLAG_NO_EXTENSIONS, 0},
 | 
			
		||||
		{ "no_sigdump", X509_FLAG_NO_SIGDUMP, 0},
 | 
			
		||||
		{ "no_aux", X509_FLAG_NO_AUX, 0},
 | 
			
		||||
		{ "ext_default", X509V3_EXT_DEFAULT, X509V3_EXT_UNKNOWN_MASK},
 | 
			
		||||
		{ "ext_error", X509V3_EXT_ERROR_UNKNOWN, X509V3_EXT_UNKNOWN_MASK},
 | 
			
		||||
		{ "ext_parse", X509V3_EXT_PARSE_UNKNOWN, X509V3_EXT_UNKNOWN_MASK},
 | 
			
		||||
		{ "ext_dump", X509V3_EXT_DUMP_UNKNOWN, X509V3_EXT_UNKNOWN_MASK},
 | 
			
		||||
		{ NULL, 0, 0}
 | 
			
		||||
	};
 | 
			
		||||
	return set_table_opts(flags, arg, cert_tbl);
 | 
			
		||||
}
 | 
			
		||||
typedef struct {
 | 
			
		||||
	char *name;
 | 
			
		||||
	unsigned long flag;
 | 
			
		||||
	unsigned long mask;
 | 
			
		||||
} NAME_EX_TBL;
 | 
			
		||||
 | 
			
		||||
int set_name_ex(unsigned long *flags, const char *arg)
 | 
			
		||||
{
 | 
			
		||||
	static const NAME_EX_TBL ex_tbl[] = {
 | 
			
		||||
	char c;
 | 
			
		||||
	const NAME_EX_TBL *ptbl, ex_tbl[] = {
 | 
			
		||||
		{ "esc_2253", ASN1_STRFLGS_ESC_2253, 0},
 | 
			
		||||
		{ "esc_ctrl", ASN1_STRFLGS_ESC_CTRL, 0},
 | 
			
		||||
		{ "esc_msb", ASN1_STRFLGS_ESC_MSB, 0},
 | 
			
		||||
@@ -766,13 +731,7 @@ int set_name_ex(unsigned long *flags, const char *arg)
 | 
			
		||||
		{ "multiline", XN_FLAG_MULTILINE, 0xffffffffL},
 | 
			
		||||
		{ NULL, 0, 0}
 | 
			
		||||
	};
 | 
			
		||||
	return set_table_opts(flags, arg, ex_tbl);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL *in_tbl)
 | 
			
		||||
{
 | 
			
		||||
	char c;
 | 
			
		||||
	const NAME_EX_TBL *ptbl;
 | 
			
		||||
	c = arg[0];
 | 
			
		||||
 | 
			
		||||
	if(c == '-') {
 | 
			
		||||
@@ -783,7 +742,7 @@ static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_T
 | 
			
		||||
		arg++;
 | 
			
		||||
	} else c = 1;
 | 
			
		||||
 | 
			
		||||
	for(ptbl = in_tbl; ptbl->name; ptbl++) {
 | 
			
		||||
	for(ptbl = ex_tbl; ptbl->name; ptbl++) {
 | 
			
		||||
		if(!strcmp(arg, ptbl->name)) {
 | 
			
		||||
			*flags &= ~ptbl->mask;
 | 
			
		||||
			if(c) *flags |= ptbl->flag;
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,6 @@
 | 
			
		||||
#include <openssl/crypto.h>
 | 
			
		||||
#include <openssl/x509.h>
 | 
			
		||||
#include <openssl/lhash.h>
 | 
			
		||||
#include <openssl/conf.h>
 | 
			
		||||
 | 
			
		||||
int app_RAND_load_file(const char *file, BIO *bio_e, int dont_warn);
 | 
			
		||||
int app_RAND_write_file(const char *file, BIO *bio_e);
 | 
			
		||||
@@ -100,6 +99,7 @@ extern BIO *bio_err;
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#define MAIN(a,v)	PROG(a,v)
 | 
			
		||||
#include <openssl/conf.h>
 | 
			
		||||
extern LHASH *config;
 | 
			
		||||
extern char *default_config_file;
 | 
			
		||||
extern BIO *bio_err;
 | 
			
		||||
@@ -147,7 +147,6 @@ int chopup_args(ARGS *arg,char *buf, int *argc, char **argv[]);
 | 
			
		||||
int dump_cert_text(BIO *out, X509 *x);
 | 
			
		||||
void print_name(BIO *out, char *title, X509_NAME *nm, unsigned long lflags);
 | 
			
		||||
#endif
 | 
			
		||||
int set_cert_ex(unsigned long *flags, const char *arg);
 | 
			
		||||
int set_name_ex(unsigned long *flags, const char *arg);
 | 
			
		||||
int app_passwd(BIO *err, char *arg1, char *arg2, char **pass1, char **pass2);
 | 
			
		||||
int add_oid_section(BIO *err, LHASH *conf);
 | 
			
		||||
 
 | 
			
		||||
@@ -206,12 +206,6 @@ bad:
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
	BIO_set_fp(out,stdout,BIO_NOCLOSE|BIO_FP_TEXT);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
	{
 | 
			
		||||
	BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
	out = BIO_push(tmpbio, out);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (oidfile != NULL)
 | 
			
		||||
		{
 | 
			
		||||
@@ -321,7 +315,7 @@ bad:
 | 
			
		||||
end:
 | 
			
		||||
	BIO_free(derout);
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (b64 != NULL) BIO_free(b64);
 | 
			
		||||
	if (ret != 0)
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								apps/ca.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								apps/ca.c
									
									
									
									
									
								
							@@ -690,12 +690,6 @@ bad:
 | 
			
		||||
	if (verbose)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE|BIO_FP_TEXT); /* cannot fail */
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		TXT_DB_write(out,db);
 | 
			
		||||
		BIO_printf(bio_err,"%d entries loaded from the database\n",
 | 
			
		||||
			db->data->num);
 | 
			
		||||
@@ -730,15 +724,7 @@ bad:
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			BIO_set_fp(Sout,stdout,BIO_NOCLOSE|BIO_FP_TEXT);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			Sout = BIO_push(tmpbio, Sout);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (req)
 | 
			
		||||
@@ -1034,7 +1020,7 @@ bad:
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
			BIO_free(in);
 | 
			
		||||
			BIO_free_all(out);
 | 
			
		||||
			BIO_free(out);
 | 
			
		||||
			in=NULL;
 | 
			
		||||
			out=NULL;
 | 
			
		||||
			if (rename(serialfile,buf[2]) < 0)
 | 
			
		||||
@@ -1251,9 +1237,9 @@ bad:
 | 
			
		||||
	ret=0;
 | 
			
		||||
err:
 | 
			
		||||
	BIO_free(hex);
 | 
			
		||||
	BIO_free_all(Cout);
 | 
			
		||||
	BIO_free_all(Sout);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(Cout);
 | 
			
		||||
	BIO_free(Sout);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
 | 
			
		||||
	sk_X509_pop_free(cert_sk,X509_free);
 | 
			
		||||
@@ -1368,7 +1354,7 @@ static int save_serial(char *serialfile, BIGNUM *serial)
 | 
			
		||||
	BIO_puts(out,"\n");
 | 
			
		||||
	ret=1;
 | 
			
		||||
err:
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (ai != NULL) ASN1_INTEGER_free(ai);
 | 
			
		||||
	return(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -108,12 +108,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	if (bio_err == NULL)
 | 
			
		||||
		bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
 | 
			
		||||
	STDout=BIO_new_fp(stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
	{
 | 
			
		||||
	BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
	STDout = BIO_push(tmpbio, STDout);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	argc--;
 | 
			
		||||
	argv++;
 | 
			
		||||
@@ -201,7 +195,7 @@ err:
 | 
			
		||||
end:
 | 
			
		||||
	if (ctx != NULL) SSL_CTX_free(ctx);
 | 
			
		||||
	if (ssl != NULL) SSL_free(ssl);
 | 
			
		||||
	if (STDout != NULL) BIO_free_all(STDout);
 | 
			
		||||
	if (STDout != NULL) BIO_free(STDout);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								apps/crl.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								apps/crl.c
									
									
									
									
									
								
							@@ -122,15 +122,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
	if (bio_out == NULL)
 | 
			
		||||
		if ((bio_out=BIO_new(BIO_s_file())) != NULL)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_set_fp(bio_out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			bio_out = BIO_push(tmpbio, bio_out);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
	informat=FORMAT_PEM;
 | 
			
		||||
	outformat=FORMAT_PEM;
 | 
			
		||||
@@ -322,15 +314,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -356,8 +340,8 @@ bad:
 | 
			
		||||
	if (!i) { BIO_printf(bio_err,"unable to write CRL\n"); goto end; }
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free_all(bio_out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	BIO_free(bio_out);
 | 
			
		||||
	bio_out=NULL;
 | 
			
		||||
	X509_CRL_free(x);
 | 
			
		||||
	if(store) {
 | 
			
		||||
 
 | 
			
		||||
@@ -141,7 +141,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if (strcmp(*argv,"-certfile") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			if(!certflst) certflst = sk_new_null();
 | 
			
		||||
			if(!certflst) certflst = sk_new(NULL);
 | 
			
		||||
			sk_push(certflst,*(++argv));
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
@@ -215,7 +215,7 @@ bad:
 | 
			
		||||
	p7s->contents->type=OBJ_nid2obj(NID_pkcs7_data);
 | 
			
		||||
 | 
			
		||||
	if (!ASN1_INTEGER_set(p7s->version,1)) goto end;
 | 
			
		||||
	if ((crl_stack=sk_X509_CRL_new_null()) == NULL) goto end;
 | 
			
		||||
	if ((crl_stack=sk_X509_CRL_new(NULL)) == NULL) goto end;
 | 
			
		||||
	p7s->crl=crl_stack;
 | 
			
		||||
	if (crl != NULL)
 | 
			
		||||
		{
 | 
			
		||||
@@ -223,7 +223,7 @@ bad:
 | 
			
		||||
		crl=NULL; /* now part of p7 for OPENSSL_freeing */
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if ((cert_stack=sk_X509_new_null()) == NULL) goto end;
 | 
			
		||||
	if ((cert_stack=sk_X509_new(NULL)) == NULL) goto end;
 | 
			
		||||
	p7s->cert=cert_stack;
 | 
			
		||||
 | 
			
		||||
	if(certflst) for(i = 0; i < sk_num(certflst); i++) {
 | 
			
		||||
@@ -239,15 +239,7 @@ bad:
 | 
			
		||||
	sk_free(certflst);
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -274,7 +266,7 @@ bad:
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (p7 != NULL) PKCS7_free(p7);
 | 
			
		||||
	if (crl != NULL) X509_CRL_free(crl);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								apps/dgst.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								apps/dgst.c
									
									
									
									
									
								
							@@ -74,7 +74,7 @@
 | 
			
		||||
#define PROG	dgst_main
 | 
			
		||||
 | 
			
		||||
void do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, char binout,
 | 
			
		||||
		EVP_PKEY *key, unsigned char *sigin, int siglen);
 | 
			
		||||
		EVP_PKEY *key, unsigned char *sigin, unsigned int siglen);
 | 
			
		||||
 | 
			
		||||
int MAIN(int, char **);
 | 
			
		||||
 | 
			
		||||
@@ -96,7 +96,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	char out_bin = -1, want_pub = 0, do_verify = 0;
 | 
			
		||||
	EVP_PKEY *sigkey = NULL;
 | 
			
		||||
	unsigned char *sigbuf = NULL;
 | 
			
		||||
	int siglen = 0;
 | 
			
		||||
	unsigned int siglen = 0;
 | 
			
		||||
 | 
			
		||||
	apps_startup();
 | 
			
		||||
 | 
			
		||||
@@ -236,15 +236,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		if(out_bin)
 | 
			
		||||
			out = BIO_new_file(outfile, "wb");
 | 
			
		||||
		else    out = BIO_new_file(outfile, "w");
 | 
			
		||||
	} else {
 | 
			
		||||
		out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
	} else out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if(!out) {
 | 
			
		||||
		BIO_printf(bio_err, "Error opening output file %s\n", 
 | 
			
		||||
@@ -331,7 +323,7 @@ end:
 | 
			
		||||
		OPENSSL_free(buf);
 | 
			
		||||
		}
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	EVP_PKEY_free(sigkey);
 | 
			
		||||
	if(sigbuf) OPENSSL_free(sigbuf);
 | 
			
		||||
	if (bmd != NULL) BIO_free(bmd);
 | 
			
		||||
@@ -339,7 +331,7 @@ end:
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
void do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, char binout,
 | 
			
		||||
			EVP_PKEY *key, unsigned char *sigin, int siglen)
 | 
			
		||||
			EVP_PKEY *key, unsigned char *sigin, unsigned int siglen)
 | 
			
		||||
	{
 | 
			
		||||
	int len;
 | 
			
		||||
	int i;
 | 
			
		||||
@@ -353,7 +345,7 @@ void do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, char binout,
 | 
			
		||||
		{
 | 
			
		||||
		EVP_MD_CTX *ctx;
 | 
			
		||||
		BIO_get_md_ctx(bp, &ctx);
 | 
			
		||||
		i = EVP_VerifyFinal(ctx, sigin, (unsigned int)siglen, key); 
 | 
			
		||||
		i = EVP_VerifyFinal(ctx, sigin, siglen, key); 
 | 
			
		||||
		if(i > 0) BIO_printf(out, "Verified OK\n");
 | 
			
		||||
		else if(i == 0) BIO_printf(out, "Verification Failure\n");
 | 
			
		||||
		else
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								apps/dh.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								apps/dh.c
									
									
									
									
									
								
							@@ -184,15 +184,7 @@ bad:
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -317,7 +309,7 @@ bad:
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (dh != NULL) DH_free(dh);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -391,15 +391,7 @@ bad:
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -504,7 +496,7 @@ bad:
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (dh != NULL) DH_free(dh);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								apps/dsa.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								apps/dsa.c
									
									
									
									
									
								
							@@ -233,15 +233,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -289,7 +281,7 @@ bad:
 | 
			
		||||
		ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if(in != NULL) BIO_free(in);
 | 
			
		||||
	if(out != NULL) BIO_free_all(out);
 | 
			
		||||
	if(out != NULL) BIO_free(out);
 | 
			
		||||
	if(dsa != NULL) DSA_free(dsa);
 | 
			
		||||
	if(passin) OPENSSL_free(passin);
 | 
			
		||||
	if(passout) OPENSSL_free(passout);
 | 
			
		||||
 
 | 
			
		||||
@@ -205,15 +205,7 @@ bad:
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -355,7 +347,7 @@ bad:
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (dsa != NULL) DSA_free(dsa);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								apps/enc.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								apps/enc.c
									
									
									
									
									
								
							@@ -416,15 +416,7 @@ bad:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if (outf == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outf) <= 0)
 | 
			
		||||
@@ -592,7 +584,7 @@ end:
 | 
			
		||||
	if (strbuf != NULL) OPENSSL_free(strbuf);
 | 
			
		||||
	if (buff != NULL) OPENSSL_free(buff);
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (benc != NULL) BIO_free(benc);
 | 
			
		||||
	if (b64 != NULL) BIO_free(b64);
 | 
			
		||||
	if(pass) OPENSSL_free(pass);
 | 
			
		||||
 
 | 
			
		||||
@@ -91,18 +91,12 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		out=BIO_new(BIO_s_file());
 | 
			
		||||
		if ((out != NULL) && BIO_set_fp(out,stdout,BIO_NOCLOSE))
 | 
			
		||||
			{
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			out = BIO_push(tmpbio, out);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			lh_node_stats_bio((LHASH *)ERR_get_string_table(),out);
 | 
			
		||||
			lh_stats_bio((LHASH *)ERR_get_string_table(),out);
 | 
			
		||||
			lh_node_usage_stats_bio((LHASH *)
 | 
			
		||||
				ERR_get_string_table(),out);
 | 
			
		||||
			}
 | 
			
		||||
		if (out != NULL) BIO_free_all(out);
 | 
			
		||||
		if (out != NULL) BIO_free(out);
 | 
			
		||||
		argc--;
 | 
			
		||||
		argv++;
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								apps/gendh.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								apps/gendh.c
									
									
									
									
									
								
							@@ -142,15 +142,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -182,7 +174,7 @@ bad:
 | 
			
		||||
end:
 | 
			
		||||
	if (ret != 0)
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (dh != NULL) DH_free(dh);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -178,15 +178,7 @@ bad:
 | 
			
		||||
	if (out == NULL) goto end;
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -217,7 +209,7 @@ end:
 | 
			
		||||
	if (ret != 0)
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (dsa != NULL) DSA_free(dsa);
 | 
			
		||||
	if(passout) OPENSSL_free(passout);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
 
 | 
			
		||||
@@ -168,15 +168,7 @@ bad:
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -220,7 +212,7 @@ bad:
 | 
			
		||||
	ret=0;
 | 
			
		||||
err:
 | 
			
		||||
	if (rsa != NULL) RSA_free(rsa);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if(passout) OPENSSL_free(passout);
 | 
			
		||||
	if (ret != 0)
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								apps/nseq.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								apps/nseq.c
									
									
									
									
									
								
							@@ -119,18 +119,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				 "Can't open output file %s\n", outfile);
 | 
			
		||||
			goto end;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
	} else out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if (toseq) {
 | 
			
		||||
		seq = NETSCAPE_CERT_SEQUENCE_new();
 | 
			
		||||
		seq->certs = sk_X509_new_null();
 | 
			
		||||
		seq->certs = sk_X509_new(NULL);
 | 
			
		||||
		while((x509 = PEM_read_bio_X509(in, NULL, NULL, NULL))) 
 | 
			
		||||
		    sk_X509_push(seq->certs,x509);
 | 
			
		||||
 | 
			
		||||
@@ -159,7 +152,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	ret = 0;
 | 
			
		||||
end:
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	NETSCAPE_CERT_SEQUENCE_free(seq);
 | 
			
		||||
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
 
 | 
			
		||||
@@ -238,19 +238,13 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
 | 
			
		||||
	else if ((strncmp(argv[0],"no-",3)) == 0)
 | 
			
		||||
		{
 | 
			
		||||
		BIO *bio_stdout = BIO_new_fp(stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		bio_stdout = BIO_push(tmpbio, bio_stdout);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		f.name=argv[0]+3;
 | 
			
		||||
		ret = (lh_retrieve(prog,&f) != NULL);
 | 
			
		||||
		if (!ret)
 | 
			
		||||
			BIO_printf(bio_stdout, "%s\n", argv[0]);
 | 
			
		||||
		else
 | 
			
		||||
			BIO_printf(bio_stdout, "%s\n", argv[0]+3);
 | 
			
		||||
		BIO_free_all(bio_stdout);
 | 
			
		||||
		BIO_free(bio_stdout);
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
	else if ((strcmp(argv[0],"quit") == 0) ||
 | 
			
		||||
@@ -275,17 +269,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
 | 
			
		||||
		else /* strcmp(argv[0],LIST_CIPHER_COMMANDS) == 0 */
 | 
			
		||||
			list_type = FUNC_TYPE_CIPHER;
 | 
			
		||||
		bio_stdout = BIO_new_fp(stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		bio_stdout = BIO_push(tmpbio, bio_stdout);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		
 | 
			
		||||
		for (fp=functions; fp->name != NULL; fp++)
 | 
			
		||||
			if (fp->type == list_type)
 | 
			
		||||
				BIO_printf(bio_stdout, "%s\n", fp->name);
 | 
			
		||||
		BIO_free_all(bio_stdout);
 | 
			
		||||
		BIO_free(bio_stdout);
 | 
			
		||||
		ret=0;
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -81,12 +81,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	if (out == NULL)
 | 
			
		||||
		goto err;
 | 
			
		||||
	BIO_set_fp(out, stdout, BIO_NOCLOSE | BIO_FP_TEXT);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
	{
 | 
			
		||||
	BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
	out = BIO_push(tmpbio, out);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	badopt = 0, opt_done = 0;
 | 
			
		||||
	i = 0;
 | 
			
		||||
@@ -282,7 +276,7 @@ err:
 | 
			
		||||
	if (in)
 | 
			
		||||
		BIO_free(in);
 | 
			
		||||
	if (out)
 | 
			
		||||
		BIO_free_all(out);
 | 
			
		||||
		BIO_free(out);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -197,7 +197,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		} else if (!strcmp (*args, "-caname")) {
 | 
			
		||||
		    if (args[1]) {
 | 
			
		||||
			args++;	
 | 
			
		||||
			if (!canames) canames = sk_new_null();
 | 
			
		||||
			if (!canames) canames = sk_new(NULL);
 | 
			
		||||
			sk_push(canames, *args);
 | 
			
		||||
		    } else badarg = 1;
 | 
			
		||||
		} else if (!strcmp (*args, "-in")) {
 | 
			
		||||
@@ -350,15 +350,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
    CRYPTO_push_info("write files");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    if (!outfile) {
 | 
			
		||||
	out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
	{
 | 
			
		||||
	    BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
	    out = BIO_push(tmpbio, out);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
    } else out = BIO_new_file(outfile, "wb");
 | 
			
		||||
    if (!outfile) out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
    else out = BIO_new_file(outfile, "wb");
 | 
			
		||||
    if (!out) {
 | 
			
		||||
	BIO_printf(bio_err, "Error opening output file %s\n",
 | 
			
		||||
						outfile ? outfile : "<stdout>");
 | 
			
		||||
@@ -411,7 +404,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	CRYPTO_push_info("reading certs from input");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	certs = sk_X509_new_null();
 | 
			
		||||
	certs = sk_X509_new(NULL);
 | 
			
		||||
 | 
			
		||||
	/* Load in all certs in input file */
 | 
			
		||||
	if(!cert_load(in, certs)) {
 | 
			
		||||
@@ -443,7 +436,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	CRYPTO_push_info("reading certs from certfile");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	bags = sk_PKCS12_SAFEBAG_new_null ();
 | 
			
		||||
	bags = sk_PKCS12_SAFEBAG_new (NULL);
 | 
			
		||||
 | 
			
		||||
	/* Add any more certificates asked for */
 | 
			
		||||
	if (certsin) {
 | 
			
		||||
@@ -534,7 +527,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		goto export_end;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	safes = sk_PKCS7_new_null ();
 | 
			
		||||
	safes = sk_PKCS7_new (NULL);
 | 
			
		||||
	sk_PKCS7_push (safes, authsafe);
 | 
			
		||||
 | 
			
		||||
#ifdef CRYPTO_MDEBUG
 | 
			
		||||
@@ -550,7 +543,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	p8 = NULL;
 | 
			
		||||
        if (name) PKCS12_add_friendlyname (bag, name, -1);
 | 
			
		||||
	PKCS12_add_localkeyid (bag, keyid, keyidlen);
 | 
			
		||||
	bags = sk_PKCS12_SAFEBAG_new_null();
 | 
			
		||||
	bags = sk_PKCS12_SAFEBAG_new(NULL);
 | 
			
		||||
	sk_PKCS12_SAFEBAG_push (bags, bag);
 | 
			
		||||
 | 
			
		||||
#ifdef CRYPTO_MDEBUG
 | 
			
		||||
@@ -664,7 +657,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
    CRYPTO_remove_all_info();
 | 
			
		||||
#endif
 | 
			
		||||
    BIO_free(in);
 | 
			
		||||
    BIO_free_all(out);
 | 
			
		||||
    BIO_free(out);
 | 
			
		||||
    if (canames) sk_free(canames);
 | 
			
		||||
    if(passin) OPENSSL_free(passin);
 | 
			
		||||
    if(passout) OPENSSL_free(passout);
 | 
			
		||||
@@ -887,14 +880,14 @@ int print_attribs (BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst, char *name)
 | 
			
		||||
				break;
 | 
			
		||||
 | 
			
		||||
				case V_ASN1_OCTET_STRING:
 | 
			
		||||
				hex_prin(out, av->value.octet_string->data,
 | 
			
		||||
					av->value.octet_string->length);
 | 
			
		||||
				hex_prin(out, av->value.bit_string->data,
 | 
			
		||||
					av->value.bit_string->length);
 | 
			
		||||
				BIO_printf(out, "\n");	
 | 
			
		||||
				break;
 | 
			
		||||
 | 
			
		||||
				case V_ASN1_BIT_STRING:
 | 
			
		||||
				hex_prin(out, av->value.bit_string->data,
 | 
			
		||||
					av->value.bit_string->length);
 | 
			
		||||
				hex_prin(out, av->value.octet_string->data,
 | 
			
		||||
					av->value.octet_string->length);
 | 
			
		||||
				BIO_printf(out, "\n");	
 | 
			
		||||
				break;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								apps/pkcs7.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								apps/pkcs7.c
									
									
									
									
									
								
							@@ -196,15 +196,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -288,6 +280,6 @@ bad:
 | 
			
		||||
end:
 | 
			
		||||
	if (p7 != NULL) PKCS7_free(p7);
 | 
			
		||||
	if (in != NULL) BIO_free(in);
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								apps/pkcs8.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								apps/pkcs8.c
									
									
									
									
									
								
							@@ -194,15 +194,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				 "Can't open output file %s\n", outfile);
 | 
			
		||||
			return (1);
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		out = BIO_new_fp (stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
	} else out = BIO_new_fp (stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if (topk8) {
 | 
			
		||||
		if(informat == FORMAT_PEM)
 | 
			
		||||
			pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, passin);
 | 
			
		||||
@@ -260,7 +253,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		}
 | 
			
		||||
		PKCS8_PRIV_KEY_INFO_free (p8inf);
 | 
			
		||||
		EVP_PKEY_free(pkey);
 | 
			
		||||
		BIO_free_all(out);
 | 
			
		||||
		BIO_free(out);
 | 
			
		||||
		if(passin) OPENSSL_free(passin);
 | 
			
		||||
		if(passout) OPENSSL_free(passout);
 | 
			
		||||
		return (0);
 | 
			
		||||
@@ -343,7 +336,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	EVP_PKEY_free(pkey);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
	if(passin) OPENSSL_free(passin);
 | 
			
		||||
	if(passout) OPENSSL_free(passout);
 | 
			
		||||
 
 | 
			
		||||
@@ -101,15 +101,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	if (outfile != NULL)
 | 
			
		||||
		r = BIO_write_filename(out, outfile);
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		r = BIO_set_fp(out, stdout, BIO_NOCLOSE | BIO_FP_TEXT);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	if (r <= 0)
 | 
			
		||||
		goto err;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								apps/req.c
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								apps/req.c
									
									
									
									
									
								
							@@ -143,7 +143,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef NO_DSA
 | 
			
		||||
	DSA *dsa_params=NULL;
 | 
			
		||||
#endif
 | 
			
		||||
	unsigned long nmflag = 0;
 | 
			
		||||
	int ex=1,x509=0,days=30;
 | 
			
		||||
	X509 *x509ss=NULL;
 | 
			
		||||
	X509_REQ *req=NULL;
 | 
			
		||||
@@ -151,7 +150,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int i,badops=0,newreq=0,newkey= -1,pkey_type=0;
 | 
			
		||||
	BIO *in=NULL,*out=NULL;
 | 
			
		||||
	int informat,outformat,verify=0,noout=0,text=0,keyform=FORMAT_PEM;
 | 
			
		||||
	int nodes=0,kludge=0,newhdr=0,subject=0;
 | 
			
		||||
	int nodes=0,kludge=0,newhdr=0;
 | 
			
		||||
	char *infile,*outfile,*prog,*keyfile=NULL,*template=NULL,*keyout=NULL;
 | 
			
		||||
	char *extensions = NULL;
 | 
			
		||||
	char *req_exts = NULL;
 | 
			
		||||
@@ -323,13 +322,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			nodes=1;
 | 
			
		||||
		else if (strcmp(*argv,"-noout") == 0)
 | 
			
		||||
			noout=1;
 | 
			
		||||
		else if (strcmp(*argv,"-nameopt") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			if (!set_name_ex(&nmflag, *(++argv))) goto bad;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-subject") == 0)
 | 
			
		||||
			subject=1;
 | 
			
		||||
		else if (strcmp(*argv,"-text") == 0)
 | 
			
		||||
			text=1;
 | 
			
		||||
		else if (strcmp(*argv,"-x509") == 0)
 | 
			
		||||
@@ -617,12 +609,6 @@ bad:
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"writing new private key to stdout\n");
 | 
			
		||||
			BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			out = BIO_push(tmpbio, out);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
@@ -811,22 +797,14 @@ loop:
 | 
			
		||||
			BIO_printf(bio_err,"verify OK\n");
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (noout && !text && !modulus && !subject)
 | 
			
		||||
	if (noout && !text && !modulus)
 | 
			
		||||
		{
 | 
			
		||||
		ex=0;
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if ((keyout != NULL) && (strcmp(outfile,keyout) == 0))
 | 
			
		||||
@@ -848,14 +826,6 @@ loop:
 | 
			
		||||
			X509_REQ_print(out,req);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if(subject) 
 | 
			
		||||
		{
 | 
			
		||||
		if(x509)
 | 
			
		||||
			print_name(out, "subject=", X509_get_subject_name(x509ss), nmflag);
 | 
			
		||||
		else
 | 
			
		||||
			print_name(out, "subject=", X509_REQ_get_subject_name(req), nmflag);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (modulus)
 | 
			
		||||
		{
 | 
			
		||||
		EVP_PKEY *pubkey;
 | 
			
		||||
@@ -920,7 +890,7 @@ end:
 | 
			
		||||
		}
 | 
			
		||||
	if ((req_conf != NULL) && (req_conf != config)) CONF_free(req_conf);
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	EVP_PKEY_free(pkey);
 | 
			
		||||
	X509_REQ_free(req);
 | 
			
		||||
	X509_free(x509ss);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								apps/rsa.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								apps/rsa.c
									
									
									
									
									
								
							@@ -278,15 +278,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (outfile == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -385,7 +377,7 @@ bad:
 | 
			
		||||
		ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if(in != NULL) BIO_free(in);
 | 
			
		||||
	if(out != NULL) BIO_free_all(out);
 | 
			
		||||
	if(out != NULL) BIO_free(out);
 | 
			
		||||
	if(rsa != NULL) RSA_free(rsa);
 | 
			
		||||
	if(passin) OPENSSL_free(passin);
 | 
			
		||||
	if(passout) OPENSSL_free(passout);
 | 
			
		||||
 
 | 
			
		||||
@@ -198,15 +198,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			ERR_print_errors(bio_err);	
 | 
			
		||||
			goto end;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		    BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		    out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
	} else out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	keysize = RSA_size(rsa);
 | 
			
		||||
 | 
			
		||||
@@ -263,7 +255,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	end:
 | 
			
		||||
	RSA_free(rsa);
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	if(rsa_in) OPENSSL_free(rsa_in);
 | 
			
		||||
	if(rsa_out) OPENSSL_free(rsa_out);
 | 
			
		||||
	return ret;
 | 
			
		||||
 
 | 
			
		||||
@@ -209,11 +209,9 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port)
 | 
			
		||||
	s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
 | 
			
		||||
	if (s == INVALID_SOCKET) { perror("socket"); return(0); }
 | 
			
		||||
 | 
			
		||||
#ifndef MPE
 | 
			
		||||
	i=0;
 | 
			
		||||
	i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
 | 
			
		||||
	if (i < 0) { perror("keepalive"); return(0); }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (connect(s,(struct sockaddr *)&them,sizeof(them)) == -1)
 | 
			
		||||
		{ close(s); perror("connect"); return(0); }
 | 
			
		||||
 
 | 
			
		||||
@@ -206,15 +206,7 @@ bad:
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (outfile == NULL)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			out = BIO_push(tmpbio, out);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -270,7 +262,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
	if (out != NULL) BIO_free_all(out);
 | 
			
		||||
	if (out != NULL) BIO_free(out);
 | 
			
		||||
	if (x != NULL) SSL_SESSION_free(x);
 | 
			
		||||
	EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								apps/smime.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								apps/smime.c
									
									
									
									
									
								
							@@ -393,15 +393,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				 "Can't open output file %s\n", outfile);
 | 
			
		||||
			goto end;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		    BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		    out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
	} else out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if(operation == SMIME_VERIFY) {
 | 
			
		||||
		if(!(store = setup_verify(CAfile, CApath))) goto end;
 | 
			
		||||
@@ -498,7 +490,7 @@ end:
 | 
			
		||||
	PKCS7_free(p7);
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
	BIO_free(indata);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	if(passin) OPENSSL_free(passin);
 | 
			
		||||
	return (ret);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										97
									
								
								apps/speed.c
									
									
									
									
									
								
							
							
						
						
									
										97
									
								
								apps/speed.c
									
									
									
									
									
								
							@@ -87,7 +87,7 @@
 | 
			
		||||
#elif !defined(MSDOS) && (!defined(VMS) || defined(__DECC))
 | 
			
		||||
# define TIMES
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX) && !defined(MPE)
 | 
			
		||||
#if !defined(_UNICOS)
 | 
			
		||||
# define TIMEB
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -115,7 +115,7 @@
 | 
			
		||||
#include <sys/timeb.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(TIMES) && !defined(TIMEB) && !defined(USE_TOD)
 | 
			
		||||
#if !defined(TIMES) && !defined(TIMEB)
 | 
			
		||||
#error "It seems neither struct tms nor struct timeb is supported in this platform!"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -318,7 +318,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#define DSA_NUM		3
 | 
			
		||||
	long count,rsa_count;
 | 
			
		||||
	int i,j,k;
 | 
			
		||||
	unsigned rsa_num;
 | 
			
		||||
	unsigned rsa_num,rsa_num2;
 | 
			
		||||
#ifndef NO_MD2
 | 
			
		||||
	unsigned char md2[MD2_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1133,73 +1133,49 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		int ret;
 | 
			
		||||
		if (!rsa_doit[j]) continue;
 | 
			
		||||
		ret=RSA_sign(NID_md5_sha1, buf,36, buf2, &rsa_num, rsa_key[j]);
 | 
			
		||||
		if (ret == 0)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"RSA sign failure.  No RSA sign will be done.\n");
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			rsa_count=1;
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			pkey_print_message("private","rsa",
 | 
			
		||||
				rsa_c[j][0],rsa_bits[j],
 | 
			
		||||
		pkey_print_message("private","rsa",rsa_c[j][0],rsa_bits[j],
 | 
			
		||||
			RSA_SECONDS);
 | 
			
		||||
/*		RSA_blinding_on(rsa_key[j],NULL); */
 | 
			
		||||
		Time_F(START,usertime);
 | 
			
		||||
		for (count=0,run=1; COND(rsa_c[j][0]); count++)
 | 
			
		||||
			{
 | 
			
		||||
				ret=RSA_sign(NID_md5_sha1, buf,36, buf2,
 | 
			
		||||
					&rsa_num, rsa_key[j]);
 | 
			
		||||
				if (ret == 0)
 | 
			
		||||
			ret=RSA_sign(NID_md5_sha1, buf,36, buf2, &rsa_num,
 | 
			
		||||
								 rsa_key[j]);
 | 
			
		||||
			if (ret <= 0)
 | 
			
		||||
				{
 | 
			
		||||
					BIO_printf(bio_err,
 | 
			
		||||
						"RSA sign failure\n");
 | 
			
		||||
				BIO_printf(bio_err,"RSA private encrypt failure\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				count=1;
 | 
			
		||||
				break;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		d=Time_F(STOP,usertime);
 | 
			
		||||
			BIO_printf(bio_err,
 | 
			
		||||
				"%ld %d bit private RSA's in %.2fs\n",
 | 
			
		||||
		BIO_printf(bio_err,"%ld %d bit private RSA's in %.2fs\n",
 | 
			
		||||
			count,rsa_bits[j],d);
 | 
			
		||||
		rsa_results[j][0]=d/(double)count;
 | 
			
		||||
		rsa_count=count;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
#if 1
 | 
			
		||||
		ret=RSA_verify(NID_md5_sha1, buf,36, buf2, rsa_num, rsa_key[j]);
 | 
			
		||||
		if (ret <= 0)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"RSA verify failure.  No RSA verify will be done.\n");
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			dsa_doit[j] = 0;
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			pkey_print_message("public","rsa",
 | 
			
		||||
				rsa_c[j][1],rsa_bits[j],
 | 
			
		||||
		pkey_print_message("public","rsa",rsa_c[j][1],rsa_bits[j],
 | 
			
		||||
			RSA_SECONDS);
 | 
			
		||||
		Time_F(START,usertime);
 | 
			
		||||
		for (count=0,run=1; COND(rsa_c[j][1]); count++)
 | 
			
		||||
			{
 | 
			
		||||
				ret=RSA_verify(NID_md5_sha1, buf,36, buf2,
 | 
			
		||||
					rsa_num, rsa_key[j]);
 | 
			
		||||
				if (ret == 0)
 | 
			
		||||
			ret=RSA_verify(NID_md5_sha1, buf,36, buf2, rsa_num,
 | 
			
		||||
								rsa_key[j]);
 | 
			
		||||
			if (ret <= 0)
 | 
			
		||||
				{
 | 
			
		||||
					BIO_printf(bio_err,
 | 
			
		||||
						"RSA verify failure\n");
 | 
			
		||||
				BIO_printf(bio_err,"RSA verify failure\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				count=1;
 | 
			
		||||
				break;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		d=Time_F(STOP,usertime);
 | 
			
		||||
			BIO_printf(bio_err,
 | 
			
		||||
				"%ld %d bit public RSA's in %.2fs\n",
 | 
			
		||||
		BIO_printf(bio_err,"%ld %d bit public RSA's in %.2fs\n",
 | 
			
		||||
			count,rsa_bits[j],d);
 | 
			
		||||
		rsa_results[j][1]=d/(double)count;
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		if (rsa_count <= 1)
 | 
			
		||||
@@ -1221,33 +1197,22 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	for (j=0; j<DSA_NUM; j++)
 | 
			
		||||
		{
 | 
			
		||||
		unsigned int kk;
 | 
			
		||||
		int ret;
 | 
			
		||||
 | 
			
		||||
		if (!dsa_doit[j]) continue;
 | 
			
		||||
		DSA_generate_key(dsa_key[j]);
 | 
			
		||||
/*		DSA_sign_setup(dsa_key[j],NULL); */
 | 
			
		||||
		ret=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
		rsa_num=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
			&kk,dsa_key[j]);
 | 
			
		||||
		if (ret == 0)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"DSA sign failure.  No DSA sign will be done.\n");
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			rsa_count=1;
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			pkey_print_message("sign","dsa",
 | 
			
		||||
				dsa_c[j][0],dsa_bits[j],
 | 
			
		||||
		pkey_print_message("sign","dsa",dsa_c[j][0],dsa_bits[j],
 | 
			
		||||
			DSA_SECONDS);
 | 
			
		||||
		Time_F(START,usertime);
 | 
			
		||||
		for (count=0,run=1; COND(dsa_c[j][0]); count++)
 | 
			
		||||
			{
 | 
			
		||||
				ret=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
			rsa_num=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
				&kk,dsa_key[j]);
 | 
			
		||||
				if (ret == 0)
 | 
			
		||||
			if (rsa_num == 0)
 | 
			
		||||
				{
 | 
			
		||||
					BIO_printf(bio_err,
 | 
			
		||||
						"DSA sign failure\n");
 | 
			
		||||
				BIO_printf(bio_err,"DSA sign failure\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				count=1;
 | 
			
		||||
				break;
 | 
			
		||||
@@ -1258,30 +1223,19 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			count,dsa_bits[j],d);
 | 
			
		||||
		dsa_results[j][0]=d/(double)count;
 | 
			
		||||
		rsa_count=count;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		ret=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
		rsa_num2=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
			kk,dsa_key[j]);
 | 
			
		||||
		if (ret <= 0)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"DSA verify failure.  No DSA verify will be done.\n");
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			dsa_doit[j] = 0;
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			pkey_print_message("verify","dsa",
 | 
			
		||||
				dsa_c[j][1],dsa_bits[j],
 | 
			
		||||
		pkey_print_message("verify","dsa",dsa_c[j][1],dsa_bits[j],
 | 
			
		||||
			DSA_SECONDS);
 | 
			
		||||
		Time_F(START,usertime);
 | 
			
		||||
		for (count=0,run=1; COND(dsa_c[j][1]); count++)
 | 
			
		||||
			{
 | 
			
		||||
				ret=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
			rsa_num2=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,
 | 
			
		||||
				kk,dsa_key[j]);
 | 
			
		||||
				if (ret <= 0)
 | 
			
		||||
			if (rsa_num2 == 0)
 | 
			
		||||
				{
 | 
			
		||||
					BIO_printf(bio_err,
 | 
			
		||||
						"DSA verify failure\n");
 | 
			
		||||
				BIO_printf(bio_err,"DSA verify failure\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				count=1;
 | 
			
		||||
				break;
 | 
			
		||||
@@ -1291,7 +1245,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		BIO_printf(bio_err,"%ld %d bit DSA verify in %.2fs\n",
 | 
			
		||||
			count,dsa_bits[j],d);
 | 
			
		||||
		dsa_results[j][1]=d/(double)count;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (rsa_count <= 1)
 | 
			
		||||
			{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								apps/spkac.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								apps/spkac.c
									
									
									
									
									
								
							@@ -192,15 +192,7 @@ bad:
 | 
			
		||||
		spkstr = NETSCAPE_SPKI_b64_encode(spki);
 | 
			
		||||
 | 
			
		||||
		if (outfile) out = BIO_new_file(outfile, "w");
 | 
			
		||||
		else {
 | 
			
		||||
			out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			    BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			    out = BIO_push(tmpbio, out);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
		else out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
		if(!out) {
 | 
			
		||||
			BIO_printf(bio_err, "Error opening output file\n");
 | 
			
		||||
@@ -249,15 +241,7 @@ bad:
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (outfile) out = BIO_new_file(outfile, "w");
 | 
			
		||||
	else {
 | 
			
		||||
		out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
		{
 | 
			
		||||
		    BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
		    out = BIO_push(tmpbio, out);
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
	else out = BIO_new_fp(stdout, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if(!out) {
 | 
			
		||||
		BIO_printf(bio_err, "Error opening output file\n");
 | 
			
		||||
@@ -284,7 +268,7 @@ end:
 | 
			
		||||
	CONF_free(conf);
 | 
			
		||||
	NETSCAPE_SPKI_free(spki);
 | 
			
		||||
	BIO_free(in);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	BIO_free(key);
 | 
			
		||||
	EVP_PKEY_free(pkey);
 | 
			
		||||
	if(passin) OPENSSL_free(passin);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								apps/x509.c
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								apps/x509.c
									
									
									
									
									
								
							@@ -129,7 +129,6 @@ static char *x509_usage[]={
 | 
			
		||||
" -extensions     - section from config file with X509V3 extensions to add\n",
 | 
			
		||||
" -clrext         - delete extensions before signing and input certificate\n",
 | 
			
		||||
" -nameopt arg    - various certificate name options\n",
 | 
			
		||||
" -certopt arg    - various certificate text options\n",
 | 
			
		||||
NULL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -175,7 +174,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	char *extsect = NULL, *extfile = NULL, *passin = NULL, *passargin = NULL;
 | 
			
		||||
	int need_rand = 0;
 | 
			
		||||
	int checkend=0,checkoffset=0;
 | 
			
		||||
	unsigned long nmflag = 0, certflag = 0;
 | 
			
		||||
	unsigned long nmflag = 0;
 | 
			
		||||
 | 
			
		||||
	reqfile=0;
 | 
			
		||||
 | 
			
		||||
@@ -184,12 +183,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	if (bio_err == NULL)
 | 
			
		||||
		bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
 | 
			
		||||
	STDout=BIO_new_fp(stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
	{
 | 
			
		||||
	BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
	STDout = BIO_push(tmpbio, STDout);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	informat=FORMAT_PEM;
 | 
			
		||||
	outformat=FORMAT_PEM;
 | 
			
		||||
@@ -327,11 +320,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			alias= *(++argv);
 | 
			
		||||
			trustout = 1;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-certopt") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			if (!set_cert_ex(&certflag, *(++argv))) goto bad;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-nameopt") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
@@ -588,15 +576,7 @@ bad:
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
		if (outfile == NULL)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
			{
 | 
			
		||||
			BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
			out = BIO_push(tmpbio, out);
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			if (BIO_write_filename(out,outfile) <= 0)
 | 
			
		||||
@@ -780,7 +760,7 @@ bad:
 | 
			
		||||
				}
 | 
			
		||||
			else if (text == i)
 | 
			
		||||
				{
 | 
			
		||||
				X509_print_ex(out,x,nmflag, certflag);
 | 
			
		||||
				X509_print(out,x);
 | 
			
		||||
				}
 | 
			
		||||
			else if (startdate == i)
 | 
			
		||||
				{
 | 
			
		||||
@@ -953,8 +933,8 @@ end:
 | 
			
		||||
		app_RAND_write_file(NULL, bio_err);
 | 
			
		||||
	OBJ_cleanup();
 | 
			
		||||
	CONF_free(extconf);
 | 
			
		||||
	BIO_free_all(out);
 | 
			
		||||
	BIO_free_all(STDout);
 | 
			
		||||
	BIO_free(out);
 | 
			
		||||
	BIO_free(STDout);
 | 
			
		||||
	X509_STORE_free(ctx);
 | 
			
		||||
	X509_REQ_free(req);
 | 
			
		||||
	X509_free(x);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								config
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								config
									
									
									
									
									
								
							@@ -71,10 +71,6 @@ fi
 | 
			
		||||
# Now we simply scan though... In most cases, the SYSTEM info is enough
 | 
			
		||||
#
 | 
			
		||||
case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
 | 
			
		||||
    MPE/iX:*)
 | 
			
		||||
	MACHINE=`echo "$MACHINE" | sed -e 's/-/_/g'`
 | 
			
		||||
	echo "parisc-hp-MPE/iX"; exit 0
 | 
			
		||||
	;;
 | 
			
		||||
    A/UX:*)
 | 
			
		||||
	echo "m68k-apple-aux3"; exit 0
 | 
			
		||||
	;;
 | 
			
		||||
@@ -251,10 +247,6 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
 | 
			
		||||
	echo "${MACHINE}-v11-${SYSTEM}"; exit 0;
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    NEWS-OS:4.*)
 | 
			
		||||
	echo "mips-sony-newsos4"; exit 0;
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
@@ -478,7 +470,6 @@ case "$GUESSOS" in
 | 
			
		||||
  # these are all covered by the catchall below
 | 
			
		||||
  # *-aix) OUT="aix-$CC" ;;
 | 
			
		||||
  # *-dgux) OUT="dgux" ;;
 | 
			
		||||
  mips-sony-newsos4) OUT="newsos4-gcc" ;;
 | 
			
		||||
  *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -90,8 +90,7 @@ links:
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
libs:
 | 
			
		||||
 
 | 
			
		||||
@@ -75,8 +75,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -158,7 +158,7 @@ STACK *d2i_ASN1_SET(STACK **a, unsigned char **pp, long length,
 | 
			
		||||
	STACK *ret=NULL;
 | 
			
		||||
 | 
			
		||||
	if ((a == NULL) || ((*a) == NULL))
 | 
			
		||||
		{ if ((ret=sk_new_null()) == NULL) goto err; }
 | 
			
		||||
		{ if ((ret=sk_new(NULL)) == NULL) goto err; }
 | 
			
		||||
	else
 | 
			
		||||
		ret=(*a);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -491,24 +491,12 @@ static int do_name_ex(char_io *io_ch, void *arg, X509_NAME *n,
 | 
			
		||||
 | 
			
		||||
int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags)
 | 
			
		||||
{
 | 
			
		||||
	if(flags == XN_FLAG_COMPAT)
 | 
			
		||||
		return X509_NAME_print(out, nm, indent);
 | 
			
		||||
	return do_name_ex(send_bio_chars, out, nm, indent, flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long flags)
 | 
			
		||||
{
 | 
			
		||||
	if(flags == XN_FLAG_COMPAT)
 | 
			
		||||
		{
 | 
			
		||||
		BIO *btmp;
 | 
			
		||||
		int ret;
 | 
			
		||||
		btmp = BIO_new_fp(fp, BIO_NOCLOSE);
 | 
			
		||||
		if(!btmp) return -1;
 | 
			
		||||
		ret = X509_NAME_print(btmp, nm, indent);
 | 
			
		||||
		BIO_free(btmp);
 | 
			
		||||
		return ret;
 | 
			
		||||
		}
 | 
			
		||||
	return do_name_ex(send_fp_chars, fp, nm, indent, flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -133,7 +133,7 @@ ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned char *in,
 | 
			
		||||
	if(tbl) {
 | 
			
		||||
		mask = tbl->mask;
 | 
			
		||||
		if(!(tbl->flags & STABLE_NO_MASK)) mask &= global_mask;
 | 
			
		||||
		ret = ASN1_mbstring_ncopy(out, in, inlen, inform, mask,
 | 
			
		||||
		ret = ASN1_mbstring_ncopy(out, in, inlen, inform, tbl->mask,
 | 
			
		||||
					tbl->minsize, tbl->maxsize);
 | 
			
		||||
	} else ret = ASN1_mbstring_copy(out, in, inlen, inform, DIRSTRING_TYPE & global_mask);
 | 
			
		||||
	if(ret <= 0) return NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -123,8 +123,6 @@ int i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **pp)
 | 
			
		||||
		break;
 | 
			
		||||
	case V_ASN1_SET:
 | 
			
		||||
	case V_ASN1_SEQUENCE:
 | 
			
		||||
	case V_ASN1_OTHER:
 | 
			
		||||
	default:
 | 
			
		||||
		if (a->value.set == NULL)
 | 
			
		||||
			r=0;
 | 
			
		||||
		else
 | 
			
		||||
@@ -161,8 +159,6 @@ ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a, unsigned char **pp, long length)
 | 
			
		||||
 | 
			
		||||
	inf=ASN1_get_object(&q,&len,&tag,&xclass,length);
 | 
			
		||||
	if (inf & 0x80) goto err;
 | 
			
		||||
	/* If not universal tag we've no idea what it is */
 | 
			
		||||
	if(xclass != V_ASN1_UNIVERSAL) tag = V_ASN1_OTHER;
 | 
			
		||||
	
 | 
			
		||||
	ASN1_TYPE_component_free(ret);
 | 
			
		||||
 | 
			
		||||
@@ -249,8 +245,6 @@ ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a, unsigned char **pp, long length)
 | 
			
		||||
		break;
 | 
			
		||||
	case V_ASN1_SET:
 | 
			
		||||
	case V_ASN1_SEQUENCE:
 | 
			
		||||
	case V_ASN1_OTHER:
 | 
			
		||||
	default:
 | 
			
		||||
		/* Sets and sequences are left complete */
 | 
			
		||||
		if ((ret->value.set=ASN1_STRING_new()) == NULL) goto err;
 | 
			
		||||
		ret->value.set->type=tag;
 | 
			
		||||
@@ -258,6 +252,9 @@ ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a, unsigned char **pp, long length)
 | 
			
		||||
		if (!ASN1_STRING_set(ret->value.set,p,(int)len)) goto err;
 | 
			
		||||
		p+=len;
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		ASN1err(ASN1_F_D2I_ASN1_TYPE,ASN1_R_BAD_TYPE);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	ret->type=tag;
 | 
			
		||||
@@ -315,8 +312,6 @@ static void ASN1_TYPE_component_free(ASN1_TYPE *a)
 | 
			
		||||
		case V_ASN1_OBJECT:
 | 
			
		||||
			ASN1_OBJECT_free(a->value.object);
 | 
			
		||||
			break;
 | 
			
		||||
		case V_ASN1_NULL:
 | 
			
		||||
			break;
 | 
			
		||||
		case V_ASN1_INTEGER:
 | 
			
		||||
		case V_ASN1_NEG_INTEGER:
 | 
			
		||||
		case V_ASN1_ENUMERATED:
 | 
			
		||||
@@ -338,10 +333,11 @@ static void ASN1_TYPE_component_free(ASN1_TYPE *a)
 | 
			
		||||
		case V_ASN1_UNIVERSALSTRING:
 | 
			
		||||
		case V_ASN1_BMPSTRING:
 | 
			
		||||
		case V_ASN1_UTF8STRING:
 | 
			
		||||
		case V_ASN1_OTHER:
 | 
			
		||||
		default:
 | 
			
		||||
			ASN1_STRING_free((ASN1_STRING *)a->value.ptr);
 | 
			
		||||
			break;
 | 
			
		||||
		default:
 | 
			
		||||
			/* MEMORY LEAK */
 | 
			
		||||
			break;
 | 
			
		||||
			}
 | 
			
		||||
		a->type=0;
 | 
			
		||||
		a->value.ptr=NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,6 @@ extern "C" {
 | 
			
		||||
#define V_ASN1_PRIMATIVE_TAG		0x1f
 | 
			
		||||
 | 
			
		||||
#define V_ASN1_APP_CHOOSE		-2	/* let the recipient choose */
 | 
			
		||||
#define V_ASN1_OTHER			-3	/* used in ASN1_TYPE */
 | 
			
		||||
 | 
			
		||||
#define V_ASN1_NEG			0x100	/* negative flag */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -72,11 +72,6 @@
 | 
			
		||||
 | 
			
		||||
#ifndef NO_FP_API
 | 
			
		||||
int X509_print_fp(FILE *fp, X509 *x)
 | 
			
		||||
	{
 | 
			
		||||
	return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
 | 
			
		||||
        {
 | 
			
		||||
        BIO *b;
 | 
			
		||||
        int ret;
 | 
			
		||||
@@ -87,23 +82,17 @@ int X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cfla
 | 
			
		||||
                return(0);
 | 
			
		||||
		}
 | 
			
		||||
        BIO_set_fp(b,fp,BIO_NOCLOSE);
 | 
			
		||||
        ret=X509_print_ex(b, x, nmflag, cflag);
 | 
			
		||||
        ret=X509_print(b, x);
 | 
			
		||||
        BIO_free(b);
 | 
			
		||||
        return(ret);
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int X509_print(BIO *bp, X509 *x)
 | 
			
		||||
{
 | 
			
		||||
	return X509_print_ex(bp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
	{
 | 
			
		||||
	long l;
 | 
			
		||||
	int ret=0,i,j,n;
 | 
			
		||||
	char *m=NULL,*s, mlch = ' ';
 | 
			
		||||
	int nmindent = 0;
 | 
			
		||||
	char *m=NULL,*s;
 | 
			
		||||
	X509_CINF *ci;
 | 
			
		||||
	ASN1_INTEGER *bs;
 | 
			
		||||
	EVP_PKEY *pkey=NULL;
 | 
			
		||||
@@ -111,28 +100,11 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
	X509_EXTENSION *ex;
 | 
			
		||||
	ASN1_STRING *str=NULL;
 | 
			
		||||
 | 
			
		||||
	if((nmflags & XN_FLAG_SEP_MASK) == XN_FLAG_SEP_MULTILINE) {
 | 
			
		||||
			mlch = '\n';
 | 
			
		||||
			nmindent = 16;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(nmflags == X509_FLAG_COMPAT)
 | 
			
		||||
		nmindent = 16;
 | 
			
		||||
 | 
			
		||||
	ci=x->cert_info;
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_HEADER))
 | 
			
		||||
		{
 | 
			
		||||
	if (BIO_write(bp,"Certificate:\n",13) <= 0) goto err;
 | 
			
		||||
	if (BIO_write(bp,"    Data:\n",10) <= 0) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_VERSION))
 | 
			
		||||
		{
 | 
			
		||||
	l=X509_get_version(x);
 | 
			
		||||
	if (BIO_printf(bp,"%8sVersion: %lu (0x%lx)\n","",l+1,l) <= 0) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_SERIAL))
 | 
			
		||||
		{
 | 
			
		||||
 | 
			
		||||
	if (BIO_write(bp,"        Serial Number:",22) <= 0) goto err;
 | 
			
		||||
 | 
			
		||||
	bs=X509_get_serialNumber(x);
 | 
			
		||||
@@ -162,37 +134,20 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_SIGNAME))
 | 
			
		||||
		{
 | 
			
		||||
	i=OBJ_obj2nid(ci->signature->algorithm);
 | 
			
		||||
	if (BIO_printf(bp,"%8sSignature Algorithm: %s\n","",
 | 
			
		||||
		(i == NID_undef)?"UNKNOWN":OBJ_nid2ln(i)) <= 0)
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_ISSUER))
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_printf(bp,"        Issuer:%c",mlch) <= 0) goto err;
 | 
			
		||||
		if (!X509_NAME_print_ex(bp,X509_get_issuer_name(x),nmindent, nmflags)) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_VALIDITY))
 | 
			
		||||
		{
 | 
			
		||||
	if (BIO_write(bp,"        Issuer: ",16) <= 0) goto err;
 | 
			
		||||
	if (!X509_NAME_print(bp,X509_get_issuer_name(x),16)) goto err;
 | 
			
		||||
	if (BIO_write(bp,"\n        Validity\n",18) <= 0) goto err;
 | 
			
		||||
	if (BIO_write(bp,"            Not Before: ",24) <= 0) goto err;
 | 
			
		||||
	if (!ASN1_TIME_print(bp,X509_get_notBefore(x))) goto err;
 | 
			
		||||
	if (BIO_write(bp,"\n            Not After : ",25) <= 0) goto err;
 | 
			
		||||
	if (!ASN1_TIME_print(bp,X509_get_notAfter(x))) goto err;
 | 
			
		||||
		if (BIO_write(bp,"\n",1) <= 0) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_SUBJECT))
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_printf(bp,"        Subject:%c",mlch) <= 0) goto err;
 | 
			
		||||
		if (!X509_NAME_print_ex(bp,X509_get_subject_name(x),nmindent, nmflags)) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_PUBKEY))
 | 
			
		||||
		{
 | 
			
		||||
	if (BIO_write(bp,"\n        Subject: ",18) <= 0) goto err;
 | 
			
		||||
	if (!X509_NAME_print(bp,X509_get_subject_name(x),16)) goto err;
 | 
			
		||||
	if (BIO_write(bp,"\n        Subject Public Key Info:\n",34) <= 0)
 | 
			
		||||
		goto err;
 | 
			
		||||
	i=OBJ_obj2nid(ci->key->algor->algorithm);
 | 
			
		||||
@@ -226,11 +181,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
		BIO_printf(bp,"%12sUnknown Public Key:\n","");
 | 
			
		||||
 | 
			
		||||
	EVP_PKEY_free(pkey);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (cflag & X509_FLAG_NO_EXTENSIONS)
 | 
			
		||||
		n = 0;
 | 
			
		||||
	else
 | 
			
		||||
	n=X509_get_ext_count(x);
 | 
			
		||||
	if (n > 0)
 | 
			
		||||
		{
 | 
			
		||||
@@ -245,7 +196,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
			j=X509_EXTENSION_get_critical(ex);
 | 
			
		||||
			if (BIO_printf(bp,": %s\n",j?"critical":"","") <= 0)
 | 
			
		||||
				goto err;
 | 
			
		||||
			if(!X509V3_EXT_print(bp, ex, cflag, 16))
 | 
			
		||||
			if(!X509V3_EXT_print(bp, ex, 0, 16))
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bp, "%16s", "");
 | 
			
		||||
				M_ASN1_OCTET_STRING_print(bp,ex->value);
 | 
			
		||||
@@ -254,8 +205,6 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_SIGDUMP))
 | 
			
		||||
		{
 | 
			
		||||
	i=OBJ_obj2nid(x->sig_alg->algorithm);
 | 
			
		||||
	if (BIO_printf(bp,"%4sSignature Algorithm: %s","",
 | 
			
		||||
		(i == NID_undef)?"UNKNOWN":OBJ_nid2ln(i)) <= 0) goto err;
 | 
			
		||||
@@ -270,11 +219,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
 | 
			
		||||
			((i+1) == n)?"":":") <= 0) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if (BIO_write(bp,"\n",1) != 1) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if(!(cflag & X509_FLAG_NO_AUX))
 | 
			
		||||
		{
 | 
			
		||||
	if (!X509_CERT_AUX_print(bp, x->aux, 0)) goto err;
 | 
			
		||||
		}
 | 
			
		||||
	ret=1;
 | 
			
		||||
err:
 | 
			
		||||
	if (str != NULL) ASN1_STRING_free(str);
 | 
			
		||||
 
 | 
			
		||||
@@ -44,8 +44,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
# elf
 | 
			
		||||
 
 | 
			
		||||
@@ -27,13 +27,11 @@ LIBSRC= bio_lib.c bio_cb.c bio_err.c \
 | 
			
		||||
	bss_file.c bss_sock.c bss_conn.c \
 | 
			
		||||
	bf_null.c bf_buff.c b_print.c b_dump.c \
 | 
			
		||||
	b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c
 | 
			
		||||
#	bf_lbuf.c
 | 
			
		||||
LIBOBJ= bio_lib.o bio_cb.o bio_err.o \
 | 
			
		||||
	bss_mem.o bss_null.o bss_fd.o \
 | 
			
		||||
	bss_file.o bss_sock.o bss_conn.o \
 | 
			
		||||
	bf_null.o bf_buff.o b_print.o b_dump.o \
 | 
			
		||||
	b_sock.o bss_acpt.o bf_nbio.o bss_log.o bss_bio.o
 | 
			
		||||
#	bf_lbuf.o
 | 
			
		||||
 | 
			
		||||
SRC= $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
@@ -49,8 +47,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -113,8 +113,8 @@ int BIO_get_host_ip(const char *str, unsigned char *ip)
 | 
			
		||||
 | 
			
		||||
	/* At this point, we have something that is most probably correct
 | 
			
		||||
	   in some way, so let's init the socket. */
 | 
			
		||||
	if (BIO_sock_init() != 1)
 | 
			
		||||
		return 0; /* don't generate another error code here */
 | 
			
		||||
	if (!BIO_sock_init())
 | 
			
		||||
		return(0); /* don't generate another error code here */
 | 
			
		||||
 | 
			
		||||
	/* If the string actually contained an IP address, we need not do
 | 
			
		||||
	   anything more */
 | 
			
		||||
@@ -527,7 +527,7 @@ int BIO_get_accept_socket(char *host, int bind_mode)
 | 
			
		||||
	unsigned long l;
 | 
			
		||||
	int err_num;
 | 
			
		||||
 | 
			
		||||
	if (BIO_sock_init() != 1) return(INVALID_SOCKET);
 | 
			
		||||
	if (!BIO_sock_init()) return(INVALID_SOCKET);
 | 
			
		||||
 | 
			
		||||
	if ((str=BUF_strdup(host)) == NULL) return(INVALID_SOCKET);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,397 +0,0 @@
 | 
			
		||||
/* crypto/bio/bf_buff.c */
 | 
			
		||||
/* 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.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include "cryptlib.h"
 | 
			
		||||
#include <openssl/bio.h>
 | 
			
		||||
#include <openssl/evp.h>
 | 
			
		||||
 | 
			
		||||
static int linebuffer_write(BIO *h, const char *buf,int num);
 | 
			
		||||
static int linebuffer_read(BIO *h, char *buf, int size);
 | 
			
		||||
static int linebuffer_puts(BIO *h, const char *str);
 | 
			
		||||
static int linebuffer_gets(BIO *h, char *str, int size);
 | 
			
		||||
static long linebuffer_ctrl(BIO *h, int cmd, long arg1, void *arg2);
 | 
			
		||||
static int linebuffer_new(BIO *h);
 | 
			
		||||
static int linebuffer_free(BIO *data);
 | 
			
		||||
static long linebuffer_callback_ctrl(BIO *h, int cmd, bio_info_cb *fp);
 | 
			
		||||
 | 
			
		||||
/* A 10k maximum should be enough for most purposes */
 | 
			
		||||
#define DEFAULT_LINEBUFFER_SIZE	1024*10
 | 
			
		||||
 | 
			
		||||
/* #define DEBUG */
 | 
			
		||||
 | 
			
		||||
static BIO_METHOD methods_linebuffer=
 | 
			
		||||
	{
 | 
			
		||||
	BIO_TYPE_LINEBUFFER,
 | 
			
		||||
	"linebuffer",
 | 
			
		||||
	linebuffer_write,
 | 
			
		||||
	linebuffer_read,
 | 
			
		||||
	linebuffer_puts,
 | 
			
		||||
	linebuffer_gets,
 | 
			
		||||
	linebuffer_ctrl,
 | 
			
		||||
	linebuffer_new,
 | 
			
		||||
	linebuffer_free,
 | 
			
		||||
	linebuffer_callback_ctrl,
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
BIO_METHOD *BIO_f_linebuffer(void)
 | 
			
		||||
	{
 | 
			
		||||
	return(&methods_linebuffer);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
typedef struct bio_linebuffer_ctx_struct
 | 
			
		||||
	{
 | 
			
		||||
	char *obuf;		/* the output char array */
 | 
			
		||||
	int obuf_size;		/* how big is the output buffer */
 | 
			
		||||
	int obuf_len;		/* how many bytes are in it */
 | 
			
		||||
	} BIO_LINEBUFFER_CTX;
 | 
			
		||||
 | 
			
		||||
static int linebuffer_new(BIO *bi)
 | 
			
		||||
	{
 | 
			
		||||
	BIO_LINEBUFFER_CTX *ctx;
 | 
			
		||||
 | 
			
		||||
	ctx=(BIO_LINEBUFFER_CTX *)OPENSSL_malloc(sizeof(BIO_LINEBUFFER_CTX));
 | 
			
		||||
	if (ctx == NULL) return(0);
 | 
			
		||||
	ctx->obuf=(char *)OPENSSL_malloc(DEFAULT_LINEBUFFER_SIZE);
 | 
			
		||||
	if (ctx->obuf == NULL) { OPENSSL_free(ctx); return(0); }
 | 
			
		||||
	ctx->obuf_size=DEFAULT_LINEBUFFER_SIZE;
 | 
			
		||||
	ctx->obuf_len=0;
 | 
			
		||||
 | 
			
		||||
	bi->init=1;
 | 
			
		||||
	bi->ptr=(char *)ctx;
 | 
			
		||||
	bi->flags=0;
 | 
			
		||||
	return(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int linebuffer_free(BIO *a)
 | 
			
		||||
	{
 | 
			
		||||
	BIO_LINEBUFFER_CTX *b;
 | 
			
		||||
 | 
			
		||||
	if (a == NULL) return(0);
 | 
			
		||||
	b=(BIO_LINEBUFFER_CTX *)a->ptr;
 | 
			
		||||
	if (b->obuf != NULL) OPENSSL_free(b->obuf);
 | 
			
		||||
	OPENSSL_free(a->ptr);
 | 
			
		||||
	a->ptr=NULL;
 | 
			
		||||
	a->init=0;
 | 
			
		||||
	a->flags=0;
 | 
			
		||||
	return(1);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
static int linebuffer_read(BIO *b, char *out, int outl)
 | 
			
		||||
	{
 | 
			
		||||
	int ret=0;
 | 
			
		||||
 
 | 
			
		||||
	if (out == NULL) return(0);
 | 
			
		||||
	if (b->next_bio == NULL) return(0);
 | 
			
		||||
	ret=BIO_read(b->next_bio,out,outl);
 | 
			
		||||
	BIO_clear_retry_flags(b);
 | 
			
		||||
	BIO_copy_next_retry(b);
 | 
			
		||||
	return(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int linebuffer_write(BIO *b, const char *in, int inl)
 | 
			
		||||
	{
 | 
			
		||||
	int i,num=0,foundnl;
 | 
			
		||||
	BIO_LINEBUFFER_CTX *ctx;
 | 
			
		||||
 | 
			
		||||
	if ((in == NULL) || (inl <= 0)) return(0);
 | 
			
		||||
	ctx=(BIO_LINEBUFFER_CTX *)b->ptr;
 | 
			
		||||
	if ((ctx == NULL) || (b->next_bio == NULL)) return(0);
 | 
			
		||||
 | 
			
		||||
	BIO_clear_retry_flags(b);
 | 
			
		||||
 | 
			
		||||
	do
 | 
			
		||||
		{
 | 
			
		||||
		const char *p;
 | 
			
		||||
 | 
			
		||||
		for(p = in; p < in + inl && *p != '\n'; p++)
 | 
			
		||||
			;
 | 
			
		||||
		if (*p == '\n')
 | 
			
		||||
			{
 | 
			
		||||
			p++;
 | 
			
		||||
			foundnl = 1;
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			foundnl = 0;
 | 
			
		||||
 | 
			
		||||
		/* If a NL was found and we already have text in the save
 | 
			
		||||
		   buffer, concatenate them and write */
 | 
			
		||||
		while ((foundnl || p - in > ctx->obuf_size - ctx->obuf_len)
 | 
			
		||||
			&& ctx->obuf_len > 0)
 | 
			
		||||
			{
 | 
			
		||||
			int orig_olen = ctx->obuf_len;
 | 
			
		||||
			
 | 
			
		||||
			i = ctx->obuf_size - ctx->obuf_len;
 | 
			
		||||
			if (p - in > 0)
 | 
			
		||||
				{
 | 
			
		||||
				if (i >= p - in)
 | 
			
		||||
					{
 | 
			
		||||
					memcpy(&(ctx->obuf[ctx->obuf_len]),
 | 
			
		||||
						in,p - in);
 | 
			
		||||
					ctx->obuf_len += p - in;
 | 
			
		||||
					inl -= p - in;
 | 
			
		||||
					num += p - in;
 | 
			
		||||
					in = p;
 | 
			
		||||
					}
 | 
			
		||||
				else
 | 
			
		||||
					{
 | 
			
		||||
					memcpy(&(ctx->obuf[ctx->obuf_len]),
 | 
			
		||||
						in,i);
 | 
			
		||||
					ctx->obuf_len += i;
 | 
			
		||||
					inl -= i;
 | 
			
		||||
					in += i;
 | 
			
		||||
					num += i;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
BIO_write(b->next_bio, "<*<", 3);
 | 
			
		||||
#endif
 | 
			
		||||
			i=BIO_write(b->next_bio,
 | 
			
		||||
				ctx->obuf, ctx->obuf_len);
 | 
			
		||||
			if (i <= 0)
 | 
			
		||||
				{
 | 
			
		||||
				ctx->obuf_len = orig_olen;
 | 
			
		||||
				BIO_copy_next_retry(b);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
BIO_write(b->next_bio, ">*>", 3);
 | 
			
		||||
#endif
 | 
			
		||||
				if (i < 0) return((num > 0)?num:i);
 | 
			
		||||
				if (i == 0) return(num);
 | 
			
		||||
				}
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
BIO_write(b->next_bio, ">*>", 3);
 | 
			
		||||
#endif
 | 
			
		||||
			if (i < ctx->obuf_len)
 | 
			
		||||
				memmove(ctx->obuf, ctx->obuf + i,
 | 
			
		||||
					ctx->obuf_len - i);
 | 
			
		||||
			ctx->obuf_len-=i;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		/* Now that the save buffer is emptied, let's write the input
 | 
			
		||||
		   buffer if a NL was found and there is anything to write. */
 | 
			
		||||
		if ((foundnl || p - in > ctx->obuf_size) && p - in > 0)
 | 
			
		||||
			{
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
BIO_write(b->next_bio, "<*<", 3);
 | 
			
		||||
#endif
 | 
			
		||||
			i=BIO_write(b->next_bio,in,p - in);
 | 
			
		||||
			if (i <= 0)
 | 
			
		||||
				{
 | 
			
		||||
				BIO_copy_next_retry(b);
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
BIO_write(b->next_bio, ">*>", 3);
 | 
			
		||||
#endif
 | 
			
		||||
				if (i < 0) return((num > 0)?num:i);
 | 
			
		||||
				if (i == 0) return(num);
 | 
			
		||||
				}
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
BIO_write(b->next_bio, ">*>", 3);
 | 
			
		||||
#endif
 | 
			
		||||
			num+=i;
 | 
			
		||||
			in+=i;
 | 
			
		||||
			inl-=i;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	while(foundnl && inl > 0);
 | 
			
		||||
	/* We've written as much as we can.  The rest of the input buffer, if
 | 
			
		||||
	   any, is text that doesn't and with a NL and therefore needs to be
 | 
			
		||||
	   saved for the next trip. */
 | 
			
		||||
	if (inl > 0)
 | 
			
		||||
		{
 | 
			
		||||
		memcpy(&(ctx->obuf[ctx->obuf_len]), in, inl);
 | 
			
		||||
		ctx->obuf_len += inl;
 | 
			
		||||
		num += inl;
 | 
			
		||||
		}
 | 
			
		||||
	return num;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static long linebuffer_ctrl(BIO *b, int cmd, long num, void *ptr)
 | 
			
		||||
	{
 | 
			
		||||
	BIO *dbio;
 | 
			
		||||
	BIO_LINEBUFFER_CTX *ctx;
 | 
			
		||||
	long ret=1;
 | 
			
		||||
	char *p;
 | 
			
		||||
	int r;
 | 
			
		||||
	int obs;
 | 
			
		||||
 | 
			
		||||
	ctx=(BIO_LINEBUFFER_CTX *)b->ptr;
 | 
			
		||||
 | 
			
		||||
	switch (cmd)
 | 
			
		||||
		{
 | 
			
		||||
	case BIO_CTRL_RESET:
 | 
			
		||||
		ctx->obuf_len=0;
 | 
			
		||||
		if (b->next_bio == NULL) return(0);
 | 
			
		||||
		ret=BIO_ctrl(b->next_bio,cmd,num,ptr);
 | 
			
		||||
		break;
 | 
			
		||||
	case BIO_CTRL_INFO:
 | 
			
		||||
		ret=(long)ctx->obuf_len;
 | 
			
		||||
		break;
 | 
			
		||||
	case BIO_CTRL_WPENDING:
 | 
			
		||||
		ret=(long)ctx->obuf_len;
 | 
			
		||||
		if (ret == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (b->next_bio == NULL) return(0);
 | 
			
		||||
			ret=BIO_ctrl(b->next_bio,cmd,num,ptr);
 | 
			
		||||
			}
 | 
			
		||||
		break;
 | 
			
		||||
	case BIO_C_SET_BUFF_SIZE:
 | 
			
		||||
		obs=(int)num;
 | 
			
		||||
		p=ctx->obuf;
 | 
			
		||||
		if ((obs > DEFAULT_LINEBUFFER_SIZE) && (obs != ctx->obuf_size))
 | 
			
		||||
			{
 | 
			
		||||
			p=(char *)OPENSSL_malloc((int)num);
 | 
			
		||||
			if (p == NULL)
 | 
			
		||||
				goto malloc_error;
 | 
			
		||||
			}
 | 
			
		||||
		if (ctx->obuf != p)
 | 
			
		||||
			{
 | 
			
		||||
			if (ctx->obuf_len > obs)
 | 
			
		||||
				{
 | 
			
		||||
				ctx->obuf_len = obs;
 | 
			
		||||
				}
 | 
			
		||||
			memcpy(p, ctx->obuf, ctx->obuf_len);
 | 
			
		||||
			OPENSSL_free(ctx->obuf);
 | 
			
		||||
			ctx->obuf=p;
 | 
			
		||||
			ctx->obuf_size=obs;
 | 
			
		||||
			}
 | 
			
		||||
		break;
 | 
			
		||||
	case BIO_C_DO_STATE_MACHINE:
 | 
			
		||||
		if (b->next_bio == NULL) return(0);
 | 
			
		||||
		BIO_clear_retry_flags(b);
 | 
			
		||||
		ret=BIO_ctrl(b->next_bio,cmd,num,ptr);
 | 
			
		||||
		BIO_copy_next_retry(b);
 | 
			
		||||
		break;
 | 
			
		||||
 | 
			
		||||
	case BIO_CTRL_FLUSH:
 | 
			
		||||
		if (b->next_bio == NULL) return(0);
 | 
			
		||||
		if (ctx->obuf_len <= 0)
 | 
			
		||||
			{
 | 
			
		||||
			ret=BIO_ctrl(b->next_bio,cmd,num,ptr);
 | 
			
		||||
			break;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		for (;;)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_clear_retry_flags(b);
 | 
			
		||||
			if (ctx->obuf_len > 0)
 | 
			
		||||
				{
 | 
			
		||||
				r=BIO_write(b->next_bio,
 | 
			
		||||
					ctx->obuf, ctx->obuf_len);
 | 
			
		||||
#if 0
 | 
			
		||||
fprintf(stderr,"FLUSH %3d -> %3d\n",ctx->obuf_len,r);
 | 
			
		||||
#endif
 | 
			
		||||
				BIO_copy_next_retry(b);
 | 
			
		||||
				if (r <= 0) return((long)r);
 | 
			
		||||
				if (r < ctx->obuf_len)
 | 
			
		||||
					memmove(ctx->obuf, ctx->obuf + r,
 | 
			
		||||
						ctx->obuf_len - r);
 | 
			
		||||
				ctx->obuf_len-=r;
 | 
			
		||||
				}
 | 
			
		||||
			else
 | 
			
		||||
				{
 | 
			
		||||
				ctx->obuf_len=0;
 | 
			
		||||
				ret=1;
 | 
			
		||||
				break;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		ret=BIO_ctrl(b->next_bio,cmd,num,ptr);
 | 
			
		||||
		break;
 | 
			
		||||
	case BIO_CTRL_DUP:
 | 
			
		||||
		dbio=(BIO *)ptr;
 | 
			
		||||
		if (	!BIO_set_write_buffer_size(dbio,ctx->obuf_size))
 | 
			
		||||
			ret=0;
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		if (b->next_bio == NULL) return(0);
 | 
			
		||||
		ret=BIO_ctrl(b->next_bio,cmd,num,ptr);
 | 
			
		||||
		break;
 | 
			
		||||
		}
 | 
			
		||||
	return(ret);
 | 
			
		||||
malloc_error:
 | 
			
		||||
	BIOerr(BIO_F_LINEBUFFER_CTRL,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
	return(0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static long linebuffer_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp)
 | 
			
		||||
	{
 | 
			
		||||
	long ret=1;
 | 
			
		||||
 | 
			
		||||
	if (b->next_bio == NULL) return(0);
 | 
			
		||||
	switch (cmd)
 | 
			
		||||
		{
 | 
			
		||||
	default:
 | 
			
		||||
		ret=BIO_callback_ctrl(b->next_bio,cmd,fp);
 | 
			
		||||
		break;
 | 
			
		||||
		}
 | 
			
		||||
	return(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int linebuffer_gets(BIO *b, char *buf, int size)
 | 
			
		||||
	{
 | 
			
		||||
	if (b->next_bio == NULL) return(0);
 | 
			
		||||
	return(BIO_gets(b->next_bio,buf,size));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int linebuffer_puts(BIO *b, const char *str)
 | 
			
		||||
	{
 | 
			
		||||
	return(linebuffer_write(b,str,strlen(str)));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -91,7 +91,6 @@ extern "C" {
 | 
			
		||||
#define BIO_TYPE_NULL_FILTER	(17|0x0200)
 | 
			
		||||
#define BIO_TYPE_BER		(18|0x0200)		/* BER -> bin filter */
 | 
			
		||||
#define BIO_TYPE_BIO		(19|0x0400)		/* (half a) BIO pair */
 | 
			
		||||
#define BIO_TYPE_LINEBUFFER	(20|0x0200)		/* filter */
 | 
			
		||||
 | 
			
		||||
#define BIO_TYPE_DESCRIPTOR	0x0100	/* socket, fd, connect or accept */
 | 
			
		||||
#define BIO_TYPE_FILTER		0x0200
 | 
			
		||||
@@ -475,7 +474,6 @@ size_t BIO_ctrl_wpending(BIO *b);
 | 
			
		||||
#define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL)
 | 
			
		||||
#define BIO_make_bio_pair(b1,b2)   (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2)
 | 
			
		||||
#define BIO_destroy_bio_pair(b)    (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL)
 | 
			
		||||
#define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL)
 | 
			
		||||
/* macros with inappropriate type -- but ...pending macros use int too: */
 | 
			
		||||
#define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL)
 | 
			
		||||
#define BIO_get_read_request(b)    (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL)
 | 
			
		||||
@@ -555,9 +553,6 @@ BIO_METHOD *BIO_s_bio(void);
 | 
			
		||||
BIO_METHOD *BIO_s_null(void);
 | 
			
		||||
BIO_METHOD *BIO_f_null(void);
 | 
			
		||||
BIO_METHOD *BIO_f_buffer(void);
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
BIO_METHOD *BIO_f_linebuffer(void);
 | 
			
		||||
#endif
 | 
			
		||||
BIO_METHOD *BIO_f_nbio_test(void);
 | 
			
		||||
/* BIO_METHOD *BIO_f_ber(void); */
 | 
			
		||||
 | 
			
		||||
@@ -644,7 +639,6 @@ int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args);
 | 
			
		||||
#define BIO_F_CONN_CTRL					 127
 | 
			
		||||
#define BIO_F_CONN_STATE				 115
 | 
			
		||||
#define BIO_F_FILE_CTRL					 116
 | 
			
		||||
#define BIO_F_LINEBUFFER_CTRL				 129
 | 
			
		||||
#define BIO_F_MEM_READ					 128
 | 
			
		||||
#define BIO_F_MEM_WRITE					 117
 | 
			
		||||
#define BIO_F_SSL_NEW					 118
 | 
			
		||||
 
 | 
			
		||||
@@ -91,7 +91,6 @@ static ERR_STRING_DATA BIO_str_functs[]=
 | 
			
		||||
{ERR_PACK(0,BIO_F_CONN_CTRL,0),	"CONN_CTRL"},
 | 
			
		||||
{ERR_PACK(0,BIO_F_CONN_STATE,0),	"CONN_STATE"},
 | 
			
		||||
{ERR_PACK(0,BIO_F_FILE_CTRL,0),	"FILE_CTRL"},
 | 
			
		||||
{ERR_PACK(0,BIO_F_LINEBUFFER_CTRL,0),	"LINEBUFFER_CTRL"},
 | 
			
		||||
{ERR_PACK(0,BIO_F_MEM_READ,0),	"MEM_READ"},
 | 
			
		||||
{ERR_PACK(0,BIO_F_MEM_WRITE,0),	"MEM_WRITE"},
 | 
			
		||||
{ERR_PACK(0,BIO_F_SSL_NEW,0),	"SSL_new"},
 | 
			
		||||
 
 | 
			
		||||
@@ -236,7 +236,7 @@ static int conn_state(BIO *b, BIO_CONNECT *c)
 | 
			
		||||
				}
 | 
			
		||||
			c->state=BIO_CONN_S_CONNECT;
 | 
			
		||||
 | 
			
		||||
#if defined(SO_KEEPALIVE) && !defined(MPE)
 | 
			
		||||
#ifdef SO_KEEPALIVE
 | 
			
		||||
			i=1;
 | 
			
		||||
			i=setsockopt(b->num,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
 | 
			
		||||
			if (i < 0)
 | 
			
		||||
 
 | 
			
		||||
@@ -68,8 +68,7 @@ bnbug: bnbug.c ../../libcrypto.a top
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
# elf
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,9 @@ On the 2 alpha C compilers I had access to, it was not possible to do
 | 
			
		||||
were 64 bits).  So the hand assember gives access to the 128 bit result and
 | 
			
		||||
a 2 times speedup :-).
 | 
			
		||||
 | 
			
		||||
There are 3 versions of assember for the HP PA-RISC.
 | 
			
		||||
 | 
			
		||||
pa-risc.s is the origional one which works fine and generated using gcc :-)
 | 
			
		||||
 | 
			
		||||
pa-risc2W.s and pa-risc2.s are 64 and 32-bit PA-RISC 2.0 implementations
 | 
			
		||||
by Chris Ruemmler from HP (with some help from the HP C compiler).
 | 
			
		||||
There are 2 versions of assember for the HP PA-RISC.
 | 
			
		||||
pa-risc.s is the origional one which works fine.
 | 
			
		||||
pa-risc2.s is a new version that often generates warnings but if the
 | 
			
		||||
tests pass, it gives performance that is over 2 times faster than
 | 
			
		||||
pa-risc.s.
 | 
			
		||||
Both were generated using gcc :-)
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,416 +0,0 @@
 | 
			
		||||
	.SPACE $PRIVATE$
 | 
			
		||||
	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
 | 
			
		||||
	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
 | 
			
		||||
	.SPACE $TEXT$
 | 
			
		||||
	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
 | 
			
		||||
	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
 | 
			
		||||
	.IMPORT $global$,DATA
 | 
			
		||||
	.IMPORT $$dyncall,MILLICODE
 | 
			
		||||
; gcc_compiled.:
 | 
			
		||||
	.SPACE $TEXT$
 | 
			
		||||
	.SUBSPA $CODE$
 | 
			
		||||
 | 
			
		||||
	.align 4
 | 
			
		||||
	.EXPORT bn_mul_add_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
 | 
			
		||||
bn_mul_add_words
 | 
			
		||||
	.PROC
 | 
			
		||||
	.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
 | 
			
		||||
	.ENTRY
 | 
			
		||||
	stw %r2,-20(0,%r30)
 | 
			
		||||
	stwm %r4,64(0,%r30)
 | 
			
		||||
	copy %r24,%r31
 | 
			
		||||
	stw %r3,-60(0,%r30)
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	ldo 12(%r26),%r2
 | 
			
		||||
	stw %r23,-16(0,%r30)
 | 
			
		||||
	copy %r25,%r3
 | 
			
		||||
	ldo 12(%r3),%r1
 | 
			
		||||
	fldws -16(0,%r30),%fr8L
 | 
			
		||||
L$0010
 | 
			
		||||
	copy %r20,%r25
 | 
			
		||||
	ldi 0,%r24
 | 
			
		||||
	fldws 0(0,%r3),%fr9L
 | 
			
		||||
	ldw 0(0,%r26),%r19
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r19,%r23
 | 
			
		||||
	ldw -16(0,%r30),%r28
 | 
			
		||||
	ldw -12(0,%r30),%r29
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	add %r23,%r29,%r29
 | 
			
		||||
	addc %r22,%r28,%r28
 | 
			
		||||
	add %r25,%r29,%r29
 | 
			
		||||
	addc %r24,%r28,%r28
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	copy %r21,%r20
 | 
			
		||||
	addib,= -1,%r31,L$0011
 | 
			
		||||
	stw %r29,0(0,%r26)
 | 
			
		||||
	copy %r20,%r25
 | 
			
		||||
	ldi 0,%r24
 | 
			
		||||
	fldws -8(0,%r1),%fr9L
 | 
			
		||||
	ldw -8(0,%r2),%r19
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r19,%r23
 | 
			
		||||
	ldw -16(0,%r30),%r28
 | 
			
		||||
	ldw -12(0,%r30),%r29
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	add %r23,%r29,%r29
 | 
			
		||||
	addc %r22,%r28,%r28
 | 
			
		||||
	add %r25,%r29,%r29
 | 
			
		||||
	addc %r24,%r28,%r28
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	copy %r21,%r20
 | 
			
		||||
	addib,= -1,%r31,L$0011
 | 
			
		||||
	stw %r29,-8(0,%r2)
 | 
			
		||||
	copy %r20,%r25
 | 
			
		||||
	ldi 0,%r24
 | 
			
		||||
	fldws -4(0,%r1),%fr9L
 | 
			
		||||
	ldw -4(0,%r2),%r19
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r19,%r23
 | 
			
		||||
	ldw -16(0,%r30),%r28
 | 
			
		||||
	ldw -12(0,%r30),%r29
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	add %r23,%r29,%r29
 | 
			
		||||
	addc %r22,%r28,%r28
 | 
			
		||||
	add %r25,%r29,%r29
 | 
			
		||||
	addc %r24,%r28,%r28
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	copy %r21,%r20
 | 
			
		||||
	addib,= -1,%r31,L$0011
 | 
			
		||||
	stw %r29,-4(0,%r2)
 | 
			
		||||
	copy %r20,%r25
 | 
			
		||||
	ldi 0,%r24
 | 
			
		||||
	fldws 0(0,%r1),%fr9L
 | 
			
		||||
	ldw 0(0,%r2),%r19
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r19,%r23
 | 
			
		||||
	ldw -16(0,%r30),%r28
 | 
			
		||||
	ldw -12(0,%r30),%r29
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	add %r23,%r29,%r29
 | 
			
		||||
	addc %r22,%r28,%r28
 | 
			
		||||
	add %r25,%r29,%r29
 | 
			
		||||
	addc %r24,%r28,%r28
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	copy %r21,%r20
 | 
			
		||||
	addib,= -1,%r31,L$0011
 | 
			
		||||
	stw %r29,0(0,%r2)
 | 
			
		||||
	ldo 16(%r1),%r1
 | 
			
		||||
	ldo 16(%r3),%r3
 | 
			
		||||
	ldo 16(%r2),%r2
 | 
			
		||||
	bl L$0010,0
 | 
			
		||||
	ldo 16(%r26),%r26
 | 
			
		||||
L$0011
 | 
			
		||||
	copy %r20,%r28
 | 
			
		||||
	ldw -84(0,%r30),%r2
 | 
			
		||||
	ldw -60(0,%r30),%r3
 | 
			
		||||
	bv 0(%r2)
 | 
			
		||||
	ldwm -64(0,%r30),%r4
 | 
			
		||||
	.EXIT
 | 
			
		||||
	.PROCEND
 | 
			
		||||
	.align 4
 | 
			
		||||
	.EXPORT bn_mul_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
 | 
			
		||||
bn_mul_words
 | 
			
		||||
	.PROC
 | 
			
		||||
	.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3
 | 
			
		||||
	.ENTRY
 | 
			
		||||
	stw %r2,-20(0,%r30)
 | 
			
		||||
	copy %r25,%r2
 | 
			
		||||
	stwm %r4,64(0,%r30)
 | 
			
		||||
	copy %r24,%r19
 | 
			
		||||
	ldi 0,%r28
 | 
			
		||||
	stw %r23,-16(0,%r30)
 | 
			
		||||
	ldo 12(%r26),%r31
 | 
			
		||||
	ldo 12(%r2),%r29
 | 
			
		||||
	fldws -16(0,%r30),%fr8L
 | 
			
		||||
L$0026
 | 
			
		||||
	fldws 0(0,%r2),%fr9L
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	ldw -16(0,%r30),%r24
 | 
			
		||||
	ldw -12(0,%r30),%r25
 | 
			
		||||
	add %r21,%r25,%r25
 | 
			
		||||
	addc %r20,%r24,%r24
 | 
			
		||||
	copy %r24,%r23
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	copy %r23,%r28
 | 
			
		||||
	addib,= -1,%r19,L$0027
 | 
			
		||||
	stw %r25,0(0,%r26)
 | 
			
		||||
	fldws -8(0,%r29),%fr9L
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	ldw -16(0,%r30),%r24
 | 
			
		||||
	ldw -12(0,%r30),%r25
 | 
			
		||||
	add %r21,%r25,%r25
 | 
			
		||||
	addc %r20,%r24,%r24
 | 
			
		||||
	copy %r24,%r23
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	copy %r23,%r28
 | 
			
		||||
	addib,= -1,%r19,L$0027
 | 
			
		||||
	stw %r25,-8(0,%r31)
 | 
			
		||||
	fldws -4(0,%r29),%fr9L
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	ldw -16(0,%r30),%r24
 | 
			
		||||
	ldw -12(0,%r30),%r25
 | 
			
		||||
	add %r21,%r25,%r25
 | 
			
		||||
	addc %r20,%r24,%r24
 | 
			
		||||
	copy %r24,%r23
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	copy %r23,%r28
 | 
			
		||||
	addib,= -1,%r19,L$0027
 | 
			
		||||
	stw %r25,-4(0,%r31)
 | 
			
		||||
	fldws 0(0,%r29),%fr9L
 | 
			
		||||
	xmpyu %fr8L,%fr9L,%fr9
 | 
			
		||||
	fstds %fr9,-16(0,%r30)
 | 
			
		||||
	copy %r28,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	ldw -16(0,%r30),%r24
 | 
			
		||||
	ldw -12(0,%r30),%r25
 | 
			
		||||
	add %r21,%r25,%r25
 | 
			
		||||
	addc %r20,%r24,%r24
 | 
			
		||||
	copy %r24,%r23
 | 
			
		||||
	ldi 0,%r22
 | 
			
		||||
	copy %r23,%r28
 | 
			
		||||
	addib,= -1,%r19,L$0027
 | 
			
		||||
	stw %r25,0(0,%r31)
 | 
			
		||||
	ldo 16(%r29),%r29
 | 
			
		||||
	ldo 16(%r2),%r2
 | 
			
		||||
	ldo 16(%r31),%r31
 | 
			
		||||
	bl L$0026,0
 | 
			
		||||
	ldo 16(%r26),%r26
 | 
			
		||||
L$0027
 | 
			
		||||
	ldw -84(0,%r30),%r2
 | 
			
		||||
	bv 0(%r2)
 | 
			
		||||
	ldwm -64(0,%r30),%r4
 | 
			
		||||
	.EXIT
 | 
			
		||||
	.PROCEND
 | 
			
		||||
	.align 4
 | 
			
		||||
	.EXPORT bn_sqr_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR
 | 
			
		||||
bn_sqr_words
 | 
			
		||||
	.PROC
 | 
			
		||||
	.CALLINFO FRAME=0,NO_CALLS
 | 
			
		||||
	.ENTRY
 | 
			
		||||
	ldo 28(%r26),%r19
 | 
			
		||||
	ldo 12(%r25),%r28
 | 
			
		||||
L$0042
 | 
			
		||||
	fldws 0(0,%r25),%fr8L
 | 
			
		||||
	fldws 0(0,%r25),%fr8R
 | 
			
		||||
	xmpyu %fr8L,%fr8R,%fr8
 | 
			
		||||
	fstds %fr8,-16(0,%r30)
 | 
			
		||||
	ldw -16(0,%r30),%r22
 | 
			
		||||
	ldw -12(0,%r30),%r23
 | 
			
		||||
	stw %r23,0(0,%r26)
 | 
			
		||||
	copy %r22,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	addib,= -1,%r24,L$0049
 | 
			
		||||
	stw %r21,-24(0,%r19)
 | 
			
		||||
	fldws -8(0,%r28),%fr8L
 | 
			
		||||
	fldws -8(0,%r28),%fr8R
 | 
			
		||||
	xmpyu %fr8L,%fr8R,%fr8
 | 
			
		||||
	fstds %fr8,-16(0,%r30)
 | 
			
		||||
	ldw -16(0,%r30),%r22
 | 
			
		||||
	ldw -12(0,%r30),%r23
 | 
			
		||||
	stw %r23,-20(0,%r19)
 | 
			
		||||
	copy %r22,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	addib,= -1,%r24,L$0049
 | 
			
		||||
	stw %r21,-16(0,%r19)
 | 
			
		||||
	fldws -4(0,%r28),%fr8L
 | 
			
		||||
	fldws -4(0,%r28),%fr8R
 | 
			
		||||
	xmpyu %fr8L,%fr8R,%fr8
 | 
			
		||||
	fstds %fr8,-16(0,%r30)
 | 
			
		||||
	ldw -16(0,%r30),%r22
 | 
			
		||||
	ldw -12(0,%r30),%r23
 | 
			
		||||
	stw %r23,-12(0,%r19)
 | 
			
		||||
	copy %r22,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	addib,= -1,%r24,L$0049
 | 
			
		||||
	stw %r21,-8(0,%r19)
 | 
			
		||||
	fldws 0(0,%r28),%fr8L
 | 
			
		||||
	fldws 0(0,%r28),%fr8R
 | 
			
		||||
	xmpyu %fr8L,%fr8R,%fr8
 | 
			
		||||
	fstds %fr8,-16(0,%r30)
 | 
			
		||||
	ldw -16(0,%r30),%r22
 | 
			
		||||
	ldw -12(0,%r30),%r23
 | 
			
		||||
	stw %r23,-4(0,%r19)
 | 
			
		||||
	copy %r22,%r21
 | 
			
		||||
	ldi 0,%r20
 | 
			
		||||
	addib,= -1,%r24,L$0049
 | 
			
		||||
	stw %r21,0(0,%r19)
 | 
			
		||||
	ldo 16(%r28),%r28
 | 
			
		||||
	ldo 16(%r25),%r25
 | 
			
		||||
	ldo 32(%r19),%r19
 | 
			
		||||
	bl L$0042,0
 | 
			
		||||
	ldo 32(%r26),%r26
 | 
			
		||||
L$0049
 | 
			
		||||
	bv,n 0(%r2)
 | 
			
		||||
	.EXIT
 | 
			
		||||
	.PROCEND
 | 
			
		||||
	.IMPORT BN_num_bits_word,CODE
 | 
			
		||||
	.IMPORT fprintf,CODE
 | 
			
		||||
	.IMPORT __iob,DATA
 | 
			
		||||
	.SPACE $TEXT$
 | 
			
		||||
	.SUBSPA $LIT$
 | 
			
		||||
 | 
			
		||||
	.align 4
 | 
			
		||||
L$C0000
 | 
			
		||||
	.STRING "Division would overflow (%d)\x0a\x00"
 | 
			
		||||
	.IMPORT abort,CODE
 | 
			
		||||
	.SPACE $TEXT$
 | 
			
		||||
	.SUBSPA $CODE$
 | 
			
		||||
 | 
			
		||||
	.align 4
 | 
			
		||||
	.EXPORT bn_div64,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
 | 
			
		||||
bn_div64
 | 
			
		||||
	.PROC
 | 
			
		||||
	.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=8
 | 
			
		||||
	.ENTRY
 | 
			
		||||
	stw %r2,-20(0,%r30)
 | 
			
		||||
	stwm %r8,128(0,%r30)
 | 
			
		||||
	stw %r7,-124(0,%r30)
 | 
			
		||||
	stw %r4,-112(0,%r30)
 | 
			
		||||
	stw %r3,-108(0,%r30)
 | 
			
		||||
	copy %r26,%r3
 | 
			
		||||
	copy %r25,%r4
 | 
			
		||||
	stw %r6,-120(0,%r30)
 | 
			
		||||
	ldi 0,%r7
 | 
			
		||||
	stw %r5,-116(0,%r30)
 | 
			
		||||
	movb,<> %r24,%r5,L$0051
 | 
			
		||||
	ldi 2,%r6
 | 
			
		||||
	bl L$0068,0
 | 
			
		||||
	ldi -1,%r28
 | 
			
		||||
L$0051
 | 
			
		||||
	.CALL ARGW0=GR
 | 
			
		||||
	bl BN_num_bits_word,%r2
 | 
			
		||||
	copy %r5,%r26
 | 
			
		||||
	copy %r28,%r24
 | 
			
		||||
	ldi 32,%r19
 | 
			
		||||
	comb,= %r19,%r24,L$0052
 | 
			
		||||
	subi 31,%r24,%r19
 | 
			
		||||
	mtsar %r19
 | 
			
		||||
	zvdepi 1,32,%r19
 | 
			
		||||
	comb,>>= %r19,%r3,L$0052
 | 
			
		||||
	addil LR'__iob-$global$+32,%r27
 | 
			
		||||
	ldo RR'__iob-$global$+32(%r1),%r26
 | 
			
		||||
	ldil LR'L$C0000,%r25
 | 
			
		||||
	.CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
 | 
			
		||||
	bl fprintf,%r2
 | 
			
		||||
	ldo RR'L$C0000(%r25),%r25
 | 
			
		||||
	.CALL 
 | 
			
		||||
	bl abort,%r2
 | 
			
		||||
	nop
 | 
			
		||||
L$0052
 | 
			
		||||
	comb,>> %r5,%r3,L$0053
 | 
			
		||||
	subi 32,%r24,%r24
 | 
			
		||||
	sub %r3,%r5,%r3
 | 
			
		||||
L$0053
 | 
			
		||||
	comib,= 0,%r24,L$0054
 | 
			
		||||
	subi 31,%r24,%r19
 | 
			
		||||
	mtsar %r19
 | 
			
		||||
	zvdep %r5,32,%r5
 | 
			
		||||
	zvdep %r3,32,%r21
 | 
			
		||||
	subi 32,%r24,%r20
 | 
			
		||||
	mtsar %r20
 | 
			
		||||
	vshd 0,%r4,%r20
 | 
			
		||||
	or %r21,%r20,%r3
 | 
			
		||||
	mtsar %r19
 | 
			
		||||
	zvdep %r4,32,%r4
 | 
			
		||||
L$0054
 | 
			
		||||
	extru %r5,15,16,%r23
 | 
			
		||||
	extru %r5,31,16,%r28
 | 
			
		||||
L$0055
 | 
			
		||||
	extru %r3,15,16,%r19
 | 
			
		||||
	comb,<> %r23,%r19,L$0058
 | 
			
		||||
	copy %r3,%r26
 | 
			
		||||
	bl L$0059,0
 | 
			
		||||
	zdepi -1,31,16,%r29
 | 
			
		||||
L$0058
 | 
			
		||||
	.IMPORT $$divU,MILLICODE
 | 
			
		||||
	bl $$divU,%r31
 | 
			
		||||
	copy %r23,%r25
 | 
			
		||||
L$0059
 | 
			
		||||
	stw %r29,-16(0,%r30)
 | 
			
		||||
	fldws -16(0,%r30),%fr10L
 | 
			
		||||
	stw %r28,-16(0,%r30)
 | 
			
		||||
	fldws -16(0,%r30),%fr10R
 | 
			
		||||
	stw %r23,-16(0,%r30)
 | 
			
		||||
	xmpyu %fr10L,%fr10R,%fr8
 | 
			
		||||
	fldws -16(0,%r30),%fr10R
 | 
			
		||||
	fstws %fr8R,-16(0,%r30)
 | 
			
		||||
	xmpyu %fr10L,%fr10R,%fr9
 | 
			
		||||
	ldw -16(0,%r30),%r8
 | 
			
		||||
	fstws %fr9R,-16(0,%r30)
 | 
			
		||||
	copy %r8,%r22
 | 
			
		||||
	ldw -16(0,%r30),%r8
 | 
			
		||||
	extru %r4,15,16,%r24
 | 
			
		||||
	copy %r8,%r21
 | 
			
		||||
L$0060
 | 
			
		||||
	sub %r3,%r21,%r20
 | 
			
		||||
	copy %r20,%r19
 | 
			
		||||
	depi 0,31,16,%r19
 | 
			
		||||
	comib,<> 0,%r19,L$0061
 | 
			
		||||
	zdep %r20,15,16,%r19
 | 
			
		||||
	addl %r19,%r24,%r19
 | 
			
		||||
	comb,>>= %r19,%r22,L$0061
 | 
			
		||||
	sub %r22,%r28,%r22
 | 
			
		||||
	sub %r21,%r23,%r21
 | 
			
		||||
	bl L$0060,0
 | 
			
		||||
	ldo -1(%r29),%r29
 | 
			
		||||
L$0061
 | 
			
		||||
	stw %r29,-16(0,%r30)
 | 
			
		||||
	fldws -16(0,%r30),%fr10L
 | 
			
		||||
	stw %r28,-16(0,%r30)
 | 
			
		||||
	fldws -16(0,%r30),%fr10R
 | 
			
		||||
	xmpyu %fr10L,%fr10R,%fr8
 | 
			
		||||
	fstws %fr8R,-16(0,%r30)
 | 
			
		||||
	ldw -16(0,%r30),%r8
 | 
			
		||||
	stw %r23,-16(0,%r30)
 | 
			
		||||
	fldws -16(0,%r30),%fr10R
 | 
			
		||||
	copy %r8,%r19
 | 
			
		||||
	xmpyu %fr10L,%fr10R,%fr8
 | 
			
		||||
	fstws %fr8R,-16(0,%r30)
 | 
			
		||||
	extru %r19,15,16,%r20
 | 
			
		||||
	ldw -16(0,%r30),%r8
 | 
			
		||||
	zdep %r19,15,16,%r19
 | 
			
		||||
	addl %r8,%r20,%r20
 | 
			
		||||
	comclr,<<= %r19,%r4,0
 | 
			
		||||
	addi 1,%r20,%r20
 | 
			
		||||
	comb,<<= %r20,%r3,L$0066
 | 
			
		||||
	sub %r4,%r19,%r4
 | 
			
		||||
	addl %r3,%r5,%r3
 | 
			
		||||
	ldo -1(%r29),%r29
 | 
			
		||||
L$0066
 | 
			
		||||
	addib,= -1,%r6,L$0056
 | 
			
		||||
	sub %r3,%r20,%r3
 | 
			
		||||
	zdep %r29,15,16,%r7
 | 
			
		||||
	shd %r3,%r4,16,%r3
 | 
			
		||||
	bl L$0055,0
 | 
			
		||||
	zdep %r4,15,16,%r4
 | 
			
		||||
L$0056
 | 
			
		||||
	or %r7,%r29,%r28
 | 
			
		||||
L$0068
 | 
			
		||||
	ldw -148(0,%r30),%r2
 | 
			
		||||
	ldw -124(0,%r30),%r7
 | 
			
		||||
	ldw -120(0,%r30),%r6
 | 
			
		||||
	ldw -116(0,%r30),%r5
 | 
			
		||||
	ldw -112(0,%r30),%r4
 | 
			
		||||
	ldw -108(0,%r30),%r3
 | 
			
		||||
	bv 0(%r2)
 | 
			
		||||
	ldwm -128(0,%r30),%r8
 | 
			
		||||
	.EXIT
 | 
			
		||||
	.PROCEND
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -85,7 +85,16 @@ int BN_mod_mul_montgomery(BIGNUM *r, BIGNUM *a, BIGNUM *b,
 | 
			
		||||
 | 
			
		||||
	if (a == b)
 | 
			
		||||
		{
 | 
			
		||||
#if 1 
 | 
			
		||||
		bn_wexpand(tmp,a->top*2);
 | 
			
		||||
		bn_wexpand(tmp2,a->top*4);
 | 
			
		||||
		bn_sqr_recursive(tmp->d,a->d,a->top,tmp2->d);
 | 
			
		||||
		tmp->top=a->top*2;
 | 
			
		||||
		if (tmp->top > 0 && tmp->d[tmp->top-1] == 0)
 | 
			
		||||
			tmp->top--;
 | 
			
		||||
#else
 | 
			
		||||
		if (!BN_sqr(tmp,a,ctx)) goto err;
 | 
			
		||||
#endif
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
@@ -181,7 +190,6 @@ int BN_from_montgomery(BIGNUM *ret, BIGNUM *a, BN_MONT_CTX *mont,
 | 
			
		||||
#if 0
 | 
			
		||||
	BN_rshift(ret,r,mont->ri);
 | 
			
		||||
#else
 | 
			
		||||
	ret->neg = r->neg;
 | 
			
		||||
	x=ri;
 | 
			
		||||
	rp=ret->d;
 | 
			
		||||
	ap= &(r->d[x]);
 | 
			
		||||
 
 | 
			
		||||
@@ -188,7 +188,7 @@ void bn_sqr_normal(BN_ULONG *r, BN_ULONG *a, int n, BN_ULONG *tmp)
 | 
			
		||||
 | 
			
		||||
#ifdef BN_RECURSION
 | 
			
		||||
/* r is 2*n words in size,
 | 
			
		||||
 * a and b are both n words in size.    (There's not actually a 'b' here ...)
 | 
			
		||||
 * a and b are both n words in size.
 | 
			
		||||
 * n must be a power of 2.
 | 
			
		||||
 * We multiply and return the result.
 | 
			
		||||
 * t must be 2*n words in size
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -47,8 +47,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
# elf
 | 
			
		||||
 
 | 
			
		||||
@@ -42,8 +42,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -40,8 +40,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -204,15 +204,13 @@ $ LIB_RSA = "rsa_eay,rsa_gen,rsa_lib,rsa_sign,rsa_saos,rsa_err,"+ -
 | 
			
		||||
	"rsa_pk1,rsa_ssl,rsa_none,rsa_oaep,rsa_chk,rsa_null"
 | 
			
		||||
$ LIB_DSA = "dsa_gen,dsa_key,dsa_lib,dsa_asn1,dsa_vrf,dsa_sign,dsa_err,dsa_ossl"
 | 
			
		||||
$ LIB_DH = "dh_gen,dh_key,dh_lib,dh_check,dh_err"
 | 
			
		||||
$ LIB_DSO = "dso_dl,dso_dlfcn,dso_err,dso_lib,dso_null,"+ -
 | 
			
		||||
	"dso_openssl,dso_win32,dso_vms"
 | 
			
		||||
$ LIB_DSO = "dso_err,dso_lib,dso_null,dso_openssl" ! + ",dso_vms"
 | 
			
		||||
$ LIB_BUFFER = "buffer,buf_err"
 | 
			
		||||
$ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ -
 | 
			
		||||
	"bss_mem,bss_null,bss_fd,"+ -
 | 
			
		||||
	"bss_file,bss_sock,bss_conn,"+ -
 | 
			
		||||
	"bf_null,bf_buff,b_print,b_dump,"+ -
 | 
			
		||||
	"b_sock,bss_acpt,bf_nbio,bss_rtcp,bss_bio,bss_log,"+ -
 | 
			
		||||
	"bf_lbuf"
 | 
			
		||||
	"b_sock,bss_acpt,bf_nbio,bss_rtcp,bss_bio,bss_log"
 | 
			
		||||
$ LIB_STACK = "stack"
 | 
			
		||||
$ LIB_LHASH = "lhash,lh_stats"
 | 
			
		||||
$ LIB_RAND = "md_rand,randfile,rand_lib,rand_err,rand_egd,rand_win"
 | 
			
		||||
@@ -1138,7 +1136,7 @@ $ ENDIF
 | 
			
		||||
$!
 | 
			
		||||
$! Set Up Initial CC Definitions, Possibly With User Ones
 | 
			
		||||
$!
 | 
			
		||||
$ CCDEFS = "VMS=1,TCPIP_TYPE_''P5',DSO_VMS"
 | 
			
		||||
$ CCDEFS = "VMS=1,TCPIP_TYPE_''P5'"
 | 
			
		||||
$ IF F$TRNLNM("OPENSSL_NO_ASM") THEN CCDEFS = CCDEFS + ",NO_ASM"
 | 
			
		||||
$ IF F$TRNLNM("OPENSSL_NO_RSA") THEN CCDEFS = CCDEFS + ",NO_RSA"
 | 
			
		||||
$ IF F$TRNLNM("OPENSSL_NO_DSA") THEN CCDEFS = CCDEFS + ",NO_DSA"
 | 
			
		||||
 
 | 
			
		||||
@@ -57,8 +57,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
des: des.o cbc3_enc.o lib
 | 
			
		||||
 
 | 
			
		||||
@@ -271,9 +271,7 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
 | 
			
		||||
#elif defined(MAC_OS_pre_X)
 | 
			
		||||
	tty=stdin;
 | 
			
		||||
#else
 | 
			
		||||
#ifndef MPE
 | 
			
		||||
	if ((tty=fopen("/dev/tty","r")) == NULL)
 | 
			
		||||
#endif
 | 
			
		||||
		tty=stdin;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -314,12 +312,8 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
 | 
			
		||||
 | 
			
		||||
#if defined(TTY_set) && !defined(VMS)
 | 
			
		||||
	if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1))
 | 
			
		||||
#ifdef MPE 
 | 
			
		||||
		; /* MPE lies -- echo really has been disabled */
 | 
			
		||||
#else
 | 
			
		||||
		return(-1);
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
	tty_new[0] = tty_orig[0];
 | 
			
		||||
	tty_new[1] = tty_orig[1] | TT$M_NOECHO;
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -41,8 +41,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,7 @@ int DSA_generate_key(DSA *dsa)
 | 
			
		||||
	i=BN_num_bits(dsa->q);
 | 
			
		||||
	for (;;)
 | 
			
		||||
		{
 | 
			
		||||
		if (!BN_rand(priv_key,i,0,0))
 | 
			
		||||
		if (!BN_rand(priv_key,i,1,0))
 | 
			
		||||
			goto err;
 | 
			
		||||
		if (BN_cmp(priv_key,dsa->q) >= 0)
 | 
			
		||||
			BN_sub(priv_key,priv_key,dsa->q);
 | 
			
		||||
 
 | 
			
		||||
@@ -181,7 +181,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
 | 
			
		||||
	/* Get random k */
 | 
			
		||||
	for (;;)
 | 
			
		||||
		{
 | 
			
		||||
		if (!BN_rand(&k, BN_num_bits(dsa->q), 0, 0)) goto err;
 | 
			
		||||
		if (!BN_rand(&k, BN_num_bits(dsa->q), 1, 0)) goto err;
 | 
			
		||||
		if (BN_cmp(&k,dsa->q) >= 0)
 | 
			
		||||
			BN_sub(&k,&k,dsa->q);
 | 
			
		||||
		if (!BN_is_zero(&k)) break;
 | 
			
		||||
 
 | 
			
		||||
@@ -23,9 +23,9 @@ APPS=
 | 
			
		||||
 | 
			
		||||
LIB=$(TOP)/libcrypto.a
 | 
			
		||||
LIBSRC= dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c \
 | 
			
		||||
	dso_openssl.c dso_win32.c dso_vms.c
 | 
			
		||||
	dso_openssl.c dso_win32.c
 | 
			
		||||
LIBOBJ= dso_dl.o dso_dlfcn.o dso_err.o dso_lib.o dso_null.o \
 | 
			
		||||
	dso_openssl.o dso_win32.o dso_vms.o
 | 
			
		||||
	dso_openssl.o dso_win32.o
 | 
			
		||||
 | 
			
		||||
SRC= $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
@@ -41,8 +41,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
@@ -124,13 +123,6 @@ dso_openssl.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
dso_openssl.o: ../../include/openssl/opensslv.h
 | 
			
		||||
dso_openssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
dso_openssl.o: ../../include/openssl/symhacks.h ../cryptlib.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/crypto.h ../../include/openssl/dso.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
dso_vms.o: ../../include/openssl/symhacks.h ../cryptlib.h
 | 
			
		||||
dso_win32.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
dso_win32.o: ../../include/openssl/crypto.h ../../include/openssl/dso.h
 | 
			
		||||
dso_win32.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
 | 
			
		||||
 
 | 
			
		||||
@@ -80,12 +80,6 @@ extern "C" {
 | 
			
		||||
 */
 | 
			
		||||
#define DSO_FLAG_NAME_TRANSLATION 0x01
 | 
			
		||||
 | 
			
		||||
/* The following flag controls the translation of symbol names to upper
 | 
			
		||||
 * case.  This is currently only being implemented for OpenVMS.
 | 
			
		||||
 */
 | 
			
		||||
#define DSO_FLAG_UPCASE_SYMBOL    0x02
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef void (*DSO_FUNC_TYPE)(void);
 | 
			
		||||
 | 
			
		||||
typedef struct dso_st DSO;
 | 
			
		||||
@@ -191,9 +185,6 @@ DSO_METHOD *DSO_METHOD_dl(void);
 | 
			
		||||
/* If WIN32 is defined, use DLLs. If not, return NULL. */
 | 
			
		||||
DSO_METHOD *DSO_METHOD_win32(void);
 | 
			
		||||
 | 
			
		||||
/* If VMS is defined, use shared images. If not, return NULL. */
 | 
			
		||||
DSO_METHOD *DSO_METHOD_vms(void);
 | 
			
		||||
 | 
			
		||||
void ERR_load_DSO_strings(void);
 | 
			
		||||
 | 
			
		||||
/* BEGIN ERROR CODES */
 | 
			
		||||
@@ -206,35 +197,35 @@ void ERR_load_DSO_strings(void);
 | 
			
		||||
/* Function codes. */
 | 
			
		||||
#define DSO_F_DLFCN_BIND_FUNC				 100
 | 
			
		||||
#define DSO_F_DLFCN_BIND_VAR				 101
 | 
			
		||||
#define DSO_F_DLFCN_LOAD				 102
 | 
			
		||||
#define DSO_F_DLFCN_UNLOAD				 103
 | 
			
		||||
#define DSO_F_DL_BIND_FUNC				 104
 | 
			
		||||
#define DSO_F_DL_BIND_VAR				 105
 | 
			
		||||
#define DSO_F_DL_LOAD					 106
 | 
			
		||||
#define DSO_F_DL_UNLOAD					 107
 | 
			
		||||
#define DSO_F_DSO_BIND_FUNC				 108
 | 
			
		||||
#define DSO_F_DSO_BIND_VAR				 109
 | 
			
		||||
#define DSO_F_DSO_CTRL					 110
 | 
			
		||||
#define DSO_F_DSO_FREE					 111
 | 
			
		||||
#define DSO_F_DSO_LOAD					 112
 | 
			
		||||
#define DSO_F_DSO_NEW_METHOD				 113
 | 
			
		||||
#define DSO_F_DSO_UP					 114
 | 
			
		||||
#define DSO_F_VMS_BIND_VAR				 115
 | 
			
		||||
#define DSO_F_VMS_LOAD					 116
 | 
			
		||||
#define DSO_F_VMS_UNLOAD				 117
 | 
			
		||||
#define DSO_F_WIN32_BIND_FUNC				 118
 | 
			
		||||
#define DSO_F_WIN32_BIND_VAR				 119
 | 
			
		||||
#define DSO_F_DLFCN_CTRL				 102
 | 
			
		||||
#define DSO_F_DLFCN_LOAD				 103
 | 
			
		||||
#define DSO_F_DLFCN_UNLOAD				 104
 | 
			
		||||
#define DSO_F_DL_BIND_FUNC				 105
 | 
			
		||||
#define DSO_F_DL_BIND_VAR				 106
 | 
			
		||||
#define DSO_F_DL_CTRL					 107
 | 
			
		||||
#define DSO_F_DL_LOAD					 108
 | 
			
		||||
#define DSO_F_DL_UNLOAD					 109
 | 
			
		||||
#define DSO_F_DSO_BIND_FUNC				 110
 | 
			
		||||
#define DSO_F_DSO_BIND_VAR				 111
 | 
			
		||||
#define DSO_F_DSO_CTRL					 112
 | 
			
		||||
#define DSO_F_DSO_FREE					 113
 | 
			
		||||
#define DSO_F_DSO_LOAD					 114
 | 
			
		||||
#define DSO_F_DSO_NEW_METHOD				 115
 | 
			
		||||
#define DSO_F_DSO_UP					 116
 | 
			
		||||
#define DSO_F_WIN32_BIND_FUNC				 117
 | 
			
		||||
#define DSO_F_WIN32_BIND_VAR				 118
 | 
			
		||||
#define DSO_F_WIN32_CTRL				 119
 | 
			
		||||
#define DSO_F_WIN32_LOAD				 120
 | 
			
		||||
#define DSO_F_WIN32_UNLOAD				 121
 | 
			
		||||
 | 
			
		||||
/* Reason codes. */
 | 
			
		||||
#define DSO_R_CTRL_FAILED				 100
 | 
			
		||||
#define DSO_R_FILENAME_TOO_BIG				 101
 | 
			
		||||
#define DSO_R_FINISH_FAILED				 102
 | 
			
		||||
#define DSO_R_LOAD_FAILED				 103
 | 
			
		||||
#define DSO_R_NULL_HANDLE				 104
 | 
			
		||||
#define DSO_R_STACK_ERROR				 105
 | 
			
		||||
#define DSO_R_SYM_FAILURE				 106
 | 
			
		||||
#define DSO_R_FINISH_FAILED				 101
 | 
			
		||||
#define DSO_R_LOAD_FAILED				 102
 | 
			
		||||
#define DSO_R_NULL_HANDLE				 103
 | 
			
		||||
#define DSO_R_STACK_ERROR				 104
 | 
			
		||||
#define DSO_R_SYM_FAILURE				 105
 | 
			
		||||
#define DSO_R_UNKNOWN_COMMAND				 106
 | 
			
		||||
#define DSO_R_UNLOAD_FAILED				 107
 | 
			
		||||
#define DSO_R_UNSUPPORTED				 108
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -81,8 +81,8 @@ static int dl_unbind_var(DSO *dso, char *symname, void *symptr);
 | 
			
		||||
static int dl_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
 | 
			
		||||
static int dl_init(DSO *dso);
 | 
			
		||||
static int dl_finish(DSO *dso);
 | 
			
		||||
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
#endif
 | 
			
		||||
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
 | 
			
		||||
static DSO_METHOD dso_meth_dl = {
 | 
			
		||||
	"OpenSSL 'dl' shared library method",
 | 
			
		||||
@@ -95,7 +95,7 @@ static DSO_METHOD dso_meth_dl = {
 | 
			
		||||
	NULL, /* unbind_var */
 | 
			
		||||
	NULL, /* unbind_func */
 | 
			
		||||
#endif
 | 
			
		||||
	NULL, /* ctrl */
 | 
			
		||||
	dl_ctrl,
 | 
			
		||||
	NULL, /* init */
 | 
			
		||||
	NULL  /* finish */
 | 
			
		||||
	};
 | 
			
		||||
@@ -224,4 +224,28 @@ static DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname)
 | 
			
		||||
	return((DSO_FUNC_TYPE)sym);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg)
 | 
			
		||||
	{
 | 
			
		||||
	if(dso == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_DL_CTRL,ERR_R_PASSED_NULL_PARAMETER);
 | 
			
		||||
		return(-1);
 | 
			
		||||
		}
 | 
			
		||||
	switch(cmd)
 | 
			
		||||
		{
 | 
			
		||||
	case DSO_CTRL_GET_FLAGS:
 | 
			
		||||
		return dso->flags;
 | 
			
		||||
	case DSO_CTRL_SET_FLAGS:
 | 
			
		||||
		dso->flags = (int)larg;
 | 
			
		||||
		return(0);
 | 
			
		||||
	case DSO_CTRL_OR_FLAGS:
 | 
			
		||||
		dso->flags |= (int)larg;
 | 
			
		||||
		return(0);
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
		}
 | 
			
		||||
	DSOerr(DSO_F_DL_CTRL,DSO_R_UNKNOWN_COMMAND);
 | 
			
		||||
	return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#endif /* DSO_DL */
 | 
			
		||||
 
 | 
			
		||||
@@ -82,8 +82,8 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname);
 | 
			
		||||
static int dlfcn_unbind(DSO *dso, char *symname, void *symptr);
 | 
			
		||||
static int dlfcn_init(DSO *dso);
 | 
			
		||||
static int dlfcn_finish(DSO *dso);
 | 
			
		||||
static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
#endif
 | 
			
		||||
static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
 | 
			
		||||
static DSO_METHOD dso_meth_dlfcn = {
 | 
			
		||||
	"OpenSSL 'dlfcn' shared library method",
 | 
			
		||||
@@ -96,7 +96,7 @@ static DSO_METHOD dso_meth_dlfcn = {
 | 
			
		||||
	NULL, /* unbind_var */
 | 
			
		||||
	NULL, /* unbind_func */
 | 
			
		||||
#endif
 | 
			
		||||
	NULL, /* ctrl */
 | 
			
		||||
	dlfcn_ctrl,
 | 
			
		||||
	NULL, /* init */
 | 
			
		||||
	NULL  /* finish */
 | 
			
		||||
	};
 | 
			
		||||
@@ -249,4 +249,28 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
 | 
			
		||||
	return(sym);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg)
 | 
			
		||||
	{
 | 
			
		||||
	if(dso == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_DLFCN_CTRL,ERR_R_PASSED_NULL_PARAMETER);
 | 
			
		||||
		return(-1);
 | 
			
		||||
		}
 | 
			
		||||
	switch(cmd)
 | 
			
		||||
		{
 | 
			
		||||
	case DSO_CTRL_GET_FLAGS:
 | 
			
		||||
		return dso->flags;
 | 
			
		||||
	case DSO_CTRL_SET_FLAGS:
 | 
			
		||||
		dso->flags = (int)larg;
 | 
			
		||||
		return(0);
 | 
			
		||||
	case DSO_CTRL_OR_FLAGS:
 | 
			
		||||
		dso->flags |= (int)larg;
 | 
			
		||||
		return(0);
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
		}
 | 
			
		||||
	DSOerr(DSO_F_DLFCN_CTRL,DSO_R_UNKNOWN_COMMAND);
 | 
			
		||||
	return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#endif /* DSO_DLFCN */
 | 
			
		||||
 
 | 
			
		||||
@@ -68,10 +68,12 @@ static ERR_STRING_DATA DSO_str_functs[]=
 | 
			
		||||
	{
 | 
			
		||||
{ERR_PACK(0,DSO_F_DLFCN_BIND_FUNC,0),	"DLFCN_BIND_FUNC"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DLFCN_BIND_VAR,0),	"DLFCN_BIND_VAR"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DLFCN_CTRL,0),	"DLFCN_CTRL"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DLFCN_LOAD,0),	"DLFCN_LOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DLFCN_UNLOAD,0),	"DLFCN_UNLOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DL_BIND_FUNC,0),	"DL_BIND_FUNC"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DL_BIND_VAR,0),	"DL_BIND_VAR"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DL_CTRL,0),	"DL_CTRL"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DL_LOAD,0),	"DL_LOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DL_UNLOAD,0),	"DL_UNLOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DSO_BIND_FUNC,0),	"DSO_bind_func"},
 | 
			
		||||
@@ -81,11 +83,9 @@ static ERR_STRING_DATA DSO_str_functs[]=
 | 
			
		||||
{ERR_PACK(0,DSO_F_DSO_LOAD,0),	"DSO_load"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DSO_NEW_METHOD,0),	"DSO_new_method"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_DSO_UP,0),	"DSO_up"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_VMS_BIND_VAR,0),	"VMS_BIND_VAR"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_VMS_LOAD,0),	"VMS_LOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_VMS_UNLOAD,0),	"VMS_UNLOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_WIN32_BIND_FUNC,0),	"WIN32_BIND_FUNC"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_WIN32_BIND_VAR,0),	"WIN32_BIND_VAR"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_WIN32_CTRL,0),	"WIN32_CTRL"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_WIN32_LOAD,0),	"WIN32_LOAD"},
 | 
			
		||||
{ERR_PACK(0,DSO_F_WIN32_UNLOAD,0),	"WIN32_UNLOAD"},
 | 
			
		||||
{0,NULL}
 | 
			
		||||
@@ -94,12 +94,12 @@ static ERR_STRING_DATA DSO_str_functs[]=
 | 
			
		||||
static ERR_STRING_DATA DSO_str_reasons[]=
 | 
			
		||||
	{
 | 
			
		||||
{DSO_R_CTRL_FAILED                       ,"control command failed"},
 | 
			
		||||
{DSO_R_FILENAME_TOO_BIG                  ,"filename too big"},
 | 
			
		||||
{DSO_R_FINISH_FAILED                     ,"cleanup method function failed"},
 | 
			
		||||
{DSO_R_LOAD_FAILED                       ,"could not load the shared library"},
 | 
			
		||||
{DSO_R_NULL_HANDLE                       ,"a null shared library handle was used"},
 | 
			
		||||
{DSO_R_STACK_ERROR                       ,"the meth_data stack is corrupt"},
 | 
			
		||||
{DSO_R_SYM_FAILURE                       ,"could not bind to the requested symbol name"},
 | 
			
		||||
{DSO_R_UNKNOWN_COMMAND                   ,"unknown control command"},
 | 
			
		||||
{DSO_R_UNLOAD_FAILED                     ,"could not unload the shared library"},
 | 
			
		||||
{DSO_R_UNSUPPORTED                       ,"functionality not supported"},
 | 
			
		||||
{0,NULL}
 | 
			
		||||
 
 | 
			
		||||
@@ -107,8 +107,8 @@ DSO *DSO_new_method(DSO_METHOD *meth)
 | 
			
		||||
		return(NULL);
 | 
			
		||||
		}
 | 
			
		||||
	memset(ret, 0, sizeof(DSO));
 | 
			
		||||
	ret->meth_data = sk_new_null();
 | 
			
		||||
	if((ret->meth_data = sk_new_null()) == NULL)
 | 
			
		||||
	ret->meth_data = sk_new(NULL);
 | 
			
		||||
	if((ret->meth_data = sk_new(NULL)) == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		/* sk_new doesn't generate any errors so we do */
 | 
			
		||||
		DSOerr(DSO_F_DSO_NEW_METHOD,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
@@ -297,22 +297,6 @@ long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg)
 | 
			
		||||
		DSOerr(DSO_F_DSO_CTRL,ERR_R_PASSED_NULL_PARAMETER);
 | 
			
		||||
		return(-1);
 | 
			
		||||
		}
 | 
			
		||||
	/* We should intercept certain generic commands and only pass control
 | 
			
		||||
	 * to the method-specific ctrl() function if it's something we don't
 | 
			
		||||
	 * handle. */
 | 
			
		||||
	switch(cmd)
 | 
			
		||||
		{
 | 
			
		||||
	case DSO_CTRL_GET_FLAGS:
 | 
			
		||||
		return dso->flags;
 | 
			
		||||
	case DSO_CTRL_SET_FLAGS:
 | 
			
		||||
		dso->flags = (int)larg;
 | 
			
		||||
		return(0);
 | 
			
		||||
	case DSO_CTRL_OR_FLAGS:
 | 
			
		||||
		dso->flags |= (int)larg;
 | 
			
		||||
		return(0);
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
		}
 | 
			
		||||
	if((dso->meth == NULL) || (dso->meth->dso_ctrl == NULL))
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_DSO_CTRL,DSO_R_UNSUPPORTED);
 | 
			
		||||
 
 | 
			
		||||
@@ -72,8 +72,6 @@ DSO_METHOD *DSO_METHOD_openssl(void)
 | 
			
		||||
	return(DSO_METHOD_dl());
 | 
			
		||||
#elif defined(DSO_WIN32)
 | 
			
		||||
	return(DSO_METHOD_win32());
 | 
			
		||||
#elif defined(DSO_VMS)
 | 
			
		||||
	return(DSO_METHOD_vms());
 | 
			
		||||
#else
 | 
			
		||||
	return(DSO_METHOD_null());
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -1,347 +0,0 @@
 | 
			
		||||
/* dso_vms.c */
 | 
			
		||||
/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL
 | 
			
		||||
 * project 2000.
 | 
			
		||||
 */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 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
 | 
			
		||||
 *    licensing@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 <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#ifdef VMS
 | 
			
		||||
#pragma message disable DOLLARID
 | 
			
		||||
#include <lib$routines.h>
 | 
			
		||||
#include <libfisdef.h>
 | 
			
		||||
#include <stsdef.h>
 | 
			
		||||
#include <descrip.h>
 | 
			
		||||
#include <starlet.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "cryptlib.h"
 | 
			
		||||
#include <openssl/dso.h>
 | 
			
		||||
 | 
			
		||||
#ifndef VMS
 | 
			
		||||
DSO_METHOD *DSO_METHOD_vms(void)
 | 
			
		||||
	{
 | 
			
		||||
	return NULL;
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
#pragma message disable DOLLARID
 | 
			
		||||
 | 
			
		||||
static int vms_load(DSO *dso, const char *filename);
 | 
			
		||||
static int vms_unload(DSO *dso);
 | 
			
		||||
static void *vms_bind_var(DSO *dso, const char *symname);
 | 
			
		||||
static DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname);
 | 
			
		||||
#if 0
 | 
			
		||||
static int vms_unbind_var(DSO *dso, char *symname, void *symptr);
 | 
			
		||||
static int vms_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
 | 
			
		||||
static int vms_init(DSO *dso);
 | 
			
		||||
static int vms_finish(DSO *dso);
 | 
			
		||||
static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static DSO_METHOD dso_meth_vms = {
 | 
			
		||||
	"OpenSSL 'VMS' shared library method",
 | 
			
		||||
	vms_load,
 | 
			
		||||
	NULL, /* unload */
 | 
			
		||||
	vms_bind_var,
 | 
			
		||||
	vms_bind_func,
 | 
			
		||||
/* For now, "unbind" doesn't exist */
 | 
			
		||||
#if 0
 | 
			
		||||
	NULL, /* unbind_var */
 | 
			
		||||
	NULL, /* unbind_func */
 | 
			
		||||
#endif
 | 
			
		||||
	NULL, /* ctrl */
 | 
			
		||||
	NULL, /* init */
 | 
			
		||||
	NULL  /* finish */
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
/* On VMS, the only "handle" is the file name.  LIB$FIND_IMAGE_SYMBOL depends
 | 
			
		||||
 * on the reference to the file name being the same for all calls regarding
 | 
			
		||||
 * one shared image, so we'll just store it in an instance of the following
 | 
			
		||||
 * structure and put a pointer to that instance in the meth_data stack.
 | 
			
		||||
 */
 | 
			
		||||
typedef struct dso_internal_st
 | 
			
		||||
	{
 | 
			
		||||
	/* This should contain the name only, no directory,
 | 
			
		||||
	 * no extension, nothing but a name. */
 | 
			
		||||
	struct dsc$descriptor_s filename_dsc;
 | 
			
		||||
	char filename[FILENAME_MAX+1];
 | 
			
		||||
	/* This contains whatever is not in filename, if needed.
 | 
			
		||||
	 * Normally not defined. */
 | 
			
		||||
	struct dsc$descriptor_s imagename_dsc;
 | 
			
		||||
	char imagename[FILENAME_MAX+1];
 | 
			
		||||
	} DSO_VMS_INTERNAL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DSO_METHOD *DSO_METHOD_vms(void)
 | 
			
		||||
	{
 | 
			
		||||
	return(&dso_meth_vms);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int vms_load(DSO *dso, const char *filename)
 | 
			
		||||
	{
 | 
			
		||||
	DSO_VMS_INTERNAL *p;
 | 
			
		||||
	const char *sp1, *sp2;	/* Search result */
 | 
			
		||||
 | 
			
		||||
	/* A file specification may look like this:
 | 
			
		||||
	 *
 | 
			
		||||
	 *	node::dev:[dir-spec]name.type;ver
 | 
			
		||||
	 *
 | 
			
		||||
	 * or (for compatibility with TOPS-20):
 | 
			
		||||
	 *
 | 
			
		||||
	 *	node::dev:<dir-spec>name.type;ver
 | 
			
		||||
	 *
 | 
			
		||||
	 * and the dir-spec uses '.' as separator.  Also, a dir-spec
 | 
			
		||||
	 * may consist of several parts, with mixed use of [] and <>:
 | 
			
		||||
	 *
 | 
			
		||||
	 *	[dir1.]<dir2>
 | 
			
		||||
	 *
 | 
			
		||||
	 * We need to split the file specification into the name and
 | 
			
		||||
	 * the rest (both before and after the name itself).
 | 
			
		||||
	 */
 | 
			
		||||
	/* Start with trying to find the end of a dir-spec, and save the
 | 
			
		||||
	   position of the byte after in sp1 */
 | 
			
		||||
	sp1 = strrchr(filename, ']');
 | 
			
		||||
	sp2 = strrchr(filename, '>');
 | 
			
		||||
	if (sp1 == NULL) sp1 = sp2;
 | 
			
		||||
	if (sp2 != NULL && sp2 > sp1) sp1 = sp2;
 | 
			
		||||
	if (sp1 == NULL) sp1 = strrchr(filename, ':');
 | 
			
		||||
	if (sp1 == NULL)
 | 
			
		||||
		sp1 = filename;
 | 
			
		||||
	else
 | 
			
		||||
		sp1++;		/* The byte after the found character */
 | 
			
		||||
	/* Now, let's see if there's a type, and save the position in sp2 */
 | 
			
		||||
	sp2 = strchr(sp1, '.');
 | 
			
		||||
	/* If we found it, that's where we'll cut.  Otherwise, look for a
 | 
			
		||||
	   version number and save the position in sp2 */
 | 
			
		||||
	if (sp2 == NULL) sp2 = strchr(sp1, ';');
 | 
			
		||||
	/* If there was still nothing to find, set sp2 to point at the end of
 | 
			
		||||
	   the string */
 | 
			
		||||
	if (sp2 == NULL) sp2 = sp1 + strlen(sp1);
 | 
			
		||||
 | 
			
		||||
	/* Check that we won't get buffer overflows */
 | 
			
		||||
	if (sp2 - sp1 > FILENAME_MAX
 | 
			
		||||
		|| (sp1 - filename) + strlen(sp2) > FILENAME_MAX)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_LOAD,DSO_R_FILENAME_TOO_BIG);
 | 
			
		||||
		return(0);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	p = (DSO_VMS_INTERNAL *)OPENSSL_malloc(sizeof(DSO_VMS_INTERNAL));
 | 
			
		||||
	if(p == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_LOAD,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
		return(0);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	strncpy(p->filename, sp1, sp2-sp1);
 | 
			
		||||
	p->filename[sp2-sp1] = '\0';
 | 
			
		||||
 | 
			
		||||
	strncpy(p->imagename, filename, sp1-filename);
 | 
			
		||||
	p->imagename[sp1-filename] = '\0';
 | 
			
		||||
	strcat(p->imagename, sp2);
 | 
			
		||||
 | 
			
		||||
	p->filename_dsc.dsc$w_length = strlen(p->filename);
 | 
			
		||||
	p->filename_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
 | 
			
		||||
	p->filename_dsc.dsc$b_class = DSC$K_CLASS_S;
 | 
			
		||||
	p->filename_dsc.dsc$a_pointer = p->filename;
 | 
			
		||||
	p->imagename_dsc.dsc$w_length = strlen(p->imagename);
 | 
			
		||||
	p->imagename_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
 | 
			
		||||
	p->imagename_dsc.dsc$b_class = DSC$K_CLASS_S;
 | 
			
		||||
	p->imagename_dsc.dsc$a_pointer = p->imagename;
 | 
			
		||||
 | 
			
		||||
	if(!sk_push(dso->meth_data, (char *)p))
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_LOAD,DSO_R_STACK_ERROR);
 | 
			
		||||
		OPENSSL_free(p);
 | 
			
		||||
		return(0);
 | 
			
		||||
		}
 | 
			
		||||
	return(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* Note that this doesn't actually unload the shared image, as there is no
 | 
			
		||||
 * such thing in VMS.  Next time it get loaded again, a new copy will
 | 
			
		||||
 * actually be loaded.
 | 
			
		||||
 */
 | 
			
		||||
static int vms_unload(DSO *dso)
 | 
			
		||||
	{
 | 
			
		||||
	DSO_VMS_INTERNAL *p;
 | 
			
		||||
	if(dso == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_UNLOAD,ERR_R_PASSED_NULL_PARAMETER);
 | 
			
		||||
		return(0);
 | 
			
		||||
		}
 | 
			
		||||
	if(sk_num(dso->meth_data) < 1)
 | 
			
		||||
		return(1);
 | 
			
		||||
	p = (DSO_VMS_INTERNAL *)sk_pop(dso->meth_data);
 | 
			
		||||
	if(p == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_UNLOAD,DSO_R_NULL_HANDLE);
 | 
			
		||||
		return(0);
 | 
			
		||||
		}
 | 
			
		||||
	/* Cleanup */
 | 
			
		||||
	OPENSSL_free(p);
 | 
			
		||||
	return(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* We must do this in a separate function because of the way the exception
 | 
			
		||||
   handler works (it makes this function return */
 | 
			
		||||
static int do_find_symbol(DSO_VMS_INTERNAL *ptr,
 | 
			
		||||
	struct dsc$descriptor_s *symname_dsc, void **sym,
 | 
			
		||||
	unsigned long flags)
 | 
			
		||||
	{
 | 
			
		||||
	/* Make sure that signals are caught and returned instead of
 | 
			
		||||
	   aborting the program.  The exception handler gets unestablished
 | 
			
		||||
	   automatically on return from this function.  */
 | 
			
		||||
	lib$establish(lib$sig_to_ret);
 | 
			
		||||
 | 
			
		||||
	if(ptr->imagename_dsc.dsc$w_length)
 | 
			
		||||
		return lib$find_image_symbol(&ptr->filename_dsc,
 | 
			
		||||
			symname_dsc, sym,
 | 
			
		||||
			&ptr->imagename_dsc, flags);
 | 
			
		||||
	else
 | 
			
		||||
		return lib$find_image_symbol(&ptr->filename_dsc,
 | 
			
		||||
			symname_dsc, sym,
 | 
			
		||||
			0, flags);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
void vms_bind_sym(DSO *dso, const char *symname, void **sym)
 | 
			
		||||
	{
 | 
			
		||||
	DSO_VMS_INTERNAL *ptr;
 | 
			
		||||
	int status;
 | 
			
		||||
	int flags = LIB$M_FIS_MIXEDCASE;
 | 
			
		||||
	struct dsc$descriptor_s symname_dsc;
 | 
			
		||||
	*sym = NULL;
 | 
			
		||||
 | 
			
		||||
	symname_dsc.dsc$w_length = strlen(symname);
 | 
			
		||||
	symname_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
 | 
			
		||||
	symname_dsc.dsc$b_class = DSC$K_CLASS_S;
 | 
			
		||||
	symname_dsc.dsc$a_pointer = (char *)symname; /* The cast is needed */
 | 
			
		||||
 | 
			
		||||
	if((dso == NULL) || (symname == NULL))
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_BIND_VAR,ERR_R_PASSED_NULL_PARAMETER);
 | 
			
		||||
		return;
 | 
			
		||||
		}
 | 
			
		||||
	if(sk_num(dso->meth_data) < 1)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_BIND_VAR,DSO_R_STACK_ERROR);
 | 
			
		||||
		return;
 | 
			
		||||
		}
 | 
			
		||||
	ptr = (DSO_VMS_INTERNAL *)sk_value(dso->meth_data,
 | 
			
		||||
		sk_num(dso->meth_data) - 1);
 | 
			
		||||
	if(ptr == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_VMS_BIND_VAR,DSO_R_NULL_HANDLE);
 | 
			
		||||
		return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if(dso->flags & DSO_FLAG_UPCASE_SYMBOL) flags = 0;
 | 
			
		||||
 | 
			
		||||
	status = do_find_symbol(ptr, &symname_dsc, sym, flags);
 | 
			
		||||
 | 
			
		||||
	if(!$VMS_STATUS_SUCCESS(status))
 | 
			
		||||
		{
 | 
			
		||||
		unsigned short length;
 | 
			
		||||
		char errstring[257];
 | 
			
		||||
		struct dsc$descriptor_s errstring_dsc;
 | 
			
		||||
 | 
			
		||||
		errstring_dsc.dsc$w_length = sizeof(errstring);
 | 
			
		||||
		errstring_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
 | 
			
		||||
		errstring_dsc.dsc$b_class = DSC$K_CLASS_S;
 | 
			
		||||
		errstring_dsc.dsc$a_pointer = errstring;
 | 
			
		||||
 | 
			
		||||
		*sym = NULL;
 | 
			
		||||
 | 
			
		||||
		status = sys$getmsg(status, &length, &errstring_dsc, 1, 0);
 | 
			
		||||
 | 
			
		||||
		if (!$VMS_STATUS_SUCCESS(status))
 | 
			
		||||
			lib$signal(status); /* This is really bad.  Abort!  */
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			errstring[length] = '\0';
 | 
			
		||||
 | 
			
		||||
			DSOerr(DSO_F_VMS_BIND_VAR,DSO_R_SYM_FAILURE);
 | 
			
		||||
			if (ptr->imagename_dsc.dsc$w_length)
 | 
			
		||||
				ERR_add_error_data(9,
 | 
			
		||||
					"Symbol ", symname,
 | 
			
		||||
					" in ", ptr->filename,
 | 
			
		||||
					" (", ptr->imagename, ")",
 | 
			
		||||
					": ", errstring);
 | 
			
		||||
			else
 | 
			
		||||
				ERR_add_error_data(6,
 | 
			
		||||
					"Symbol ", symname,
 | 
			
		||||
					" in ", ptr->filename,
 | 
			
		||||
					": ", errstring);
 | 
			
		||||
			}
 | 
			
		||||
		return;
 | 
			
		||||
		}
 | 
			
		||||
	return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static void *vms_bind_var(DSO *dso, const char *symname)
 | 
			
		||||
	{
 | 
			
		||||
	void *sym = 0;
 | 
			
		||||
	vms_bind_sym(dso, symname, &sym);
 | 
			
		||||
	return sym;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname)
 | 
			
		||||
	{
 | 
			
		||||
	DSO_FUNC_TYPE sym = 0;
 | 
			
		||||
	vms_bind_sym(dso, symname, (void **)&sym);
 | 
			
		||||
	return sym;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#endif /* VMS */
 | 
			
		||||
@@ -80,8 +80,8 @@ static int win32_unbind_var(DSO *dso, char *symname, void *symptr);
 | 
			
		||||
static int win32_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
 | 
			
		||||
static int win32_init(DSO *dso);
 | 
			
		||||
static int win32_finish(DSO *dso);
 | 
			
		||||
static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
#endif
 | 
			
		||||
static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg);
 | 
			
		||||
 | 
			
		||||
static DSO_METHOD dso_meth_win32 = {
 | 
			
		||||
	"OpenSSL 'win32' shared library method",
 | 
			
		||||
@@ -94,7 +94,7 @@ static DSO_METHOD dso_meth_win32 = {
 | 
			
		||||
	NULL, /* unbind_var */
 | 
			
		||||
	NULL, /* unbind_func */
 | 
			
		||||
#endif
 | 
			
		||||
	NULL, /* ctrl */
 | 
			
		||||
	win32_ctrl,
 | 
			
		||||
	NULL, /* init */
 | 
			
		||||
	NULL  /* finish */
 | 
			
		||||
	};
 | 
			
		||||
@@ -246,4 +246,28 @@ static DSO_FUNC_TYPE win32_bind_func(DSO *dso, const char *symname)
 | 
			
		||||
	return((DSO_FUNC_TYPE)sym);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg)
 | 
			
		||||
        {
 | 
			
		||||
        if(dso == NULL)
 | 
			
		||||
                {
 | 
			
		||||
                DSOerr(DSO_F_WIN32_CTRL,ERR_R_PASSED_NULL_PARAMETER);
 | 
			
		||||
                return(-1);
 | 
			
		||||
                }
 | 
			
		||||
        switch(cmd)
 | 
			
		||||
                {
 | 
			
		||||
        case DSO_CTRL_GET_FLAGS:
 | 
			
		||||
                return dso->flags;
 | 
			
		||||
        case DSO_CTRL_SET_FLAGS:
 | 
			
		||||
                dso->flags = (int)larg;
 | 
			
		||||
                return(0);
 | 
			
		||||
        case DSO_CTRL_OR_FLAGS:
 | 
			
		||||
                dso->flags |= (int)larg;
 | 
			
		||||
                return(0);
 | 
			
		||||
        default:
 | 
			
		||||
                break;
 | 
			
		||||
                }
 | 
			
		||||
        DSOerr(DSO_F_WIN32_CTRL,DSO_R_UNKNOWN_COMMAND);
 | 
			
		||||
        return(-1);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
#endif /* WIN32 */
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -58,8 +58,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -463,20 +463,12 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
 | 
			
		||||
		ASN1_TYPE *param, EVP_CIPHER *cipher,
 | 
			
		||||
                EVP_MD *md, int en_de);
 | 
			
		||||
 | 
			
		||||
#ifndef NO_RSA
 | 
			
		||||
#define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
 | 
			
		||||
					(char *)(rsa))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef NO_DSA
 | 
			
		||||
#define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
 | 
			
		||||
					(char *)(dsa))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef NO_DH
 | 
			
		||||
#define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\
 | 
			
		||||
					(char *)(dh))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Add some extra combinations */
 | 
			
		||||
#define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
 | 
			
		||||
@@ -620,29 +612,17 @@ void BIO_set_cipher(BIO *b,const EVP_CIPHER *c,unsigned char *k,
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
EVP_MD *EVP_md_null(void);
 | 
			
		||||
#ifndef NO_MD2
 | 
			
		||||
EVP_MD *EVP_md2(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_MD4
 | 
			
		||||
EVP_MD *EVP_md4(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_MD5
 | 
			
		||||
EVP_MD *EVP_md5(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_SHA
 | 
			
		||||
EVP_MD *EVP_sha(void);
 | 
			
		||||
EVP_MD *EVP_sha1(void);
 | 
			
		||||
EVP_MD *EVP_dss(void);
 | 
			
		||||
EVP_MD *EVP_dss1(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_MDC2
 | 
			
		||||
EVP_MD *EVP_mdc2(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_RIPEMD
 | 
			
		||||
EVP_MD *EVP_ripemd160(void);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
EVP_CIPHER *EVP_enc_null(void);		/* does nothing :-) */
 | 
			
		||||
#ifndef NO_DES
 | 
			
		||||
EVP_CIPHER *EVP_des_ecb(void);
 | 
			
		||||
EVP_CIPHER *EVP_des_ede(void);
 | 
			
		||||
EVP_CIPHER *EVP_des_ede3(void);
 | 
			
		||||
@@ -656,43 +636,31 @@ EVP_CIPHER *EVP_des_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_des_ede_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_des_ede3_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_desx_cbc(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_RC4
 | 
			
		||||
EVP_CIPHER *EVP_rc4(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc4_40(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_IDEA
 | 
			
		||||
EVP_CIPHER *EVP_idea_ecb(void);
 | 
			
		||||
EVP_CIPHER *EVP_idea_cfb(void);
 | 
			
		||||
EVP_CIPHER *EVP_idea_ofb(void);
 | 
			
		||||
EVP_CIPHER *EVP_idea_cbc(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_RC2
 | 
			
		||||
EVP_CIPHER *EVP_rc2_ecb(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc2_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc2_40_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc2_64_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc2_cfb(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc2_ofb(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_BF
 | 
			
		||||
EVP_CIPHER *EVP_bf_ecb(void);
 | 
			
		||||
EVP_CIPHER *EVP_bf_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_bf_cfb(void);
 | 
			
		||||
EVP_CIPHER *EVP_bf_ofb(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_CAST
 | 
			
		||||
EVP_CIPHER *EVP_cast5_ecb(void);
 | 
			
		||||
EVP_CIPHER *EVP_cast5_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_cast5_cfb(void);
 | 
			
		||||
EVP_CIPHER *EVP_cast5_ofb(void);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_RC5
 | 
			
		||||
EVP_CIPHER *EVP_rc5_32_12_16_cbc(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc5_32_12_16_ecb(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc5_32_12_16_cfb(void);
 | 
			
		||||
EVP_CIPHER *EVP_rc5_32_12_16_ofb(void);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void OpenSSL_add_all_algorithms(void);
 | 
			
		||||
void OpenSSL_add_all_ciphers(void);
 | 
			
		||||
void OpenSSL_add_all_digests(void);
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ $	IF F$PARSE("WRK_SSLINCLUDE:") .EQS. "" THEN -
 | 
			
		||||
$
 | 
			
		||||
$	SDIRS := ,MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,-
 | 
			
		||||
		 DES,RC2,RC4,RC5,IDEA,BF,CAST,-
 | 
			
		||||
		 BN,RSA,DSA,DH,DSO,-
 | 
			
		||||
		 BN,RSA,DSA,DH,DSO,ENGINE,-
 | 
			
		||||
		 BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,-
 | 
			
		||||
		 EVP,ASN1,PEM,X509,X509V3,CONF,TXT_DB,PKCS7,PKCS12,COMP
 | 
			
		||||
$	EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h,ebcdic.h,symhacks.h
 | 
			
		||||
@@ -57,6 +57,7 @@ $	EXHEADER_RSA := rsa.h
 | 
			
		||||
$	EXHEADER_DSA := dsa.h
 | 
			
		||||
$	EXHEADER_DH := dh.h
 | 
			
		||||
$	EXHEADER_DSO := dso.h
 | 
			
		||||
$	EXHEADER_ENGINE := engine.h
 | 
			
		||||
$	EXHEADER_BUFFER := buffer.h
 | 
			
		||||
$	EXHEADER_BIO := bio.h
 | 
			
		||||
$	EXHEADER_STACK := stack.h,safestack.h
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -40,8 +40,7 @@ all:    lib
 | 
			
		||||
 | 
			
		||||
lib:    $(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -50,8 +50,7 @@ all:    lib
 | 
			
		||||
 | 
			
		||||
lib:    $(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
# elf
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -39,8 +39,7 @@ all:	obj_dat.h lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	@echo You may get an error following this line.  Please ignore.
 | 
			
		||||
	- $(RANLIB) $(LIB)
 | 
			
		||||
	$(RANLIB) $(LIB)
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user