Compare commits
	
		
			82 Commits
		
	
	
		
			OpenSSL_1_
			...
			OpenSSL_0_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					ce8945f35c | ||
| 
						 | 
					dd890f0776 | ||
| 
						 | 
					af4ac437ab | ||
| 
						 | 
					607585fdaf | ||
| 
						 | 
					2f596aeef5 | ||
| 
						 | 
					69762c75fa | ||
| 
						 | 
					36b29660ce | ||
| 
						 | 
					4976983f30 | ||
| 
						 | 
					31e4ad25ba | ||
| 
						 | 
					225f4daf15 | ||
| 
						 | 
					b9927cfa2d | ||
| 
						 | 
					af6cafc603 | ||
| 
						 | 
					15da07d436 | ||
| 
						 | 
					886ed3544b | ||
| 
						 | 
					aff2922f9a | ||
| 
						 | 
					f32e0035a3 | ||
| 
						 | 
					7b1e7706d8 | ||
| 
						 | 
					cd74dda72a | ||
| 
						 | 
					032bb2a2c5 | ||
| 
						 | 
					fa96ed06d2 | ||
| 
						 | 
					43133041c9 | ||
| 
						 | 
					e0ee5ea962 | ||
| 
						 | 
					f5634286a3 | ||
| 
						 | 
					97d37c1c1e | ||
| 
						 | 
					739b139cb2 | ||
| 
						 | 
					0bc9920ad4 | ||
| 
						 | 
					3f516ce837 | ||
| 
						 | 
					9f197f9da5 | ||
| 
						 | 
					3dc2cc36e9 | ||
| 
						 | 
					ca3e683747 | ||
| 
						 | 
					38a1757168 | ||
| 
						 | 
					4104a57107 | ||
| 
						 | 
					b0c0f20071 | ||
| 
						 | 
					7870774162 | ||
| 
						 | 
					4213cdaf5d | ||
| 
						 | 
					39b4c974ee | ||
| 
						 | 
					508f56f17c | ||
| 
						 | 
					48665b7c99 | ||
| 
						 | 
					51971f7293 | ||
| 
						 | 
					3d3addb252 | ||
| 
						 | 
					3f8bdd1fdb | ||
| 
						 | 
					6181fd949f | ||
| 
						 | 
					afd61c63c2 | ||
| 
						 | 
					9a2073b4cd | ||
| 
						 | 
					f28468188b | ||
| 
						 | 
					8871d87512 | ||
| 
						 | 
					a2b81188be | ||
| 
						 | 
					f91f6cd5e4 | ||
| 
						 | 
					bd923a7bac | ||
| 
						 | 
					373c88faef | ||
| 
						 | 
					14813d8123 | ||
| 
						 | 
					92f2437f48 | ||
| 
						 | 
					da959761ff | ||
| 
						 | 
					d8cd25aa0d | ||
| 
						 | 
					d63d4f46fc | ||
| 
						 | 
					52161e090d | ||
| 
						 | 
					9e55e06501 | ||
| 
						 | 
					0b6df67fb1 | ||
| 
						 | 
					bf087e1ea1 | ||
| 
						 | 
					885818fb7c | ||
| 
						 | 
					2f370048cb | ||
| 
						 | 
					28dc02a9d8 | ||
| 
						 | 
					54ebaca535 | ||
| 
						 | 
					4fedc91a4a | ||
| 
						 | 
					f734aaa413 | ||
| 
						 | 
					a575d4b9ee | ||
| 
						 | 
					77a87ded3a | ||
| 
						 | 
					b958d2c298 | ||
| 
						 | 
					dc72a195c2 | ||
| 
						 | 
					e2812ff61f | ||
| 
						 | 
					8c2e34e27f | ||
| 
						 | 
					31f3950fbf | ||
| 
						 | 
					75b3654d18 | ||
| 
						 | 
					418f9ac5e3 | ||
| 
						 | 
					ad4afe4edf | ||
| 
						 | 
					c844b971cb | ||
| 
						 | 
					ca9b1c47af | ||
| 
						 | 
					86039d2751 | ||
| 
						 | 
					420a692f04 | ||
| 
						 | 
					1d2a464fe0 | ||
| 
						 | 
					7735dd0750 | ||
| 
						 | 
					bf7b075f0c | 
@@ -472,7 +472,7 @@ my %table=(
 | 
			
		||||
"BC-32","bcc32::::WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:win32",
 | 
			
		||||
 | 
			
		||||
# MinGW
 | 
			
		||||
"mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333:::MINGW32:-lwsock32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin -shared:.dll.a",
 | 
			
		||||
"mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333:::MINGW32:-lwsock32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin -shared:.dll.a",
 | 
			
		||||
 | 
			
		||||
# UWIN 
 | 
			
		||||
"UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
 | 
			
		||||
@@ -1133,6 +1133,7 @@ else
 | 
			
		||||
	$openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
 | 
			
		||||
# Compiler fix-ups
 | 
			
		||||
if ($target =~ /icc$/)
 | 
			
		||||
	{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								FAQ
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								FAQ
									
									
									
									
									
								
							@@ -46,6 +46,7 @@ OpenSSL  -  Frequently Asked Questions
 | 
			
		||||
* Why does the OpenSSL test suite fail on MacOS X?
 | 
			
		||||
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
 | 
			
		||||
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
 | 
			
		||||
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
 | 
			
		||||
 | 
			
		||||
[PROG] Questions about programming with OpenSSL
 | 
			
		||||
 | 
			
		||||
@@ -598,6 +599,14 @@ Reportedly elder *BSD a.out platforms also suffer from this problem and
 | 
			
		||||
remedy should be same. Provided binary is statically linked and should be
 | 
			
		||||
working across wider range of *BSD branches, not just OpenBSD.
 | 
			
		||||
 | 
			
		||||
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
 | 
			
		||||
 | 
			
		||||
If the test program in question fails withs SIGILL, Illegal Instruction
 | 
			
		||||
exception, then you more than likely to run SSE2-capable CPU, such as
 | 
			
		||||
Intel P4, under control of kernel which does not support SSE2
 | 
			
		||||
instruction extentions. See accompanying INSTALL file and
 | 
			
		||||
OPENSSL_ia32cap(3) documentation page for further information.
 | 
			
		||||
 | 
			
		||||
[PROG] ========================================================================
 | 
			
		||||
 | 
			
		||||
* Is OpenSSL thread-safe?
 | 
			
		||||
@@ -652,6 +661,17 @@ by:
 | 
			
		||||
Note that debug and release libraries are NOT interchangeable.  If you
 | 
			
		||||
built OpenSSL with /MD your application must use /MD and cannot use /MDd.
 | 
			
		||||
 | 
			
		||||
As per 0.9.8 the above limitation is eliminated for .DLLs. OpenSSL
 | 
			
		||||
.DLLs compiled with some specific run-time option [we recommend the
 | 
			
		||||
default /MD] can be deployed with application compiled with different
 | 
			
		||||
option or even different compiler. But there is a catch! Instead of
 | 
			
		||||
re-compiling OpenSSL toolkit, as you would have to with prior versions,
 | 
			
		||||
you have to compile small C snippet with compiler and/or options of
 | 
			
		||||
your choice. The snippet gets installed as
 | 
			
		||||
<install-root>/include/openssl/applink.c and should be either added to
 | 
			
		||||
your project or simply #include-d in one [and only one] of your source
 | 
			
		||||
files. Failure to do either manifests itself as fatal "no
 | 
			
		||||
OPENSSL_Applink" error.
 | 
			
		||||
 | 
			
		||||
* How do I read or write a DER encoded buffer using the ASN1 functions?
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								Makefile.org
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								Makefile.org
									
									
									
									
									
								
							@@ -150,12 +150,12 @@ BUILDENV=	PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
 | 
			
		||||
		CC='${CC}' CFLAG='${CFLAG}' 			\
 | 
			
		||||
		AS='${CC}' ASFLAG='${CFLAG} -c'			\
 | 
			
		||||
		AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}'	\
 | 
			
		||||
		SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/lib'		\
 | 
			
		||||
		SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib'		\
 | 
			
		||||
		INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}'	\
 | 
			
		||||
		MAKEDEPEND='$$(TOP)/util/domd $$(TOP) -MD $(MAKEDEPPROG)'\
 | 
			
		||||
		MAKEDEPEND='$${TOP}/util/domd $${TOP} -MD ${MAKEDEPPROG}'\
 | 
			
		||||
		DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}'	\
 | 
			
		||||
		MAKEDEPPROG='${MAKEDEPPROG}'			\
 | 
			
		||||
		LDFLAGS="$(LDFLAGS)" SHARED_LDFLAGS="$(SHARED_LDFLAGS)"	\
 | 
			
		||||
		LDFLAGS='${LDFLAGS}' SHARED_LDFLAGS='${SHARED_LDFLAGS}'	\
 | 
			
		||||
		KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}'	\
 | 
			
		||||
		EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}'	\
 | 
			
		||||
		SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}'	\
 | 
			
		||||
@@ -173,7 +173,7 @@ BUILDENV=	PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
 | 
			
		||||
BUILD_CMD=if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
 | 
			
		||||
	if [ -d "$$dir" ]; then \
 | 
			
		||||
		(cd $$dir && echo "making $$target in $$dir..." && \
 | 
			
		||||
		$(MAKE) $(BUILDENV) $$target ) || exit 1; \
 | 
			
		||||
		$(MAKE) $(BUILDENV) BUILDENV="$(BUILDENV)" $$target ) || exit 1; \
 | 
			
		||||
	else \
 | 
			
		||||
		$(MAKE) $$dir; \
 | 
			
		||||
	fi; fi
 | 
			
		||||
@@ -276,7 +276,7 @@ Makefile: Makefile.org Configure config
 | 
			
		||||
	@false
 | 
			
		||||
 | 
			
		||||
libclean:
 | 
			
		||||
	rm -f *.map *.so *.so.* engines/*.so *.a */lib */*/lib
 | 
			
		||||
	rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
 | 
			
		||||
 | 
			
		||||
clean:	libclean
 | 
			
		||||
	rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
 | 
			
		||||
@@ -476,13 +476,13 @@ install_sw:
 | 
			
		||||
					chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
 | 
			
		||||
				else \
 | 
			
		||||
					c=`echo $$i | sed 's/^lib/cyg/'`; \
 | 
			
		||||
					c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
 | 
			
		||||
					cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
 | 
			
		||||
					chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
 | 
			
		||||
					cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
 | 
			
		||||
					chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
 | 
			
		||||
					cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
 | 
			
		||||
					chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
 | 
			
		||||
				fi ); \
 | 
			
		||||
			fi; \
 | 
			
		||||
		done; \
 | 
			
		||||
 
 | 
			
		||||
@@ -89,21 +89,23 @@ CALC_VERSIONS=	\
 | 
			
		||||
 | 
			
		||||
LINK_APP=	\
 | 
			
		||||
  ( $(SET_X);   \
 | 
			
		||||
    LIBDEPS=$${LIBDEPS:-$(LIBDEPS)}; \
 | 
			
		||||
    LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
 | 
			
		||||
    LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
 | 
			
		||||
    LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
 | 
			
		||||
    LIBPATH=`for x in $(LIBDEPS); do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
 | 
			
		||||
    LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
 | 
			
		||||
    LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
 | 
			
		||||
    $${LDCMD:=$(CC)} $${LDFLAGS:=$(CFLAGS)} \
 | 
			
		||||
	-o $${APPNAME:=$(APPNAME)} $(OBJECTS) $$LIBDEPS )
 | 
			
		||||
    $${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
 | 
			
		||||
 | 
			
		||||
LINK_SO=	\
 | 
			
		||||
  ( $(SET_X);   \
 | 
			
		||||
    LIBDEPS=$${LIBDEPS:-$(LIBDEPS)}; \
 | 
			
		||||
    LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
 | 
			
		||||
    SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
 | 
			
		||||
    SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
 | 
			
		||||
    nm -Pg $$SHOBJECTS | grep ' [BDT] ' | cut -f1 -d' ' > lib$(LIBNAME).exp; \
 | 
			
		||||
    LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
 | 
			
		||||
    LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
 | 
			
		||||
    LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
 | 
			
		||||
    $${SHAREDCMD:=$(CC)} $${SHAREDFLAGS:=$(CFLAGS) $(SHARED_LDFLAGS)} \
 | 
			
		||||
    $${SHAREDCMD} $${SHAREDFLAGS} \
 | 
			
		||||
	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
 | 
			
		||||
	$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
 | 
			
		||||
  ) && $(SYMLINK_SO); \
 | 
			
		||||
@@ -229,7 +231,8 @@ link_o.cygwin:
 | 
			
		||||
	SHLIB=cyg$(LIBNAME); \
 | 
			
		||||
	expr $(PLATFORM) : 'mingw' > /dev/null && SHLIB=$(LIBNAME)eay32; \
 | 
			
		||||
	SHLIB_SUFFIX=.dll; \
 | 
			
		||||
	SHLIB_SOVER=-$(LIBVERSION); \
 | 
			
		||||
	LIBVERSION="$(LIBVERSION)"; \
 | 
			
		||||
	SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,--whole-archive'; \
 | 
			
		||||
	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
 | 
			
		||||
@@ -240,16 +243,16 @@ link_a.cygwin:
 | 
			
		||||
	SHLIB=cyg$(LIBNAME); \
 | 
			
		||||
	expr $(PLATFORM) : 'mingw' > /dev/null && SHLIB=$(LIBNAME)eay32; \
 | 
			
		||||
	SHLIB_SUFFIX=.dll; \
 | 
			
		||||
	SHLIB_SOVER=; \
 | 
			
		||||
	SHLIB_SOVER=-$(LIBVERSION); \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,--whole-archive'; \
 | 
			
		||||
	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
 | 
			
		||||
	base=;  [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x61200000; \
 | 
			
		||||
	base=;  [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
 | 
			
		||||
	[ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
 | 
			
		||||
	[ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
 | 
			
		||||
	$(LINK_SO_A) || exit 1; \
 | 
			
		||||
	cp -p $$SHLIB$$SHLIB_SUFFIX apps/; \
 | 
			
		||||
	cp -p $$SHLIB$$SHLIB_SUFFIX test/
 | 
			
		||||
	cp -p $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX apps/; \
 | 
			
		||||
	cp -p $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX test/
 | 
			
		||||
link_app.cygwin:
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										67
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								NEWS
									
									
									
									
									
								
							@@ -5,6 +5,73 @@
 | 
			
		||||
  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.7g and OpenSSL 0.9.8:
 | 
			
		||||
 | 
			
		||||
      o Major work on the BIGNUM library for higher efficiency and to
 | 
			
		||||
        make operations more streamlined and less contradictory.  This
 | 
			
		||||
        is the result of a major audit of the BIGNUM library.
 | 
			
		||||
      o Addition of BIGNUM functions for fields GF(2^m) and NIST
 | 
			
		||||
        curves, to support the Elliptic Crypto functions.
 | 
			
		||||
      o Major work on Elliptic Crypto; ECDH and ECDSA added, including
 | 
			
		||||
        the use through EVP, X509 and ENGINE.
 | 
			
		||||
      o New ASN.1 mini-compiler that's usable through the OpenSSL
 | 
			
		||||
        configuration file.
 | 
			
		||||
      o Added support for ASN.1 indefinite length constructed encoding.
 | 
			
		||||
      o New PKCS#12 'medium level' API to manipulate PKCS#12 files.
 | 
			
		||||
      o Complete rework of shared library construction and linking
 | 
			
		||||
        programs with shared or static libraries, through a separate
 | 
			
		||||
        Makefile.shared.
 | 
			
		||||
      o Changed ENGINE framework to load dynamic engine modules
 | 
			
		||||
        automatically from specifically given directories.
 | 
			
		||||
      o New structure and ASN.1 functions for CertificatePair.
 | 
			
		||||
      o Changed the ZLIB compression method to be stateful.
 | 
			
		||||
      o Changed the key-generation and primality testing "progress"
 | 
			
		||||
        mechanism to take a structure that contains the ticker
 | 
			
		||||
        function and an argument.
 | 
			
		||||
      o New engine module: GMP (performs private key exponentiation).
 | 
			
		||||
      o New engine module: VIA PadLOck ACE extension in VIA C3
 | 
			
		||||
        Nehemiah processors.
 | 
			
		||||
      o Added support for IPv6 addresses in certificate extensions.
 | 
			
		||||
        See RFC 1884, section 2.2.
 | 
			
		||||
      o Added support for certificate policy mappings, policy
 | 
			
		||||
        constraints and name constraints.
 | 
			
		||||
      o Added support for multi-valued AVAs in the OpenSSL
 | 
			
		||||
        configuration file.
 | 
			
		||||
      o Added support for multiple certificates with the same subject
 | 
			
		||||
        in the 'openssl ca' index file.
 | 
			
		||||
      o Make it possible to create self-signed certificates using
 | 
			
		||||
        'openssl ca -selfsign'.
 | 
			
		||||
      o Make it possible to generate a serial number file with
 | 
			
		||||
        'openssl ca -create_serial'.
 | 
			
		||||
      o New binary search functions with extended functionality.
 | 
			
		||||
      o New BUF functions.
 | 
			
		||||
      o New STORE structure and library to provide an interface to all
 | 
			
		||||
        sorts of data repositories.  Supports storage of public and
 | 
			
		||||
        private keys, certificates, CRLs, numbers and arbitrary blobs.
 | 
			
		||||
	This library is unfortunately unfinished and unused withing
 | 
			
		||||
	OpenSSL.
 | 
			
		||||
      o New control functions for the error stack.
 | 
			
		||||
      o Changed the PKCS#7 library to support one-pass S/MIME
 | 
			
		||||
        processing.
 | 
			
		||||
      o Added the possibility to compile without old deprecated
 | 
			
		||||
        functionality with the OPENSSL_NO_DEPRECATED macro or the
 | 
			
		||||
        'no-deprecated' argument to the config and Configure scripts.
 | 
			
		||||
      o Constification of all ASN.1 conversion functions, and other
 | 
			
		||||
        affected functions.
 | 
			
		||||
      o Improved platform support for PowerPC.
 | 
			
		||||
      o New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512).
 | 
			
		||||
      o New X509_VERIFY_PARAM structure to support parametrisation
 | 
			
		||||
        of X.509 path validation.
 | 
			
		||||
      o Major overhaul of RC4 performance on Intel P4, IA-64 and
 | 
			
		||||
        AMD64.
 | 
			
		||||
      o Changed the Configure script to have some algorithms disabled
 | 
			
		||||
        by default.  Those can be explicitely enabled with the new
 | 
			
		||||
        argument form 'enable-xxx'.
 | 
			
		||||
      o Change the default digest in 'openssl' commands from MD5 to
 | 
			
		||||
        SHA-1.
 | 
			
		||||
      o Added support for DTLS.  THIS IS STILL BEING WORKED ON!
 | 
			
		||||
      o New BIGNUM blinding.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
 | 
			
		||||
 | 
			
		||||
      o More compilation issues fixed.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
 | 
			
		||||
 OpenSSL 0.9.8-dev XX xxx XXXX
 | 
			
		||||
 OpenSSL 0.9.8-beta2 24 May 2005
 | 
			
		||||
 | 
			
		||||
 Copyright (c) 1998-2005 The OpenSSL Project
 | 
			
		||||
 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								STATUS
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								STATUS
									
									
									
									
									
								
							@@ -1,10 +1,12 @@
 | 
			
		||||
 | 
			
		||||
  OpenSSL STATUS                           Last modified at
 | 
			
		||||
  ______________                           $Date: 2005/04/25 21:42:14 $
 | 
			
		||||
  ______________                           $Date: 2005/05/24 03:42:48 $
 | 
			
		||||
 | 
			
		||||
  DEVELOPMENT STATE
 | 
			
		||||
 | 
			
		||||
    o  OpenSSL 0.9.8:  Under development...
 | 
			
		||||
    o  OpenSSL 0.9.9:  Under development...
 | 
			
		||||
    o  OpenSSL 0.9.8-beta2:  Released on May 24th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.8-beta1:  Released on May 19th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.7g: Released on April     11th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.7f: Released on March     22nd, 2005
 | 
			
		||||
    o  OpenSSL 0.9.7e: Released on October   25th, 2004
 | 
			
		||||
@@ -55,16 +57,8 @@
 | 
			
		||||
	Private key, certificate and CRL API and implementation.
 | 
			
		||||
	Developing and bugfixing PKCS#7 (S/MIME code).
 | 
			
		||||
        Various X509 issues: character sets, certificate request extensions.
 | 
			
		||||
    o Geoff and Richard are currently working on:
 | 
			
		||||
	ENGINE (the new code that gives hardware support among others).
 | 
			
		||||
    o Richard is currently working on:
 | 
			
		||||
	UI (User Interface)
 | 
			
		||||
	UTIL (a new set of library functions to support some higher level
 | 
			
		||||
	      functionality that is currently missing).
 | 
			
		||||
	Shared library support for VMS.
 | 
			
		||||
	Kerberos 5 authentication (Heimdal)
 | 
			
		||||
	Constification
 | 
			
		||||
	Compression
 | 
			
		||||
	Attribute Certificate support
 | 
			
		||||
	Certificate Pair support
 | 
			
		||||
	Storage Engines (primarly an LDAP storage engine)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								TABLE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								TABLE
									
									
									
									
									
								
							@@ -2991,7 +2991,7 @@ $rmd160_obj   = rm86-cof.o
 | 
			
		||||
$rc5_obj      = r586-cof.o
 | 
			
		||||
$dso_scheme   = win32
 | 
			
		||||
$shared_target= cygwin-shared
 | 
			
		||||
$shared_cflag = -D_WINDLL
 | 
			
		||||
$shared_cflag = -D_WINDLL -DOPENSSL_USE_APPLINK
 | 
			
		||||
$shared_ldflag = -mno-cygwin -shared
 | 
			
		||||
$shared_extension = .dll.a
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
 
 | 
			
		||||
@@ -86,7 +86,7 @@ req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
 | 
			
		||||
	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		shlib_target="$(SHLIB_TARGET)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared $(BUILDENV) \
 | 
			
		||||
		APPNAME=req OBJECTS="sreq.o $(A_OBJ) $(RAND_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)" \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
@@ -158,7 +158,7 @@ $(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
 | 
			
		||||
	else \
 | 
			
		||||
	  LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)" ; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared $(BUILDENV) \
 | 
			
		||||
		APPNAME=$(EXE) OBJECTS="$(PROGRAM).o $(E_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
@@ -621,25 +621,24 @@ rand.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
rand.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
rand.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
rand.o: ../include/openssl/x509_vfy.h apps.h rand.c
 | 
			
		||||
req.o: ../crypto/cryptlib.h ../e_os.h ../include/openssl/asn1.h
 | 
			
		||||
req.o: ../include/openssl/bio.h ../include/openssl/bn.h
 | 
			
		||||
req.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
req.o: ../include/openssl/crypto.h ../include/openssl/dh.h
 | 
			
		||||
req.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
req.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
req.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
req.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
req.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
req.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
req.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
req.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
req.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
req.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
req.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
req.o: ../include/openssl/store.h ../include/openssl/symhacks.h
 | 
			
		||||
req.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
req.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
req.o: ../include/openssl/x509v3.h apps.h req.c
 | 
			
		||||
req.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
req.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
req.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
req.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
req.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
req.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
req.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
req.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
req.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
req.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
req.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
req.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
req.o: ../include/openssl/rand.h ../include/openssl/rsa.h
 | 
			
		||||
req.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
req.o: ../include/openssl/stack.h ../include/openssl/store.h
 | 
			
		||||
req.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
req.o: ../include/openssl/ui.h ../include/openssl/x509.h
 | 
			
		||||
req.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h req.c
 | 
			
		||||
rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
rsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								apps/speed.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								apps/speed.c
									
									
									
									
									
								
							@@ -496,9 +496,13 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA
 | 
			
		||||
	unsigned char sha[SHA_DIGEST_LENGTH];
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
	unsigned char sha256[SHA256_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
	unsigned char sha512[SHA512_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RIPEMD
 | 
			
		||||
	unsigned char rmd160[RIPEMD160_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
@@ -878,11 +882,15 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
							doit[D_SHA256]=1,
 | 
			
		||||
							doit[D_SHA512]=1;
 | 
			
		||||
		else
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
			if (strcmp(*argv,"sha256") == 0) doit[D_SHA256]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
			if (strcmp(*argv,"sha512") == 0) doit[D_SHA512]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RIPEMD
 | 
			
		||||
			if (strcmp(*argv,"ripemd") == 0) doit[D_RMD160]=1;
 | 
			
		||||
		else
 | 
			
		||||
@@ -1064,8 +1072,12 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA1
 | 
			
		||||
			BIO_printf(bio_err,"sha1     ");
 | 
			
		||||
			BIO_printf(bio_err,"sha256  ");
 | 
			
		||||
			BIO_printf(bio_err,"sha512  ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
			BIO_printf(bio_err,"sha256   ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
			BIO_printf(bio_err,"sha512   ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RIPEMD160
 | 
			
		||||
			BIO_printf(bio_err,"rmd160");
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								config
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								config
									
									
									
									
									
								
							@@ -647,11 +647,14 @@ case "$GUESSOS" in
 | 
			
		||||
	    OUT="solaris64-x86_64-$CC"
 | 
			
		||||
	else
 | 
			
		||||
	    OUT="solaris-x86-$CC"
 | 
			
		||||
	    if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
 | 
			
		||||
		options="$options no-sse2"
 | 
			
		||||
	    fi
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  *-*-sunos4)		OUT="sunos-$CC" ;;
 | 
			
		||||
 | 
			
		||||
  *86*-*-bsdi4)		OUT="bsdi-elf-gcc" ;;
 | 
			
		||||
  *86*-*-bsdi4)		OUT="bsdi-elf-gcc"; options="$options no-sse2" ;;
 | 
			
		||||
  alpha*-*-*bsd*)	OUT="BSD-generic64; options="$options -DL_ENDIAN" ;;
 | 
			
		||||
  powerpc64-*-*bsd*)	OUT="BSD-generic64; options="$options -DB_ENDIAN" ;;
 | 
			
		||||
  sparc64-*-*bsd*)	OUT="BSD-sparc64" ;;
 | 
			
		||||
@@ -659,7 +662,7 @@ case "$GUESSOS" in
 | 
			
		||||
  amd64-*-*bsd*)	OUT="BSD-x86_64" ;;
 | 
			
		||||
  *86*-*-*bsd*)		case "`(file -L /usr/lib/libc.so.*) 2>/dev/null`" in
 | 
			
		||||
			*ELF*)	OUT="BSD-x86-elf" ;;
 | 
			
		||||
			*)	OUT="BSD-x86" ;;
 | 
			
		||||
			*)	OUT="BSD-x86"; options="$options no-sse2" ;;
 | 
			
		||||
			esac ;;
 | 
			
		||||
  *-*-*bsd*)		OUT="BSD-generic32" ;;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -67,6 +67,12 @@ x86cpuid-cof.s: x86cpuid.pl perlasm/x86asm.pl
 | 
			
		||||
x86cpuid-out.s: x86cpuid.pl perlasm/x86asm.pl
 | 
			
		||||
	$(PERL) x86cpuid.pl a.out $(CFLAGS) $(PROCESSOR) > $@
 | 
			
		||||
 | 
			
		||||
uplink.o:	../ms/uplink.c
 | 
			
		||||
	$(CC) $(CFLAGS) -c -o $@ ../ms/uplink.c
 | 
			
		||||
 | 
			
		||||
uplink-cof.s:	../ms/uplink.pl
 | 
			
		||||
	$(PERL) ../ms/uplink.pl coff > $@
 | 
			
		||||
 | 
			
		||||
x86_64cpuid.s: x86_64cpuid.pl
 | 
			
		||||
	$(PERL) x86_64cpuid.pl $@
 | 
			
		||||
ia64cpuid.s: ia64cpuid.S
 | 
			
		||||
@@ -82,7 +88,7 @@ subdirs:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making all in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) INCLUDES='${INCLUDES}' all ) || exit 1; \
 | 
			
		||||
	$(MAKE) $(BUILDENV) INCLUDES='${INCLUDES}' all ) || exit 1; \
 | 
			
		||||
	done;
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
 
 | 
			
		||||
@@ -932,7 +932,7 @@ int ASN1_i2d_bio(i2d_of_void *i2d,BIO *out, unsigned char *x);
 | 
			
		||||
#define ASN1_i2d_bio_of(type,i2d,out,x) \
 | 
			
		||||
	((int (*)(I2D_OF(type),BIO *,type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x)
 | 
			
		||||
#define ASN1_i2d_bio_of_const(type,i2d,out,x) \
 | 
			
		||||
	((int (*)(I2D_OF_const(type),BIO *,type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x)
 | 
			
		||||
	((int (*)(I2D_OF_const(type),BIO *,const type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x)
 | 
			
		||||
int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x);
 | 
			
		||||
int ASN1_UTCTIME_print(BIO *fp,ASN1_UTCTIME *a);
 | 
			
		||||
int ASN1_GENERALIZEDTIME_print(BIO *fp,ASN1_GENERALIZEDTIME *a);
 | 
			
		||||
 
 | 
			
		||||
@@ -92,7 +92,7 @@ b_dump.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
b_dump.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 | 
			
		||||
b_dump.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
b_dump.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
b_dump.o: ../../include/openssl/symhacks.h ../cryptlib.h b_dump.c
 | 
			
		||||
b_dump.o: ../../include/openssl/symhacks.h ../cryptlib.h b_dump.c bio_lcl.h
 | 
			
		||||
b_print.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
 | 
			
		||||
b_print.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
b_print.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
@@ -183,14 +183,14 @@ bss_fd.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
bss_fd.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 | 
			
		||||
bss_fd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
bss_fd.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
bss_fd.o: ../../include/openssl/symhacks.h ../cryptlib.h bss_fd.c
 | 
			
		||||
bss_fd.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_lcl.h bss_fd.c
 | 
			
		||||
bss_file.o: ../../e_os.h ../../include/openssl/bio.h
 | 
			
		||||
bss_file.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
bss_file.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
bss_file.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 | 
			
		||||
bss_file.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
bss_file.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
bss_file.o: ../../include/openssl/symhacks.h ../cryptlib.h bss_file.c
 | 
			
		||||
bss_file.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_lcl.h bss_file.c
 | 
			
		||||
bss_log.o: ../../e_os.h ../../include/openssl/bio.h
 | 
			
		||||
bss_log.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
bss_log.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
 
 | 
			
		||||
@@ -236,12 +236,17 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr)
 | 
			
		||||
		b->shutdown=(int)num&BIO_CLOSE;
 | 
			
		||||
		b->ptr=ptr;
 | 
			
		||||
		b->init=1;
 | 
			
		||||
#if BIO_FLAGS_UPLINK!=0 && defined(_IOB_ENTRIES)
 | 
			
		||||
#if BIO_FLAGS_UPLINK!=0
 | 
			
		||||
#if defined(__MINGW32__) && defined(__MSVCRT__) && !defined(_IOB_ENTRIES)
 | 
			
		||||
#define _IOB_ENTRIES 20
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(_IOB_ENTRIES)
 | 
			
		||||
		/* Safety net to catch purely internal BIO_set_fp calls */
 | 
			
		||||
		if ((size_t)ptr >= (size_t)stdin &&
 | 
			
		||||
		    (size_t)ptr <  (size_t)(stdin+_IOB_ENTRIES))
 | 
			
		||||
			BIO_clear_flags(b,BIO_FLAGS_UPLINK);
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef UP_fsetmode
 | 
			
		||||
		if (b->flags&BIO_FLAGS_UPLINK)
 | 
			
		||||
			UP_fsetmode(b->ptr,num&BIO_FP_TEXT?'t':'b');
 | 
			
		||||
 
 | 
			
		||||
@@ -282,6 +282,11 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
 | 
			
		||||
 | 
			
		||||
	nist_cp_bn_0(buf, a_d + BN_NIST_192_TOP, top - BN_NIST_192_TOP, BN_NIST_192_TOP);
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_SYS_VMS) && defined(__DECC)
 | 
			
		||||
# pragma save
 | 
			
		||||
# pragma message disable BADSUBSCRIPT
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	nist_set_192(t_d, buf, 0, 3, 3);
 | 
			
		||||
	if (bn_add_words(r_d, r_d, t_d, BN_NIST_192_TOP))
 | 
			
		||||
		++carry;
 | 
			
		||||
@@ -290,6 +295,10 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
 | 
			
		||||
	if (bn_add_words(r_d, r_d, t_d, BN_NIST_192_TOP))
 | 
			
		||||
		++carry;
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_SYS_VMS) && defined(__DECC)
 | 
			
		||||
# pragma restore
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	nist_set_192(t_d, buf, 5, 5, 5)
 | 
			
		||||
	if (bn_add_words(r_d, r_d, t_d, BN_NIST_192_TOP))
 | 
			
		||||
		++carry;
 | 
			
		||||
 
 | 
			
		||||
@@ -624,7 +624,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
 | 
			
		||||
#include <tchar.h>
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32_WINNT) && _WIN32_WINNT>=0x0333
 | 
			
		||||
static int IsService(void)
 | 
			
		||||
int OPENSSL_isservice(void)
 | 
			
		||||
{ HWINSTA h;
 | 
			
		||||
  DWORD len;
 | 
			
		||||
  WCHAR *name;
 | 
			
		||||
@@ -722,7 +722,7 @@ void OPENSSL_showfatal (const char *fmta,...)
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32_WINNT) && _WIN32_WINNT>=0x0333
 | 
			
		||||
    /* this -------------v--- guards NT-specific calls */
 | 
			
		||||
    if (GetVersion() < 0x80000000 && IsService())
 | 
			
		||||
    if (GetVersion() < 0x80000000 && OPENSSL_isservice())
 | 
			
		||||
    {	HANDLE h = RegisterEventSource(0,_T("OPENSSL"));
 | 
			
		||||
	const TCHAR *pmsg=buf;
 | 
			
		||||
	ReportEvent(h,EVENTLOG_ERROR_TYPE,0,0,0,1,0,&pmsg,0);
 | 
			
		||||
@@ -754,6 +754,7 @@ void OPENSSL_showfatal (const char *fmta,...)
 | 
			
		||||
    vfprintf (stderr,fmta,ap);
 | 
			
		||||
    va_end (ap);
 | 
			
		||||
}
 | 
			
		||||
int OPENSSL_isservice (void) { return 0; }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void OpenSSLDie(const char *file,int line,const char *assertion)
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,7 @@
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_USE_APPLINK
 | 
			
		||||
#define BIO_FLAGS_UPLINK 0x8000
 | 
			
		||||
#include "uplink.h"
 | 
			
		||||
#include "ms/uplink.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <openssl/crypto.h>
 | 
			
		||||
@@ -103,6 +103,7 @@ extern unsigned long OPENSSL_ia32cap_P;
 | 
			
		||||
void OPENSSL_showfatal(const char *,...);
 | 
			
		||||
void *OPENSSL_stderr(void);
 | 
			
		||||
extern int OPENSSL_NONPIC_relocated;
 | 
			
		||||
int OPENSSL_isservice(void);
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -237,7 +237,7 @@ static void *dlfcn_bind_var(DSO *dso, const char *symname)
 | 
			
		||||
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
 | 
			
		||||
	{
 | 
			
		||||
	void *ptr;
 | 
			
		||||
	DSO_FUNC_TYPE sym;
 | 
			
		||||
	DSO_FUNC_TYPE sym, *tsym = &sym;
 | 
			
		||||
 | 
			
		||||
	if((dso == NULL) || (symname == NULL))
 | 
			
		||||
		{
 | 
			
		||||
@@ -255,7 +255,7 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
 | 
			
		||||
		DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE);
 | 
			
		||||
		return(NULL);
 | 
			
		||||
		}
 | 
			
		||||
	*(void **)(&sym) = dlsym(ptr, symname);
 | 
			
		||||
	*(void **)(tsym) = dlsym(ptr, symname);
 | 
			
		||||
	if(sym == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE);
 | 
			
		||||
 
 | 
			
		||||
@@ -622,7 +622,7 @@ void EC_EX_DATA_free_data(EC_EXTRA_DATA **ex_data,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* this has 'package' visibility */
 | 
			
		||||
void EC_EX_DATA_clear_free_extra_data(EC_EXTRA_DATA **ex_data,
 | 
			
		||||
void EC_EX_DATA_clear_free_data(EC_EXTRA_DATA **ex_data,
 | 
			
		||||
	void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *))
 | 
			
		||||
	{
 | 
			
		||||
	EC_EXTRA_DATA **p;
 | 
			
		||||
 
 | 
			
		||||
@@ -78,6 +78,7 @@ const char *ECDH_version="ECDH" OPENSSL_VERSION_PTEXT;
 | 
			
		||||
 | 
			
		||||
static const ECDH_METHOD *default_ECDH_method = NULL;
 | 
			
		||||
 | 
			
		||||
static void *ecdh_data_new(void);
 | 
			
		||||
static void *ecdh_data_dup(void *);
 | 
			
		||||
static void  ecdh_data_free(void *);
 | 
			
		||||
 | 
			
		||||
@@ -167,7 +168,7 @@ static ECDH_DATA *ECDH_DATA_new_method(ENGINE *engine)
 | 
			
		||||
	return(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
void *ecdh_data_new(void)
 | 
			
		||||
static void *ecdh_data_new(void)
 | 
			
		||||
	{
 | 
			
		||||
	return (void *)ECDH_DATA_new_method(NULL);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -65,6 +65,7 @@ const char *ECDSA_version="ECDSA" OPENSSL_VERSION_PTEXT;
 | 
			
		||||
 | 
			
		||||
static const ECDSA_METHOD *default_ECDSA_method = NULL;
 | 
			
		||||
 | 
			
		||||
static void *ecdsa_data_new(void);
 | 
			
		||||
static void *ecdsa_data_dup(void *);
 | 
			
		||||
static void  ecdsa_data_free(void *);
 | 
			
		||||
 | 
			
		||||
@@ -147,7 +148,7 @@ static ECDSA_DATA *ECDSA_DATA_new_method(ENGINE *engine)
 | 
			
		||||
	return(ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void *ecdsa_data_new(void)
 | 
			
		||||
static void *ecdsa_data_new(void)
 | 
			
		||||
{
 | 
			
		||||
	return (void *)ECDSA_DATA_new_method(NULL);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2740,8 +2740,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 | 
			
		||||
&(nid_objs[648]),/* "Microsoft Smartcardlogin" */
 | 
			
		||||
&(nid_objs[136]),/* "Microsoft Trust List Signing" */
 | 
			
		||||
&(nid_objs[649]),/* "Microsoft Universal Principal Name" */
 | 
			
		||||
&(nid_objs[404]),/* "NULL" */
 | 
			
		||||
&(nid_objs[393]),/* "NULL" */
 | 
			
		||||
&(nid_objs[404]),/* "NULL" */
 | 
			
		||||
&(nid_objs[72]),/* "Netscape Base Url" */
 | 
			
		||||
&(nid_objs[76]),/* "Netscape CA Policy Url" */
 | 
			
		||||
&(nid_objs[74]),/* "Netscape CA Revocation Url" */
 | 
			
		||||
@@ -3450,8 +3450,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 | 
			
		||||
static ASN1_OBJECT *obj_objs[NUM_OBJ]={
 | 
			
		||||
&(nid_objs[ 0]),/* OBJ_undef                        0 */
 | 
			
		||||
&(nid_objs[393]),/* OBJ_joint_iso_ccitt              OBJ_joint_iso_itu_t */
 | 
			
		||||
&(nid_objs[645]),/* OBJ_itu_t                        0 */
 | 
			
		||||
&(nid_objs[404]),/* OBJ_ccitt                        OBJ_itu_t */
 | 
			
		||||
&(nid_objs[645]),/* OBJ_itu_t                        0 */
 | 
			
		||||
&(nid_objs[434]),/* OBJ_data                         0 9 */
 | 
			
		||||
&(nid_objs[181]),/* OBJ_iso                          1 */
 | 
			
		||||
&(nid_objs[182]),/* OBJ_member_body                  1 2 */
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
 * 0.9.3-beta2    0x00903002 (same as ...beta2-dev)
 | 
			
		||||
 * 0.9.3	  0x0090300f
 | 
			
		||||
 * 0.9.3a	  0x0090301f
 | 
			
		||||
 * 0.9.4 	  0x0090400f
 | 
			
		||||
 * 0.9.4	  0x0090400f
 | 
			
		||||
 * 1.2.3z	  0x102031af
 | 
			
		||||
 *
 | 
			
		||||
 * For continuity reasons (because 0.9.5 is already out, and is coded
 | 
			
		||||
@@ -25,11 +25,11 @@
 | 
			
		||||
 * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
 | 
			
		||||
 *  major minor fix final patch/beta)
 | 
			
		||||
 */
 | 
			
		||||
#define OPENSSL_VERSION_NUMBER	0x00908000L
 | 
			
		||||
#define OPENSSL_VERSION_NUMBER	0x00908002L
 | 
			
		||||
#ifdef OPENSSL_FIPS
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8-fips-dev XX xxx XXXX"
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8-fips-beta2 24 May 2005"
 | 
			
		||||
#else
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8-dev XX xxx XXXX"
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8-beta2 24 May 2005"
 | 
			
		||||
#endif
 | 
			
		||||
#define OPENSSL_VERSION_PTEXT	" part of " OPENSSL_VERSION_TEXT
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -230,9 +230,9 @@ return(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,uns
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \
 | 
			
		||||
int PEM_write_##name(FILE *fp, type *x) \
 | 
			
		||||
int PEM_write_##name(FILE *fp, const type *x) \
 | 
			
		||||
{ \
 | 
			
		||||
return(((int (*)(I2D_OF_const(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \
 | 
			
		||||
return(((int (*)(I2D_OF_const(type),const char *,FILE *, const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \
 | 
			
		||||
@@ -266,9 +266,9 @@ return(((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \
 | 
			
		||||
int PEM_write_bio_##name(BIO *bp, type *x) \
 | 
			
		||||
int PEM_write_bio_##name(BIO *bp, const type *x) \
 | 
			
		||||
{ \
 | 
			
		||||
return(((int (*)(I2D_OF_const(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \
 | 
			
		||||
return(((int (*)(I2D_OF_const(type),const char *,BIO *,const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \
 | 
			
		||||
@@ -333,6 +333,9 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
 | 
			
		||||
#define DECLARE_PEM_write_fp(name, type) \
 | 
			
		||||
	int PEM_write_##name(FILE *fp, type *x);
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_write_fp_const(name, type) \
 | 
			
		||||
	int PEM_write_##name(FILE *fp, const type *x);
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_write_cb_fp(name, type) \
 | 
			
		||||
	int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \
 | 
			
		||||
	     unsigned char *kstr, int klen, pem_password_cb *cb, void *u);
 | 
			
		||||
@@ -346,6 +349,9 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
 | 
			
		||||
#define DECLARE_PEM_write_bio(name, type) \
 | 
			
		||||
	int PEM_write_bio_##name(BIO *bp, type *x);
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_write_bio_const(name, type) \
 | 
			
		||||
	int PEM_write_bio_##name(BIO *bp, const type *x);
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_write_cb_bio(name, type) \
 | 
			
		||||
	int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
 | 
			
		||||
	     unsigned char *kstr, int klen, pem_password_cb *cb, void *u);
 | 
			
		||||
@@ -362,6 +368,10 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
 | 
			
		||||
	DECLARE_PEM_write_bio(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_fp(name, type) 
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_write_const(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_bio_const(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_fp_const(name, type)
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_write_cb(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_cb_bio(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_cb_fp(name, type) 
 | 
			
		||||
@@ -374,6 +384,10 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
 | 
			
		||||
	DECLARE_PEM_read(name, type) \
 | 
			
		||||
	DECLARE_PEM_write(name, type)
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_rw_const(name, type) \
 | 
			
		||||
	DECLARE_PEM_read(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_const(name, type)
 | 
			
		||||
 | 
			
		||||
#define DECLARE_PEM_rw_cb(name, type) \
 | 
			
		||||
	DECLARE_PEM_read(name, type) \
 | 
			
		||||
	DECLARE_PEM_write_cb(name, type)
 | 
			
		||||
@@ -601,7 +615,7 @@ DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO)
 | 
			
		||||
 | 
			
		||||
DECLARE_PEM_rw_cb(RSAPrivateKey, RSA)
 | 
			
		||||
 | 
			
		||||
DECLARE_PEM_rw(RSAPublicKey, RSA)
 | 
			
		||||
DECLARE_PEM_rw_const(RSAPublicKey, RSA)
 | 
			
		||||
DECLARE_PEM_rw(RSA_PUBKEY, RSA)
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -612,19 +626,19 @@ DECLARE_PEM_rw_cb(DSAPrivateKey, DSA)
 | 
			
		||||
 | 
			
		||||
DECLARE_PEM_rw(DSA_PUBKEY, DSA)
 | 
			
		||||
 | 
			
		||||
DECLARE_PEM_rw(DSAparams, DSA)
 | 
			
		||||
DECLARE_PEM_rw_const(DSAparams, DSA)
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_EC
 | 
			
		||||
DECLARE_PEM_rw(ECPKParameters, EC_GROUP)
 | 
			
		||||
DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP)
 | 
			
		||||
DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY)
 | 
			
		||||
DECLARE_PEM_rw(EC_PUBKEY, EC_KEY)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_DH
 | 
			
		||||
 | 
			
		||||
DECLARE_PEM_rw(DHparams, DH)
 | 
			
		||||
DECLARE_PEM_rw_const(DHparams, DH)
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -537,7 +537,8 @@ sub main'file_end
 | 
			
		||||
	if ($main'elf && grep {/%[x]*mm[0-7]/i} @out) {
 | 
			
		||||
		local($tmp);
 | 
			
		||||
 | 
			
		||||
		push (@out,"\n.comm\t${under}OPENSSL_ia32cap_P,4,4\n");
 | 
			
		||||
		push (@out,"\n.section\t.bss\n");
 | 
			
		||||
		push (@out,".comm\t${under}OPENSSL_ia32cap_P,4,4\n");
 | 
			
		||||
 | 
			
		||||
		push (@out,".section\t.init\n");
 | 
			
		||||
		# One can argue that it's wasteful to craft every
 | 
			
		||||
@@ -572,6 +573,8 @@ sub main'file_end
 | 
			
		||||
		movl	%edx,0(%edi)
 | 
			
		||||
		popl	%ebx
 | 
			
		||||
		popl	%edi
 | 
			
		||||
		jmp	1f
 | 
			
		||||
	.align	$align
 | 
			
		||||
	1:
 | 
			
		||||
___
 | 
			
		||||
		push (@out,$tmp);
 | 
			
		||||
@@ -716,6 +719,9 @@ sub main'initseg
 | 
			
		||||
		$tmp=<<___;
 | 
			
		||||
.section	.init
 | 
			
		||||
	call	$under$f
 | 
			
		||||
	jmp	1f
 | 
			
		||||
.align	$align
 | 
			
		||||
1:
 | 
			
		||||
___
 | 
			
		||||
		}
 | 
			
		||||
	elsif ($main'coff)
 | 
			
		||||
 
 | 
			
		||||
@@ -88,6 +88,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
 | 
			
		||||
 | 
			
		||||
    	if (!(si = PKCS7_add_signature(p7,signcert,pkey,EVP_sha1()))) {
 | 
			
		||||
		PKCS7err(PKCS7_F_PKCS7_SIGN,PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR);
 | 
			
		||||
		PKCS7_free(p7);
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -105,6 +106,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
 | 
			
		||||
		{
 | 
			
		||||
		if(!(smcap = sk_X509_ALGOR_new_null())) {
 | 
			
		||||
			PKCS7err(PKCS7_F_PKCS7_SIGN,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
			PKCS7_free(p7);
 | 
			
		||||
			return NULL;
 | 
			
		||||
		}
 | 
			
		||||
#ifndef OPENSSL_NO_DES
 | 
			
		||||
@@ -130,6 +132,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
 | 
			
		||||
 | 
			
		||||
	if (!(p7bio = PKCS7_dataInit(p7, NULL))) {
 | 
			
		||||
		PKCS7err(PKCS7_F_PKCS7_SIGN,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
		PKCS7_free(p7);
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -139,10 +142,12 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
 | 
			
		||||
 | 
			
		||||
        if (!PKCS7_dataFinal(p7,p7bio)) {
 | 
			
		||||
		PKCS7err(PKCS7_F_PKCS7_SIGN,PKCS7_R_PKCS7_DATASIGN);
 | 
			
		||||
		PKCS7_free(p7);
 | 
			
		||||
		BIO_free_all(p7bio);
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
        BIO_free_all(p7bio);
 | 
			
		||||
	BIO_free_all(p7bio);
 | 
			
		||||
	return p7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -632,7 +632,8 @@ int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam)
 | 
			
		||||
void RAND_screen(void) /* function available for backward compatibility */
 | 
			
		||||
{
 | 
			
		||||
	RAND_poll();
 | 
			
		||||
	readscreen();
 | 
			
		||||
	if (GetVersion() >= 0x80000000 || !OPENSSL_isservice())
 | 
			
		||||
		readscreen();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* We need to define this to get macros like S_IFBLK and S_IFCHR */
 | 
			
		||||
#define _XOPEN_SOURCE 1
 | 
			
		||||
#define _XOPEN_SOURCE 500
 | 
			
		||||
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -148,6 +148,7 @@ void SHA256_Transform(SHA256_CTX *c, const unsigned char *data);
 | 
			
		||||
#define SHA384_DIGEST_LENGTH	48
 | 
			
		||||
#define SHA512_DIGEST_LENGTH	64
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
/*
 | 
			
		||||
 * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64
 | 
			
		||||
 * being exactly 64-bit wide. See Implementation Notes in sha512.c
 | 
			
		||||
@@ -177,6 +178,7 @@ typedef struct SHA512state_st
 | 
			
		||||
	} u;
 | 
			
		||||
	unsigned int num,md_len;
 | 
			
		||||
	} SHA512_CTX;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
int SHA384_Init(SHA512_CTX *c);
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,14 @@
 | 
			
		||||
#include <openssl/sha.h>
 | 
			
		||||
#include <openssl/evp.h>
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_NO_SHA) || defined(OPENSSL_NO_SHA256)
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    printf("No SHA256 support\n");
 | 
			
		||||
    return(0);
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
unsigned char app_b1[SHA256_DIGEST_LENGTH] = {
 | 
			
		||||
	0xba,0x78,0x16,0xbf,0x8f,0x01,0xcf,0xea,
 | 
			
		||||
	0x41,0x41,0x40,0xde,0x5d,0xae,0x22,0x23,
 | 
			
		||||
@@ -136,3 +144,4 @@ int main ()
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,14 @@
 | 
			
		||||
#include <openssl/evp.h>
 | 
			
		||||
#include <openssl/crypto.h>
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_NO_SHA) || defined(OPENSSL_NO_SHA512)
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    printf("No SHA512 support\n");
 | 
			
		||||
    return(0);
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
unsigned char app_c1[SHA512_DIGEST_LENGTH] = {
 | 
			
		||||
	0xdd,0xaf,0x35,0xa1,0x93,0x61,0x7a,0xba,
 | 
			
		||||
	0xcc,0x41,0x73,0x49,0xae,0x20,0x41,0x31,
 | 
			
		||||
@@ -173,3 +181,4 @@ int main ()
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@ require "x86asm.pl";
 | 
			
		||||
 | 
			
		||||
&asm_init($ARGV[0],"x86cpuid");
 | 
			
		||||
 | 
			
		||||
for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
 | 
			
		||||
 | 
			
		||||
&function_begin("OPENSSL_ia32_cpuid");
 | 
			
		||||
	&xor	("edx","edx");
 | 
			
		||||
	&pushf	();
 | 
			
		||||
@@ -115,17 +117,19 @@ require "x86asm.pl";
 | 
			
		||||
	&mov	("ecx",&DWP(0,"ecx"));
 | 
			
		||||
	&bt	(&DWP(0,"ecx"),1);
 | 
			
		||||
	&jnc	(&label("no_x87"));
 | 
			
		||||
	&bt	(&DWP(0,"ecx"),26);
 | 
			
		||||
	&jnc	(&label("no_sse2"));
 | 
			
		||||
	&pxor	("xmm0","xmm0");
 | 
			
		||||
	&pxor	("xmm1","xmm1");
 | 
			
		||||
	&pxor	("xmm2","xmm2");
 | 
			
		||||
	&pxor	("xmm3","xmm3");
 | 
			
		||||
	&pxor	("xmm4","xmm4");
 | 
			
		||||
	&pxor	("xmm5","xmm5");
 | 
			
		||||
	&pxor	("xmm6","xmm6");
 | 
			
		||||
	&pxor	("xmm7","xmm7");
 | 
			
		||||
&set_label("no_sse2");
 | 
			
		||||
	if ($sse2) {
 | 
			
		||||
		&bt	(&DWP(0,"ecx"),26);
 | 
			
		||||
		&jnc	(&label("no_sse2"));
 | 
			
		||||
		&pxor	("xmm0","xmm0");
 | 
			
		||||
		&pxor	("xmm1","xmm1");
 | 
			
		||||
		&pxor	("xmm2","xmm2");
 | 
			
		||||
		&pxor	("xmm3","xmm3");
 | 
			
		||||
		&pxor	("xmm4","xmm4");
 | 
			
		||||
		&pxor	("xmm5","xmm5");
 | 
			
		||||
		&pxor	("xmm6","xmm6");
 | 
			
		||||
		&pxor	("xmm7","xmm7");
 | 
			
		||||
	&set_label("no_sse2");
 | 
			
		||||
	}
 | 
			
		||||
	# just a bunch of fldz to zap the fp/mm bank...
 | 
			
		||||
	&data_word(0xeed9eed9,0xeed9eed9,0xeed9eed9,0xeed9eed9);
 | 
			
		||||
	&emms	();
 | 
			
		||||
 
 | 
			
		||||
@@ -422,7 +422,7 @@ the same as B<-msie_hack>
 | 
			
		||||
the same as B<-policy>. Mandatory. See the B<POLICY FORMAT> section
 | 
			
		||||
for more information.
 | 
			
		||||
 | 
			
		||||
=item B<nameopt>, B<certopt>
 | 
			
		||||
=item B<name_opt>, B<cert_opt>
 | 
			
		||||
 | 
			
		||||
these options allow the format used to display the certificate details
 | 
			
		||||
when asking the user to confirm signing. All the options supported by
 | 
			
		||||
@@ -544,8 +544,8 @@ A sample configuration file with the relevant sections for B<ca>:
 | 
			
		||||
 policy         = policy_any            # default policy
 | 
			
		||||
 email_in_dn    = no                    # Don't add the email into cert DN
 | 
			
		||||
 | 
			
		||||
 nameopt	= ca_default		# Subject name display option
 | 
			
		||||
 certopt	= ca_default		# Certificate display option
 | 
			
		||||
 name_opt	= ca_default		# Subject name display option
 | 
			
		||||
 cert_opt	= ca_default		# Certificate display option
 | 
			
		||||
 copy_extensions = none			# Don't copy extensions from request
 | 
			
		||||
 | 
			
		||||
 [ policy_any ]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,74 +0,0 @@
 | 
			
		||||
=pod
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SSLeay_version - retrieve version/build information about OpenSSL library
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 #include <openssl/crypto.h>
 | 
			
		||||
 | 
			
		||||
 const char *SSLeay_version(int type);
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
SSLeay_version() returns a pointer to a constant string describing the
 | 
			
		||||
version of the OpenSSL library or giving information about the library
 | 
			
		||||
build.
 | 
			
		||||
 | 
			
		||||
The following B<type> values are supported:
 | 
			
		||||
 | 
			
		||||
=over 4
 | 
			
		||||
 | 
			
		||||
=item SSLEAY_VERSION
 | 
			
		||||
 | 
			
		||||
The version of the OpenSSL library including the release date.
 | 
			
		||||
 | 
			
		||||
=item SSLEAY_CFLAGS
 | 
			
		||||
 | 
			
		||||
The compiler flags set for the compilation process in the form
 | 
			
		||||
"compiler: ..."  if available or "compiler: information not available"
 | 
			
		||||
otherwise.
 | 
			
		||||
 | 
			
		||||
=item SSLEAY_BUILT_ON
 | 
			
		||||
 | 
			
		||||
The date of the build process in the form "built on: ..." if available
 | 
			
		||||
or "built on: date not available" otherwise.
 | 
			
		||||
 | 
			
		||||
=item SSLEAY_PLATFORM
 | 
			
		||||
 | 
			
		||||
The "Configure" target of the library build in the form "platform: ..."
 | 
			
		||||
if available or "platform: information not available" otherwise.
 | 
			
		||||
 | 
			
		||||
=item SSLEAY_DIR
 | 
			
		||||
 | 
			
		||||
The "OPENSSLDIR" setting of the library build in the form "OPENSSLDIR: "...""
 | 
			
		||||
if available or "OPENSSLDIR: N/A" otherwise.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 RETURN VALUES
 | 
			
		||||
 | 
			
		||||
The following return values can occur:
 | 
			
		||||
 | 
			
		||||
=over 4
 | 
			
		||||
 | 
			
		||||
=item "not available"
 | 
			
		||||
 | 
			
		||||
An invalid value for B<type> was given.
 | 
			
		||||
 | 
			
		||||
=item Pointer to constant string
 | 
			
		||||
 | 
			
		||||
Textual description.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 SEE ALSO
 | 
			
		||||
 | 
			
		||||
L<crypto(3)|crypto(3)>
 | 
			
		||||
 | 
			
		||||
=head1 HISTORY
 | 
			
		||||
 | 
			
		||||
B<SSLEAY_DIR> was added in OpenSSL 0.9.7.
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -14,13 +14,11 @@ ecdsa - Elliptic Curve Digital Signature Algorithm
 | 
			
		||||
 ECDSA_SIG*	d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, 
 | 
			
		||||
		long len);
 | 
			
		||||
 | 
			
		||||
 ECDSA_DATA*	ECDSA_DATA_new(void);
 | 
			
		||||
 ECDSA_DATA*	ECDSA_DATA_new_method(ENGINE *eng);
 | 
			
		||||
 void		ECDSA_DATA_free(ECDSA_DATA *data);
 | 
			
		||||
 ECDSA_DATA*	ecdsa_check(EC_KEY *eckey);
 | 
			
		||||
 | 
			
		||||
 ECDSA_SIG*	ECDSA_do_sign(const unsigned char *dgst, int dgst_len,
 | 
			
		||||
			EC_KEY *eckey);
 | 
			
		||||
 ECDSA_SIG*	ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, 
 | 
			
		||||
			const BIGNUM *kinv, const BIGNUM *rp,
 | 
			
		||||
			EC_KEY *eckey);
 | 
			
		||||
 int		ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
 | 
			
		||||
			const ECDSA_SIG *sig, EC_KEY* eckey);
 | 
			
		||||
 int		ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx,
 | 
			
		||||
@@ -28,6 +26,10 @@ ecdsa - Elliptic Curve Digital Signature Algorithm
 | 
			
		||||
 int		ECDSA_sign(int type, const unsigned char *dgst,
 | 
			
		||||
			int dgstlen, unsigned char *sig,
 | 
			
		||||
			unsigned int *siglen, EC_KEY *eckey);
 | 
			
		||||
 int		ECDSA_sign_ex(int type, const unsigned char *dgst,
 | 
			
		||||
			int dgstlen, unsigned char *sig,
 | 
			
		||||
			unsigned int *siglen, const BIGNUM *kinv, 
 | 
			
		||||
			const BIGNUM *rp, EC_KEY *eckey);
 | 
			
		||||
 int		ECDSA_verify(int type, const unsigned char *dgst,
 | 
			
		||||
			int dgstlen, const unsigned char *sig,
 | 
			
		||||
			int siglen, EC_KEY *eckey);
 | 
			
		||||
@@ -72,35 +74,6 @@ the decoded signature in a newly allocated B<ECDSA_SIG> structure.
 | 
			
		||||
B<*sig> points to the buffer containing the DER encoded signature
 | 
			
		||||
of size B<len>.
 | 
			
		||||
 | 
			
		||||
The B<ECDSA_DATA> structure extends the B<EC_KEY_METH_DATA>
 | 
			
		||||
structure with ECDSA specific data.
 | 
			
		||||
 | 
			
		||||
 struct
 | 
			
		||||
	{
 | 
			
		||||
	/* EC_KEY_METH_DATA part */
 | 
			
		||||
	int  (*init)(EC_KEY *);
 | 
			
		||||
	void (*finish)(EC_KEY *);
 | 
			
		||||
	/* method (ECDSA) specific part */
 | 
			
		||||
	BIGNUM	*kinv;	/* signing pre-calc */
 | 
			
		||||
	BIGNUM	*r;	/* signing pre-calc */
 | 
			
		||||
	...
 | 
			
		||||
	} 
 | 
			
		||||
 ECDSA_DATA;
 | 
			
		||||
 | 
			
		||||
B<kinv> and B<r> are used to store precomputed values (see
 | 
			
		||||
B<ECDSA_sign_setup>). 
 | 
			
		||||
 | 
			
		||||
ECDSA_DATA_new() returns a newly allocated and initialized
 | 
			
		||||
B<ECDSA_DATA> structure (or NULL on error). 
 | 
			
		||||
 | 
			
		||||
ECDSA_DATA_free() frees the B<ECDSA_DATA> structure B<data>.
 | 
			
		||||
 | 
			
		||||
ecdsa_check() returns the pointer to the B<ECDSA_DATA>
 | 
			
		||||
structure in B<EC_KEY-E<gt>meth_data> (if B<EC_KEY-E<gt>meth_data>
 | 
			
		||||
is not a pointer to a B<ECDSA_DATA> structure then the old
 | 
			
		||||
data is freed and a new B<ECDSA_DATA> structure is allocated
 | 
			
		||||
using B<ECDSA_DATA_new>).
 | 
			
		||||
 | 
			
		||||
ECDSA_size() returns the maximum length of a DER encoded
 | 
			
		||||
ECDSA signature created with the private EC key B<eckey>.
 | 
			
		||||
 | 
			
		||||
@@ -108,13 +81,15 @@ ECDSA_sign_setup() may be used to precompute parts of the
 | 
			
		||||
signing operation. B<eckey> is the private EC key and B<ctx>
 | 
			
		||||
is a pointer to B<BN_CTX> structure (or NULL). The precomputed
 | 
			
		||||
values or returned in B<kinv> and B<rp> and can be used in a
 | 
			
		||||
later call to B<ECDSA_sign> or B<ECDSA_do_sign> when placed in
 | 
			
		||||
B<ECDSA_DATA-E<gt>kinv> and B<ECDSA_DATA-E<gt>r>.
 | 
			
		||||
later call to B<ECDSA_sign_ex> or B<ECDSA_do_sign_ex>.
 | 
			
		||||
 | 
			
		||||
ECDSA_sign() computes a digital signature of the B<dgstlen> bytes
 | 
			
		||||
hash value B<dgst> using the private EC key B<eckey> and places
 | 
			
		||||
the DER encoding of the created signature in B<sig>. The length
 | 
			
		||||
of the created signature is returned in B<sig_len>. Note: B<sig>
 | 
			
		||||
ECDSA_sign() is wrapper function for ECDSA_sign_ex with B<kinv>
 | 
			
		||||
and B<rp> set to NULL.
 | 
			
		||||
 | 
			
		||||
ECDSA_sign_ex() computes a digital signature of the B<dgstlen> bytes
 | 
			
		||||
hash value B<dgst> using the private EC key B<eckey> and the optional
 | 
			
		||||
pre-computed values B<kinv> and B<rp>. The DER encoded signatures is
 | 
			
		||||
stored in B<sig> and it's length is returned in B<sig_len>. Note: B<sig>
 | 
			
		||||
must point to B<ECDSA_size> bytes of memory. The parameter B<type>
 | 
			
		||||
is ignored.
 | 
			
		||||
 | 
			
		||||
@@ -123,10 +98,13 @@ B<siglen> is a valid ECDSA signature of the hash value
 | 
			
		||||
value B<dgst> of size B<dgstlen> using the public key B<eckey>.
 | 
			
		||||
The parameter B<type> is ignored.
 | 
			
		||||
 | 
			
		||||
ECDSA_do_sign() computes a digital signature of the B<dgst_len>
 | 
			
		||||
bytes hash value B<dgst> using the private key B<eckey> and 
 | 
			
		||||
returns the signature in a newly allocated B<ECDSA_SIG> structure
 | 
			
		||||
(or NULL on error).
 | 
			
		||||
ECDSA_do_sign() is wrapper function for ECDSA_do_sign_ex with B<kinv>
 | 
			
		||||
and B<rp> set to NULL.
 | 
			
		||||
 | 
			
		||||
ECDSA_do_sign_ex() computes a digital signature of the B<dgst_len>
 | 
			
		||||
bytes hash value B<dgst> using the private key B<eckey> and the
 | 
			
		||||
optional pre-computed values B<kinv> and B<rp>. The signature is
 | 
			
		||||
returned in a newly allocated B<ECDSA_SIG> structure (or NULL on error).
 | 
			
		||||
 | 
			
		||||
ECDSA_do_verify() verifies that the signature B<sig> is a valid
 | 
			
		||||
ECDSA signature of the hash value B<dgst> of size B<dgst_len>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								e_os.h
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								e_os.h
									
									
									
									
									
								
							@@ -235,6 +235,23 @@ extern "C" {
 | 
			
		||||
#  define NO_DIRENT
 | 
			
		||||
 | 
			
		||||
#  ifdef WINDOWS
 | 
			
		||||
#    ifndef _WIN32_WINNT
 | 
			
		||||
       /*
 | 
			
		||||
	* Defining _WIN32_WINNT here in e_os.h implies certain "discipline."
 | 
			
		||||
	* Most notably we ought to check for availability of each specific
 | 
			
		||||
	* routine with GetProcAddress() and/or quard NT-specific calls with
 | 
			
		||||
	* GetVersion() < 0x80000000. One can argue that in latter "or" case
 | 
			
		||||
	* we ought to /DELAYLOAD some .DLLs in order to protect ourselves
 | 
			
		||||
	* against run-time link errors. This doesn't seem to be necessary,
 | 
			
		||||
	* because it turned out that already Windows 95, first non-NT Win32
 | 
			
		||||
	* implementation, is equipped with at least NT 3.51 stubs, dummy
 | 
			
		||||
	* routines with same name, but which do nothing. Meaning that it's
 | 
			
		||||
	* apparently appropriate to guard generic NT calls with GetVersion
 | 
			
		||||
	* alone, while NT 4.0 and above calls ought to be additionally
 | 
			
		||||
	* checked upon with GetProcAddress.
 | 
			
		||||
	*/
 | 
			
		||||
#      define _WIN32_WINNT 0x0400
 | 
			
		||||
#    endif
 | 
			
		||||
#    include <windows.h>
 | 
			
		||||
#    include <stddef.h>
 | 
			
		||||
#    include <errno.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -65,7 +65,7 @@ lib:	$(LIBOBJ)
 | 
			
		||||
	@if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		set -e; \
 | 
			
		||||
		for l in $(LIBNAMES); do \
 | 
			
		||||
			$(MAKE) -f ../Makefile.shared \
 | 
			
		||||
			$(MAKE) -f ../Makefile.shared $(BUILDENV) \
 | 
			
		||||
				LIBNAME=$$l LIBEXTRAS=e_$$l.o \
 | 
			
		||||
				LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
 | 
			
		||||
				link_o.$(SHLIB_TARGET); \
 | 
			
		||||
@@ -82,14 +82,19 @@ files:
 | 
			
		||||
links:
 | 
			
		||||
 | 
			
		||||
# XXXXX This currently only works on systems that use .so as suffix
 | 
			
		||||
# for shared libraries.
 | 
			
		||||
# for shared libraries as well as for Cygwin which uses the
 | 
			
		||||
# dlfcn_name_converter and therefore stores the engines with .so suffix, too.
 | 
			
		||||
install:
 | 
			
		||||
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
 | 
			
		||||
	@if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		set -e; \
 | 
			
		||||
		for l in $(LIBNAMES); do \
 | 
			
		||||
			( echo installing $$l; \
 | 
			
		||||
			  cp lib$$l.so $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
 | 
			
		||||
			  if [ "$(PLATFORM)" != "Cygwin" ]; then \
 | 
			
		||||
				  cp lib$$l.so $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
 | 
			
		||||
			  else \
 | 
			
		||||
				  cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
 | 
			
		||||
			  fi; \
 | 
			
		||||
			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
 | 
			
		||||
			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so ); \
 | 
			
		||||
		done; \
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ print <<___;
 | 
			
		||||
.align	4
 | 
			
		||||
.Lazy$i:
 | 
			
		||||
	pushl	\$$i
 | 
			
		||||
	pushl	_OPENSSL_UplinkTable
 | 
			
		||||
	pushl	\$_OPENSSL_UplinkTable
 | 
			
		||||
	call	_OPENSSL_Uplink
 | 
			
		||||
	addl	\$8,%esp
 | 
			
		||||
	jmp	*(_OPENSSL_UplinkTable+4*$i)
 | 
			
		||||
 
 | 
			
		||||
@@ -160,7 +160,7 @@ d1_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
d1_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
d1_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
d1_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h d1_clnt.c
 | 
			
		||||
d1_clnt.o: ssl_locl.h
 | 
			
		||||
d1_clnt.o: kssl_lcl.h ssl_locl.h
 | 
			
		||||
d1_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
d1_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
d1_enc.o: ../include/openssl/crypto.h ../include/openssl/dsa.h
 | 
			
		||||
 
 | 
			
		||||
@@ -115,6 +115,7 @@
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include "ssl_locl.h"
 | 
			
		||||
#include "kssl_lcl.h"
 | 
			
		||||
#include <openssl/buffer.h>
 | 
			
		||||
#include <openssl/rand.h>
 | 
			
		||||
#include <openssl/objects.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -68,7 +68,7 @@
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
 | 
			
		||||
#define _XOPEN_SOURCE /* glibc2 needs this to declare strptime() */
 | 
			
		||||
#define _XOPEN_SOURCE 500 /* glibc2 needs this to declare strptime() */
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#undef _XOPEN_SOURCE /* To avoid clashes with anything else... */
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1886,7 +1886,7 @@ int ssl3_get_client_key_exchange(SSL *s)
 | 
			
		||||
		n2s(p,i);
 | 
			
		||||
		enc_ticket.length = i;
 | 
			
		||||
 | 
			
		||||
		if (n < enc_ticket.length + 6)
 | 
			
		||||
		if (n < (int)enc_ticket.length + 6)
 | 
			
		||||
			{
 | 
			
		||||
			SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
 | 
			
		||||
				SSL_R_DATA_LENGTH_TOO_LONG);
 | 
			
		||||
@@ -1899,7 +1899,7 @@ int ssl3_get_client_key_exchange(SSL *s)
 | 
			
		||||
		n2s(p,i);
 | 
			
		||||
		authenticator.length = i;
 | 
			
		||||
 | 
			
		||||
		if (n < enc_ticket.length + authenticator.length + 6)
 | 
			
		||||
		if (n < (int)(enc_ticket.length + authenticator.length) + 6)
 | 
			
		||||
			{
 | 
			
		||||
			SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
 | 
			
		||||
				SSL_R_DATA_LENGTH_TOO_LONG);
 | 
			
		||||
 
 | 
			
		||||
@@ -128,7 +128,7 @@
 | 
			
		||||
#define USE_SOCKETS
 | 
			
		||||
#include "e_os.h"
 | 
			
		||||
 | 
			
		||||
#define _XOPEN_SOURCE 1		/* Or isascii won't be declared properly on
 | 
			
		||||
#define _XOPEN_SOURCE 500	/* Or isascii won't be declared properly on
 | 
			
		||||
				   VMS (at least with DECompHP C).  */
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -312,7 +312,7 @@ BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
	else \
 | 
			
		||||
		LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared $(BUILDENV) \
 | 
			
		||||
		APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
@@ -549,8 +549,11 @@ md5test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
md5test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
md5test.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 | 
			
		||||
md5test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h md5test.c
 | 
			
		||||
mdc2test.o: ../e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
mdc2test.o: ../include/openssl/opensslconf.h mdc2test.c
 | 
			
		||||
mdc2test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
 | 
			
		||||
mdc2test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
 | 
			
		||||
mdc2test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
mdc2test.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 | 
			
		||||
mdc2test.o: ../include/openssl/symhacks.h mdc2test.c
 | 
			
		||||
randtest.o: ../e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
randtest.o: ../include/openssl/opensslconf.h ../include/openssl/ossl_typ.h
 | 
			
		||||
randtest.o: ../include/openssl/rand.h randtest.c
 | 
			
		||||
@@ -559,8 +562,11 @@ rc2test.o: ../include/openssl/opensslconf.h ../include/openssl/rc2.h rc2test.c
 | 
			
		||||
rc4test.o: ../e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
rc4test.o: ../include/openssl/opensslconf.h ../include/openssl/rc4.h
 | 
			
		||||
rc4test.o: ../include/openssl/sha.h rc4test.c
 | 
			
		||||
rc5test.o: ../e_os.h ../include/openssl/e_os2.h
 | 
			
		||||
rc5test.o: ../include/openssl/opensslconf.h rc5test.c
 | 
			
		||||
rc5test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
 | 
			
		||||
rc5test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
 | 
			
		||||
rc5test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
rc5test.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 | 
			
		||||
rc5test.o: ../include/openssl/symhacks.h rc5test.c
 | 
			
		||||
rmdtest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rmdtest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
rmdtest.o: ../include/openssl/evp.h ../include/openssl/obj_mac.h
 | 
			
		||||
 
 | 
			
		||||
@@ -47,6 +47,14 @@ function doc_install()
 | 
			
		||||
  create_cygwin_readme
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function certs_install()
 | 
			
		||||
{
 | 
			
		||||
  CERTS_DIR=${INSTALL_PREFIX}/usr/ssl/certs
 | 
			
		||||
 | 
			
		||||
  mkdir -p ${CERTS_DIR}
 | 
			
		||||
  cp -rp certs/* ${CERTS_DIR}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function create_cygwin_readme()
 | 
			
		||||
{
 | 
			
		||||
  README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin
 | 
			
		||||
@@ -104,6 +112,8 @@ base_install
 | 
			
		||||
 | 
			
		||||
doc_install
 | 
			
		||||
 | 
			
		||||
certs_install
 | 
			
		||||
 | 
			
		||||
create_cygwin_readme
 | 
			
		||||
 | 
			
		||||
create_profile_files
 | 
			
		||||
@@ -112,11 +122,13 @@ cd ${INSTALL_PREFIX}
 | 
			
		||||
strip usr/bin/*.exe usr/bin/*.dll
 | 
			
		||||
 | 
			
		||||
# Runtime package
 | 
			
		||||
find etc usr/bin usr/share/doc usr/ssl/certs usr/ssl/man/man[157] \
 | 
			
		||||
     usr/ssl/misc usr/ssl/openssl.cnf usr/ssl/private -empty -o \! -type d |
 | 
			
		||||
find etc usr/bin usr/lib/engines usr/share/doc usr/ssl/certs \
 | 
			
		||||
     usr/ssl/man/man[157] usr/ssl/misc usr/ssl/openssl.cnf usr/ssl/private \
 | 
			
		||||
     -empty -o \! -type d |
 | 
			
		||||
tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 -
 | 
			
		||||
# Development package
 | 
			
		||||
find usr/include usr/lib usr/ssl/man/man3 -empty -o \! -type d |
 | 
			
		||||
find usr/include usr/lib/*.a usr/lib/pkgconfig usr/ssl/man/man3 \
 | 
			
		||||
     -empty -o \! -type d |
 | 
			
		||||
tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 -
 | 
			
		||||
 | 
			
		||||
ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2
 | 
			
		||||
 
 | 
			
		||||
@@ -741,7 +741,8 @@ sub do_defs
 | 
			
		||||
				} elsif (/^\s*DECLARE_PKCS12_STACK_OF\s*\(\s*(\w*)\s*\)/) {
 | 
			
		||||
					next;
 | 
			
		||||
				} elsif (/^DECLARE_PEM_rw\s*\(\s*(\w*)\s*,/ ||
 | 
			
		||||
					 /^DECLARE_PEM_rw_cb\s*\(\s*(\w*)\s*,/ ) {
 | 
			
		||||
					 /^DECLARE_PEM_rw_cb\s*\(\s*(\w*)\s*,/ ||
 | 
			
		||||
					 /^DECLARE_PEM_rw_const\s*\(\s*(\w*)\s*,/ ) {
 | 
			
		||||
					# Things not in Win16
 | 
			
		||||
					$def .=
 | 
			
		||||
					    "#INFO:"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ $rm='del';
 | 
			
		||||
 | 
			
		||||
# C compiler stuff
 | 
			
		||||
$cc='cl';
 | 
			
		||||
$cflags=' /MD /W3 /WX /G5 /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0333 -DL_ENDIAN -DDSO_WIN32';
 | 
			
		||||
$cflags=' /MD /W3 /WX /G5 /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32';
 | 
			
		||||
$lflags="/nologo /subsystem:console /machine:I386 /opt:ref";
 | 
			
		||||
$mlflags='';
 | 
			
		||||
 | 
			
		||||
@@ -99,23 +99,18 @@ if ($shlib)
 | 
			
		||||
	# Engage Applink...
 | 
			
		||||
	#
 | 
			
		||||
	$app_ex_obj.=" \$(OBJ_D)\\applink.obj /implib:\$(TMP_D)\\junk.lib";
 | 
			
		||||
	$cflags.=" -DOPENSSL_USE_APPLINK";
 | 
			
		||||
	$cflags.=" -DOPENSSL_USE_APPLINK -I.";
 | 
			
		||||
	# I'm open for better suggestions than overriding $banner...
 | 
			
		||||
	$banner=<<'___';
 | 
			
		||||
	@echo Building OpenSSL
 | 
			
		||||
 | 
			
		||||
$(OBJ_D)\applink.obj:	ms\applink.c
 | 
			
		||||
	$(CC) /Fo$(OBJ_D)\applink.obj $(APP_CFLAGS) -c ms\applink.c
 | 
			
		||||
$(OBJ_D)\uplink.obj:	ms\uplink.c $(OBJ_D)\applink.c
 | 
			
		||||
$(OBJ_D)\uplink.obj:	ms\uplink.c ms\applink.c
 | 
			
		||||
	$(CC) /Fo$(OBJ_D)\uplink.obj $(SHLIB_CFLAGS) -c ms\uplink.c
 | 
			
		||||
$(INCL_D)\uplink.h:	ms\uplink.h
 | 
			
		||||
	$(CP) ms\uplink.h $(INCL_D)\uplink.h
 | 
			
		||||
$(INCO_D)\applink.c:	ms\applink.c
 | 
			
		||||
	$(CP) ms\applink.c $(INCO_D)\applink.c
 | 
			
		||||
$(OBJ_D)\applink.c:	ms\applink.c
 | 
			
		||||
	$(CP) ms\applink.c $(OBJ_D)\applink.c
 | 
			
		||||
 | 
			
		||||
HEADER=$(HEADER) $(INCL_D)\uplink.h
 | 
			
		||||
EXHEADER= $(EXHEADER) $(INCO_D)\applink.c
 | 
			
		||||
 | 
			
		||||
LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user