Compare commits
	
		
			252 Commits
		
	
	
		
			OpenSSL_1_
			...
			OpenSSL_0_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					f254b540b8 | ||
| 
						 | 
					11024f252e | ||
| 
						 | 
					9d5cba17ba | ||
| 
						 | 
					1d01c9d43d | ||
| 
						 | 
					e32ea81876 | ||
| 
						 | 
					ef8a18f49b | ||
| 
						 | 
					b914049c53 | ||
| 
						 | 
					dabaea8048 | ||
| 
						 | 
					09c1a425a9 | ||
| 
						 | 
					8c6fed007f | ||
| 
						 | 
					2e39604021 | ||
| 
						 | 
					fbfb947b21 | ||
| 
						 | 
					8b963f4ba4 | ||
| 
						 | 
					9152f07eaf | ||
| 
						 | 
					35f70c09f5 | ||
| 
						 | 
					cc4cba7b5d | ||
| 
						 | 
					6b695fefd0 | ||
| 
						 | 
					910d193029 | ||
| 
						 | 
					f18dd687c8 | ||
| 
						 | 
					50d5376698 | ||
| 
						 | 
					5b9b62a7db | ||
| 
						 | 
					c0e29e5b01 | ||
| 
						 | 
					2f03129d46 | ||
| 
						 | 
					b44e2d3416 | ||
| 
						 | 
					564915681c | ||
| 
						 | 
					a24b7eeb87 | ||
| 
						 | 
					0215c01861 | ||
| 
						 | 
					beae6324e5 | ||
| 
						 | 
					71a61c573e | ||
| 
						 | 
					6b3b632767 | ||
| 
						 | 
					2a2fa04b7b | ||
| 
						 | 
					79b81d194b | ||
| 
						 | 
					ef04c9aff8 | ||
| 
						 | 
					7f85197c10 | ||
| 
						 | 
					ff0bfe64af | ||
| 
						 | 
					44b3a3a5e6 | ||
| 
						 | 
					7e3033aa93 | ||
| 
						 | 
					8bdbf50772 | ||
| 
						 | 
					ec33a76641 | ||
| 
						 | 
					00ce9376c7 | ||
| 
						 | 
					46e7a9797e | ||
| 
						 | 
					7006c4ac88 | ||
| 
						 | 
					a50a2126cf | ||
| 
						 | 
					07f7b4b470 | ||
| 
						 | 
					7e726e42f4 | ||
| 
						 | 
					40ba0257de | ||
| 
						 | 
					3fbd5f9fea | ||
| 
						 | 
					57b2246d35 | ||
| 
						 | 
					2a5b22d6f9 | ||
| 
						 | 
					f247dc7522 | ||
| 
						 | 
					e6531253e2 | ||
| 
						 | 
					c938babf00 | ||
| 
						 | 
					bf3900020f | ||
| 
						 | 
					586df3bb7f | ||
| 
						 | 
					c4b13b0268 | ||
| 
						 | 
					daef72316f | ||
| 
						 | 
					1f93c96e63 | ||
| 
						 | 
					8aa9c79276 | ||
| 
						 | 
					09a7f2e734 | ||
| 
						 | 
					b2d27e376d | ||
| 
						 | 
					644c4af11e | ||
| 
						 | 
					ca3dc3a0a0 | ||
| 
						 | 
					2b975dfd5b | ||
| 
						 | 
					0932892278 | ||
| 
						 | 
					fe0b3d98c2 | ||
| 
						 | 
					8d56c8b51c | ||
| 
						 | 
					d8e6409336 | ||
| 
						 | 
					a4ae746656 | ||
| 
						 | 
					331a0a7b9b | ||
| 
						 | 
					c630a3e8d6 | ||
| 
						 | 
					7435d89edf | ||
| 
						 | 
					14557c8be4 | ||
| 
						 | 
					98b4995bad | ||
| 
						 | 
					3000bdcc3a | ||
| 
						 | 
					cbe77a6753 | ||
| 
						 | 
					c58a1f76f8 | ||
| 
						 | 
					ecf2875ebf | ||
| 
						 | 
					ce2c19e357 | ||
| 
						 | 
					1b1081a3ed | ||
| 
						 | 
					37b200389a | ||
| 
						 | 
					6b5a8f3a22 | ||
| 
						 | 
					0b18d8b0c7 | ||
| 
						 | 
					3d187ede47 | ||
| 
						 | 
					f3b9c34515 | ||
| 
						 | 
					c923394924 | ||
| 
						 | 
					d9dbd24db5 | ||
| 
						 | 
					b135819d71 | ||
| 
						 | 
					cbcbd07da2 | ||
| 
						 | 
					24f6ab73a7 | ||
| 
						 | 
					5e88347e1b | ||
| 
						 | 
					cac0d4ee6f | ||
| 
						 | 
					428759b3d4 | ||
| 
						 | 
					898d3ecce0 | ||
| 
						 | 
					004f16f6c4 | ||
| 
						 | 
					4e2a0e58f2 | ||
| 
						 | 
					39d29195a7 | ||
| 
						 | 
					727c9b8027 | ||
| 
						 | 
					bd4e9b0512 | ||
| 
						 | 
					7844ff735f | ||
| 
						 | 
					49e96badcf | ||
| 
						 | 
					eb6a81bacc | ||
| 
						 | 
					6687f12988 | ||
| 
						 | 
					fcd12fc0f1 | ||
| 
						 | 
					0fb4d54068 | ||
| 
						 | 
					830a468a23 | ||
| 
						 | 
					af3ca7b4a9 | ||
| 
						 | 
					7a6bb17255 | ||
| 
						 | 
					bc6d459a6e | ||
| 
						 | 
					ff7f34e353 | ||
| 
						 | 
					2e3d79aaec | ||
| 
						 | 
					8a41bcc934 | ||
| 
						 | 
					e2414b41ad | ||
| 
						 | 
					266958bce7 | ||
| 
						 | 
					bc5354cbf0 | ||
| 
						 | 
					cc4997843e | ||
| 
						 | 
					ab95eac286 | ||
| 
						 | 
					1cd76233d1 | ||
| 
						 | 
					3d5afc8b83 | ||
| 
						 | 
					d28b7799dd | ||
| 
						 | 
					b0fb889c29 | ||
| 
						 | 
					460e80bd1d | ||
| 
						 | 
					bc1e96e942 | ||
| 
						 | 
					7ea61df414 | ||
| 
						 | 
					431712293d | ||
| 
						 | 
					335ed97263 | ||
| 
						 | 
					e00b165e9b | ||
| 
						 | 
					5467ddf0e1 | ||
| 
						 | 
					7a37dd92ed | ||
| 
						 | 
					d0c11e9d72 | ||
| 
						 | 
					5ec52fee2c | ||
| 
						 | 
					5026bc13bb | ||
| 
						 | 
					c7d27e5247 | ||
| 
						 | 
					b7d7af7ea9 | ||
| 
						 | 
					39663d2c40 | ||
| 
						 | 
					000299a0e6 | ||
| 
						 | 
					0a47d82b9b | ||
| 
						 | 
					198bcece58 | ||
| 
						 | 
					053677d124 | ||
| 
						 | 
					804072f014 | ||
| 
						 | 
					e9429b43ce | ||
| 
						 | 
					3d37d5e24a | ||
| 
						 | 
					2728a1b4f3 | ||
| 
						 | 
					adb040d4cb | ||
| 
						 | 
					479d7934c0 | ||
| 
						 | 
					22d1acd5ac | ||
| 
						 | 
					b257c152c6 | ||
| 
						 | 
					77b97ee0d7 | ||
| 
						 | 
					e2ac4732cd | ||
| 
						 | 
					e8f665b495 | ||
| 
						 | 
					55f3ef29ea | ||
| 
						 | 
					c2d78c9623 | ||
| 
						 | 
					a4578a5413 | ||
| 
						 | 
					e884fcf785 | ||
| 
						 | 
					e96025755d | ||
| 
						 | 
					c9028b0ab5 | ||
| 
						 | 
					b4d2858f95 | ||
| 
						 | 
					dea446d995 | ||
| 
						 | 
					5cd94f9e9d | ||
| 
						 | 
					cad811fc41 | ||
| 
						 | 
					69f6a9f007 | ||
| 
						 | 
					4eeee0c59f | ||
| 
						 | 
					a5afa6c95f | ||
| 
						 | 
					625dacb93d | ||
| 
						 | 
					62e9c2e091 | ||
| 
						 | 
					e4106a4e24 | ||
| 
						 | 
					a506b8c7dd | ||
| 
						 | 
					e5cd536894 | ||
| 
						 | 
					629ea39a88 | ||
| 
						 | 
					7d9e1321c7 | ||
| 
						 | 
					83af7422a0 | ||
| 
						 | 
					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 | 
							
								
								
									
										23
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								CHANGES
									
									
									
									
									
								
							@@ -2,11 +2,24 @@
 | 
			
		||||
 OpenSSL CHANGES
 | 
			
		||||
 _______________
 | 
			
		||||
 | 
			
		||||
 Changes between 0.9.8 and 0.9.9  [xx XXX xxxx]
 | 
			
		||||
 Changes between 0.9.7h and 0.9.8  [05 Jul 2005]
 | 
			
		||||
 | 
			
		||||
  *) 
 | 
			
		||||
  *) Add libcrypto.pc and libssl.pc for those who feel they need them.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
 Changes between 0.9.7h and 0.9.8  [xx XXX xxxx]
 | 
			
		||||
  *) Change CA.sh and CA.pl so they don't bundle the CSR and the private
 | 
			
		||||
     key into the same file any more.
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
  *) Add initial support for Win64, both IA64 and AMD64/x64 flavors.
 | 
			
		||||
     [Andy Polyakov]
 | 
			
		||||
 | 
			
		||||
  *) Add -utf8 command line and config file option to 'ca'.
 | 
			
		||||
     [Stefan <stf@udoma.org]
 | 
			
		||||
 | 
			
		||||
  *) Removed the macro des_crypt(), as it seems to conflict with some
 | 
			
		||||
     libraries.  Use DES_crypt().
 | 
			
		||||
     [Richard Levitte]
 | 
			
		||||
 | 
			
		||||
  *) Correct naming of the 'chil' and '4758cca' ENGINEs. This
 | 
			
		||||
     involves renaming the source and generated shared-libs for
 | 
			
		||||
@@ -810,6 +823,10 @@
 | 
			
		||||
 | 
			
		||||
 Changes between 0.9.7g and 0.9.7h  [XX xxx XXXX]
 | 
			
		||||
 | 
			
		||||
  *) Minimal support for X9.31 signatures and PSS padding modes. This is
 | 
			
		||||
     mainly for FIPS compliance and not fully integrated at this stage.
 | 
			
		||||
     [Steve Henson]
 | 
			
		||||
 | 
			
		||||
  *) For DSA signing, unless DSA_FLAG_NO_EXP_CONSTTIME is set, perform
 | 
			
		||||
     the exponentiation using a fixed-length exponent.  (Otherwise,
 | 
			
		||||
     the information leaked through timing could expose the secret key
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										63
									
								
								Configure
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								Configure
									
									
									
									
									
								
							@@ -119,7 +119,7 @@ my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o:dx86-cof.o yx86-cof.o:ax8
 | 
			
		||||
my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o:dx86-out.o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out.o:rx86-out.o:rm86-out.o:r586-out.o";
 | 
			
		||||
 | 
			
		||||
my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o::::md5-x86_64.o:::rc4-x86_64.o::";
 | 
			
		||||
my $ia64_asm=":ia64.o::aes_core.o aes_cbc.o aes-ia64.o:::sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o::";
 | 
			
		||||
my $ia64_asm=":bn-ia64.o::aes_core.o aes_cbc.o aes-ia64.o:::sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o::";
 | 
			
		||||
 | 
			
		||||
my $no_asm="::::::::::";
 | 
			
		||||
 | 
			
		||||
@@ -164,8 +164,8 @@ my %table=(
 | 
			
		||||
"debug-geoff","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 | 
			
		||||
"debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -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 -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"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:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"dist",		"cc:-O::(unknown)::::::",
 | 
			
		||||
 | 
			
		||||
# Basic configs that should work on any (32 and less bit) box
 | 
			
		||||
@@ -173,10 +173,8 @@ my %table=(
 | 
			
		||||
"cc",		"cc:-O::(unknown)::::::",
 | 
			
		||||
 | 
			
		||||
####VOS Configurations
 | 
			
		||||
"vos-gcc","gcc:-b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
 | 
			
		||||
"debug-vos-gcc","gcc:-b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
 | 
			
		||||
"vos-vcc","vcc:-b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map::${no_asm}:::::.so:",
 | 
			
		||||
"debug-vos-vcc","vcc:-b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map::${no_asm}:::::.so:",
 | 
			
		||||
"vos-gcc","gcc:-O3 -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
 | 
			
		||||
"debug-vos-gcc","gcc:-O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
 | 
			
		||||
 | 
			
		||||
#### Solaris x86 with GNU C setups
 | 
			
		||||
# -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it
 | 
			
		||||
@@ -184,7 +182,7 @@ my %table=(
 | 
			
		||||
# surrounds it with #APP #NO_APP comment pair which (at least Solaris
 | 
			
		||||
# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
 | 
			
		||||
# error message.
 | 
			
		||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
# -shared -static-libgcc might appear controversial, but modules taken
 | 
			
		||||
# from static libgcc do not have relocations and linking them into our
 | 
			
		||||
# shared objects doesn't have any negative side-effects. On the contrary,
 | 
			
		||||
@@ -232,11 +230,11 @@ my %table=(
 | 
			
		||||
#### IRIX 6.x configs
 | 
			
		||||
# Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
 | 
			
		||||
# './Configure irix-cc -o32' manually.
 | 
			
		||||
"irix-mips3-gcc","gcc:-mabi=n32 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT::mips3.o::::::::::dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT::mips3.o::::::::::dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT::bn-mips3.o::::::::::dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT::bn-mips3.o::::::::::dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
# N64 ABI builds.
 | 
			
		||||
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::mips3.o::::::::::dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::mips3.o::::::::::dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::bn-mips3.o::::::::::dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::bn-mips3.o::::::::::dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
 | 
			
		||||
#### Unified HP-UX ANSI C configs.
 | 
			
		||||
# Special notes:
 | 
			
		||||
@@ -287,7 +285,7 @@ my %table=(
 | 
			
		||||
# with debugging of the following config.
 | 
			
		||||
"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD64 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
# GCC builds...
 | 
			
		||||
"hpux-ia64-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT::ia64.o::aes-ia64.o:::sha256-ia64.o sha512-ia64.o::rc4-ia64.o:::dlfcn:hpux-shared:-fpic:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"hpux-ia64-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT::bn-ia64.o::aes-ia64.o:::sha256-ia64.o sha512-ia64.o::rc4-ia64.o:::dlfcn:hpux-shared:-fpic:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"hpux64-ia64-gcc","gcc:-mlp64 -O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:-fpic:-mlp64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 
 | 
			
		||||
 | 
			
		||||
# Legacy HPUX 9.X configs...
 | 
			
		||||
@@ -320,13 +318,14 @@ my %table=(
 | 
			
		||||
#### IA-32 targets...
 | 
			
		||||
"linux-ia32-icc",	"icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"linux-elf",	"gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"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-aout",	"gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
 | 
			
		||||
####
 | 
			
		||||
"linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
# -bpowerpc64-linux is transient option, -m64 should be the one to use...
 | 
			
		||||
"linux-ppc64",	"gcc:-bpowerpc64-linux -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc64.o::::::::::dlfcn:linux-shared:-fPIC:-bpowerpc64-linux:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"linux-ia64",	"gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"linux-x86_64",	"gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
#### SPARC Linux setups
 | 
			
		||||
# Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
 | 
			
		||||
@@ -370,7 +369,7 @@ my %table=(
 | 
			
		||||
"BSD-ia64",	"gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"BSD-x86_64",	"gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
 | 
			
		||||
"bsdi-elf-gcc",     "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"bsdi-elf-gcc",     "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
 | 
			
		||||
"nextstep",	"cc:-O -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
 | 
			
		||||
"nextstep3.3",	"cc:-O3 -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
 | 
			
		||||
@@ -397,10 +396,7 @@ my %table=(
 | 
			
		||||
"unixware-2.0","cc:-DFILIO_H -DNO_STRINGS_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
 | 
			
		||||
"unixware-2.1","cc:-O -DFILIO_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
 | 
			
		||||
"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"OpenUNIX-8","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"OpenUNIX-8-gcc","gcc:-O -DFILIO_H -fomit-frame-pointer::-pthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"sco3-gcc",  "gcc:-O3 -fomit-frame-pointer -Dssize_t=int -DNO_SYS_UN_H::(unknown)::-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::", # the SCO assembler doesn't seem to like our assembler files ...
 | 
			
		||||
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=pentium -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
# SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc.
 | 
			
		||||
"sco5-cc",  "cc:-belf::(unknown)::-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
"sco5-gcc",  "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 | 
			
		||||
@@ -460,8 +456,8 @@ my %table=(
 | 
			
		||||
"OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H  -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
 | 
			
		||||
 | 
			
		||||
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
 | 
			
		||||
"VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT EXPORT_VAR_AS_FN:${no_asm}:win32",
 | 
			
		||||
"VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT EXPORT_VAR_AS_FN:${no_asm}:win32",
 | 
			
		||||
"VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32",
 | 
			
		||||
"VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32",
 | 
			
		||||
 | 
			
		||||
# Visual C targets
 | 
			
		||||
"VC-NT","cl::::WINNT::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
 | 
			
		||||
@@ -484,23 +480,26 @@ my %table=(
 | 
			
		||||
 | 
			
		||||
# NetWare from David Ward (dsward@novell.com) - requires MetroWerks NLM development tools
 | 
			
		||||
# netware-clib => legacy CLib c-runtime support
 | 
			
		||||
"netware-clib", "mwccnlm:::::${x86_gcc_opts}:::",
 | 
			
		||||
"netware-clib", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
 | 
			
		||||
# netware-libc => LibC/NKS support
 | 
			
		||||
"netware-libc", "mwccnlm:::::BN_LLONG ${x86_gcc_opts}:::",
 | 
			
		||||
"netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall::::${x86_gcc_opts}:::",
 | 
			
		||||
# NetWare defaults socket bio to WinSock sockets. However, the LibC build can be
 | 
			
		||||
# configured to use BSD sockets instead.
 | 
			
		||||
"netware-libc", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
 | 
			
		||||
"netware-libc-bsdsock", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
 | 
			
		||||
"netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall:::::BN_LLONG ${x86_gcc_opts}::",
 | 
			
		||||
 | 
			
		||||
# DJGPP
 | 
			
		||||
"DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall -DDEVRANDOM=\"/dev/urandom\\x24\":::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:",
 | 
			
		||||
"DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:",
 | 
			
		||||
 | 
			
		||||
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
 | 
			
		||||
"ultrix-cc","cc:-std1 -O -Olimit 2500 -DL_ENDIAN::(unknown):::::::",
 | 
			
		||||
"ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown):::::::",
 | 
			
		||||
"ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown):::BN_LLONG::::",
 | 
			
		||||
# K&R C is no longer supported; you need gcc on old Ultrix installations
 | 
			
		||||
##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::",
 | 
			
		||||
 | 
			
		||||
##### MacOS X (a.k.a. Rhapsody or Darwin) setup
 | 
			
		||||
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
 | 
			
		||||
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 | 
			
		||||
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 | 
			
		||||
"darwin-i386-cc","cc:-O3 -fomit-frame-pointer -fno-common -DB_ENDIAN::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::darwin-shared:-fPIC:-dunamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 | 
			
		||||
"debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 | 
			
		||||
 | 
			
		||||
@@ -511,7 +510,7 @@ my %table=(
 | 
			
		||||
"newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
 | 
			
		||||
 | 
			
		||||
##### GNU Hurd
 | 
			
		||||
"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
 | 
			
		||||
"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
 | 
			
		||||
 | 
			
		||||
##### OS/2 EMX
 | 
			
		||||
"OS2-EMX", "gcc::::::::",
 | 
			
		||||
@@ -530,7 +529,7 @@ my %table=(
 | 
			
		||||
 | 
			
		||||
my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A
 | 
			
		||||
		    VC-NT VC-CE VC-WIN32
 | 
			
		||||
		    BC-32 OS2-EMX netware-clib netware-libc);
 | 
			
		||||
		    BC-32 OS2-EMX netware-clib netware-libc netware-libc-bsdsock);
 | 
			
		||||
 | 
			
		||||
my $idx = 0;
 | 
			
		||||
my $idx_cc = $idx++;
 | 
			
		||||
@@ -761,7 +760,7 @@ PROCESS_ARGS:
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			die "target already defined - $target\n" if ($target ne "");
 | 
			
		||||
			die "target already defined - $target (offending arg: $_)\n" if ($target ne "");
 | 
			
		||||
			$target=$_;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@@ -882,8 +881,8 @@ foreach (sort (keys %disabled))
 | 
			
		||||
			$openssl_other_defines .= "#define OPENSSL_NO_$ALGO\n";
 | 
			
		||||
			print " OPENSSL_NO_$ALGO";
 | 
			
		||||
		
 | 
			
		||||
			if (/^err$/)
 | 
			
		||||
				{ $flags .= "-DOPENSSL_NO_ERR "; }
 | 
			
		||||
			if (/^err$/)	{ $flags .= "-DOPENSSL_NO_ERR "; }
 | 
			
		||||
			elsif (/^asm$/)	{ $no_asm = 1; }
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								FAQ
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								FAQ
									
									
									
									
									
								
							@@ -47,6 +47,7 @@ OpenSSL  -  Frequently Asked Questions
 | 
			
		||||
* 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?
 | 
			
		||||
* Why does compiler fail to compile sha512.c?
 | 
			
		||||
 | 
			
		||||
[PROG] Questions about programming with OpenSSL
 | 
			
		||||
 | 
			
		||||
@@ -71,7 +72,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.7g was released on April 11, 2005.
 | 
			
		||||
OpenSSL 0.9.8 was released on June 5th, 2005.
 | 
			
		||||
 | 
			
		||||
In addition to the current stable release, you can also access daily
 | 
			
		||||
snapshots of the OpenSSL development version at <URL:
 | 
			
		||||
@@ -142,8 +143,8 @@ less Unix-centric, it might have been used much earlier.
 | 
			
		||||
 | 
			
		||||
With version 0.9.6 OpenSSL was extended to interface to external crypto
 | 
			
		||||
hardware. This was realized in a special release '0.9.6-engine'. With
 | 
			
		||||
version 0.9.7 (not yet released) the changes were merged into the main
 | 
			
		||||
development line, so that the special release is no longer necessary.
 | 
			
		||||
version 0.9.7 the changes were merged into the main development line,
 | 
			
		||||
so that the special release is no longer necessary.
 | 
			
		||||
 | 
			
		||||
* How do I check the authenticity of the OpenSSL distribution?
 | 
			
		||||
 | 
			
		||||
@@ -607,6 +608,15 @@ 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.
 | 
			
		||||
 | 
			
		||||
* Why does compiler fail to compile sha512.c?
 | 
			
		||||
 | 
			
		||||
OpenSSL SHA-512 implementation depends on compiler support for 64-bit
 | 
			
		||||
integer type. Few elder compilers [ULTRIX cc, SCO compiler to mention a
 | 
			
		||||
couple] lack support for this and therefore are incapable of compiling
 | 
			
		||||
the module in question. The recommendation is to disable SHA-512 by
 | 
			
		||||
adding no-sha512 to ./config [or ./Configure] command line. Another
 | 
			
		||||
possible alternative might be to switch to GCC.
 | 
			
		||||
 | 
			
		||||
[PROG] ========================================================================
 | 
			
		||||
 | 
			
		||||
* Is OpenSSL thread-safe?
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								INSTALL.NW
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								INSTALL.NW
									
									
									
									
									
								
							@@ -32,6 +32,10 @@ The necessary LibC functionality ships with NetWare 6.  However, earlier
 | 
			
		||||
NetWare 5.x versions will require updates in order to run the OpenSSL LibC
 | 
			
		||||
build.
 | 
			
		||||
 | 
			
		||||
As of June 2005, the LibC build can be configured to use BSD sockets instead
 | 
			
		||||
of WinSock sockets. Call Configure (usually through netware\build.bat) using
 | 
			
		||||
a target of "netware-libc-bsdsock" instead of "netware-libc".
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
REQUIRED TOOLS:
 | 
			
		||||
---------------
 | 
			
		||||
@@ -95,7 +99,12 @@ following tools may be required:
 | 
			
		||||
         Microsoft SDK.  Note: The winsock2.h support headers may change
 | 
			
		||||
         with various versions of winsock2.h.  Check the dependencies
 | 
			
		||||
         section on the NDK WinSock2 download page for the latest
 | 
			
		||||
         information on dependencies.
 | 
			
		||||
         information on dependencies. These components are unsupported by
 | 
			
		||||
         Novell. They are provided as a courtesy, but it is strongly
 | 
			
		||||
         suggested that all development be done using LIBC, not CLIB.
 | 
			
		||||
 | 
			
		||||
         As of June 2005, the WinSock2 components are available at:
 | 
			
		||||
         http://forgeftp.novell.com//ws2comp/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      NLM and NetWare libraries for C (including CLIB and XPlat):
 | 
			
		||||
@@ -121,7 +130,8 @@ following tools may be required:
 | 
			
		||||
         
 | 
			
		||||
         NOTE: The LibC SDK includes the necessary WinSock2 support.  It
 | 
			
		||||
         It is not necessary to download the WinSock2 Developer when building
 | 
			
		||||
         for LibC.
 | 
			
		||||
         for LibC. The LibC SDK also includes the appropriate BSD socket support
 | 
			
		||||
         if configuring to use BSD sockets.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
BUILDING:
 | 
			
		||||
@@ -172,8 +182,9 @@ the assembly code.  Always run build.bat from the "openssl" directory.
 | 
			
		||||
 | 
			
		||||
   netware\build [target] [debug opts] [assembly opts] [configure opts]
 | 
			
		||||
 | 
			
		||||
      target        - "netware-clib" - CLib NetWare build
 | 
			
		||||
                    - "netware-libc" - LibC NetWare build
 | 
			
		||||
      target        - "netware-clib" - CLib NetWare build (WinSock Sockets)
 | 
			
		||||
                    - "netware-libc" - LibC NetWare build (WinSock Sockets)
 | 
			
		||||
                    - "netware-libc-bsdsock" - LibC NetWare build (BSD Sockets)
 | 
			
		||||
 
 | 
			
		||||
      debug opts    - "debug"  - build debug
 | 
			
		||||
 | 
			
		||||
@@ -192,25 +203,29 @@ the assembly code.  Always run build.bat from the "openssl" directory.
 | 
			
		||||
      LibC build, non-debug, using NASM assembly:
 | 
			
		||||
         netware\build.bat netware-libc nw-nasm
 | 
			
		||||
 | 
			
		||||
      LibC build, BSD sockets, non-debug, without assembly:
 | 
			
		||||
         netware\build.bat netware-libc-bsdsock no-asm
 | 
			
		||||
 | 
			
		||||
Running build.bat generates a make file to be processed by your make 
 | 
			
		||||
tool (gmake or nmake):
 | 
			
		||||
 | 
			
		||||
   CLIB ex: gmake -f netware\nlm_clib.mak 
 | 
			
		||||
   CLIB ex: gmake -f netware\nlm_clib_dbg.mak 
 | 
			
		||||
   LibC ex: gmake -f netware\nlm_libc.mak 
 | 
			
		||||
   LibC ex: gmake -f netware\nlm_libc_bsdsock.mak 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
You can also run the build scripts manually if you do not want to use the
 | 
			
		||||
build.bat file.  Run the following scripts in the "\openssl"
 | 
			
		||||
subdirectory (in the order listed below):
 | 
			
		||||
 | 
			
		||||
   perl configure no-asm [other config opts] [netware-clib|netware-libc]
 | 
			
		||||
   perl configure no-asm [other config opts] [netware-clib|netware-libc|netware-libc-bsdsock]
 | 
			
		||||
      configures no assembly build for specified netware environment
 | 
			
		||||
      (CLIB or LibC).
 | 
			
		||||
 | 
			
		||||
   perl util\mkfiles.pl >MINFO
 | 
			
		||||
      generates a listing of source files (used by mk1mf)
 | 
			
		||||
 | 
			
		||||
   perl util\mk1mf.pl no-asm [other config opts] [netware-clib|netware-libc >netware\nlm.mak
 | 
			
		||||
   perl util\mk1mf.pl no-asm [other config opts] [netware-clib|netware-libc|netware-libc-bsdsock >netware\nlm.mak
 | 
			
		||||
      generates the makefile for NetWare
 | 
			
		||||
 | 
			
		||||
   gmake -f netware\nlm.mak
 | 
			
		||||
@@ -288,13 +303,6 @@ The do_tests.pl script generates a log file "\openssl\test_out\tests.log"
 | 
			
		||||
which should be reviewed for errors.  Any errors will be denoted by the word
 | 
			
		||||
"ERROR" in the log.
 | 
			
		||||
 | 
			
		||||
NOTE:  Currently (11/2002), the LibC test nlms report an error while loading
 | 
			
		||||
       when launched from the perl script (do_tests.pl).  The problems are 
 | 
			
		||||
       being addressed by the LibC development team and should be fixed in the
 | 
			
		||||
       next release.  Until the problems are corrected, the LibC test nlms 
 | 
			
		||||
       will have to be executed manually.  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DEVELOPING WITH THE OPENSSL SDK:
 | 
			
		||||
--------------------------------
 | 
			
		||||
Now that everything is built and tested, you are ready to use the OpenSSL
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
 ----------------------------------
 | 
			
		||||
 | 
			
		||||
 [Instructions for building for Windows CE can be found in INSTALL.WCE]
 | 
			
		||||
 [Instructions for building for Win64 can be found in INSTALL.W64]
 | 
			
		||||
 | 
			
		||||
 Heres a few comments about building OpenSSL in Windows environments.  Most
 | 
			
		||||
 of this is tested on Win32 but it may also work in Win 3.1 with some
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								INSTALL.W64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								INSTALL.W64
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
 | 
			
		||||
 INSTALLATION ON THE WIN64 PLATFORM
 | 
			
		||||
 ----------------------------------
 | 
			
		||||
 | 
			
		||||
 Caveat lector
 | 
			
		||||
 -------------
 | 
			
		||||
 | 
			
		||||
 As of moment of this writing Win64 support is classified "initial"
 | 
			
		||||
 for the following reasons.
 | 
			
		||||
 | 
			
		||||
 - No assembler modules are engaged upon initial 0.9.8 release.
 | 
			
		||||
 - API might change within 0.9.8 life-span, *but* in a manner which
 | 
			
		||||
   doesn't break backward binary compatibility. Or in other words,
 | 
			
		||||
   application programs compiled with initial 0.9.8 headers will
 | 
			
		||||
   be expected to work with future minor release .DLL without need
 | 
			
		||||
   to re-compile, even if future minor release features modified API.
 | 
			
		||||
 - Above mentioned API modifications have everything to do with
 | 
			
		||||
   elimination of a number of limitations, which are normally
 | 
			
		||||
   considered inherent to 32-bit platforms. Which in turn is why they
 | 
			
		||||
   are treated as limitations on 64-bit platform such as Win64:-)
 | 
			
		||||
   The current list comprises [but not necessarily limited to]:
 | 
			
		||||
 | 
			
		||||
   - null-terminated strings may not be longer than 2G-1 bytes,
 | 
			
		||||
     longer strings are treated as zero-length;
 | 
			
		||||
   - dynamically and *internally* allocated chunks can't be larger
 | 
			
		||||
     than 2G-1 bytes;
 | 
			
		||||
   - inability to encrypt/decrypt chunks of data larger than 4GB
 | 
			
		||||
     [it's possibly to *hash* chunks of arbitrary size through];
 | 
			
		||||
 | 
			
		||||
   Neither of these is actually big deal and hardly encountered
 | 
			
		||||
   in real-life applications.
 | 
			
		||||
 | 
			
		||||
 Compiling procedure
 | 
			
		||||
 -------------------
 | 
			
		||||
 | 
			
		||||
 You will need Perl. You can run under Cygwin or you can download
 | 
			
		||||
 ActiveState Perl from http://www.activestate.com/ActivePerl.
 | 
			
		||||
 | 
			
		||||
 You will need Microsoft Platform SDK, available for download at
 | 
			
		||||
 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. As per
 | 
			
		||||
 April 2005 Platform SDK is equipped with Win64 compilers, as well
 | 
			
		||||
 as assemblers, but it might change in the future.
 | 
			
		||||
 | 
			
		||||
 To build for Win64/x64:
 | 
			
		||||
 | 
			
		||||
 > perl Configure VC-WIN64A
 | 
			
		||||
 > ms\do_win64a
 | 
			
		||||
 > nmake -f ms\ntdll.mak
 | 
			
		||||
 > cd out32dll
 | 
			
		||||
 > ..\ms\test
 | 
			
		||||
 | 
			
		||||
 To build for Win64/IA64:
 | 
			
		||||
 | 
			
		||||
 > perl Configure VC-WIN64I
 | 
			
		||||
 > ms\do_win64i
 | 
			
		||||
 > nmake -f ms\ntdll.mak
 | 
			
		||||
 > cd out32dll
 | 
			
		||||
 > ..\ms\test
 | 
			
		||||
 | 
			
		||||
 Naturally test-suite itself has to be executed on the target platform.
 | 
			
		||||
 | 
			
		||||
 Installation
 | 
			
		||||
 ------------
 | 
			
		||||
 | 
			
		||||
 TBD, for now see INSTALL.W32.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										152
									
								
								Makefile.org
									
									
									
									
									
								
							
							
						
						
									
										152
									
								
								Makefile.org
									
									
									
									
									
								
							@@ -112,6 +112,8 @@ SDIRS=  \
 | 
			
		||||
	buffer bio stack lhash rand err \
 | 
			
		||||
	evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
 | 
			
		||||
	store pqueue
 | 
			
		||||
# keep in mind that the above list is adjusted by ./Configure
 | 
			
		||||
# according to no-xxx arguments...
 | 
			
		||||
 | 
			
		||||
# tests to perform.  "alltests" is a special word indicating that all tests
 | 
			
		||||
# should be performed.
 | 
			
		||||
@@ -144,18 +146,35 @@ WTARFILE=       $(NAME)-win.tar
 | 
			
		||||
EXHEADER=       e_os2.h
 | 
			
		||||
HEADER=         e_os.h
 | 
			
		||||
 | 
			
		||||
all: Makefile build_all openssl.pc
 | 
			
		||||
all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
 | 
			
		||||
 | 
			
		||||
# as we stick to -e, CLEARENV ensures that local variables in lower
 | 
			
		||||
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
 | 
			
		||||
# shell, which [annoyingly enough] terminates unset with error if VAR
 | 
			
		||||
# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
 | 
			
		||||
# which terminates unset with error if no variable was present:-(
 | 
			
		||||
CLEARENV=	TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS}	\
 | 
			
		||||
		$${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES}	\
 | 
			
		||||
		$${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC}		\
 | 
			
		||||
		$${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL}	\
 | 
			
		||||
		$${EXHEADER+EXHEADER} $${HEADER+HEADER}		\
 | 
			
		||||
		$${GENERAL+GENERAL} $${CFLAGS+CFLAGS}		\
 | 
			
		||||
		$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS}		\
 | 
			
		||||
		$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS}		\
 | 
			
		||||
		$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS}	\
 | 
			
		||||
		$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
 | 
			
		||||
 | 
			
		||||
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'	\
 | 
			
		||||
		INSTALL_PREFIX='${INSTALL_PREFIX}'		\
 | 
			
		||||
		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)"	\
 | 
			
		||||
		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}'	\
 | 
			
		||||
@@ -168,18 +187,19 @@ BUILDENV=	PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
 | 
			
		||||
		SHA1_ASM_OBJ='${SHA1_ASM_OBJ}'			\
 | 
			
		||||
		MD5_ASM_OBJ='${MD5_ASM_OBJ}'			\
 | 
			
		||||
		RMD160_ASM_OBJ='${RMD160_ASM_OBJ}'		\
 | 
			
		||||
		THIS=$${THIS:-$@}
 | 
			
		||||
		THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
 | 
			
		||||
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
 | 
			
		||||
# which in turn eliminates ambiguities in variable treatment with -e.
 | 
			
		||||
 | 
			
		||||
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; \
 | 
			
		||||
	else \
 | 
			
		||||
		$(MAKE) $$dir; \
 | 
			
		||||
	fi; fi
 | 
			
		||||
BUILD_CMD=  if [ -d "$$dir" ]; then \
 | 
			
		||||
	    (	cd $$dir && echo "making $$target in $$dir..." && \
 | 
			
		||||
		$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
 | 
			
		||||
	    ) || exit 1; \
 | 
			
		||||
	    fi
 | 
			
		||||
RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
 | 
			
		||||
 | 
			
		||||
reflect:
 | 
			
		||||
	@[ -n "$(THIS)" ] && $(MAKE) $(THIS) $(BUILDENV)
 | 
			
		||||
	@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
 | 
			
		||||
 | 
			
		||||
sub_all: build_all
 | 
			
		||||
build_all: build_libs build_apps build_tests build_tools
 | 
			
		||||
@@ -249,7 +269,7 @@ do_$(SHLIB_TARGET):
 | 
			
		||||
		if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
 | 
			
		||||
			libs="$(LIBKRB5) $$libs"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		$(MAKE) -f Makefile.shared $(BUILDENV) \
 | 
			
		||||
		$(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
 | 
			
		||||
			LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
 | 
			
		||||
			LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
 | 
			
		||||
			LIBDEPS="$$libs $(EX_LIBS)" \
 | 
			
		||||
@@ -257,6 +277,32 @@ do_$(SHLIB_TARGET):
 | 
			
		||||
		libs="-l$$i $$libs"; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
libcrypto.pc: Makefile
 | 
			
		||||
	@ ( echo 'prefix=$(INSTALLTOP)'; \
 | 
			
		||||
	    echo 'exec_prefix=$${prefix}'; \
 | 
			
		||||
	    echo 'libdir=$${exec_prefix}/lib'; \
 | 
			
		||||
	    echo 'includedir=$${prefix}/include'; \
 | 
			
		||||
	    echo ''; \
 | 
			
		||||
	    echo 'Name: OpenSSL-libcrypto'; \
 | 
			
		||||
	    echo 'Description: OpenSSL cryptography library'; \
 | 
			
		||||
	    echo 'Version: '$(VERSION); \
 | 
			
		||||
	    echo 'Requires: '; \
 | 
			
		||||
	    echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
 | 
			
		||||
	    echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
 | 
			
		||||
 | 
			
		||||
libssl.pc: Makefile
 | 
			
		||||
	@ ( echo 'prefix=$(INSTALLTOP)'; \
 | 
			
		||||
	    echo 'exec_prefix=$${prefix}'; \
 | 
			
		||||
	    echo 'libdir=$${exec_prefix}/lib'; \
 | 
			
		||||
	    echo 'includedir=$${prefix}/include'; \
 | 
			
		||||
	    echo ''; \
 | 
			
		||||
	    echo 'Name: OpenSSL'; \
 | 
			
		||||
	    echo 'Description: Secure Sockets Layer and cryptography libraries'; \
 | 
			
		||||
	    echo 'Version: '$(VERSION); \
 | 
			
		||||
	    echo 'Requires: '; \
 | 
			
		||||
	    echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
 | 
			
		||||
	    echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
 | 
			
		||||
 | 
			
		||||
openssl.pc: Makefile
 | 
			
		||||
	@ ( echo 'prefix=$(INSTALLTOP)'; \
 | 
			
		||||
	    echo 'exec_prefix=$${prefix}'; \
 | 
			
		||||
@@ -280,15 +326,9 @@ libclean:
 | 
			
		||||
 | 
			
		||||
clean:	libclean
 | 
			
		||||
	rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i && echo "making clean in $$i..." && \
 | 
			
		||||
		$(MAKE) SDIRS='${SDIRS}' clean ) || exit 1; \
 | 
			
		||||
		rm -f $(LIBS); \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done;
 | 
			
		||||
	rm -f openssl.pc
 | 
			
		||||
	@set -e; target=clean; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
	rm -f $(LIBS)
 | 
			
		||||
	rm -f openssl.pc libssl.pc libcrypto.pc
 | 
			
		||||
	rm -f speed.* .pure
 | 
			
		||||
	rm -f $(TARFILE)
 | 
			
		||||
	@set -e; for i in $(ONEDIRS) ;\
 | 
			
		||||
@@ -302,32 +342,20 @@ makefile.one: files
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i && echo "making 'files' in $$i..." && \
 | 
			
		||||
		$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' files ) || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done;
 | 
			
		||||
	@set -e; target=files; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
 | 
			
		||||
	@set -e; target=links; for dir in $(DIRS); do $(BUILD_CMD); done
 | 
			
		||||
	@set -e; target=links; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
 | 
			
		||||
gentests:
 | 
			
		||||
	@(cd test && echo "generating dummy tests (if needed)..." && \
 | 
			
		||||
	$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
 | 
			
		||||
	$(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
 | 
			
		||||
 | 
			
		||||
dclean:
 | 
			
		||||
	rm -f *.bak
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i && echo "making dclean in $$i..." && \
 | 
			
		||||
		$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done;
 | 
			
		||||
	@set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
 | 
			
		||||
rehash: rehash.time
 | 
			
		||||
rehash.time: certs
 | 
			
		||||
@@ -341,29 +369,17 @@ test:   tests
 | 
			
		||||
 | 
			
		||||
tests: rehash
 | 
			
		||||
	@(cd test && echo "testing..." && \
 | 
			
		||||
	$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
 | 
			
		||||
	$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
 | 
			
		||||
	util/opensslwrap.sh version -a
 | 
			
		||||
 | 
			
		||||
report:
 | 
			
		||||
	@$(PERL) util/selftest.pl
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i && echo "making dependencies $$i..." && \
 | 
			
		||||
		$(MAKE) $(BUILDENV) depend ) || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done;
 | 
			
		||||
	@set -e; target=depend; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
 | 
			
		||||
lint:
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i && echo "making lint $$i..." && \
 | 
			
		||||
		$(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done;
 | 
			
		||||
	@set -e; target=lint; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
 | 
			
		||||
tags:
 | 
			
		||||
	rm -f TAGS
 | 
			
		||||
@@ -391,11 +407,15 @@ crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt c
 | 
			
		||||
apps/openssl-vms.cnf: apps/openssl.cnf
 | 
			
		||||
	$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
 | 
			
		||||
 | 
			
		||||
crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
 | 
			
		||||
	$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
TABLE: Configure
 | 
			
		||||
	(echo 'Output of `Configure TABLE'"':"; \
 | 
			
		||||
	$(PERL) Configure TABLE) > TABLE
 | 
			
		||||
 | 
			
		||||
update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf TABLE
 | 
			
		||||
update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
 | 
			
		||||
 | 
			
		||||
# Build distribution tar-file. As the list of files returned by "find" is
 | 
			
		||||
# pretty long, on several platforms a "too many arguments" error or similar
 | 
			
		||||
@@ -430,7 +450,7 @@ dist:
 | 
			
		||||
	@$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
 | 
			
		||||
 | 
			
		||||
dist_pem_h:
 | 
			
		||||
	(cd crypto/pem; $(MAKE) $(BUILDENV) pem.h; $(MAKE) clean)
 | 
			
		||||
	(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
 | 
			
		||||
 | 
			
		||||
install: all install_docs install_sw
 | 
			
		||||
 | 
			
		||||
@@ -448,13 +468,7 @@ install_sw:
 | 
			
		||||
	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i; echo "installing $$i..."; \
 | 
			
		||||
		$(MAKE) $(BUILDENV) install ); \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done
 | 
			
		||||
	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
	@set -e; for i in $(LIBS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
		if [ -f "$$i" ]; then \
 | 
			
		||||
@@ -496,6 +510,10 @@ install_sw:
 | 
			
		||||
			sed -e '1,/^$$/d' doc/openssl-shared.txt; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi
 | 
			
		||||
	cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
 | 
			
		||||
	cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
 | 
			
		||||
	cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
 | 
			
		||||
 | 
			
		||||
@@ -521,8 +539,8 @@ install_docs:
 | 
			
		||||
			--release=$(VERSION) `basename $$i`") \
 | 
			
		||||
			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
 | 
			
		||||
		$(PERL) util/extract-names.pl < $$i | \
 | 
			
		||||
			grep -v $$filecase "^$$fn\$$" | \
 | 
			
		||||
			grep -v "[	]" | \
 | 
			
		||||
			(grep -v $$filecase "^$$fn\$$"; true) | \
 | 
			
		||||
			(grep -v "[	]"; true) | \
 | 
			
		||||
			(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
 | 
			
		||||
			 while read n; do \
 | 
			
		||||
				$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
 | 
			
		||||
@@ -538,8 +556,8 @@ install_docs:
 | 
			
		||||
			--release=$(VERSION) `basename $$i`") \
 | 
			
		||||
			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
 | 
			
		||||
		$(PERL) util/extract-names.pl < $$i | \
 | 
			
		||||
			grep -v $$filecase "^$$fn\$$" | \
 | 
			
		||||
			grep -v "[	]" | \
 | 
			
		||||
			(grep -v $$filecase "^$$fn\$$"; true) | \
 | 
			
		||||
			(grep -v "[	]"; true) | \
 | 
			
		||||
			(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
 | 
			
		||||
			 while read n; do \
 | 
			
		||||
				$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
 | 
			
		||||
 
 | 
			
		||||
@@ -89,21 +89,23 @@ CALC_VERSIONS=	\
 | 
			
		||||
 | 
			
		||||
LINK_APP=	\
 | 
			
		||||
  ( $(SET_X);   \
 | 
			
		||||
    LIBDEPS=$${LIBDEPS:-$(LIBDEPS)}; \
 | 
			
		||||
    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); \
 | 
			
		||||
@@ -200,6 +202,7 @@ link_o.darwin:
 | 
			
		||||
	SHLIB_SUFFIX=.dylib; \
 | 
			
		||||
	ALLSYMSFLAGS='-all_load'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
 | 
			
		||||
	if [ -n "$(LIBVERSION)" ]; then \
 | 
			
		||||
		SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
@@ -213,6 +216,7 @@ link_a.darwin:
 | 
			
		||||
	SHLIB_SUFFIX=.dylib; \
 | 
			
		||||
	ALLSYMSFLAGS='-all_load'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
 | 
			
		||||
	if [ -n "$(LIBVERSION)" ]; then \
 | 
			
		||||
		SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
@@ -453,6 +457,7 @@ link_o.hpux:
 | 
			
		||||
	expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
 | 
			
		||||
	$(LINK_SO_O) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
 | 
			
		||||
link_a.hpux:
 | 
			
		||||
	@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
 | 
			
		||||
@@ -465,6 +470,7 @@ link_a.hpux:
 | 
			
		||||
	expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
 | 
			
		||||
	$(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
 | 
			
		||||
link_app.hpux:
 | 
			
		||||
	@if ${DETECT_GNU_LD}; then $(DO_GNU_APP); else \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										74
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								NEWS
									
									
									
									
									
								
							@@ -5,6 +5,80 @@
 | 
			
		||||
  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 Rework of the passing of parameters from one Makefile to another.
 | 
			
		||||
      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.
 | 
			
		||||
      o New BIGNUM blinding.
 | 
			
		||||
      o Added support for the RSA-PSS encryption scheme
 | 
			
		||||
      o Added support for the RSA X.931 padding.
 | 
			
		||||
      o Added support for BSD sockets on NetWare.
 | 
			
		||||
      o Added support for files larger than 2GB.
 | 
			
		||||
      o Added initial support for Win64.
 | 
			
		||||
      o Added alternate pkg-config files.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
 | 
			
		||||
 | 
			
		||||
      o More compilation issues fixed.
 | 
			
		||||
 
 | 
			
		||||
@@ -6,14 +6,15 @@ rem
 | 
			
		||||
rem   usage:
 | 
			
		||||
rem      build [target] [debug opts] [assembly opts] [configure opts]
 | 
			
		||||
rem
 | 
			
		||||
rem      target        - "netware-clib" - CLib NetWare build
 | 
			
		||||
rem                    - "netware-libc" - LibC NKS NetWare build
 | 
			
		||||
rem      target        - "netware-clib" - CLib NetWare build (WinSock Sockets)
 | 
			
		||||
rem                    - "netware-libc" - LibC NKS NetWare build (WinSock Sockets)
 | 
			
		||||
rem                    - "netware-libc-bsdsock" - LibC NKS NetWare build (BSD Sockets)
 | 
			
		||||
rem 
 | 
			
		||||
rem      debug opts    - "debug"  - build debug
 | 
			
		||||
rem
 | 
			
		||||
rem      assembly opts - "nw-mwasm" - use Metrowerks assembler
 | 
			
		||||
rem      "nw-nasm"  - use NASM assembler
 | 
			
		||||
rem      "no-asm"   - don't use assembly
 | 
			
		||||
rem                    - "nw-nasm"  - use NASM assembler
 | 
			
		||||
rem                    - "no-asm"   - don't use assembly
 | 
			
		||||
rem
 | 
			
		||||
rem      configure opts- all unrecognized arguments are passed to the
 | 
			
		||||
rem                       perl configure script
 | 
			
		||||
@@ -76,6 +77,8 @@ if "%1" == "netware-clib" set BLD_TARGET=netware-clib
 | 
			
		||||
if "%1" == "netware-clib" set ARG_PROCESSED=YES
 | 
			
		||||
if "%1" == "netware-libc" set BLD_TARGET=netware-libc
 | 
			
		||||
if "%1" == "netware-libc" set ARG_PROCESSED=YES
 | 
			
		||||
if "%1" == "netware-libc-bsdsock" set BLD_TARGET=netware-libc-bsdsock
 | 
			
		||||
if "%1" == "netware-libc-bsdsock" set ARG_PROCESSED=YES
 | 
			
		||||
 | 
			
		||||
rem   If we didn't recognize the argument, consider it an option for config
 | 
			
		||||
if "%ARG_PROCESSED%" == "NO" set CONFIG_OPTS=%CONFIG_OPTS% %1
 | 
			
		||||
@@ -92,6 +95,7 @@ rem build the nlm make file name which includes target and debug info
 | 
			
		||||
set NLM_MAKE=
 | 
			
		||||
if "%BLD_TARGET%" == "netware-clib" set NLM_MAKE=netware\nlm_clib
 | 
			
		||||
if "%BLD_TARGET%" == "netware-libc" set NLM_MAKE=netware\nlm_libc
 | 
			
		||||
if "%BLD_TARGET%" == "netware-libc-bsdsock" set NLM_MAKE=netware\nlm_libc_bsdsock
 | 
			
		||||
if "%DEBUG%" == "" set NLM_MAKE=%NLM_MAKE%.mak
 | 
			
		||||
if "%DEBUG%" == "debug" set NLM_MAKE=%NLM_MAKE%_dbg.mak
 | 
			
		||||
 | 
			
		||||
@@ -184,8 +188,9 @@ echo .  No build target specified!!!
 | 
			
		||||
echo .
 | 
			
		||||
echo .  usage: build [target] [debug opts] [assembly opts] [configure opts]
 | 
			
		||||
echo .
 | 
			
		||||
echo .     target        - "netware-clib" - CLib NetWare build
 | 
			
		||||
echo .                   - "netware-libc" - LibC NKS NetWare build
 | 
			
		||||
echo .     target        - "netware-clib" - CLib NetWare build (WinSock Sockets)
 | 
			
		||||
echo .                   - "netware-libc" - LibC NKS NetWare build (WinSock Sockets)
 | 
			
		||||
echo .                   - "netware-libc-bsdsock" - LibC NKS NetWare build (BSD Sockets)
 | 
			
		||||
echo .
 | 
			
		||||
echo .     debug opts    - "debug"  - build debug
 | 
			
		||||
echo .
 | 
			
		||||
 
 | 
			
		||||
@@ -42,8 +42,8 @@ sub main()
 | 
			
		||||
   encryption_tests();
 | 
			
		||||
   pem_tests();
 | 
			
		||||
   verify_tests();
 | 
			
		||||
   ssl_tests();
 | 
			
		||||
   ca_tests();
 | 
			
		||||
   ssl_tests();
 | 
			
		||||
 | 
			
		||||
   close(OUT);
 | 
			
		||||
 | 
			
		||||
@@ -67,10 +67,17 @@ sub algorithm_tests
 | 
			
		||||
 | 
			
		||||
   foreach $i (@tests)
 | 
			
		||||
   {
 | 
			
		||||
      $outFile = "$output_path\\$i.out";
 | 
			
		||||
      system("$i > $outFile");
 | 
			
		||||
      log_desc("Test: $i\.nlm:");
 | 
			
		||||
      log_output("", $outFile );
 | 
			
		||||
      if (-e "$base_path\\$i.nlm")
 | 
			
		||||
	  {
 | 
			
		||||
         $outFile = "$output_path\\$i.out";
 | 
			
		||||
         system("$i > $outFile");
 | 
			
		||||
         log_desc("Test: $i\.nlm:");
 | 
			
		||||
         log_output("", $outFile );
 | 
			
		||||
	  }
 | 
			
		||||
	  else
 | 
			
		||||
	  {
 | 
			
		||||
         log_desc("Test: $i\.nlm: file not found");
 | 
			
		||||
	  }
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -246,61 +253,63 @@ sub verify_tests
 | 
			
		||||
sub ssl_tests
 | 
			
		||||
{
 | 
			
		||||
   my $outFile = "$output_path\\ssl_tst.out";
 | 
			
		||||
   my($CAcert) = "$output_path\\certCA.ss";
 | 
			
		||||
   my($Ukey)   = "$output_path\\keyU.ss";
 | 
			
		||||
   my($Ucert)  = "$output_path\\certU.ss";
 | 
			
		||||
   my($ssltest)= "ssltest -key $Ukey -cert $Ucert -c_key $Ukey -c_cert $Ucert -CAfile $CAcert";
 | 
			
		||||
 | 
			
		||||
   print( "\nRUNNING SSL TESTS:\n\n");
 | 
			
		||||
 | 
			
		||||
   print( OUT "\n========================================================\n");
 | 
			
		||||
   print( OUT "SSL TESTS:\n\n");
 | 
			
		||||
 | 
			
		||||
   make_tmp_cert_file();
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl2 >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2:");
 | 
			
		||||
   log_output("ssltest -ssl2", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl2 -server_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -ssl2 -server_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 with server authentication:");
 | 
			
		||||
   log_output("ssltest -ssl2 -server_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -ssl2 -server_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl2 -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -ssl2 -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 with client authentication:");
 | 
			
		||||
   log_output("ssltest -ssl2 -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -ssl2 -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl2 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -ssl2 -server_auth -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 with both client and server authentication:");
 | 
			
		||||
   log_output("ssltest -ssl2 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -ssl2 -server_auth -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl3 >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3:");
 | 
			
		||||
   log_output("ssltest -ssl3", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl3 -server_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -ssl3 -server_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 with server authentication:");
 | 
			
		||||
   log_output("ssltest -ssl3 -server_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -ssl3 -server_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl3 -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -ssl3 -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 with client authentication:");
 | 
			
		||||
   log_output("ssltest -ssl3 -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -ssl3 -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -ssl3 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -ssl3 -server_auth -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 with both client and server authentication:");
 | 
			
		||||
   log_output("ssltest -ssl3 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -ssl3 -server_auth -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3:");
 | 
			
		||||
   log_output("ssltest", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -server_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -server_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with server authentication:");
 | 
			
		||||
   log_output("ssltest -server_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -server_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with client authentication:");
 | 
			
		||||
   log_output("ssltest -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -client_auth ", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -server_auth -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -server_auth -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with both client and server authentication:");
 | 
			
		||||
   log_output("ssltest -server_auth -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -server_auth -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl2 >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 via BIO pair:");
 | 
			
		||||
@@ -310,49 +319,49 @@ sub ssl_tests
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with 1024 bit DHE via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -dhe1024dsa -v", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl2 -server_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -ssl2 -server_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 with server authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl2 -server_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -ssl2 -server_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl2 -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -ssl2 -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 with client authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl2 -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -ssl2 -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl2 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -ssl2 -server_auth -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2 with both client and server authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl2 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -ssl2 -server_auth -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl3 >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl3", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl3 -server_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -ssl3 -server_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 with server authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl3 -server_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -ssl3 -server_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl3 -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -ssl3 -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 with client authentication  via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl3 -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -ssl3 -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -ssl3 -server_auth -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -ssl3 -server_auth -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv3 with both client and server authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -ssl3 -server_auth -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -ssl3 -server_auth -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -server_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -server_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with server authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -server_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -server_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with client authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -client_auth", $outFile);
 | 
			
		||||
 | 
			
		||||
   system("ssltest -bio_pair -server_auth -client_auth -CAfile $tmp_cert >$outFile");
 | 
			
		||||
   system("$ssltest -bio_pair -server_auth -client_auth >$outFile");
 | 
			
		||||
   log_desc("Testing sslv2/sslv3 with both client and server authentication via BIO pair:");
 | 
			
		||||
   log_output("ssltest -bio_pair -server_auth -client_auth -CAfile $tmp_cert", $outFile);
 | 
			
		||||
   log_output("$ssltest -bio_pair -server_auth -client_auth", $outFile);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										78
									
								
								PROBLEMS
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								PROBLEMS
									
									
									
									
									
								
							@@ -12,8 +12,8 @@ along the whole library path before it bothers looking for .a libraries.  This
 | 
			
		||||
means that -L switches won't matter unless OpenSSL is built with shared
 | 
			
		||||
library support.
 | 
			
		||||
 | 
			
		||||
The workaround may be to change the following lines in apps/Makefile.ssl and
 | 
			
		||||
test/Makefile.ssl:
 | 
			
		||||
The workaround may be to change the following lines in apps/Makefile and
 | 
			
		||||
test/Makefile:
 | 
			
		||||
 | 
			
		||||
  LIBCRYPTO=-L.. -lcrypto
 | 
			
		||||
  LIBSSL=-L.. -lssl
 | 
			
		||||
@@ -48,20 +48,34 @@ will interfere with each other and lead to test failure.
 | 
			
		||||
The solution is simple for now: don't run parallell make when testing.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
* Bugs in gcc 3.0 triggered
 | 
			
		||||
* Bugs in gcc triggered
 | 
			
		||||
 | 
			
		||||
According to a problem report, there are bugs in gcc 3.0 that are
 | 
			
		||||
triggered by some of the code in OpenSSL, more specifically in
 | 
			
		||||
PEM_get_EVP_CIPHER_INFO().  The triggering code is the following:
 | 
			
		||||
- According to a problem report, there are bugs in gcc 3.0 that are
 | 
			
		||||
  triggered by some of the code in OpenSSL, more specifically in
 | 
			
		||||
  PEM_get_EVP_CIPHER_INFO().  The triggering code is the following:
 | 
			
		||||
 | 
			
		||||
	header+=11;
 | 
			
		||||
	if (*header != '4') return(0); header++;
 | 
			
		||||
	if (*header != ',') return(0); header++;
 | 
			
		||||
 | 
			
		||||
What happens is that gcc might optimize a little too agressively, and
 | 
			
		||||
you end up with an extra incrementation when *header != '4'.
 | 
			
		||||
  What happens is that gcc might optimize a little too agressively, and
 | 
			
		||||
  you end up with an extra incrementation when *header != '4'.
 | 
			
		||||
 | 
			
		||||
We recommend that you upgrade gcc to as high a 3.x version as you can.
 | 
			
		||||
  We recommend that you upgrade gcc to as high a 3.x version as you can.
 | 
			
		||||
 | 
			
		||||
- According to multiple problem reports, some of our message digest
 | 
			
		||||
  implementations trigger bug[s] in code optimizer in gcc 3.3 for sparc64
 | 
			
		||||
  and gcc 2.96 for ppc. Former fails to complete RIPEMD160 test, while
 | 
			
		||||
  latter - SHA one.
 | 
			
		||||
 | 
			
		||||
  The recomendation is to upgrade your compiler. This naturally applies to
 | 
			
		||||
  other similar cases.
 | 
			
		||||
 | 
			
		||||
- There is a subtle Solaris x86-specific gcc run-time environment bug, which
 | 
			
		||||
  "falls between" OpenSSL [0.9.8 and later], Solaris ld and GCC. The bug
 | 
			
		||||
  manifests itself as Segmentation Fault upon early application start-up.
 | 
			
		||||
  The problem can be worked around by patching the environment according to
 | 
			
		||||
  http://www.openssl.org/~appro/values.c.
 | 
			
		||||
 | 
			
		||||
* solaris64-sparcv9-cc SHA-1 performance with WorkShop 6 compiler.
 | 
			
		||||
 | 
			
		||||
@@ -120,3 +134,49 @@ Any information helping to solve this issue would be deeply
 | 
			
		||||
appreciated.
 | 
			
		||||
 | 
			
		||||
NOTE: building non-shared doesn't come with this problem.
 | 
			
		||||
 | 
			
		||||
* ULTRIX build fails with shell errors, such as "bad substitution"
 | 
			
		||||
  and "test: argument expected"
 | 
			
		||||
 | 
			
		||||
The problem is caused by ULTRIX /bin/sh supporting only original
 | 
			
		||||
Bourne shell syntax/semantics, and the trouble is that the vast
 | 
			
		||||
majority is so accustomed to more modern syntax, that very few
 | 
			
		||||
people [if any] would recognize the ancient syntax even as valid.
 | 
			
		||||
This inevitably results in non-trivial scripts breaking on ULTRIX,
 | 
			
		||||
and OpenSSL isn't an exclusion. Fortunately there is workaround,
 | 
			
		||||
hire /bin/ksh to do the job /bin/sh fails to do.
 | 
			
		||||
 | 
			
		||||
1. Trick make(1) to use /bin/ksh by setting up following environ-
 | 
			
		||||
   ment variables *prior* you execute ./Configure and make:
 | 
			
		||||
 | 
			
		||||
	PROG_ENV=POSIX
 | 
			
		||||
	MAKESHELL=/bin/ksh
 | 
			
		||||
	export PROG_ENV MAKESHELL
 | 
			
		||||
 | 
			
		||||
   or if your shell is csh-compatible:
 | 
			
		||||
 | 
			
		||||
	setenv PROG_ENV POSIX
 | 
			
		||||
	setenv MAKESHELL /bin/ksh
 | 
			
		||||
 | 
			
		||||
2. Trick /bin/sh to use alternative expression evaluator. Create
 | 
			
		||||
   following 'test' script for example in /tmp:
 | 
			
		||||
 | 
			
		||||
	#!/bin/ksh
 | 
			
		||||
	${0##*/} "$@"
 | 
			
		||||
 | 
			
		||||
   Then 'chmod a+x /tmp/test; ln /tmp/test /tmp/[' and *prepend*
 | 
			
		||||
   your $PATH with chosen location, e.g. PATH=/tmp:$PATH. Alter-
 | 
			
		||||
   natively just replace system /bin/test and /bin/[ with the
 | 
			
		||||
   above script.
 | 
			
		||||
 | 
			
		||||
* hpux64-ia64-cc fails blowfish test.
 | 
			
		||||
 | 
			
		||||
Compiler bug, presumably at particular patch level. It should be noted
 | 
			
		||||
that same compiler generates correct 32-bit code, a.k.a. hpux-ia64-cc
 | 
			
		||||
target. Drop optimization level to +O2 when compiling 64-bit bf_skey.o.
 | 
			
		||||
 | 
			
		||||
* no-engines generates errors.
 | 
			
		||||
 | 
			
		||||
Unfortunately, the 'no-engines' configuration option currently doesn't
 | 
			
		||||
work properly.  Use 'no-hw' and you'll will at least get no hardware
 | 
			
		||||
support.  We'll see how we fix that on OpenSSL versions past 0.9.8.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
 | 
			
		||||
 OpenSSL 0.9.9-dev XX xxx XXXX
 | 
			
		||||
 OpenSSL 0.9.8 05 Jul 2005
 | 
			
		||||
 | 
			
		||||
 Copyright (c) 1998-2005 The OpenSSL Project
 | 
			
		||||
 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								STATUS
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								STATUS
									
									
									
									
									
								
							@@ -1,11 +1,11 @@
 | 
			
		||||
 | 
			
		||||
  OpenSSL STATUS                           Last modified at
 | 
			
		||||
  ______________                           $Date: 2005/05/19 19:43:28 $
 | 
			
		||||
  ______________                           $Date: 2005/07/05 18:49:43 $
 | 
			
		||||
 | 
			
		||||
  DEVELOPMENT STATE
 | 
			
		||||
 | 
			
		||||
    o  OpenSSL 0.9.9:  Under development...
 | 
			
		||||
    o  OpenSSL 0.9.8-beta1:  Released on May 19th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.8:  Released on July       5th, 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
 | 
			
		||||
@@ -40,6 +40,7 @@
 | 
			
		||||
 | 
			
		||||
  RELEASE SHOWSTOPPERS
 | 
			
		||||
 | 
			
		||||
    o The Makefiles fail with some SysV makes.
 | 
			
		||||
    o 
 | 
			
		||||
 | 
			
		||||
  AVAILABLE PATCHES
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										255
									
								
								TABLE
									
									
									
									
									
								
							
							
						
						
									
										255
									
								
								TABLE
									
									
									
									
									
								
							@@ -117,7 +117,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -326,7 +326,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** DJGPP
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall -DDEVRANDOM="/dev/urandom\x24"
 | 
			
		||||
$cflags       = -I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = MSDOS
 | 
			
		||||
@@ -432,60 +432,6 @@ $shared_extension =
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** OpenUNIX-8
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = -O -DFILIO_H -Kalloca
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -Kthread
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = -lsocket -lnsl
 | 
			
		||||
$bn_ops       = BN_LLONG MD2_CHAR RC4_INDEX DES_PTR DES_RISC1 DES_UNROLL
 | 
			
		||||
$cpuid_obj    = x86cpuid-elf.o
 | 
			
		||||
$bn_obj       = bn86-elf.o co86-elf.o
 | 
			
		||||
$des_obj      = dx86-elf.o yx86-elf.o
 | 
			
		||||
$aes_obj      = ax86-elf.o
 | 
			
		||||
$bf_obj       = bx86-elf.o
 | 
			
		||||
$md5_obj      = mx86-elf.o
 | 
			
		||||
$sha1_obj     = sx86-elf.o s512sse2-elf.o
 | 
			
		||||
$cast_obj     = cx86-elf.o
 | 
			
		||||
$rc4_obj      = rx86-elf.o
 | 
			
		||||
$rmd160_obj   = rm86-elf.o
 | 
			
		||||
$rc5_obj      = r586-elf.o
 | 
			
		||||
$dso_scheme   = dlfcn
 | 
			
		||||
$shared_target= svr5-shared
 | 
			
		||||
$shared_cflag = -Kpic
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** OpenUNIX-8-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -O -DFILIO_H -fomit-frame-pointer
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -pthread
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = -lsocket -lnsl
 | 
			
		||||
$bn_ops       = BN_LLONG MD2_CHAR RC4_INDEX DES_PTR DES_RISC1 DES_UNROLL
 | 
			
		||||
$cpuid_obj    = x86cpuid-elf.o
 | 
			
		||||
$bn_obj       = bn86-elf.o co86-elf.o
 | 
			
		||||
$des_obj      = dx86-elf.o yx86-elf.o
 | 
			
		||||
$aes_obj      = ax86-elf.o
 | 
			
		||||
$bf_obj       = bx86-elf.o
 | 
			
		||||
$md5_obj      = mx86-elf.o
 | 
			
		||||
$sha1_obj     = sx86-elf.o s512sse2-elf.o
 | 
			
		||||
$cast_obj     = cx86-elf.o
 | 
			
		||||
$rc4_obj      = rx86-elf.o
 | 
			
		||||
$rmd160_obj   = rm86-elf.o
 | 
			
		||||
$rc5_obj      = r586-elf.o
 | 
			
		||||
$dso_scheme   = dlfcn
 | 
			
		||||
$shared_target= svr5-shared
 | 
			
		||||
$shared_cflag = -fPIC
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** ReliantUNIX
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = -KPIC -g -DTERMIOS -DB_ENDIAN
 | 
			
		||||
@@ -682,7 +628,7 @@ $unistd       =
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = WIN64A
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT EXPORT_VAR_AS_FN
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -709,7 +655,7 @@ $unistd       =
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = WIN64I
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT EXPORT_VAR_AS_FN
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -866,7 +812,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** bsdi-elf-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
 | 
			
		||||
$cflags       = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -1005,7 +951,7 @@ $cflags       = -O3 -DB_ENDIAN
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = MACOSX
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$lflags       = -Wl,-search_paths_first
 | 
			
		||||
$bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = osx_ppc32.o
 | 
			
		||||
@@ -1433,7 +1379,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** debug-linux-elf
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall
 | 
			
		||||
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -1460,7 +1406,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** debug-linux-elf-noefence
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall
 | 
			
		||||
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -1757,7 +1703,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** debug-vos-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG
 | 
			
		||||
$cflags       = -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = VOS
 | 
			
		||||
@@ -1782,33 +1728,6 @@ $shared_extension = .so
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** debug-vos-vcc
 | 
			
		||||
$cc           = vcc
 | 
			
		||||
$cflags       = -b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = VOS
 | 
			
		||||
$lflags       = -Wl,-map
 | 
			
		||||
$bn_ops       = 
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = .so
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** dgux-R3-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -O3 -fomit-frame-pointer
 | 
			
		||||
@@ -2007,7 +1926,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2034,7 +1953,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2223,7 +2142,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2250,7 +2169,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2324,7 +2243,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** hurd-x86
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall
 | 
			
		||||
$cflags       = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -2412,7 +2331,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = mips3.o
 | 
			
		||||
$bn_obj       = bn-mips3.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2432,14 +2351,14 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** irix-mips3-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -mabi=n32 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
 | 
			
		||||
$cflags       = -mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_SGI_MP_SOURCE
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = mips3.o
 | 
			
		||||
$bn_obj       = bn-mips3.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2466,7 +2385,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = mips3.o
 | 
			
		||||
$bn_obj       = bn-mips3.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2486,14 +2405,14 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** irix64-mips4-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
 | 
			
		||||
$cflags       = -mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_SGI_MP_SOURCE
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = mips3.o
 | 
			
		||||
$bn_obj       = bn-mips3.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2621,7 +2540,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** linux-aout
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall
 | 
			
		||||
$cflags       = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -2763,7 +2682,7 @@ $sys_id       =
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -2790,7 +2709,34 @@ $sys_id       =
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = ia64.o
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = sha1-ia64.o sha256-ia64.o sha512-ia64.o
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = rc4-ia64.o
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = dlfcn
 | 
			
		||||
$shared_target= linux-shared
 | 
			
		||||
$shared_cflag = -fPIC
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** linux-ia64-icc
 | 
			
		||||
$cc           = icc
 | 
			
		||||
$cflags       = -DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = -ldl
 | 
			
		||||
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = bn-ia64.o
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
@@ -3030,8 +2976,8 @@ $cflags       =
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = RC4_INDEX MD2_INT
 | 
			
		||||
$bn_ops       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = BN_LLONG RC4_INDEX MD2_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -3057,8 +3003,35 @@ $cflags       =
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = BN_LLONG RC4_INDEX MD2_INT
 | 
			
		||||
$bn_ops       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = BN_LLONG RC4_INDEX MD2_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = 
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** netware-libc-bsdsock
 | 
			
		||||
$cc           = mwccnlm
 | 
			
		||||
$cflags       = 
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = BN_LLONG RC4_INDEX MD2_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -3084,8 +3057,8 @@ $cflags       = -nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_EN
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = 
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = RC4_INDEX MD2_INT
 | 
			
		||||
$bn_ops       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = BN_LLONG RC4_INDEX MD2_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -3348,33 +3321,6 @@ $shared_extension =
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** sco3-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -O3 -fomit-frame-pointer -Dssize_t=int -DNO_SYS_UN_H
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = -lsocket
 | 
			
		||||
$bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = 
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** sco5-cc
 | 
			
		||||
$cc           = cc
 | 
			
		||||
$cflags       = -belf
 | 
			
		||||
@@ -3620,7 +3566,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** solaris-x86-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
 | 
			
		||||
$cflags       = -O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -3868,7 +3814,7 @@ $unistd       =
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
$lflags       = 
 | 
			
		||||
$bn_ops       = 
 | 
			
		||||
$bn_ops       = BN_LLONG
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
@@ -3971,7 +3917,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** unixware-7-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -m486 -Wall
 | 
			
		||||
$cflags       = -DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=pentium -Wall
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = -D_REENTRANT
 | 
			
		||||
$sys_id       = 
 | 
			
		||||
@@ -3998,7 +3944,7 @@ $arflags      =
 | 
			
		||||
 | 
			
		||||
*** vos-gcc
 | 
			
		||||
$cc           = gcc
 | 
			
		||||
$cflags       = -b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD
 | 
			
		||||
$cflags       = -O3 -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = VOS
 | 
			
		||||
@@ -4023,33 +3969,6 @@ $shared_extension = .so
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** vos-vcc
 | 
			
		||||
$cc           = vcc
 | 
			
		||||
$cflags       = -b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD
 | 
			
		||||
$unistd       = 
 | 
			
		||||
$thread_cflag = (unknown)
 | 
			
		||||
$sys_id       = VOS
 | 
			
		||||
$lflags       = -Wl,-map
 | 
			
		||||
$bn_ops       = 
 | 
			
		||||
$cpuid_obj    = 
 | 
			
		||||
$bn_obj       = 
 | 
			
		||||
$des_obj      = 
 | 
			
		||||
$aes_obj      = 
 | 
			
		||||
$bf_obj       = 
 | 
			
		||||
$md5_obj      = 
 | 
			
		||||
$sha1_obj     = 
 | 
			
		||||
$cast_obj     = 
 | 
			
		||||
$rc4_obj      = 
 | 
			
		||||
$rmd160_obj   = 
 | 
			
		||||
$rc5_obj      = 
 | 
			
		||||
$dso_scheme   = 
 | 
			
		||||
$shared_target= 
 | 
			
		||||
$shared_cflag = 
 | 
			
		||||
$shared_ldflag = 
 | 
			
		||||
$shared_extension = .so
 | 
			
		||||
$ranlib       = 
 | 
			
		||||
$arflags      = 
 | 
			
		||||
 | 
			
		||||
*** vxworks-mipsle
 | 
			
		||||
$cc           = ccmips
 | 
			
		||||
$cflags       = -B$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I$(WIND_BASE)/target/h
 | 
			
		||||
 
 | 
			
		||||
@@ -68,19 +68,19 @@ foreach (@ARGV) {
 | 
			
		||||
	    exit 0;
 | 
			
		||||
	} elsif (/^-newcert$/) {
 | 
			
		||||
	    # create a certificate
 | 
			
		||||
	    system ("$REQ -new -x509 -keyout newreq.pem -out newreq.pem $DAYS");
 | 
			
		||||
	    system ("$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS");
 | 
			
		||||
	    $RET=$?;
 | 
			
		||||
	    print "Certificate (and private key) is in newreq.pem\n"
 | 
			
		||||
	    print "Certificate is in newcert.pem, private key is in newkey.pem\n"
 | 
			
		||||
	} elsif (/^-newreq$/) {
 | 
			
		||||
	    # create a certificate request
 | 
			
		||||
	    system ("$REQ -new -keyout newreq.pem -out newreq.pem $DAYS");
 | 
			
		||||
	    system ("$REQ -new -keyout newkey.pem -out newreq.pem $DAYS");
 | 
			
		||||
	    $RET=$?;
 | 
			
		||||
	    print "Request (and private key) is in newreq.pem\n";
 | 
			
		||||
	    print "Request is in newreq.pem, private key is in newkey.pem\n";
 | 
			
		||||
	} elsif (/^-newreq-nodes$/) {
 | 
			
		||||
	    # create a certificate request
 | 
			
		||||
	    system ("$REQ -new -nodes -keyout newreq.pem -out newreq.pem $DAYS");
 | 
			
		||||
	    system ("$REQ -new -nodes -keyout newkey.pem -out newreq.pem $DAYS");
 | 
			
		||||
	    $RET=$?;
 | 
			
		||||
	    print "Request (and private key) is in newreq.pem\n";
 | 
			
		||||
	    print "Request is in newreq.pem, private key is in newkey.pem\n";
 | 
			
		||||
	} elsif (/^-newca$/) {
 | 
			
		||||
		# if explicitly asked for or it doesn't exist then setup the
 | 
			
		||||
		# directory structure that Eric likes to manage things 
 | 
			
		||||
@@ -120,10 +120,11 @@ foreach (@ARGV) {
 | 
			
		||||
	} elsif (/^-pkcs12$/) {
 | 
			
		||||
	    my $cname = $ARGV[1];
 | 
			
		||||
	    $cname = "My Certificate" unless defined $cname;
 | 
			
		||||
	    system ("$PKCS12 -in newcert.pem -inkey newreq.pem " .
 | 
			
		||||
	    system ("$PKCS12 -in newcert.pem -inkey newkey.pem " .
 | 
			
		||||
			"-certfile ${CATOP}/$CACERT -out newcert.p12 " .
 | 
			
		||||
			"-export -name \"$cname\"");
 | 
			
		||||
	    $RET=$?;
 | 
			
		||||
	    print "PKCS #12 file is in newcert.p12\n";
 | 
			
		||||
	    exit $RET;
 | 
			
		||||
	} elsif (/^-xsign$/) {
 | 
			
		||||
	    system ("$CA -policy policy_anything -infiles newreq.pem");
 | 
			
		||||
 
 | 
			
		||||
@@ -53,15 +53,15 @@ case $i in
 | 
			
		||||
    ;;
 | 
			
		||||
-newcert) 
 | 
			
		||||
    # create a certificate
 | 
			
		||||
    $REQ -new -x509 -keyout newreq.pem -out newreq.pem $DAYS
 | 
			
		||||
    $REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS
 | 
			
		||||
    RET=$?
 | 
			
		||||
    echo "Certificate (and private key) is in newreq.pem"
 | 
			
		||||
    echo "Certificate is in newcert.pem, private key is in newkey.pem"
 | 
			
		||||
    ;;
 | 
			
		||||
-newreq) 
 | 
			
		||||
    # create a certificate request
 | 
			
		||||
    $REQ -new -keyout newreq.pem -out newreq.pem $DAYS
 | 
			
		||||
    $REQ -new -keyout newkey.pem -out newreq.pem $DAYS
 | 
			
		||||
    RET=$?
 | 
			
		||||
    echo "Request (and private key) is in newreq.pem"
 | 
			
		||||
    echo "Request is in newreq.pem, private key is in newkey.pem"
 | 
			
		||||
    ;;
 | 
			
		||||
-newca)     
 | 
			
		||||
    # if explicitly asked for or it doesn't exist then setup the directory
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										284
									
								
								apps/Makefile
									
									
									
									
									
								
							
							
						
						
									
										284
									
								
								apps/Makefile
									
									
									
									
									
								
							@@ -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 -e \
 | 
			
		||||
		APPNAME=req OBJECTS="sreq.o $(A_OBJ) $(RAND_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)" \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
@@ -158,11 +158,10 @@ $(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 -e \
 | 
			
		||||
		APPNAME=$(EXE) OBJECTS="$(PROGRAM).o $(E_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
	@case "../*.dll" in *\**) ;; *) cp -p ../*.dll .;; esac
 | 
			
		||||
	-(cd ..; \
 | 
			
		||||
	  OPENSSL="`pwd`/util/opensslwrap.sh"; export OPENSSL; \
 | 
			
		||||
	  $(PERL) tools/c_rehash certs)
 | 
			
		||||
@@ -236,17 +235,18 @@ ca.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
ca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
ca.o: ../include/openssl/x509v3.h apps.h ca.c
 | 
			
		||||
ciphers.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ciphers.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
ciphers.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
ciphers.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
ciphers.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
ciphers.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
ciphers.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
ciphers.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
ciphers.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
ciphers.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
ciphers.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
ciphers.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
ciphers.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ciphers.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
ciphers.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
ciphers.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
ciphers.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
ciphers.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
ciphers.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
ciphers.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
ciphers.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
ciphers.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
ciphers.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
ciphers.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
ciphers.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
ciphers.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
ciphers.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
@@ -391,17 +391,18 @@ enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
enc.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
enc.o: ../include/openssl/x509_vfy.h apps.h enc.c
 | 
			
		||||
engine.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
engine.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
engine.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
engine.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
engine.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
engine.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
engine.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
engine.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
engine.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
engine.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
engine.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
engine.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
engine.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
engine.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
engine.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
engine.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
engine.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
engine.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
engine.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
engine.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
engine.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
engine.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
engine.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
engine.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
engine.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
engine.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
engine.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
@@ -410,17 +411,18 @@ engine.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
engine.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
engine.o: ../include/openssl/x509_vfy.h apps.h engine.c
 | 
			
		||||
errstr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
errstr.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
errstr.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
errstr.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
errstr.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
errstr.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
errstr.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
errstr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
errstr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
errstr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
errstr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
errstr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
errstr.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
errstr.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
errstr.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
errstr.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
errstr.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
errstr.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
errstr.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
errstr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
errstr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
errstr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
errstr.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
errstr.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
errstr.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
errstr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
errstr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
@@ -507,25 +509,27 @@ ocsp.o: ../include/openssl/objects.h ../include/openssl/ocsp.h
 | 
			
		||||
ocsp.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
ocsp.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
ocsp.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
ocsp.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
ocsp.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
ocsp.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
ocsp.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
ocsp.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
ocsp.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
ocsp.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h ocsp.c
 | 
			
		||||
ocsp.o: ../include/openssl/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
ocsp.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
ocsp.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
ocsp.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
ocsp.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
ocsp.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
ocsp.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
ocsp.o: ../include/openssl/x509v3.h apps.h ocsp.c
 | 
			
		||||
openssl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
openssl.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
openssl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
openssl.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
openssl.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
openssl.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
openssl.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
openssl.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
openssl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
openssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
openssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
openssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
openssl.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
openssl.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
openssl.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
openssl.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
openssl.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
openssl.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
openssl.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
openssl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
openssl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
openssl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
openssl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
openssl.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
openssl.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
openssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
openssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
@@ -621,25 +625,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
 | 
			
		||||
@@ -671,17 +674,18 @@ rsautl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
rsautl.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
rsautl.o: ../include/openssl/x509_vfy.h apps.h rsautl.c
 | 
			
		||||
s_cb.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_cb.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
s_cb.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
s_cb.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
s_cb.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
s_cb.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
s_cb.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
s_cb.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
s_cb.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
s_cb.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
s_cb.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
s_cb.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
s_cb.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
s_cb.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_cb.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
s_cb.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
s_cb.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
s_cb.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
s_cb.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
s_cb.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
s_cb.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
s_cb.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
s_cb.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
s_cb.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
s_cb.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
s_cb.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_cb.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
@@ -690,17 +694,18 @@ s_cb.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
s_cb.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
s_cb.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_cb.c
 | 
			
		||||
s_client.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_client.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
s_client.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
s_client.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
s_client.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
s_client.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
s_client.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
s_client.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
s_client.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
s_client.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
s_client.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
s_client.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
s_client.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
s_client.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_client.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
s_client.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
s_client.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
s_client.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
s_client.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
s_client.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
s_client.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
s_client.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
s_client.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
s_client.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
s_client.o: ../include/openssl/pqueue.h ../include/openssl/rand.h
 | 
			
		||||
s_client.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
s_client.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
@@ -722,28 +727,29 @@ s_server.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
s_server.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
s_server.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
s_server.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
s_server.o: ../include/openssl/pkcs7.h ../include/openssl/pqueue.h
 | 
			
		||||
s_server.o: ../include/openssl/rand.h ../include/openssl/rsa.h
 | 
			
		||||
s_server.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
s_server.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
s_server.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
s_server.o: ../include/openssl/stack.h ../include/openssl/store.h
 | 
			
		||||
s_server.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
s_server.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
s_server.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
s_server.o: s_apps.h s_server.c timeouts.h
 | 
			
		||||
s_server.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
s_server.o: ../include/openssl/pqueue.h ../include/openssl/rand.h
 | 
			
		||||
s_server.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
s_server.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_server.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
s_server.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
s_server.o: ../include/openssl/store.h ../include/openssl/symhacks.h
 | 
			
		||||
s_server.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
s_server.o: ../include/openssl/ui.h ../include/openssl/x509.h
 | 
			
		||||
s_server.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_server.c timeouts.h
 | 
			
		||||
s_socket.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_socket.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
s_socket.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
s_socket.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
s_socket.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
s_socket.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
s_socket.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
s_socket.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
s_socket.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
s_socket.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
s_socket.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
s_socket.o: ../include/openssl/pkcs7.h ../include/openssl/pqueue.h
 | 
			
		||||
s_socket.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
s_socket.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_socket.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
s_socket.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
s_socket.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
s_socket.o: ../include/openssl/engine.h ../include/openssl/evp.h
 | 
			
		||||
s_socket.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
s_socket.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
s_socket.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
s_socket.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
s_socket.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
s_socket.o: ../include/openssl/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
s_socket.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
s_socket.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
s_socket.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
@@ -752,17 +758,18 @@ s_socket.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
s_socket.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
s_socket.o: s_apps.h s_socket.c
 | 
			
		||||
s_time.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_time.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
s_time.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
s_time.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
s_time.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
s_time.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
s_time.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
s_time.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
s_time.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
s_time.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
s_time.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
s_time.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
s_time.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
s_time.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_time.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
s_time.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
s_time.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
s_time.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
s_time.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
s_time.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
s_time.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
s_time.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
s_time.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
s_time.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
s_time.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
s_time.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_time.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
@@ -771,17 +778,18 @@ s_time.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
s_time.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
s_time.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_time.c
 | 
			
		||||
sess_id.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
sess_id.o: ../include/openssl/buffer.h ../include/openssl/comp.h
 | 
			
		||||
sess_id.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
sess_id.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
 | 
			
		||||
sess_id.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
sess_id.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
sess_id.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
sess_id.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
sess_id.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
sess_id.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
sess_id.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
sess_id.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
sess_id.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
sess_id.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
sess_id.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
sess_id.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
sess_id.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
sess_id.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
sess_id.o: ../include/openssl/evp.h ../include/openssl/kssl.h
 | 
			
		||||
sess_id.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
sess_id.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
sess_id.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
sess_id.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
sess_id.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
 | 
			
		||||
sess_id.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
sess_id.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
sess_id.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								apps/apps.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								apps/apps.c
									
									
									
									
									
								
							@@ -374,10 +374,17 @@ int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
 | 
			
		||||
		/* The start of something good :-) */
 | 
			
		||||
		if (num >= arg->count)
 | 
			
		||||
			{
 | 
			
		||||
			arg->count+=20;
 | 
			
		||||
			arg->data=(char **)OPENSSL_realloc(arg->data,
 | 
			
		||||
				sizeof(char *)*arg->count);
 | 
			
		||||
			if (argc == 0) return(0);
 | 
			
		||||
			char **tmp_p;
 | 
			
		||||
			int tlen = arg->count + 20;
 | 
			
		||||
			tmp_p = (char **)OPENSSL_realloc(arg->data,
 | 
			
		||||
				sizeof(char *)*tlen);
 | 
			
		||||
			if (tmp_p == NULL)
 | 
			
		||||
				return 0;
 | 
			
		||||
			arg->data  = tmp_p;
 | 
			
		||||
			arg->count = tlen;
 | 
			
		||||
			/* initialize newly allocated data */
 | 
			
		||||
			for (i = num; i < arg->count; i++)
 | 
			
		||||
				arg->data[i] = NULL;
 | 
			
		||||
			}
 | 
			
		||||
		arg->data[num++]=p;
 | 
			
		||||
 | 
			
		||||
@@ -1604,8 +1611,9 @@ int rotate_serial(char *serialfile, char *new_suffix, char *old_suffix)
 | 
			
		||||
		{
 | 
			
		||||
		if (errno != ENOENT 
 | 
			
		||||
#ifdef ENOTDIR
 | 
			
		||||
			&& errno != ENOTDIR)
 | 
			
		||||
			&& errno != ENOTDIR
 | 
			
		||||
#endif
 | 
			
		||||
		   )
 | 
			
		||||
			goto err;
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
@@ -1893,8 +1901,9 @@ int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suf
 | 
			
		||||
		{
 | 
			
		||||
		if (errno != ENOENT 
 | 
			
		||||
#ifdef ENOTDIR
 | 
			
		||||
			&& errno != ENOTDIR)
 | 
			
		||||
			&& errno != ENOTDIR
 | 
			
		||||
#endif
 | 
			
		||||
		   )
 | 
			
		||||
			goto err;
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
@@ -1929,8 +1938,9 @@ int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suf
 | 
			
		||||
		{
 | 
			
		||||
		if (errno != ENOENT 
 | 
			
		||||
#ifdef ENOTDIR
 | 
			
		||||
			&& errno != ENOTDIR)
 | 
			
		||||
			&& errno != ENOTDIR
 | 
			
		||||
#endif
 | 
			
		||||
		   )
 | 
			
		||||
			goto err;
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
@@ -196,7 +196,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
bad:
 | 
			
		||||
		BIO_printf(bio_err,"%s [options] <infile\n",prog);
 | 
			
		||||
		BIO_printf(bio_err,"where options are\n");
 | 
			
		||||
		BIO_printf(bio_err," -inform arg   input format - one of DER TXT PEM\n");
 | 
			
		||||
		BIO_printf(bio_err," -inform arg   input format - one of DER PEM\n");
 | 
			
		||||
		BIO_printf(bio_err," -in arg       input file\n");
 | 
			
		||||
		BIO_printf(bio_err," -out arg      output file (output format is always DER\n");
 | 
			
		||||
		BIO_printf(bio_err," -noout arg    don't produce any output\n");
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								apps/ca.c
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								apps/ca.c
									
									
									
									
									
								
							@@ -105,6 +105,9 @@
 | 
			
		||||
 | 
			
		||||
#define ENV_DEFAULT_CA		"default_ca"
 | 
			
		||||
 | 
			
		||||
#define STRING_MASK	"string_mask"
 | 
			
		||||
#define UTF8_IN			"utf8"
 | 
			
		||||
 | 
			
		||||
#define ENV_DIR			"dir"
 | 
			
		||||
#define ENV_CERTS		"certs"
 | 
			
		||||
#define ENV_CRL_DIR		"crl_dir"
 | 
			
		||||
@@ -174,6 +177,7 @@ static const char *ca_usage[]={
 | 
			
		||||
" -msie_hack      - msie modifications to handle all those universal strings\n",
 | 
			
		||||
" -revoke file    - Revoke a certificate (given in file)\n",
 | 
			
		||||
" -subj arg       - Use arg instead of request's subject\n",
 | 
			
		||||
" -utf8           - input characters are UTF8 (default ASCII)\n",
 | 
			
		||||
" -multivalue-rdn - enable support for multivalued RDNs\n",
 | 
			
		||||
" -extensions ..  - Extension section (override value in config file)\n",
 | 
			
		||||
" -extfile file   - Configuration file with X509v3 extentions to add\n",
 | 
			
		||||
@@ -195,27 +199,27 @@ extern int EF_ALIGNMENT;
 | 
			
		||||
static void lookup_fail(const char *name, const char *tag);
 | 
			
		||||
static int certify(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
 | 
			
		||||
		   const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,CA_DB *db,
 | 
			
		||||
		   BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate,
 | 
			
		||||
		   BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate,
 | 
			
		||||
		   char *enddate, long days, int batch, char *ext_sect, CONF *conf,
 | 
			
		||||
		   int verbose, unsigned long certopt, unsigned long nameopt,
 | 
			
		||||
		   int default_op, int ext_copy, int selfsign);
 | 
			
		||||
static int certify_cert(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
 | 
			
		||||
			const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
 | 
			
		||||
			CA_DB *db, BIGNUM *serial, char *subj, int multirdn, int email_dn,
 | 
			
		||||
			CA_DB *db, BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn,
 | 
			
		||||
			char *startdate, char *enddate, long days, int batch,
 | 
			
		||||
			char *ext_sect, CONF *conf,int verbose, unsigned long certopt,
 | 
			
		||||
			unsigned long nameopt, int default_op, int ext_copy,
 | 
			
		||||
			ENGINE *e);
 | 
			
		||||
static int certify_spkac(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
 | 
			
		||||
			 const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
 | 
			
		||||
			 CA_DB *db, BIGNUM *serial,char *subj, int multirdn, int email_dn,
 | 
			
		||||
			 CA_DB *db, BIGNUM *serial,char *subj,unsigned long chtype, int multirdn, int email_dn,
 | 
			
		||||
			 char *startdate, char *enddate, long days, char *ext_sect,
 | 
			
		||||
			 CONF *conf, int verbose, unsigned long certopt, 
 | 
			
		||||
			 unsigned long nameopt, int default_op, int ext_copy);
 | 
			
		||||
static int fix_data(int nid, int *type);
 | 
			
		||||
static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext);
 | 
			
		||||
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
 | 
			
		||||
	STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial,char *subj, int multirdn,
 | 
			
		||||
	STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial,char *subj,unsigned long chtype, int multirdn,
 | 
			
		||||
	int email_dn, char *startdate, char *enddate, long days, int batch,
 | 
			
		||||
       	int verbose, X509_REQ *req, char *ext_sect, CONF *conf,
 | 
			
		||||
	unsigned long certopt, unsigned long nameopt, int default_op,
 | 
			
		||||
@@ -275,6 +279,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	char *extensions=NULL;
 | 
			
		||||
	char *extfile=NULL;
 | 
			
		||||
	char *subj=NULL;
 | 
			
		||||
	unsigned long chtype = MBSTRING_ASC;
 | 
			
		||||
	int multirdn = 0;
 | 
			
		||||
	char *tmp_email_dn=NULL;
 | 
			
		||||
	char *crl_ext=NULL;
 | 
			
		||||
@@ -356,6 +361,8 @@ EF_ALIGNMENT=0;
 | 
			
		||||
			subj= *(++argv);
 | 
			
		||||
			/* preserve=1; */
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-utf8") == 0)
 | 
			
		||||
			chtype = MBSTRING_UTF8;
 | 
			
		||||
		else if (strcmp(*argv,"-create_serial") == 0)
 | 
			
		||||
			create_ser = 1;
 | 
			
		||||
		else if (strcmp(*argv,"-multivalue-rdn") == 0)
 | 
			
		||||
@@ -645,6 +652,23 @@ bad:
 | 
			
		||||
		ERR_clear_error();
 | 
			
		||||
	app_RAND_load_file(randfile, bio_err, 0);
 | 
			
		||||
 | 
			
		||||
	f = NCONF_get_string(conf, section, STRING_MASK);
 | 
			
		||||
	if (!f)
 | 
			
		||||
		ERR_clear_error();
 | 
			
		||||
 | 
			
		||||
	if(f && !ASN1_STRING_set_default_mask_asc(f)) {
 | 
			
		||||
		BIO_printf(bio_err, "Invalid global string mask setting %s\n", f);
 | 
			
		||||
		goto err;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (chtype != MBSTRING_UTF8){
 | 
			
		||||
		f = NCONF_get_string(conf, section, UTF8_IN);
 | 
			
		||||
		if (!f)
 | 
			
		||||
			ERR_clear_error();
 | 
			
		||||
		else if (!strcmp(f, "yes"))
 | 
			
		||||
			chtype = MBSTRING_UTF8;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db_attr.unique_subject = 1;
 | 
			
		||||
	p = NCONF_get_string(conf, section, ENV_UNIQUE_SUBJECT);
 | 
			
		||||
	if (p)
 | 
			
		||||
@@ -1135,7 +1159,7 @@ bad:
 | 
			
		||||
			{
 | 
			
		||||
			total++;
 | 
			
		||||
			j=certify_spkac(&x,spkac_file,pkey,x509,dgst,attribs,db,
 | 
			
		||||
				serial,subj,multirdn,email_dn,startdate,enddate,days,extensions,
 | 
			
		||||
				serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,extensions,
 | 
			
		||||
				conf,verbose,certopt,nameopt,default_op,ext_copy);
 | 
			
		||||
			if (j < 0) goto err;
 | 
			
		||||
			if (j > 0)
 | 
			
		||||
@@ -1159,7 +1183,7 @@ bad:
 | 
			
		||||
			{
 | 
			
		||||
			total++;
 | 
			
		||||
			j=certify_cert(&x,ss_cert_file,pkey,x509,dgst,attribs,
 | 
			
		||||
				db,serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
 | 
			
		||||
				db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
 | 
			
		||||
				extensions,conf,verbose, certopt, nameopt,
 | 
			
		||||
				default_op, ext_copy, e);
 | 
			
		||||
			if (j < 0) goto err;
 | 
			
		||||
@@ -1179,7 +1203,7 @@ bad:
 | 
			
		||||
			{
 | 
			
		||||
			total++;
 | 
			
		||||
			j=certify(&x,infile,pkey,x509p,dgst,attribs,db,
 | 
			
		||||
				serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
 | 
			
		||||
				serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
 | 
			
		||||
				extensions,conf,verbose, certopt, nameopt,
 | 
			
		||||
				default_op, ext_copy, selfsign);
 | 
			
		||||
			if (j < 0) goto err;
 | 
			
		||||
@@ -1199,7 +1223,7 @@ bad:
 | 
			
		||||
			{
 | 
			
		||||
			total++;
 | 
			
		||||
			j=certify(&x,argv[i],pkey,x509p,dgst,attribs,db,
 | 
			
		||||
				serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
 | 
			
		||||
				serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
 | 
			
		||||
				extensions,conf,verbose, certopt, nameopt,
 | 
			
		||||
				default_op, ext_copy, selfsign);
 | 
			
		||||
			if (j < 0) goto err;
 | 
			
		||||
@@ -1509,7 +1533,7 @@ static void lookup_fail(const char *name, const char *tag)
 | 
			
		||||
 | 
			
		||||
static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
 | 
			
		||||
	     const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
 | 
			
		||||
	     BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
 | 
			
		||||
	     BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
 | 
			
		||||
	     long days, int batch, char *ext_sect, CONF *lconf, int verbose,
 | 
			
		||||
	     unsigned long certopt, unsigned long nameopt, int default_op,
 | 
			
		||||
	     int ext_copy, int selfsign)
 | 
			
		||||
@@ -1565,7 +1589,7 @@ static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
 | 
			
		||||
	else
 | 
			
		||||
		BIO_printf(bio_err,"Signature ok\n");
 | 
			
		||||
 | 
			
		||||
	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj, multirdn, email_dn,
 | 
			
		||||
	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn, email_dn,
 | 
			
		||||
		startdate,enddate,days,batch,verbose,req,ext_sect,lconf,
 | 
			
		||||
		certopt, nameopt, default_op, ext_copy, selfsign);
 | 
			
		||||
 | 
			
		||||
@@ -1577,7 +1601,7 @@ err:
 | 
			
		||||
 | 
			
		||||
static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
 | 
			
		||||
	     const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
 | 
			
		||||
	     BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
 | 
			
		||||
	     BIGNUM *serial, char *subj, unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
 | 
			
		||||
	     long days, int batch, char *ext_sect, CONF *lconf, int verbose,
 | 
			
		||||
	     unsigned long certopt, unsigned long nameopt, int default_op,
 | 
			
		||||
	     int ext_copy, ENGINE *e)
 | 
			
		||||
@@ -1619,7 +1643,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
 | 
			
		||||
	if ((rreq=X509_to_X509_REQ(req,NULL,EVP_md5())) == NULL)
 | 
			
		||||
		goto err;
 | 
			
		||||
 | 
			
		||||
	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,multirdn,email_dn,startdate,enddate,
 | 
			
		||||
	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,
 | 
			
		||||
		days,batch,verbose,rreq,ext_sect,lconf, certopt, nameopt, default_op,
 | 
			
		||||
		ext_copy, 0);
 | 
			
		||||
 | 
			
		||||
@@ -1631,7 +1655,7 @@ err:
 | 
			
		||||
 | 
			
		||||
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
 | 
			
		||||
	     STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial, char *subj,
 | 
			
		||||
	     int multirdn,
 | 
			
		||||
	     unsigned long chtype, int multirdn,
 | 
			
		||||
	     int email_dn, char *startdate, char *enddate, long days, int batch,
 | 
			
		||||
	     int verbose, X509_REQ *req, char *ext_sect, CONF *lconf,
 | 
			
		||||
	     unsigned long certopt, unsigned long nameopt, int default_op,
 | 
			
		||||
@@ -1664,7 +1688,7 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
 | 
			
		||||
 | 
			
		||||
	if (subj)
 | 
			
		||||
		{
 | 
			
		||||
		X509_NAME *n = parse_name(subj, MBSTRING_ASC, multirdn);
 | 
			
		||||
		X509_NAME *n = parse_name(subj, chtype, multirdn);
 | 
			
		||||
 | 
			
		||||
		if (!n)
 | 
			
		||||
			{
 | 
			
		||||
@@ -2201,7 +2225,7 @@ static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext)
 | 
			
		||||
 | 
			
		||||
static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
 | 
			
		||||
	     const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
 | 
			
		||||
	     BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
 | 
			
		||||
	     BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
 | 
			
		||||
	     long days, char *ext_sect, CONF *lconf, int verbose, unsigned long certopt,
 | 
			
		||||
	     unsigned long nameopt, int default_op, int ext_copy)
 | 
			
		||||
	{
 | 
			
		||||
@@ -2342,7 +2366,7 @@ static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
 | 
			
		||||
 | 
			
		||||
	X509_REQ_set_pubkey(req,pktmp);
 | 
			
		||||
	EVP_PKEY_free(pktmp);
 | 
			
		||||
	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,multirdn,email_dn,startdate,enddate,
 | 
			
		||||
	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,
 | 
			
		||||
		   days,1,verbose,req,ext_sect,lconf, certopt, nameopt, default_op,
 | 
			
		||||
			ext_copy, 0);
 | 
			
		||||
err:
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#ifndef OPENSSL_NO_EC
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,8 @@
 | 
			
		||||
 * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#ifndef OPENSSL_NO_EC
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -474,7 +474,8 @@ static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
 | 
			
		||||
	if ((strlen(passwd) > pw_maxlen))
 | 
			
		||||
		{
 | 
			
		||||
		if (!quiet)
 | 
			
		||||
			BIO_printf(bio_err, "Warning: truncating password to %u characters\n", pw_maxlen);
 | 
			
		||||
			/* XXX: really we should know how to print a size_t, not cast it */
 | 
			
		||||
			BIO_printf(bio_err, "Warning: truncating password to %u characters\n", (unsigned)pw_maxlen);
 | 
			
		||||
		passwd[pw_maxlen] = 0;
 | 
			
		||||
		}
 | 
			
		||||
	assert(strlen(passwd) <= pw_maxlen);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,4 @@
 | 
			
		||||
/* pkcs12.c */
 | 
			
		||||
#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
 | 
			
		||||
 | 
			
		||||
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
 | 
			
		||||
 * project.
 | 
			
		||||
 */
 | 
			
		||||
@@ -58,6 +56,9 @@
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -263,6 +263,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int starttls_proto = 0;
 | 
			
		||||
	int prexit = 0, vflags = 0;
 | 
			
		||||
	SSL_METHOD *meth=NULL;
 | 
			
		||||
#ifdef sock_type
 | 
			
		||||
#undef sock_type
 | 
			
		||||
#endif
 | 
			
		||||
	int sock_type=SOCK_STREAM;
 | 
			
		||||
	BIO *sbio;
 | 
			
		||||
	char *inrand=NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -262,6 +262,9 @@ static char *engine_id=NULL;
 | 
			
		||||
static const char *session_id_prefix=NULL;
 | 
			
		||||
 | 
			
		||||
static int enable_timeouts = 0;
 | 
			
		||||
#ifdef mtu
 | 
			
		||||
#undef mtu
 | 
			
		||||
#endif
 | 
			
		||||
static long mtu;
 | 
			
		||||
static int cert_chain = 0;
 | 
			
		||||
 | 
			
		||||
@@ -534,6 +537,9 @@ int MAIN(int argc, char *argv[])
 | 
			
		||||
	int no_tmp_rsa=0,no_dhe=0,no_ecdhe=0,nocert=0;
 | 
			
		||||
	int state=0;
 | 
			
		||||
	SSL_METHOD *meth=NULL;
 | 
			
		||||
#ifdef sock_type
 | 
			
		||||
#undef sock_type
 | 
			
		||||
#endif
 | 
			
		||||
    int sock_type=SOCK_STREAM;
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
	ENGINE *e=NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -87,8 +87,12 @@ typedef unsigned int u_int;
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_SOCK
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_BSDSOCK)
 | 
			
		||||
#include "netdb.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static struct hostent *GetHostByName(char *name);
 | 
			
		||||
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
 | 
			
		||||
static void ssl_sock_cleanup(void);
 | 
			
		||||
#endif
 | 
			
		||||
static int ssl_sock_init(void);
 | 
			
		||||
@@ -104,7 +108,7 @@ static int host_ip(char *str, unsigned char ip[4]);
 | 
			
		||||
#define SOCKET_PROTOCOL	IPPROTO_TCP
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_SYS_NETWARE
 | 
			
		||||
#if defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
 | 
			
		||||
static int wsa_init_done=0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -156,7 +160,7 @@ static void ssl_sock_cleanup(void)
 | 
			
		||||
		WSACleanup();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
#elif defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
 | 
			
		||||
static void sock_cleanup(void)
 | 
			
		||||
    {
 | 
			
		||||
    if (wsa_init_done)
 | 
			
		||||
@@ -199,7 +203,7 @@ static int ssl_sock_init(void)
 | 
			
		||||
		SetWindowLong(topWnd,GWL_WNDPROC,(LONG)lpTopHookProc);
 | 
			
		||||
#endif /* OPENSSL_SYS_WIN16 */
 | 
			
		||||
		}
 | 
			
		||||
#elif defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
 | 
			
		||||
   WORD wVerReq;
 | 
			
		||||
   WSADATA wsaData;
 | 
			
		||||
   int err;
 | 
			
		||||
@@ -398,7 +402,7 @@ redoit:
 | 
			
		||||
	ret=accept(acc_sock,(struct sockaddr *)&from,(void *)&len);
 | 
			
		||||
	if (ret == INVALID_SOCKET)
 | 
			
		||||
		{
 | 
			
		||||
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
 | 
			
		||||
		i=WSAGetLastError();
 | 
			
		||||
		BIO_printf(bio_err,"accept error %d\n",i);
 | 
			
		||||
#else
 | 
			
		||||
 
 | 
			
		||||
@@ -527,6 +527,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	static const unsigned char key16[16]=
 | 
			
		||||
		{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
 | 
			
		||||
		 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12};
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
	static const unsigned char key24[24]=
 | 
			
		||||
		{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
 | 
			
		||||
		 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
 | 
			
		||||
@@ -536,6 +537,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
 | 
			
		||||
		 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,
 | 
			
		||||
		 0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
#define MAX_BLOCK_SIZE 128
 | 
			
		||||
#else
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								certs/argena.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								certs/argena.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIG0zCCBbugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBzDELMAkGA1UEBhMCQVQx
 | 
			
		||||
EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTE6MDgGA1UEChMxQVJH
 | 
			
		||||
RSBEQVRFTiAtIEF1c3RyaWFuIFNvY2lldHkgZm9yIERhdGEgUHJvdGVjdGlvbjEl
 | 
			
		||||
MCMGA1UECxMcQS1DRVJUIENlcnRpZmljYXRpb24gU2VydmljZTEYMBYGA1UEAxMP
 | 
			
		||||
QS1DRVJUIEFEVkFOQ0VEMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGEtY2VydC5hdDAe
 | 
			
		||||
Fw0wNDEwMjMxNDE0MTRaFw0xMTEwMjMxNDE0MTRaMIHMMQswCQYDVQQGEwJBVDEQ
 | 
			
		||||
MA4GA1UECBMHQXVzdHJpYTEPMA0GA1UEBxMGVmllbm5hMTowOAYDVQQKEzFBUkdF
 | 
			
		||||
IERBVEVOIC0gQXVzdHJpYW4gU29jaWV0eSBmb3IgRGF0YSBQcm90ZWN0aW9uMSUw
 | 
			
		||||
IwYDVQQLExxBLUNFUlQgQ2VydGlmaWNhdGlvbiBTZXJ2aWNlMRgwFgYDVQQDEw9B
 | 
			
		||||
LUNFUlQgQURWQU5DRUQxHTAbBgkqhkiG9w0BCQEWDmluZm9AYS1jZXJ0LmF0MIIB
 | 
			
		||||
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3euXIy+mnf6BYKbK+QH5k679
 | 
			
		||||
tUFqeT8jlZxMew8eNiHuw9KoxWBzL6KksK+5uK7Gatw+sbAYntEGE80P+Jg1hADM
 | 
			
		||||
e+Fr5V0bc6QS3gkVtfUCW/RIvfMM39oxvmqJmOgPnJU7H6+nmLtsq61tv9kVJi/2
 | 
			
		||||
4Y5wXW3odet72sF57EoG6s78w0BUVLNcMngS9bZZzmdG3/d6JbkGgoNF/8DcgCBJ
 | 
			
		||||
W/t0JrcIzyppXIOVtUzzOrrU86zuUgT3Rtkl5kjG7DEHpFb9H0fTOY1v8+gRoaO6
 | 
			
		||||
2gA0PCiysgVZjwgVeYe3KAg11nznyleDv198uK3Dc1oXIGYjJx2FpKWUvAuAEwID
 | 
			
		||||
AQABo4ICvDCCArgwHQYDVR0OBBYEFDd/Pj6ZcWDKJNSRE3nQdCm0qCTYMIH5BgNV
 | 
			
		||||
HSMEgfEwge6AFDd/Pj6ZcWDKJNSRE3nQdCm0qCTYoYHSpIHPMIHMMQswCQYDVQQG
 | 
			
		||||
EwJBVDEQMA4GA1UECBMHQXVzdHJpYTEPMA0GA1UEBxMGVmllbm5hMTowOAYDVQQK
 | 
			
		||||
EzFBUkdFIERBVEVOIC0gQXVzdHJpYW4gU29jaWV0eSBmb3IgRGF0YSBQcm90ZWN0
 | 
			
		||||
aW9uMSUwIwYDVQQLExxBLUNFUlQgQ2VydGlmaWNhdGlvbiBTZXJ2aWNlMRgwFgYD
 | 
			
		||||
VQQDEw9BLUNFUlQgQURWQU5DRUQxHTAbBgkqhkiG9w0BCQEWDmluZm9AYS1jZXJ0
 | 
			
		||||
LmF0ggEAMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMEcGA1UdJQRAMD4G
 | 
			
		||||
CCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcD
 | 
			
		||||
CAYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAP8wUQYDVR0gBEowSDBGBggq
 | 
			
		||||
KAAYAQEBAzA6MDgGCCsGAQUFBwIBFixodHRwOi8vd3d3LmEtY2VydC5hdC9jZXJ0
 | 
			
		||||
aWZpY2F0ZS1wb2xpY3kuaHRtbDA7BglghkgBhvhCAQgELhYsaHR0cDovL3d3dy5h
 | 
			
		||||
LWNlcnQuYXQvY2VydGlmaWNhdGUtcG9saWN5Lmh0bWwwGQYDVR0RBBIwEIEOaW5m
 | 
			
		||||
b0BhLWNlcnQuYXQwLwYDVR0SBCgwJoEOaW5mb0BhLWNlcnQuYXSGFGh0dHA6Ly93
 | 
			
		||||
d3cuYS1jZXJ0LmF0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHBzOi8vc2VjdXJlLmEt
 | 
			
		||||
Y2VydC5hdC9jZ2ktYmluL2EtY2VydC1hZHZhbmNlZC5jZ2kwDQYJKoZIhvcNAQEF
 | 
			
		||||
BQADggEBACX1IvgfdG2rvfv35O48vSEvcVaEdlN8USFBHWz3JRAozgzvaBtwHkjK
 | 
			
		||||
Zwt5l/BWOtjbvHfRjDt7ijlBEcxOOrNC1ffyMHwHrXpvff6YpQ5wnxmIYEQcURiG
 | 
			
		||||
HMqruEX0WkuDNgSKwefsgXs27eeBauHgNGVcTYH1rmHu/ZyLpLxOyJQ2PCzA1DzW
 | 
			
		||||
3rWkIX92ogJ7lTRdWrbxwUL1XGinxnnaQ74+/y0pI9JNEv7ic2tpkweRMpkedaLW
 | 
			
		||||
msC1+orfKTebsg69aMaCx7o6jNONRmR/7TVaPf8/k6g52cHZ9YWjQvup22b5rWxG
 | 
			
		||||
J5r5LZ4vCPmF4+T4lutjUYAa/lGuQTg=
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										23
									
								
								certs/argeng.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								certs/argeng.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIDwzCCAyygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCQVQx
 | 
			
		||||
EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAGA1UEChM5QXJn
 | 
			
		||||
ZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBmdWVyIERhdGVu
 | 
			
		||||
c2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVuLmF0MB4XDTAx
 | 
			
		||||
MDIxMjExMzAzMFoXDTA5MDIxMjExMzAzMFowgZgxCzAJBgNVBAYTAkFUMRAwDgYD
 | 
			
		||||
VQQIEwdBdXN0cmlhMQ8wDQYDVQQHEwZWaWVubmExQjBABgNVBAoTOUFyZ2UgRGF0
 | 
			
		||||
ZW4gT2VzdGVycmVpY2hpc2NoZSBHZXNlbGxzY2hhZnQgZnVlciBEYXRlbnNjaHV0
 | 
			
		||||
ejEiMCAGCSqGSIb3DQEJARYTYS1jZXJ0QGFyZ2VkYXRlbi5hdDCBnzANBgkqhkiG
 | 
			
		||||
9w0BAQEFAAOBjQAwgYkCgYEAwgsHqoNtmmrJ86+e1I4hOVBaL4kokqKN2IPOIL+1
 | 
			
		||||
XwY8vfOOUfPEdhWpaC0ldt7VYrksgDiUccgH0FROANWK2GkfKMDzjjXHysR04uEb
 | 
			
		||||
Om7Kqjqn0nproOGkFG+QvBZgs+Ws+HXNFJA6V76fU4+JXq4452LSK4Lr5YcBquu3
 | 
			
		||||
NJECAwEAAaOCARkwggEVMB0GA1UdDgQWBBQ0j59zH/G31zRjgK1y2P//tSAWZjCB
 | 
			
		||||
xQYDVR0jBIG9MIG6gBQ0j59zH/G31zRjgK1y2P//tSAWZqGBnqSBmzCBmDELMAkG
 | 
			
		||||
A1UEBhMCQVQxEDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAG
 | 
			
		||||
A1UEChM5QXJnZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBm
 | 
			
		||||
dWVyIERhdGVuc2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVu
 | 
			
		||||
LmF0ggEAMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQE
 | 
			
		||||
AwICBDANBgkqhkiG9w0BAQQFAAOBgQBFuJYncqMYB6gXQS3eDOI90BEHfFTKy/dV
 | 
			
		||||
AV+K7QdAYikWmqgBheRdPKddJdccPy/Zl/p3ZT7GhDyC5f3wZjcuu8AJ27BNwbCA
 | 
			
		||||
x54dgxgCNcyPm79nY8MRtEdEpoRGdSsFKJemz6hpXM++MWFciyrRWIIA44XB0Gv3
 | 
			
		||||
US0spjsDPQ==
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										27
									
								
								config
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								config
									
									
									
									
									
								
							@@ -84,7 +84,7 @@ if [ "x$XREL" != "x" ]; then
 | 
			
		||||
	    4.2)
 | 
			
		||||
		echo "whatever-whatever-unixware1"; exit 0
 | 
			
		||||
		;;
 | 
			
		||||
	    5)
 | 
			
		||||
	    5*)
 | 
			
		||||
		case "x${VERSION}" in
 | 
			
		||||
		    # We hardcode i586 in place of ${MACHINE} for the
 | 
			
		||||
		    # following reason. The catch is that even though Pentium
 | 
			
		||||
@@ -93,8 +93,7 @@ if [ "x$XREL" != "x" ]; then
 | 
			
		||||
		    # with i386 is that it makes ./config pass 386 to
 | 
			
		||||
		    # ./Configure, which in turn makes make generate
 | 
			
		||||
		    # inefficient SHA-1 (for this moment) code.
 | 
			
		||||
		    x7*)  echo "i586-sco-unixware7";           exit 0 ;;
 | 
			
		||||
		    x8*)  echo "i586-unkn-OpenUNIX${VERSION}"; exit 0 ;;
 | 
			
		||||
		    x[678]*)  echo "i586-sco-unixware7"; exit 0 ;;
 | 
			
		||||
		esac
 | 
			
		||||
		;;
 | 
			
		||||
	esac
 | 
			
		||||
@@ -654,13 +653,20 @@ case "$GUESSOS" in
 | 
			
		||||
	;;
 | 
			
		||||
  *-*-sunos4)		OUT="sunos-$CC" ;;
 | 
			
		||||
 | 
			
		||||
  *86*-*-bsdi4)		OUT="bsdi-elf-gcc"; options="$options no-sse2" ;;
 | 
			
		||||
  *86*-*-bsdi4)		OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
 | 
			
		||||
  alpha*-*-*bsd*)	OUT="BSD-generic64; options="$options -DL_ENDIAN" ;;
 | 
			
		||||
  powerpc64-*-*bsd*)	OUT="BSD-generic64; options="$options -DB_ENDIAN" ;;
 | 
			
		||||
  sparc64-*-*bsd*)	OUT="BSD-sparc64" ;;
 | 
			
		||||
  ia64-*-*bsd*)		OUT="BSD-ia64" ;;
 | 
			
		||||
  amd64-*-*bsd*)	OUT="BSD-x86_64" ;;
 | 
			
		||||
  *86*-*-*bsd*)		case "`(file -L /usr/lib/libc.so.*) 2>/dev/null`" in
 | 
			
		||||
  *86*-*-*bsd*)		# mimic ld behaviour when it's looking for libc...
 | 
			
		||||
			if [ -L /usr/lib/libc.so ]; then	# [Free|Net]BSD
 | 
			
		||||
			    libc=/usr/lib/libc.so
 | 
			
		||||
			else					# OpenBSD
 | 
			
		||||
			    # ld searches for highest libc.so.* and so do we
 | 
			
		||||
			    libc=`(ls /usr/lib/libc.so.* | tail -1) 2>/dev/null`
 | 
			
		||||
			fi
 | 
			
		||||
			case "`(file -L $libc) 2>/dev/null`" in
 | 
			
		||||
			*ELF*)	OUT="BSD-x86-elf" ;;
 | 
			
		||||
			*)	OUT="BSD-x86"; options="$options no-sse2" ;;
 | 
			
		||||
			esac ;;
 | 
			
		||||
@@ -668,16 +674,15 @@ case "$GUESSOS" in
 | 
			
		||||
 | 
			
		||||
  *-*-osf)		OUT="osf1-alpha-cc" ;;
 | 
			
		||||
  *-*-tru64)		OUT="tru64-alpha-cc" ;;
 | 
			
		||||
  *-*-OpenUNIX*)
 | 
			
		||||
  *-*-[Uu]nix[Ww]are7)
 | 
			
		||||
	if [ "$CC" = "gcc" ]; then
 | 
			
		||||
	  OUT="OpenUNIX-8-gcc" 
 | 
			
		||||
	  OUT="unixware-7-gcc" ; options="$options no-sse2"
 | 
			
		||||
	else    
 | 
			
		||||
	  OUT="OpenUNIX-8" 
 | 
			
		||||
	  OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  *-*-[Uu]nix[Ww]are7) OUT="unixware-7" ;;
 | 
			
		||||
  *-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0" ;;
 | 
			
		||||
  *-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1" ;;
 | 
			
		||||
  *-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0"; options="$options no-sse2 no-sha512" ;;
 | 
			
		||||
  *-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1"; options="$options no-sse2 no-sha512" ;;
 | 
			
		||||
  *-*-vos)
 | 
			
		||||
	options="$options no-threads no-shared no-asm no-dso"
 | 
			
		||||
	EXE=".pm"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										111
									
								
								crypto/Makefile
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								crypto/Makefile
									
									
									
									
									
								
							@@ -15,6 +15,11 @@ MAKEFILE=       Makefile
 | 
			
		||||
RM=             rm -f
 | 
			
		||||
AR=		ar r
 | 
			
		||||
 | 
			
		||||
RECURSIVE_MAKE=	[ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \
 | 
			
		||||
		    (cd $$i && echo "making $$target in $(DIR)/$$i..." && \
 | 
			
		||||
		    $(MAKE) -e TOP=../.. DIR=$$i INCLUDES='${INCLUDES}' $$target ) || exit 1; \
 | 
			
		||||
		done;
 | 
			
		||||
 | 
			
		||||
PEX_LIBS=
 | 
			
		||||
EX_LIBS=
 | 
			
		||||
 
 | 
			
		||||
@@ -24,14 +29,6 @@ AFLAGS=$(ASFLAGS)
 | 
			
		||||
 | 
			
		||||
LIBS=
 | 
			
		||||
 | 
			
		||||
SDIRS=	objects \
 | 
			
		||||
	md2 md4 md5 sha mdc2 hmac ripemd \
 | 
			
		||||
	des rc2 rc4 rc5 idea bf cast \
 | 
			
		||||
	bn ec rsa dsa ecdsa ecdh dh dso engine aes \
 | 
			
		||||
	buffer bio stack lhash rand err \
 | 
			
		||||
	evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
 | 
			
		||||
	store pqueue
 | 
			
		||||
 | 
			
		||||
GENERAL=Makefile README crypto-lib.com install.com
 | 
			
		||||
 | 
			
		||||
LIB= $(TOP)/libcrypto.a
 | 
			
		||||
@@ -52,30 +49,6 @@ top:
 | 
			
		||||
 | 
			
		||||
all: shared
 | 
			
		||||
 | 
			
		||||
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'		\
 | 
			
		||||
		INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}'	\
 | 
			
		||||
		MAKEDEPEND='$$(TOP)/util/domd $$(TOP) -MD $(MAKEDEPPROG)'\
 | 
			
		||||
		DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}'	\
 | 
			
		||||
		MAKEDEPPROG='${MAKEDEPPROG}'			\
 | 
			
		||||
		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}'	\
 | 
			
		||||
		PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}'	\
 | 
			
		||||
		CPUID_OBJ='${CPUID_OBJ}'			\
 | 
			
		||||
		BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' 	\
 | 
			
		||||
		AES_ASM_OBJ='${AES_ASM_OBJ}'			\
 | 
			
		||||
		BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}'	\
 | 
			
		||||
		RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}'	\
 | 
			
		||||
		SHA1_ASM_OBJ='${SHA1_ASM_OBJ}'			\
 | 
			
		||||
		MD5_ASM_OBJ='${MD5_ASM_OBJ}'			\
 | 
			
		||||
		RMD160_ASM_OBJ='${RMD160_ASM_OBJ}'		\
 | 
			
		||||
		THIS=$${THIS:-$@}
 | 
			
		||||
 | 
			
		||||
buildinf.h: ../Makefile
 | 
			
		||||
	( echo "#ifndef MK1MF_BUILD"; \
 | 
			
		||||
	echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
 | 
			
		||||
@@ -103,34 +76,23 @@ ia64cpuid.s: ia64cpuid.S
 | 
			
		||||
	$(CC) $(CFLAGS) -E ia64cpuid.S > $@
 | 
			
		||||
 | 
			
		||||
testapps:
 | 
			
		||||
	[ -z "$(THIS)" ] || ( if echo ${SDIRS} | fgrep ' des '; \
 | 
			
		||||
	then cd des && $(MAKE) des; fi )
 | 
			
		||||
	[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) testapps );
 | 
			
		||||
	[ -z "$(THIS)" ] || (	if echo ${SDIRS} | fgrep ' des '; \
 | 
			
		||||
				then cd des && $(MAKE) -e des; fi )
 | 
			
		||||
	[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) -e testapps );
 | 
			
		||||
	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 | 
			
		||||
 | 
			
		||||
subdirs:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making all in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) $(BUILDENV) INCLUDES='${INCLUDES}' all ) || exit 1; \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=all; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making 'files' in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) files ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=files; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
 | 
			
		||||
	@for i in $(SDIRS); do \
 | 
			
		||||
	    (cd $$i && echo "making links in crypto/$$i..." && \
 | 
			
		||||
	    $(MAKE) links ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=links; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
@@ -143,19 +105,7 @@ shared: buildinf.h lib subdirs
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
libs:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making libs in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) lib );
 | 
			
		||||
	done;
 | 
			
		||||
 | 
			
		||||
tests:
 | 
			
		||||
	@[ -z "$(THIS)" ] || (for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making tests in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) tests ); \
 | 
			
		||||
	done; )
 | 
			
		||||
	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 | 
			
		||||
	@target=lib; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
 | 
			
		||||
@@ -164,47 +114,26 @@ install:
 | 
			
		||||
	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making install in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) install ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=install; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
lint:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making lint in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) lint ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=lint; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
 | 
			
		||||
	[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
 | 
			
		||||
	[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
 | 
			
		||||
	@[ -z "$(THIS)" ] || (set -e; \
 | 
			
		||||
	for i in $(SDIRS) ; do \
 | 
			
		||||
	    (	cd $$i && echo "making depend in crypto/$$i..." && \
 | 
			
		||||
		$(MAKE) INCLUDES='${INCLUDES}' depend \
 | 
			
		||||
	    ); \
 | 
			
		||||
	done; )
 | 
			
		||||
	@[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
 | 
			
		||||
	@[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
 | 
			
		||||
	@[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
 | 
			
		||||
	@[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
 | 
			
		||||
	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making clean in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) clean ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=clean; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
dclean:
 | 
			
		||||
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
 | 
			
		||||
	mv -f Makefile.new $(MAKEFILE)
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making dclean in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) dclean ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=dclean; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,9 @@
 | 
			
		||||
#define USE_SOCKETS
 | 
			
		||||
#include "cryptlib.h"
 | 
			
		||||
#include <openssl/bio.h>
 | 
			
		||||
#if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_BSDSOCK)
 | 
			
		||||
#include "netdb.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_SOCK
 | 
			
		||||
 | 
			
		||||
@@ -79,7 +82,7 @@
 | 
			
		||||
#define MAX_LISTEN  32
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
 | 
			
		||||
static int wsa_init_done=0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -474,7 +477,7 @@ int BIO_sock_init(void)
 | 
			
		||||
		return (-1);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#if defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
 | 
			
		||||
    WORD wVerReq;
 | 
			
		||||
    WSADATA wsaData;
 | 
			
		||||
    int err;
 | 
			
		||||
@@ -512,7 +515,7 @@ void BIO_sock_cleanup(void)
 | 
			
		||||
#endif
 | 
			
		||||
		WSACleanup();
 | 
			
		||||
		}
 | 
			
		||||
#elif defined(OPENSSL_SYS_NETWARE)
 | 
			
		||||
#elif defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK)
 | 
			
		||||
   if (wsa_init_done)
 | 
			
		||||
        {
 | 
			
		||||
        wsa_init_done=0;
 | 
			
		||||
 
 | 
			
		||||
@@ -65,6 +65,24 @@
 | 
			
		||||
#ifndef HEADER_BSS_FILE_C
 | 
			
		||||
#define HEADER_BSS_FILE_C
 | 
			
		||||
 | 
			
		||||
#if defined(__linux) || defined(__sun) || defined(__hpux)
 | 
			
		||||
/* Following definition aliases fopen to fopen64 on above mentioned
 | 
			
		||||
 * platforms. This makes it possible to open and sequentially access
 | 
			
		||||
 * files larger than 2GB from 32-bit application. It does not allow to
 | 
			
		||||
 * traverse them beyond 2GB with fseek/ftell, but on the other hand *no*
 | 
			
		||||
 * 32-bit platform permits that, not with fseek/ftell. Not to mention
 | 
			
		||||
 * that breaking 2GB limit for seeking would require surgery to *our*
 | 
			
		||||
 * API. But sequential access suffices for practical cases when you
 | 
			
		||||
 * can run into large files, such as fingerprinting, so we can let API
 | 
			
		||||
 * alone. For reference, the list of 32-bit platforms which allow for
 | 
			
		||||
 * sequential access of large files without extra "magic" comprise *BSD,
 | 
			
		||||
 * Darwin, IRIX...
 | 
			
		||||
 */
 | 
			
		||||
#ifndef _FILE_OFFSET_BITS
 | 
			
		||||
#define _FILE_OFFSET_BITS 64
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include "cryptlib.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -79,11 +79,15 @@ co86-out.s: asm/co-586.pl ../perlasm/x86asm.pl
 | 
			
		||||
	(cd asm; $(PERL) co-586.pl a.out $(CFLAGS) > ../$@)
 | 
			
		||||
 | 
			
		||||
sparcv8.o:	asm/sparcv8.S
 | 
			
		||||
 | 
			
		||||
	$(CC) $(CFLAGS) -c asm/sparcv8.S
 | 
			
		||||
sparcv8plus.o:	asm/sparcv8plus.S
 | 
			
		||||
	$(CC) $(CFLAGS) -c asm/sparcv8plus.S
 | 
			
		||||
 | 
			
		||||
mips3.o:	asm/mips3.s
 | 
			
		||||
bn-mips3.o:	asm/mips3.s
 | 
			
		||||
	@if [ "$(CC)" = "gcc" ]; then \
 | 
			
		||||
		ABI=`expr "$(CFLAGS)" : ".*-mabi=\([n3264]*\)"` && \
 | 
			
		||||
		as -$$ABI -O -o $@ asm/mips3.s; \
 | 
			
		||||
	else	$(CC) -c $(CFLAGS) -o $@ asm/mips3.s; fi
 | 
			
		||||
 | 
			
		||||
x86_64-gcc.o:	asm/x86_64-gcc.c
 | 
			
		||||
	$(CC) $(CFLAGS) -c -o $@ asm/x86_64-gcc.c
 | 
			
		||||
 
 | 
			
		||||
@@ -116,7 +116,7 @@ if ($opf =~ /32\.s/) {
 | 
			
		||||
	$UDIV=	"divwu";	# unsigned divide
 | 
			
		||||
	$UCMPI=	"cmplwi";	# unsigned compare with immediate
 | 
			
		||||
	$UCMP=	"cmplw";	# unsigned compare
 | 
			
		||||
	$COUNTZ="cntlzw";	# count leading zeros
 | 
			
		||||
	$CNTLZ=	"cntlzw";	# count leading zeros
 | 
			
		||||
	$SHL=	"slw";		# shift left
 | 
			
		||||
	$SHR=	"srw";		# unsigned shift right
 | 
			
		||||
	$SHRI=	"srwi";		# unsigned shift right by immediate	
 | 
			
		||||
@@ -124,6 +124,7 @@ if ($opf =~ /32\.s/) {
 | 
			
		||||
	$CLRU=	"clrlwi";	# clear upper bits
 | 
			
		||||
	$INSR=	"insrwi";	# insert right
 | 
			
		||||
	$ROTL=	"rotlwi";	# rotate left by immediate
 | 
			
		||||
	$TR=	"tw";		# conditional trap
 | 
			
		||||
} elsif ($opf =~ /64\.s/) {
 | 
			
		||||
	$BITS=	64;
 | 
			
		||||
	$BNSZ=	$BITS/8;
 | 
			
		||||
@@ -139,7 +140,7 @@ if ($opf =~ /32\.s/) {
 | 
			
		||||
	$UDIV=	"divdu";	# unsigned divide
 | 
			
		||||
	$UCMPI=	"cmpldi";	# unsigned compare with immediate
 | 
			
		||||
	$UCMP=	"cmpld";	# unsigned compare
 | 
			
		||||
	$COUNTZ="cntlzd";	# count leading zeros
 | 
			
		||||
	$CNTLZ=	"cntlzd";	# count leading zeros
 | 
			
		||||
	$SHL=	"sld";		# shift left
 | 
			
		||||
	$SHR=	"srd";		# unsigned shift right
 | 
			
		||||
	$SHRI=	"srdi";		# unsigned shift right by immediate	
 | 
			
		||||
@@ -147,6 +148,7 @@ if ($opf =~ /32\.s/) {
 | 
			
		||||
	$CLRU=	"clrldi";	# clear upper bits
 | 
			
		||||
	$INSR=	"insrdi";	# insert right 
 | 
			
		||||
	$ROTL=	"rotldi";	# rotate left by immediate
 | 
			
		||||
	$TR=	"td";		# conditional trap
 | 
			
		||||
} else { die "nonsense $opf"; }
 | 
			
		||||
 | 
			
		||||
( defined shift || open STDOUT,">$opf" ) || die "can't open $opf: $!";
 | 
			
		||||
@@ -1710,17 +1712,12 @@ Lppcasm_add_adios:
 | 
			
		||||
	bclr	BO_ALWAYS,CR0_LT	
 | 
			
		||||
Lppcasm_div1:
 | 
			
		||||
	xor	r0,r0,r0		#r0=0
 | 
			
		||||
	$COUNTZ	r7,r5			#r7 = num leading 0s in d.
 | 
			
		||||
	subfic	r8,r7,$BITS		#r8 = BN_num_bits_word(d)
 | 
			
		||||
	cmpi	0,0,r8,$BITS		#
 | 
			
		||||
	bc	BO_IF,CR0_EQ,Lppcasm_div2	#proceed if (r8==$BITS)	
 | 
			
		||||
	li	r9,1			# r9=1
 | 
			
		||||
	$SHL	r10,r9,r8		# r9<<=r8
 | 
			
		||||
	$UCMP	0,r3,r10		#	
 | 
			
		||||
	bc	BO_IF,CR0_GT,Lppcasm_div2	#or if (h > (1<<r8))
 | 
			
		||||
	$UDIV	r3,r3,r0		#if not assert(0) divide by 0!
 | 
			
		||||
					#that's how we signal overflow
 | 
			
		||||
	bclr	BO_ALWAYS,CR0_LT	#return. NEVER REACHED.
 | 
			
		||||
	li	r8,$BITS
 | 
			
		||||
	$CNTLZ.	r7,r5			#r7 = num leading 0s in d.
 | 
			
		||||
	bc	BO_IF,CR0_EQ,Lppcasm_div2	#proceed if no leading zeros
 | 
			
		||||
	subf	r8,r7,r8		#r8 = BN_num_bits_word(d)
 | 
			
		||||
	$SHR.	r9,r3,r8		#are there any bits above r8'th?
 | 
			
		||||
	$TR	16,r9,r0		#if there're, signal to dump core...
 | 
			
		||||
Lppcasm_div2:
 | 
			
		||||
	$UCMP	0,r3,r5			#h>=d?
 | 
			
		||||
	bc	BO_IF,CR0_LT,Lppcasm_div3	#goto Lppcasm_div3 if not
 | 
			
		||||
 
 | 
			
		||||
@@ -167,7 +167,7 @@ extern "C" {
 | 
			
		||||
#ifdef THIRTY_TWO_BIT
 | 
			
		||||
#ifdef BN_LLONG
 | 
			
		||||
# if defined(OPENSSL_SYS_WIN32) && !defined(__GNUC__)
 | 
			
		||||
#  define BN_ULLONG	unsigned _int64
 | 
			
		||||
#  define BN_ULLONG	unsigned __int64
 | 
			
		||||
# else
 | 
			
		||||
#  define BN_ULLONG	unsigned long long
 | 
			
		||||
# endif
 | 
			
		||||
 
 | 
			
		||||
@@ -237,7 +237,7 @@ BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d)
 | 
			
		||||
	if (d == 0) return(BN_MASK2);
 | 
			
		||||
 | 
			
		||||
	i=BN_num_bits_word(d);
 | 
			
		||||
	assert((i == BN_BITS2) || (h > (BN_ULONG)1<<i));
 | 
			
		||||
	assert((i == BN_BITS2) || (h <= (BN_ULONG)1<<i));
 | 
			
		||||
 | 
			
		||||
	i=BN_BITS2-i;
 | 
			
		||||
	if (h >= d) h-=d;
 | 
			
		||||
 
 | 
			
		||||
@@ -172,6 +172,7 @@ const BIGNUM *BN_get0_nist_prime_521(void)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* some misc internal functions */
 | 
			
		||||
#if BN_BITS2 != 64
 | 
			
		||||
static BN_ULONG _256_data[BN_NIST_256_TOP*6];
 | 
			
		||||
static int _is_set_256_data = 0;
 | 
			
		||||
static void _init_256_data(void);
 | 
			
		||||
@@ -179,6 +180,7 @@ static void _init_256_data(void);
 | 
			
		||||
static BN_ULONG _384_data[BN_NIST_384_TOP*8];
 | 
			
		||||
static int _is_set_384_data = 0;
 | 
			
		||||
static void _init_384_data(void);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define BN_NIST_ADD_ONE(a)	while (!(++(*(a)))) ++(a);
 | 
			
		||||
 | 
			
		||||
@@ -405,6 +407,7 @@ int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#if BN_BITS2 != 64
 | 
			
		||||
static void _init_256_data(void)
 | 
			
		||||
	{
 | 
			
		||||
	int	i;
 | 
			
		||||
@@ -422,6 +425,7 @@ static void _init_256_data(void)
 | 
			
		||||
		}
 | 
			
		||||
	_is_set_256_data = 1;
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define nist_set_256(to, from, a1, a2, a3, a4, a5, a6, a7, a8) \
 | 
			
		||||
	{ \
 | 
			
		||||
@@ -555,6 +559,7 @@ int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#if BN_BITS2 != 64
 | 
			
		||||
static void _init_384_data(void)
 | 
			
		||||
	{
 | 
			
		||||
	int	i;
 | 
			
		||||
@@ -572,6 +577,7 @@ static void _init_384_data(void)
 | 
			
		||||
		}
 | 
			
		||||
	_is_set_384_data = 1;
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define nist_set_384(to,from,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
 | 
			
		||||
	{ \
 | 
			
		||||
 
 | 
			
		||||
@@ -73,7 +73,9 @@ static COMP_METHOD zlib_stateful_method={
 | 
			
		||||
# include <windows.h>
 | 
			
		||||
 | 
			
		||||
# define Z_CALLCONV _stdcall
 | 
			
		||||
# define ZLIB_SHARED
 | 
			
		||||
# ifndef ZLIB_SHARED
 | 
			
		||||
#  define ZLIB_SHARED
 | 
			
		||||
# endif
 | 
			
		||||
#else
 | 
			
		||||
# define Z_CALLCONV
 | 
			
		||||
#endif /* !(OPENSSL_SYS_WINDOWS || OPENSSL_SYS_WIN32) */
 | 
			
		||||
 
 | 
			
		||||
@@ -545,7 +545,6 @@ const char *CRYPTO_get_lock_name(int type)
 | 
			
		||||
 | 
			
		||||
unsigned long  OPENSSL_ia32cap_P=0;
 | 
			
		||||
unsigned long *OPENSSL_ia32cap_loc(void) { return &OPENSSL_ia32cap_P; }
 | 
			
		||||
int OPENSSL_NONPIC_relocated=0;
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
 | 
			
		||||
#define OPENSSL_CPUID_SETUP
 | 
			
		||||
@@ -572,6 +571,7 @@ void OPENSSL_cpuid_setup(void)
 | 
			
		||||
#else
 | 
			
		||||
unsigned long *OPENSSL_ia32cap_loc(void) { return NULL; }
 | 
			
		||||
#endif
 | 
			
		||||
int OPENSSL_NONPIC_relocated = 0;
 | 
			
		||||
#if !defined(OPENSSL_CPUID_SETUP)
 | 
			
		||||
void OPENSSL_cpuid_setup(void) {}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -194,7 +194,7 @@ $ LIB_EC = "ec_lib,ecp_smpl,ecp_mont,ecp_nist,ec_cvt,ec_mult,"+ -
 | 
			
		||||
	"ec2_smpl,ec2_mult"
 | 
			
		||||
$ 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,"+ -
 | 
			
		||||
	"rsa_asn1,rsa_depr"
 | 
			
		||||
	"rsa_pss,rsa_x931,rsa_asn1,rsa_depr"
 | 
			
		||||
$ LIB_DSA = "dsa_gen,dsa_key,dsa_lib,dsa_asn1,dsa_vrf,dsa_sign,"+ -
 | 
			
		||||
	"dsa_err,dsa_ossl,dsa_depr"
 | 
			
		||||
$ LIB_ECDSA = "ecs_lib,ecs_asn1,ecs_ossl,ecs_sign,ecs_vrf,ecs_err"
 | 
			
		||||
@@ -214,6 +214,7 @@ $ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ -
 | 
			
		||||
	"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,"+ -
 | 
			
		||||
	"bss_dgram,"+ -
 | 
			
		||||
	"bf_lbuf"
 | 
			
		||||
$ LIB_STACK = "stack"
 | 
			
		||||
$ LIB_LHASH = "lhash,lh_stats"
 | 
			
		||||
 
 | 
			
		||||
@@ -171,9 +171,9 @@ typedef struct _ossl_old_des_ks_struct
 | 
			
		||||
	DES_enc_write((f),(b),(l),&(k),(iv))
 | 
			
		||||
#define des_fcrypt(b,s,r)\
 | 
			
		||||
	DES_fcrypt((b),(s),(r))
 | 
			
		||||
#if 0
 | 
			
		||||
#define des_crypt(b,s)\
 | 
			
		||||
	DES_crypt((b),(s))
 | 
			
		||||
#if 0
 | 
			
		||||
#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__)
 | 
			
		||||
#define crypt(b,s)\
 | 
			
		||||
	DES_crypt((b),(s))
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,7 @@ int main(int argc, char *argv[])
 | 
			
		||||
#else
 | 
			
		||||
#include <openssl/des.h>
 | 
			
		||||
 | 
			
		||||
#define crypt(c,s) (des_crypt((c),(s)))
 | 
			
		||||
#define crypt(c,s) (DES_crypt((c),(s)))
 | 
			
		||||
 | 
			
		||||
/* tisk tisk - the test keys don't all have odd parity :-( */
 | 
			
		||||
/* test data */
 | 
			
		||||
 
 | 
			
		||||
@@ -128,7 +128,8 @@ static int dl_load(DSO *dso)
 | 
			
		||||
		DSOerr(DSO_F_DL_LOAD,DSO_R_NO_FILENAME);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	ptr = shl_load(filename, BIND_IMMEDIATE|DYNAMIC_PATH, 0L);
 | 
			
		||||
	ptr = shl_load(filename, BIND_IMMEDIATE |
 | 
			
		||||
		(dso->flags&DSO_FLAG_NO_NAME_TRANSLATION?0:DYNAMIC_PATH), 0L);
 | 
			
		||||
	if(ptr == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_DL_LOAD,DSO_R_LOAD_FAILED);
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,25 @@ DSO_METHOD *DSO_METHOD_win32(void)
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#ifdef _WIN32_WCE
 | 
			
		||||
# if _WIN32_WCE < 300
 | 
			
		||||
static FARPROC GetProcAddressA(HMODULE hModule,LPCSTR lpProcName)
 | 
			
		||||
	{
 | 
			
		||||
	WCHAR lpProcNameW[64];
 | 
			
		||||
	int i;
 | 
			
		||||
 | 
			
		||||
	for (i=0;lpProcName[i] && i<64;i++)
 | 
			
		||||
		lpProcNameW[i] = (WCHAR)lpProcName[i];
 | 
			
		||||
	if (i==64) return NULL;
 | 
			
		||||
	lpProcNameW[i] = 0;
 | 
			
		||||
 | 
			
		||||
	return GetProcAddressW(hModule,lpProcNameW);
 | 
			
		||||
	}
 | 
			
		||||
# endif
 | 
			
		||||
# undef GetProcAddress
 | 
			
		||||
# define GetProcAddress GetProcAddressA
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Part of the hack in "win32_load" ... */
 | 
			
		||||
#define DSO_MAX_TRANSLATED_SIZE 256
 | 
			
		||||
 | 
			
		||||
@@ -127,7 +146,7 @@ static int win32_load(DSO *dso)
 | 
			
		||||
		DSOerr(DSO_F_WIN32_LOAD,DSO_R_NO_FILENAME);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	h = LoadLibrary(filename);
 | 
			
		||||
	h = LoadLibraryA(filename);
 | 
			
		||||
	if(h == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		DSOerr(DSO_F_WIN32_LOAD,DSO_R_LOAD_FAILED);
 | 
			
		||||
 
 | 
			
		||||
@@ -140,7 +140,7 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
 | 
			
		||||
		group->field_mod_func = BN_nist_mod_192;
 | 
			
		||||
	else if (BN_ucmp(BN_get0_nist_prime_224(), p) == 0)
 | 
			
		||||
		{
 | 
			
		||||
#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
 | 
			
		||||
#ifndef NO_32_BIT_TYPE
 | 
			
		||||
		group->field_mod_func = BN_nist_mod_224;
 | 
			
		||||
#else
 | 
			
		||||
		ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
 | 
			
		||||
@@ -149,7 +149,7 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
 | 
			
		||||
		}
 | 
			
		||||
	else if (BN_ucmp(BN_get0_nist_prime_256(), p) == 0)
 | 
			
		||||
		{
 | 
			
		||||
#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
 | 
			
		||||
#ifndef NO_32_BIT_TYPE
 | 
			
		||||
		group->field_mod_func = BN_nist_mod_256;
 | 
			
		||||
#else
 | 
			
		||||
		ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
 | 
			
		||||
@@ -158,7 +158,7 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
 | 
			
		||||
		}
 | 
			
		||||
	else if (BN_ucmp(BN_get0_nist_prime_384(), p) == 0)
 | 
			
		||||
		{
 | 
			
		||||
#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
 | 
			
		||||
#ifndef NO_32_BIT_TYPE
 | 
			
		||||
		group->field_mod_func = BN_nist_mod_384;
 | 
			
		||||
#else
 | 
			
		||||
		ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
 | 
			
		||||
 
 | 
			
		||||
@@ -93,7 +93,9 @@ int main(int argc, char * argv[])
 | 
			
		||||
#include <openssl/bio.h>
 | 
			
		||||
#include <openssl/evp.h>
 | 
			
		||||
#include <openssl/ecdsa.h>
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
#include <openssl/engine.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <openssl/err.h>
 | 
			
		||||
#include <openssl/rand.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -66,11 +66,14 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#include <openssl/crypto.h>
 | 
			
		||||
#include <openssl/dso.h>
 | 
			
		||||
#include <openssl/engine.h>
 | 
			
		||||
#include <openssl/evp.h>
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
#include <openssl/aes.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <openssl/rand.h>
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_HW
 | 
			
		||||
@@ -134,7 +137,9 @@ static int padlock_init(ENGINE *e);
 | 
			
		||||
static RAND_METHOD padlock_rand;
 | 
			
		||||
 | 
			
		||||
/* Cipher Stuff */
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
static int padlock_ciphers(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Engine names */
 | 
			
		||||
static const char *padlock_id = "padlock";
 | 
			
		||||
@@ -143,7 +148,9 @@ static char padlock_name[100];
 | 
			
		||||
/* Available features */
 | 
			
		||||
static int padlock_use_ace = 0;	/* Advanced Cryptography Engine */
 | 
			
		||||
static int padlock_use_rng = 0;	/* Random Number Generator */
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
static int padlock_aes_align_required = 1;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* ===== Engine "management" functions ===== */
 | 
			
		||||
 | 
			
		||||
@@ -169,8 +176,9 @@ padlock_bind_helper(ENGINE *e)
 | 
			
		||||
	    !ENGINE_set_name(e, padlock_name) ||
 | 
			
		||||
 | 
			
		||||
	    !ENGINE_set_init_function(e, padlock_init) ||
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
	    (padlock_use_ace && !ENGINE_set_ciphers (e, padlock_ciphers)) ||
 | 
			
		||||
#endif
 | 
			
		||||
	    (padlock_use_rng && !ENGINE_set_RAND (e, &padlock_rand))) {
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
@@ -228,6 +236,7 @@ IMPLEMENT_DYNAMIC_BIND_FN (padlock_bind_fn);
 | 
			
		||||
 | 
			
		||||
/* ===== Here comes the "real" engine ===== */
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
/* Some AES-related constants */
 | 
			
		||||
#define AES_BLOCK_SIZE		16
 | 
			
		||||
#define AES_KEY_SIZE_128	16
 | 
			
		||||
@@ -264,6 +273,7 @@ struct padlock_cipher_data
 | 
			
		||||
 * so we accept the penatly...
 | 
			
		||||
 */
 | 
			
		||||
static volatile struct padlock_cipher_data *padlock_saved_context;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * =======================================================
 | 
			
		||||
@@ -355,6 +365,7 @@ padlock_available(void)
 | 
			
		||||
	return padlock_use_ace + padlock_use_rng;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
/* Our own htonl()/ntohl() */
 | 
			
		||||
static inline void
 | 
			
		||||
padlock_bswapl(AES_KEY *ks)
 | 
			
		||||
@@ -367,6 +378,7 @@ padlock_bswapl(AES_KEY *ks)
 | 
			
		||||
		key++;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Force key reload from memory to the CPU microcode.
 | 
			
		||||
   Loading EFLAGS from the stack clears EFLAGS[30] 
 | 
			
		||||
@@ -377,6 +389,7 @@ padlock_reload_key(void)
 | 
			
		||||
	asm volatile ("pushfl; popfl");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
/*
 | 
			
		||||
 * This is heuristic key context tracing. At first one
 | 
			
		||||
 * believes that one should use atomic swap instructions,
 | 
			
		||||
@@ -430,6 +443,7 @@ PADLOCK_XCRYPT_ASM(padlock_xcrypt_ecb, ".byte 0xf3,0x0f,0xa7,0xc8")	/* rep xcryp
 | 
			
		||||
PADLOCK_XCRYPT_ASM(padlock_xcrypt_cbc, ".byte 0xf3,0x0f,0xa7,0xd0")	/* rep xcryptcbc */
 | 
			
		||||
PADLOCK_XCRYPT_ASM(padlock_xcrypt_cfb, ".byte 0xf3,0x0f,0xa7,0xe0")	/* rep xcryptcfb */
 | 
			
		||||
PADLOCK_XCRYPT_ASM(padlock_xcrypt_ofb, ".byte 0xf3,0x0f,0xa7,0xe8")	/* rep xcryptofb */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* The RNG call itself */
 | 
			
		||||
static inline unsigned int
 | 
			
		||||
@@ -600,6 +614,7 @@ padlock_bswapl(void *key)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* ===== AES encryption/decryption ===== */
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
 | 
			
		||||
#if defined(NID_aes_128_cfb128) && ! defined (NID_aes_128_cfb)
 | 
			
		||||
#define NID_aes_128_cfb	NID_aes_128_cfb128
 | 
			
		||||
@@ -1030,6 +1045,8 @@ padlock_aes_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif /* OPENSSL_NO_AES */
 | 
			
		||||
 | 
			
		||||
/* ===== Random Number Generator ===== */
 | 
			
		||||
/*
 | 
			
		||||
 * This code is not engaged. The reason is that it does not comply
 | 
			
		||||
 
 | 
			
		||||
@@ -313,7 +313,7 @@ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
 | 
			
		||||
			/* There will never be more than two '=' */
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if ((v == B64_EOF) || (n >= 64))
 | 
			
		||||
		if ((v == B64_EOF && (n&3) == 0) || (n >= 64))
 | 
			
		||||
			{
 | 
			
		||||
			/* This is needed to work correctly on 64 byte input
 | 
			
		||||
			 * lines.  We process the line and then need to
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,7 @@
 | 
			
		||||
 | 
			
		||||
#include "../e_os.h"
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#include <openssl/evp.h>
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
#include <openssl/engine.h>
 | 
			
		||||
@@ -395,6 +396,27 @@ int main(int argc,char **argv)
 | 
			
		||||
	if(!test_cipher(cipher,key,kn,iv,in,plaintext,pn,ciphertext,cn,encdec)
 | 
			
		||||
	   && !test_digest(cipher,plaintext,pn,ciphertext,cn))
 | 
			
		||||
	    {
 | 
			
		||||
#ifdef OPENSSL_NO_AES
 | 
			
		||||
	    if (strstr(cipher, "AES") == cipher)
 | 
			
		||||
		{
 | 
			
		||||
		fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 
 | 
			
		||||
		continue;
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef OPENSSL_NO_DES
 | 
			
		||||
	    if (strstr(cipher, "DES") == cipher)
 | 
			
		||||
		{
 | 
			
		||||
		fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 
 | 
			
		||||
		continue;
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef OPENSSL_NO_RC4
 | 
			
		||||
	    if (strstr(cipher, "RC4") == cipher)
 | 
			
		||||
		{
 | 
			
		||||
		fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 
 | 
			
		||||
		continue;
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
	    fprintf(stderr,"Can't find %s\n",cipher);
 | 
			
		||||
	    EXIT(3);
 | 
			
		||||
	    }
 | 
			
		||||
 
 | 
			
		||||
@@ -344,9 +344,11 @@
 | 
			
		||||
#elif defined(DATA_ORDER_IS_LITTLE_ENDIAN)
 | 
			
		||||
 | 
			
		||||
#if defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__)
 | 
			
		||||
  /* See comment in DATA_ORDER_IS_BIG_ENDIAN section. */
 | 
			
		||||
# define HOST_c2l(c,l)	((l)=*((const unsigned int *)(c)), (c)+=4, l)
 | 
			
		||||
# define HOST_l2c(l,c)	(*((unsigned int *)(c))=(l), (c)+=4, l)
 | 
			
		||||
# ifndef B_ENDIAN
 | 
			
		||||
   /* See comment in DATA_ORDER_IS_BIG_ENDIAN section. */
 | 
			
		||||
#  define HOST_c2l(c,l)	((l)=*((const unsigned int *)(c)), (c)+=4, l)
 | 
			
		||||
#  define HOST_l2c(l,c)	(*((unsigned int *)(c))=(l), (c)+=4, l)
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef HOST_c2l
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +69,7 @@ void md4_block_host_order (MD4_CTX *c, const void *p,size_t num);
 | 
			
		||||
void md4_block_data_order (MD4_CTX *c, const void *p,size_t num);
 | 
			
		||||
 | 
			
		||||
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
 | 
			
		||||
# if !defined(B_ENDIAN)
 | 
			
		||||
/*
 | 
			
		||||
 * *_block_host_order is expected to handle aligned data while
 | 
			
		||||
 * *_block_data_order - unaligned. As algorithm and host (x86)
 | 
			
		||||
@@ -90,7 +91,8 @@ void md4_block_data_order (MD4_CTX *c, const void *p,size_t num);
 | 
			
		||||
 *
 | 
			
		||||
 *				<appro@fy.chalmers.se>
 | 
			
		||||
 */
 | 
			
		||||
#define md4_block_data_order md4_block_host_order
 | 
			
		||||
# define md4_block_data_order md4_block_host_order
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define DATA_ORDER_IS_LITTLE_ENDIAN
 | 
			
		||||
 
 | 
			
		||||
@@ -67,7 +67,9 @@
 | 
			
		||||
 | 
			
		||||
#ifdef MD5_ASM
 | 
			
		||||
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
 | 
			
		||||
#  define md5_block_host_order md5_block_asm_host_order
 | 
			
		||||
#  if !defined(B_ENDIAN)
 | 
			
		||||
#   define md5_block_host_order md5_block_asm_host_order
 | 
			
		||||
#  endif
 | 
			
		||||
# elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC)
 | 
			
		||||
   void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,size_t num);
 | 
			
		||||
#  define HASH_BLOCK_DATA_ORDER_ALIGNED md5_block_asm_data_order_aligned
 | 
			
		||||
@@ -78,6 +80,7 @@ void md5_block_host_order (MD5_CTX *c, const void *p,size_t num);
 | 
			
		||||
void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
 | 
			
		||||
 | 
			
		||||
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
 | 
			
		||||
# if !defined(B_ENDIAN)
 | 
			
		||||
/*
 | 
			
		||||
 * *_block_host_order is expected to handle aligned data while
 | 
			
		||||
 * *_block_data_order - unaligned. As algorithm and host (x86)
 | 
			
		||||
@@ -99,7 +102,8 @@ void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
 | 
			
		||||
 *
 | 
			
		||||
 *				<appro@fy.chalmers.se>
 | 
			
		||||
 */
 | 
			
		||||
#define md5_block_data_order md5_block_host_order
 | 
			
		||||
# define md5_block_data_order md5_block_host_order
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define DATA_ORDER_IS_LITTLE_ENDIAN
 | 
			
		||||
 
 | 
			
		||||
@@ -252,8 +252,16 @@ long CRYPTO_dbg_get_options(void)
 | 
			
		||||
/* static int mem_cmp(MEM *a, MEM *b) */
 | 
			
		||||
static int mem_cmp(const void *a_void, const void *b_void)
 | 
			
		||||
	{
 | 
			
		||||
#ifdef _WIN64
 | 
			
		||||
	const char *a=(const char *)((const MEM *)a_void)->addr,
 | 
			
		||||
		   *b=(const char *)((const MEM *)b_void)->addr;
 | 
			
		||||
	if (a==b)	return 0;
 | 
			
		||||
	else if (a>b)	return 1;
 | 
			
		||||
	else		return -1;
 | 
			
		||||
#else
 | 
			
		||||
	return((const char *)((const MEM *)a_void)->addr
 | 
			
		||||
		- (const char *)((const MEM *)b_void)->addr);
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* static unsigned long mem_hash(MEM *a) */
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -94,11 +94,11 @@
 | 
			
		||||
#define OBJ_member_body		OBJ_iso,2L
 | 
			
		||||
 | 
			
		||||
#define SN_identified_organization		"identified-organization"
 | 
			
		||||
#define NID_identified_organization		662
 | 
			
		||||
#define NID_identified_organization		676
 | 
			
		||||
#define OBJ_identified_organization		OBJ_iso,3L
 | 
			
		||||
 | 
			
		||||
#define SN_certicom_arc		"certicom-arc"
 | 
			
		||||
#define NID_certicom_arc		663
 | 
			
		||||
#define NID_certicom_arc		677
 | 
			
		||||
#define OBJ_certicom_arc		OBJ_identified_organization,132L
 | 
			
		||||
 | 
			
		||||
#define SN_international_organizations		"international-organizations"
 | 
			
		||||
@@ -107,11 +107,11 @@
 | 
			
		||||
#define OBJ_international_organizations		OBJ_joint_iso_itu_t,23L
 | 
			
		||||
 | 
			
		||||
#define SN_wap		"wap"
 | 
			
		||||
#define NID_wap		664
 | 
			
		||||
#define NID_wap		678
 | 
			
		||||
#define OBJ_wap		OBJ_international_organizations,43L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg		"wap-wsg"
 | 
			
		||||
#define NID_wap_wsg		665
 | 
			
		||||
#define NID_wap_wsg		679
 | 
			
		||||
#define OBJ_wap_wsg		OBJ_wap,13L
 | 
			
		||||
 | 
			
		||||
#define SN_selected_attribute_types		"selected-attribute-types"
 | 
			
		||||
@@ -164,19 +164,19 @@
 | 
			
		||||
#define OBJ_X9_62_characteristic_two_field		OBJ_X9_62_id_fieldType,2L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_id_characteristic_two_basis		"id-characteristic-two-basis"
 | 
			
		||||
#define NID_X9_62_id_characteristic_two_basis		666
 | 
			
		||||
#define NID_X9_62_id_characteristic_two_basis		680
 | 
			
		||||
#define OBJ_X9_62_id_characteristic_two_basis		OBJ_X9_62_characteristic_two_field,3L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_onBasis		"onBasis"
 | 
			
		||||
#define NID_X9_62_onBasis		667
 | 
			
		||||
#define NID_X9_62_onBasis		681
 | 
			
		||||
#define OBJ_X9_62_onBasis		OBJ_X9_62_id_characteristic_two_basis,1L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_tpBasis		"tpBasis"
 | 
			
		||||
#define NID_X9_62_tpBasis		668
 | 
			
		||||
#define NID_X9_62_tpBasis		682
 | 
			
		||||
#define OBJ_X9_62_tpBasis		OBJ_X9_62_id_characteristic_two_basis,2L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_ppBasis		"ppBasis"
 | 
			
		||||
#define NID_X9_62_ppBasis		669
 | 
			
		||||
#define NID_X9_62_ppBasis		683
 | 
			
		||||
#define OBJ_X9_62_ppBasis		OBJ_X9_62_id_characteristic_two_basis,3L
 | 
			
		||||
 | 
			
		||||
#define OBJ_X9_62_id_publicKeyType		OBJ_ansi_X9_62,2L
 | 
			
		||||
@@ -190,83 +190,83 @@
 | 
			
		||||
#define OBJ_X9_62_c_TwoCurve		OBJ_X9_62_ellipticCurve,0L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb163v1		"c2pnb163v1"
 | 
			
		||||
#define NID_X9_62_c2pnb163v1		670
 | 
			
		||||
#define NID_X9_62_c2pnb163v1		684
 | 
			
		||||
#define OBJ_X9_62_c2pnb163v1		OBJ_X9_62_c_TwoCurve,1L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb163v2		"c2pnb163v2"
 | 
			
		||||
#define NID_X9_62_c2pnb163v2		671
 | 
			
		||||
#define NID_X9_62_c2pnb163v2		685
 | 
			
		||||
#define OBJ_X9_62_c2pnb163v2		OBJ_X9_62_c_TwoCurve,2L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb163v3		"c2pnb163v3"
 | 
			
		||||
#define NID_X9_62_c2pnb163v3		672
 | 
			
		||||
#define NID_X9_62_c2pnb163v3		686
 | 
			
		||||
#define OBJ_X9_62_c2pnb163v3		OBJ_X9_62_c_TwoCurve,3L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb176v1		"c2pnb176v1"
 | 
			
		||||
#define NID_X9_62_c2pnb176v1		673
 | 
			
		||||
#define NID_X9_62_c2pnb176v1		687
 | 
			
		||||
#define OBJ_X9_62_c2pnb176v1		OBJ_X9_62_c_TwoCurve,4L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb191v1		"c2tnb191v1"
 | 
			
		||||
#define NID_X9_62_c2tnb191v1		674
 | 
			
		||||
#define NID_X9_62_c2tnb191v1		688
 | 
			
		||||
#define OBJ_X9_62_c2tnb191v1		OBJ_X9_62_c_TwoCurve,5L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb191v2		"c2tnb191v2"
 | 
			
		||||
#define NID_X9_62_c2tnb191v2		675
 | 
			
		||||
#define NID_X9_62_c2tnb191v2		689
 | 
			
		||||
#define OBJ_X9_62_c2tnb191v2		OBJ_X9_62_c_TwoCurve,6L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb191v3		"c2tnb191v3"
 | 
			
		||||
#define NID_X9_62_c2tnb191v3		676
 | 
			
		||||
#define NID_X9_62_c2tnb191v3		690
 | 
			
		||||
#define OBJ_X9_62_c2tnb191v3		OBJ_X9_62_c_TwoCurve,7L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2onb191v4		"c2onb191v4"
 | 
			
		||||
#define NID_X9_62_c2onb191v4		677
 | 
			
		||||
#define NID_X9_62_c2onb191v4		691
 | 
			
		||||
#define OBJ_X9_62_c2onb191v4		OBJ_X9_62_c_TwoCurve,8L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2onb191v5		"c2onb191v5"
 | 
			
		||||
#define NID_X9_62_c2onb191v5		678
 | 
			
		||||
#define NID_X9_62_c2onb191v5		692
 | 
			
		||||
#define OBJ_X9_62_c2onb191v5		OBJ_X9_62_c_TwoCurve,9L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb208w1		"c2pnb208w1"
 | 
			
		||||
#define NID_X9_62_c2pnb208w1		679
 | 
			
		||||
#define NID_X9_62_c2pnb208w1		693
 | 
			
		||||
#define OBJ_X9_62_c2pnb208w1		OBJ_X9_62_c_TwoCurve,10L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb239v1		"c2tnb239v1"
 | 
			
		||||
#define NID_X9_62_c2tnb239v1		680
 | 
			
		||||
#define NID_X9_62_c2tnb239v1		694
 | 
			
		||||
#define OBJ_X9_62_c2tnb239v1		OBJ_X9_62_c_TwoCurve,11L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb239v2		"c2tnb239v2"
 | 
			
		||||
#define NID_X9_62_c2tnb239v2		681
 | 
			
		||||
#define NID_X9_62_c2tnb239v2		695
 | 
			
		||||
#define OBJ_X9_62_c2tnb239v2		OBJ_X9_62_c_TwoCurve,12L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb239v3		"c2tnb239v3"
 | 
			
		||||
#define NID_X9_62_c2tnb239v3		682
 | 
			
		||||
#define NID_X9_62_c2tnb239v3		696
 | 
			
		||||
#define OBJ_X9_62_c2tnb239v3		OBJ_X9_62_c_TwoCurve,13L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2onb239v4		"c2onb239v4"
 | 
			
		||||
#define NID_X9_62_c2onb239v4		683
 | 
			
		||||
#define NID_X9_62_c2onb239v4		697
 | 
			
		||||
#define OBJ_X9_62_c2onb239v4		OBJ_X9_62_c_TwoCurve,14L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2onb239v5		"c2onb239v5"
 | 
			
		||||
#define NID_X9_62_c2onb239v5		684
 | 
			
		||||
#define NID_X9_62_c2onb239v5		698
 | 
			
		||||
#define OBJ_X9_62_c2onb239v5		OBJ_X9_62_c_TwoCurve,15L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb272w1		"c2pnb272w1"
 | 
			
		||||
#define NID_X9_62_c2pnb272w1		685
 | 
			
		||||
#define NID_X9_62_c2pnb272w1		699
 | 
			
		||||
#define OBJ_X9_62_c2pnb272w1		OBJ_X9_62_c_TwoCurve,16L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb304w1		"c2pnb304w1"
 | 
			
		||||
#define NID_X9_62_c2pnb304w1		686
 | 
			
		||||
#define NID_X9_62_c2pnb304w1		700
 | 
			
		||||
#define OBJ_X9_62_c2pnb304w1		OBJ_X9_62_c_TwoCurve,17L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb359v1		"c2tnb359v1"
 | 
			
		||||
#define NID_X9_62_c2tnb359v1		687
 | 
			
		||||
#define NID_X9_62_c2tnb359v1		701
 | 
			
		||||
#define OBJ_X9_62_c2tnb359v1		OBJ_X9_62_c_TwoCurve,18L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2pnb368w1		"c2pnb368w1"
 | 
			
		||||
#define NID_X9_62_c2pnb368w1		688
 | 
			
		||||
#define NID_X9_62_c2pnb368w1		702
 | 
			
		||||
#define OBJ_X9_62_c2pnb368w1		OBJ_X9_62_c_TwoCurve,19L
 | 
			
		||||
 | 
			
		||||
#define SN_X9_62_c2tnb431r1		"c2tnb431r1"
 | 
			
		||||
#define NID_X9_62_c2tnb431r1		689
 | 
			
		||||
#define NID_X9_62_c2tnb431r1		703
 | 
			
		||||
#define OBJ_X9_62_c2tnb431r1		OBJ_X9_62_c_TwoCurve,20L
 | 
			
		||||
 | 
			
		||||
#define OBJ_X9_62_primeCurve		OBJ_X9_62_ellipticCurve,1L
 | 
			
		||||
@@ -308,173 +308,173 @@
 | 
			
		||||
#define OBJ_secg_ellipticCurve		OBJ_certicom_arc,0L
 | 
			
		||||
 | 
			
		||||
#define SN_secp112r1		"secp112r1"
 | 
			
		||||
#define NID_secp112r1		690
 | 
			
		||||
#define NID_secp112r1		704
 | 
			
		||||
#define OBJ_secp112r1		OBJ_secg_ellipticCurve,6L
 | 
			
		||||
 | 
			
		||||
#define SN_secp112r2		"secp112r2"
 | 
			
		||||
#define NID_secp112r2		691
 | 
			
		||||
#define NID_secp112r2		705
 | 
			
		||||
#define OBJ_secp112r2		OBJ_secg_ellipticCurve,7L
 | 
			
		||||
 | 
			
		||||
#define SN_secp128r1		"secp128r1"
 | 
			
		||||
#define NID_secp128r1		692
 | 
			
		||||
#define NID_secp128r1		706
 | 
			
		||||
#define OBJ_secp128r1		OBJ_secg_ellipticCurve,28L
 | 
			
		||||
 | 
			
		||||
#define SN_secp128r2		"secp128r2"
 | 
			
		||||
#define NID_secp128r2		693
 | 
			
		||||
#define NID_secp128r2		707
 | 
			
		||||
#define OBJ_secp128r2		OBJ_secg_ellipticCurve,29L
 | 
			
		||||
 | 
			
		||||
#define SN_secp160k1		"secp160k1"
 | 
			
		||||
#define NID_secp160k1		694
 | 
			
		||||
#define NID_secp160k1		708
 | 
			
		||||
#define OBJ_secp160k1		OBJ_secg_ellipticCurve,9L
 | 
			
		||||
 | 
			
		||||
#define SN_secp160r1		"secp160r1"
 | 
			
		||||
#define NID_secp160r1		695
 | 
			
		||||
#define NID_secp160r1		709
 | 
			
		||||
#define OBJ_secp160r1		OBJ_secg_ellipticCurve,8L
 | 
			
		||||
 | 
			
		||||
#define SN_secp160r2		"secp160r2"
 | 
			
		||||
#define NID_secp160r2		696
 | 
			
		||||
#define NID_secp160r2		710
 | 
			
		||||
#define OBJ_secp160r2		OBJ_secg_ellipticCurve,30L
 | 
			
		||||
 | 
			
		||||
#define SN_secp192k1		"secp192k1"
 | 
			
		||||
#define NID_secp192k1		697
 | 
			
		||||
#define NID_secp192k1		711
 | 
			
		||||
#define OBJ_secp192k1		OBJ_secg_ellipticCurve,31L
 | 
			
		||||
 | 
			
		||||
#define SN_secp224k1		"secp224k1"
 | 
			
		||||
#define NID_secp224k1		698
 | 
			
		||||
#define NID_secp224k1		712
 | 
			
		||||
#define OBJ_secp224k1		OBJ_secg_ellipticCurve,32L
 | 
			
		||||
 | 
			
		||||
#define SN_secp224r1		"secp224r1"
 | 
			
		||||
#define NID_secp224r1		699
 | 
			
		||||
#define NID_secp224r1		713
 | 
			
		||||
#define OBJ_secp224r1		OBJ_secg_ellipticCurve,33L
 | 
			
		||||
 | 
			
		||||
#define SN_secp256k1		"secp256k1"
 | 
			
		||||
#define NID_secp256k1		700
 | 
			
		||||
#define NID_secp256k1		714
 | 
			
		||||
#define OBJ_secp256k1		OBJ_secg_ellipticCurve,10L
 | 
			
		||||
 | 
			
		||||
#define SN_secp384r1		"secp384r1"
 | 
			
		||||
#define NID_secp384r1		701
 | 
			
		||||
#define NID_secp384r1		715
 | 
			
		||||
#define OBJ_secp384r1		OBJ_secg_ellipticCurve,34L
 | 
			
		||||
 | 
			
		||||
#define SN_secp521r1		"secp521r1"
 | 
			
		||||
#define NID_secp521r1		702
 | 
			
		||||
#define NID_secp521r1		716
 | 
			
		||||
#define OBJ_secp521r1		OBJ_secg_ellipticCurve,35L
 | 
			
		||||
 | 
			
		||||
#define SN_sect113r1		"sect113r1"
 | 
			
		||||
#define NID_sect113r1		703
 | 
			
		||||
#define NID_sect113r1		717
 | 
			
		||||
#define OBJ_sect113r1		OBJ_secg_ellipticCurve,4L
 | 
			
		||||
 | 
			
		||||
#define SN_sect113r2		"sect113r2"
 | 
			
		||||
#define NID_sect113r2		704
 | 
			
		||||
#define NID_sect113r2		718
 | 
			
		||||
#define OBJ_sect113r2		OBJ_secg_ellipticCurve,5L
 | 
			
		||||
 | 
			
		||||
#define SN_sect131r1		"sect131r1"
 | 
			
		||||
#define NID_sect131r1		705
 | 
			
		||||
#define NID_sect131r1		719
 | 
			
		||||
#define OBJ_sect131r1		OBJ_secg_ellipticCurve,22L
 | 
			
		||||
 | 
			
		||||
#define SN_sect131r2		"sect131r2"
 | 
			
		||||
#define NID_sect131r2		706
 | 
			
		||||
#define NID_sect131r2		720
 | 
			
		||||
#define OBJ_sect131r2		OBJ_secg_ellipticCurve,23L
 | 
			
		||||
 | 
			
		||||
#define SN_sect163k1		"sect163k1"
 | 
			
		||||
#define NID_sect163k1		707
 | 
			
		||||
#define NID_sect163k1		721
 | 
			
		||||
#define OBJ_sect163k1		OBJ_secg_ellipticCurve,1L
 | 
			
		||||
 | 
			
		||||
#define SN_sect163r1		"sect163r1"
 | 
			
		||||
#define NID_sect163r1		708
 | 
			
		||||
#define NID_sect163r1		722
 | 
			
		||||
#define OBJ_sect163r1		OBJ_secg_ellipticCurve,2L
 | 
			
		||||
 | 
			
		||||
#define SN_sect163r2		"sect163r2"
 | 
			
		||||
#define NID_sect163r2		709
 | 
			
		||||
#define NID_sect163r2		723
 | 
			
		||||
#define OBJ_sect163r2		OBJ_secg_ellipticCurve,15L
 | 
			
		||||
 | 
			
		||||
#define SN_sect193r1		"sect193r1"
 | 
			
		||||
#define NID_sect193r1		710
 | 
			
		||||
#define NID_sect193r1		724
 | 
			
		||||
#define OBJ_sect193r1		OBJ_secg_ellipticCurve,24L
 | 
			
		||||
 | 
			
		||||
#define SN_sect193r2		"sect193r2"
 | 
			
		||||
#define NID_sect193r2		711
 | 
			
		||||
#define NID_sect193r2		725
 | 
			
		||||
#define OBJ_sect193r2		OBJ_secg_ellipticCurve,25L
 | 
			
		||||
 | 
			
		||||
#define SN_sect233k1		"sect233k1"
 | 
			
		||||
#define NID_sect233k1		712
 | 
			
		||||
#define NID_sect233k1		726
 | 
			
		||||
#define OBJ_sect233k1		OBJ_secg_ellipticCurve,26L
 | 
			
		||||
 | 
			
		||||
#define SN_sect233r1		"sect233r1"
 | 
			
		||||
#define NID_sect233r1		713
 | 
			
		||||
#define NID_sect233r1		727
 | 
			
		||||
#define OBJ_sect233r1		OBJ_secg_ellipticCurve,27L
 | 
			
		||||
 | 
			
		||||
#define SN_sect239k1		"sect239k1"
 | 
			
		||||
#define NID_sect239k1		714
 | 
			
		||||
#define NID_sect239k1		728
 | 
			
		||||
#define OBJ_sect239k1		OBJ_secg_ellipticCurve,3L
 | 
			
		||||
 | 
			
		||||
#define SN_sect283k1		"sect283k1"
 | 
			
		||||
#define NID_sect283k1		715
 | 
			
		||||
#define NID_sect283k1		729
 | 
			
		||||
#define OBJ_sect283k1		OBJ_secg_ellipticCurve,16L
 | 
			
		||||
 | 
			
		||||
#define SN_sect283r1		"sect283r1"
 | 
			
		||||
#define NID_sect283r1		716
 | 
			
		||||
#define NID_sect283r1		730
 | 
			
		||||
#define OBJ_sect283r1		OBJ_secg_ellipticCurve,17L
 | 
			
		||||
 | 
			
		||||
#define SN_sect409k1		"sect409k1"
 | 
			
		||||
#define NID_sect409k1		717
 | 
			
		||||
#define NID_sect409k1		731
 | 
			
		||||
#define OBJ_sect409k1		OBJ_secg_ellipticCurve,36L
 | 
			
		||||
 | 
			
		||||
#define SN_sect409r1		"sect409r1"
 | 
			
		||||
#define NID_sect409r1		718
 | 
			
		||||
#define NID_sect409r1		732
 | 
			
		||||
#define OBJ_sect409r1		OBJ_secg_ellipticCurve,37L
 | 
			
		||||
 | 
			
		||||
#define SN_sect571k1		"sect571k1"
 | 
			
		||||
#define NID_sect571k1		719
 | 
			
		||||
#define NID_sect571k1		733
 | 
			
		||||
#define OBJ_sect571k1		OBJ_secg_ellipticCurve,38L
 | 
			
		||||
 | 
			
		||||
#define SN_sect571r1		"sect571r1"
 | 
			
		||||
#define NID_sect571r1		720
 | 
			
		||||
#define NID_sect571r1		734
 | 
			
		||||
#define OBJ_sect571r1		OBJ_secg_ellipticCurve,39L
 | 
			
		||||
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid		OBJ_wap_wsg,4L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls1		"wap-wsg-idm-ecid-wtls1"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls1		721
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls1		735
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls1		OBJ_wap_wsg_idm_ecid,1L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls3		"wap-wsg-idm-ecid-wtls3"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls3		722
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls3		736
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls3		OBJ_wap_wsg_idm_ecid,3L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls4		"wap-wsg-idm-ecid-wtls4"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls4		723
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls4		737
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls4		OBJ_wap_wsg_idm_ecid,4L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls5		"wap-wsg-idm-ecid-wtls5"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls5		724
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls5		738
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls5		OBJ_wap_wsg_idm_ecid,5L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls6		"wap-wsg-idm-ecid-wtls6"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls6		725
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls6		739
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls6		OBJ_wap_wsg_idm_ecid,6L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls7		"wap-wsg-idm-ecid-wtls7"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls7		726
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls7		740
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls7		OBJ_wap_wsg_idm_ecid,7L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls8		"wap-wsg-idm-ecid-wtls8"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls8		727
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls8		741
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls8		OBJ_wap_wsg_idm_ecid,8L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls9		"wap-wsg-idm-ecid-wtls9"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls9		728
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls9		742
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls9		OBJ_wap_wsg_idm_ecid,9L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls10		"wap-wsg-idm-ecid-wtls10"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls10		729
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls10		743
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls10		OBJ_wap_wsg_idm_ecid,10L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls11		"wap-wsg-idm-ecid-wtls11"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls11		730
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls11		744
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls11		OBJ_wap_wsg_idm_ecid,11L
 | 
			
		||||
 | 
			
		||||
#define SN_wap_wsg_idm_ecid_wtls12		"wap-wsg-idm-ecid-wtls12"
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls12		731
 | 
			
		||||
#define NID_wap_wsg_idm_ecid_wtls12		745
 | 
			
		||||
#define OBJ_wap_wsg_idm_ecid_wtls12		OBJ_wap_wsg_idm_ecid,12L
 | 
			
		||||
 | 
			
		||||
#define SN_cast5_cbc		"CAST5-CBC"
 | 
			
		||||
@@ -538,22 +538,22 @@
 | 
			
		||||
 | 
			
		||||
#define SN_sha256WithRSAEncryption		"RSA-SHA256"
 | 
			
		||||
#define LN_sha256WithRSAEncryption		"sha256WithRSAEncryption"
 | 
			
		||||
#define NID_sha256WithRSAEncryption		732
 | 
			
		||||
#define NID_sha256WithRSAEncryption		668
 | 
			
		||||
#define OBJ_sha256WithRSAEncryption		OBJ_pkcs1,11L
 | 
			
		||||
 | 
			
		||||
#define SN_sha384WithRSAEncryption		"RSA-SHA384"
 | 
			
		||||
#define LN_sha384WithRSAEncryption		"sha384WithRSAEncryption"
 | 
			
		||||
#define NID_sha384WithRSAEncryption		733
 | 
			
		||||
#define NID_sha384WithRSAEncryption		669
 | 
			
		||||
#define OBJ_sha384WithRSAEncryption		OBJ_pkcs1,12L
 | 
			
		||||
 | 
			
		||||
#define SN_sha512WithRSAEncryption		"RSA-SHA512"
 | 
			
		||||
#define LN_sha512WithRSAEncryption		"sha512WithRSAEncryption"
 | 
			
		||||
#define NID_sha512WithRSAEncryption		734
 | 
			
		||||
#define NID_sha512WithRSAEncryption		670
 | 
			
		||||
#define OBJ_sha512WithRSAEncryption		OBJ_pkcs1,13L
 | 
			
		||||
 | 
			
		||||
#define SN_sha224WithRSAEncryption		"RSA-SHA224"
 | 
			
		||||
#define LN_sha224WithRSAEncryption		"sha224WithRSAEncryption"
 | 
			
		||||
#define NID_sha224WithRSAEncryption		735
 | 
			
		||||
#define NID_sha224WithRSAEncryption		671
 | 
			
		||||
#define OBJ_sha224WithRSAEncryption		OBJ_pkcs1,14L
 | 
			
		||||
 | 
			
		||||
#define SN_pkcs3		"pkcs3"
 | 
			
		||||
@@ -1266,7 +1266,7 @@
 | 
			
		||||
#define OBJ_id_cct		OBJ_id_pkix,12L
 | 
			
		||||
 | 
			
		||||
#define SN_id_ppl		"id-ppl"
 | 
			
		||||
#define NID_id_ppl		746
 | 
			
		||||
#define NID_id_ppl		662
 | 
			
		||||
#define OBJ_id_ppl		OBJ_id_pkix,21L
 | 
			
		||||
 | 
			
		||||
#define SN_id_ad		"id-ad"
 | 
			
		||||
@@ -1386,7 +1386,7 @@
 | 
			
		||||
 | 
			
		||||
#define SN_proxyCertInfo		"proxyCertInfo"
 | 
			
		||||
#define LN_proxyCertInfo		"Proxy Certificate Information"
 | 
			
		||||
#define NID_proxyCertInfo		747
 | 
			
		||||
#define NID_proxyCertInfo		663
 | 
			
		||||
#define OBJ_proxyCertInfo		OBJ_id_pe,14L
 | 
			
		||||
 | 
			
		||||
#define SN_id_qt_cps		"id-qt-cps"
 | 
			
		||||
@@ -1715,17 +1715,17 @@
 | 
			
		||||
 | 
			
		||||
#define SN_id_ppl_anyLanguage		"id-ppl-anyLanguage"
 | 
			
		||||
#define LN_id_ppl_anyLanguage		"Any language"
 | 
			
		||||
#define NID_id_ppl_anyLanguage		748
 | 
			
		||||
#define NID_id_ppl_anyLanguage		664
 | 
			
		||||
#define OBJ_id_ppl_anyLanguage		OBJ_id_ppl,0L
 | 
			
		||||
 | 
			
		||||
#define SN_id_ppl_inheritAll		"id-ppl-inheritAll"
 | 
			
		||||
#define LN_id_ppl_inheritAll		"Inherit all"
 | 
			
		||||
#define NID_id_ppl_inheritAll		749
 | 
			
		||||
#define NID_id_ppl_inheritAll		665
 | 
			
		||||
#define OBJ_id_ppl_inheritAll		OBJ_id_ppl,1L
 | 
			
		||||
 | 
			
		||||
#define SN_Independent		"id-ppl-independent"
 | 
			
		||||
#define LN_Independent		"Independent"
 | 
			
		||||
#define NID_Independent		750
 | 
			
		||||
#define NID_Independent		667
 | 
			
		||||
#define OBJ_Independent		OBJ_id_ppl,2L
 | 
			
		||||
 | 
			
		||||
#define SN_ad_OCSP		"OCSP"
 | 
			
		||||
@@ -2096,7 +2096,7 @@
 | 
			
		||||
 | 
			
		||||
#define SN_name_constraints		"nameConstraints"
 | 
			
		||||
#define LN_name_constraints		"X509v3 Name Constraints"
 | 
			
		||||
#define NID_name_constraints		736
 | 
			
		||||
#define NID_name_constraints		666
 | 
			
		||||
#define OBJ_name_constraints		OBJ_id_ce,30L
 | 
			
		||||
 | 
			
		||||
#define SN_crl_distribution_points		"crlDistributionPoints"
 | 
			
		||||
@@ -2111,12 +2111,12 @@
 | 
			
		||||
 | 
			
		||||
#define SN_any_policy		"anyPolicy"
 | 
			
		||||
#define LN_any_policy		"X509v3 Any Policy"
 | 
			
		||||
#define NID_any_policy		737
 | 
			
		||||
#define NID_any_policy		746
 | 
			
		||||
#define OBJ_any_policy		OBJ_certificate_policies,0L
 | 
			
		||||
 | 
			
		||||
#define SN_policy_mappings		"policyMappings"
 | 
			
		||||
#define LN_policy_mappings		"X509v3 Policy Mappings"
 | 
			
		||||
#define NID_policy_mappings		738
 | 
			
		||||
#define NID_policy_mappings		747
 | 
			
		||||
#define OBJ_policy_mappings		OBJ_id_ce,33L
 | 
			
		||||
 | 
			
		||||
#define SN_authority_key_identifier		"authorityKeyIdentifier"
 | 
			
		||||
@@ -2136,7 +2136,7 @@
 | 
			
		||||
 | 
			
		||||
#define SN_inhibit_any_policy		"inhibitAnyPolicy"
 | 
			
		||||
#define LN_inhibit_any_policy		"X509v3 Inhibit Any Policy"
 | 
			
		||||
#define NID_inhibit_any_policy		739
 | 
			
		||||
#define NID_inhibit_any_policy		748
 | 
			
		||||
#define OBJ_inhibit_any_policy		OBJ_id_ce,54L
 | 
			
		||||
 | 
			
		||||
#define SN_target_information		"targetInformation"
 | 
			
		||||
@@ -2420,22 +2420,22 @@
 | 
			
		||||
 | 
			
		||||
#define SN_sha256		"SHA256"
 | 
			
		||||
#define LN_sha256		"sha256"
 | 
			
		||||
#define NID_sha256		740
 | 
			
		||||
#define NID_sha256		672
 | 
			
		||||
#define OBJ_sha256		OBJ_nist_hashalgs,1L
 | 
			
		||||
 | 
			
		||||
#define SN_sha384		"SHA384"
 | 
			
		||||
#define LN_sha384		"sha384"
 | 
			
		||||
#define NID_sha384		741
 | 
			
		||||
#define NID_sha384		673
 | 
			
		||||
#define OBJ_sha384		OBJ_nist_hashalgs,2L
 | 
			
		||||
 | 
			
		||||
#define SN_sha512		"SHA512"
 | 
			
		||||
#define LN_sha512		"sha512"
 | 
			
		||||
#define NID_sha512		742
 | 
			
		||||
#define NID_sha512		674
 | 
			
		||||
#define OBJ_sha512		OBJ_nist_hashalgs,3L
 | 
			
		||||
 | 
			
		||||
#define SN_sha224		"SHA224"
 | 
			
		||||
#define LN_sha224		"sha224"
 | 
			
		||||
#define NID_sha224		743
 | 
			
		||||
#define NID_sha224		675
 | 
			
		||||
#define OBJ_sha224		OBJ_nist_hashalgs,4L
 | 
			
		||||
 | 
			
		||||
#define SN_hold_instruction_code		"holdInstructionCode"
 | 
			
		||||
@@ -3297,9 +3297,9 @@
 | 
			
		||||
 | 
			
		||||
#define SN_ipsec3		"Oakley-EC2N-3"
 | 
			
		||||
#define LN_ipsec3		"ipsec3"
 | 
			
		||||
#define NID_ipsec3		744
 | 
			
		||||
#define NID_ipsec3		749
 | 
			
		||||
 | 
			
		||||
#define SN_ipsec4		"Oakley-EC2N-4"
 | 
			
		||||
#define LN_ipsec4		"ipsec4"
 | 
			
		||||
#define NID_ipsec4		745
 | 
			
		||||
#define NID_ipsec4		750
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -659,92 +659,92 @@ des_ede3_cfb1		658
 | 
			
		||||
des_ede3_cfb8		659
 | 
			
		||||
streetAddress		660
 | 
			
		||||
postalCode		661
 | 
			
		||||
identified_organization		662
 | 
			
		||||
certicom_arc		663
 | 
			
		||||
wap		664
 | 
			
		||||
wap_wsg		665
 | 
			
		||||
X9_62_id_characteristic_two_basis		666
 | 
			
		||||
X9_62_onBasis		667
 | 
			
		||||
X9_62_tpBasis		668
 | 
			
		||||
X9_62_ppBasis		669
 | 
			
		||||
X9_62_c2pnb163v1		670
 | 
			
		||||
X9_62_c2pnb163v2		671
 | 
			
		||||
X9_62_c2pnb163v3		672
 | 
			
		||||
X9_62_c2pnb176v1		673
 | 
			
		||||
X9_62_c2tnb191v1		674
 | 
			
		||||
X9_62_c2tnb191v2		675
 | 
			
		||||
X9_62_c2tnb191v3		676
 | 
			
		||||
X9_62_c2onb191v4		677
 | 
			
		||||
X9_62_c2onb191v5		678
 | 
			
		||||
X9_62_c2pnb208w1		679
 | 
			
		||||
X9_62_c2tnb239v1		680
 | 
			
		||||
X9_62_c2tnb239v2		681
 | 
			
		||||
X9_62_c2tnb239v3		682
 | 
			
		||||
X9_62_c2onb239v4		683
 | 
			
		||||
X9_62_c2onb239v5		684
 | 
			
		||||
X9_62_c2pnb272w1		685
 | 
			
		||||
X9_62_c2pnb304w1		686
 | 
			
		||||
X9_62_c2tnb359v1		687
 | 
			
		||||
X9_62_c2pnb368w1		688
 | 
			
		||||
X9_62_c2tnb431r1		689
 | 
			
		||||
secp112r1		690
 | 
			
		||||
secp112r2		691
 | 
			
		||||
secp128r1		692
 | 
			
		||||
secp128r2		693
 | 
			
		||||
secp160k1		694
 | 
			
		||||
secp160r1		695
 | 
			
		||||
secp160r2		696
 | 
			
		||||
secp192k1		697
 | 
			
		||||
secp224k1		698
 | 
			
		||||
secp224r1		699
 | 
			
		||||
secp256k1		700
 | 
			
		||||
secp384r1		701
 | 
			
		||||
secp521r1		702
 | 
			
		||||
sect113r1		703
 | 
			
		||||
sect113r2		704
 | 
			
		||||
sect131r1		705
 | 
			
		||||
sect131r2		706
 | 
			
		||||
sect163k1		707
 | 
			
		||||
sect163r1		708
 | 
			
		||||
sect163r2		709
 | 
			
		||||
sect193r1		710
 | 
			
		||||
sect193r2		711
 | 
			
		||||
sect233k1		712
 | 
			
		||||
sect233r1		713
 | 
			
		||||
sect239k1		714
 | 
			
		||||
sect283k1		715
 | 
			
		||||
sect283r1		716
 | 
			
		||||
sect409k1		717
 | 
			
		||||
sect409r1		718
 | 
			
		||||
sect571k1		719
 | 
			
		||||
sect571r1		720
 | 
			
		||||
wap_wsg_idm_ecid_wtls1		721
 | 
			
		||||
wap_wsg_idm_ecid_wtls3		722
 | 
			
		||||
wap_wsg_idm_ecid_wtls4		723
 | 
			
		||||
wap_wsg_idm_ecid_wtls5		724
 | 
			
		||||
wap_wsg_idm_ecid_wtls6		725
 | 
			
		||||
wap_wsg_idm_ecid_wtls7		726
 | 
			
		||||
wap_wsg_idm_ecid_wtls8		727
 | 
			
		||||
wap_wsg_idm_ecid_wtls9		728
 | 
			
		||||
wap_wsg_idm_ecid_wtls10		729
 | 
			
		||||
wap_wsg_idm_ecid_wtls11		730
 | 
			
		||||
wap_wsg_idm_ecid_wtls12		731
 | 
			
		||||
sha256WithRSAEncryption		732
 | 
			
		||||
sha384WithRSAEncryption		733
 | 
			
		||||
sha512WithRSAEncryption		734
 | 
			
		||||
sha224WithRSAEncryption		735
 | 
			
		||||
name_constraints		736
 | 
			
		||||
any_policy		737
 | 
			
		||||
policy_mappings		738
 | 
			
		||||
inhibit_any_policy		739
 | 
			
		||||
sha256		740
 | 
			
		||||
sha384		741
 | 
			
		||||
sha512		742
 | 
			
		||||
sha224		743
 | 
			
		||||
ipsec3		744
 | 
			
		||||
ipsec4		745
 | 
			
		||||
id_ppl		746
 | 
			
		||||
proxyCertInfo		747
 | 
			
		||||
id_ppl_anyLanguage		748
 | 
			
		||||
id_ppl_inheritAll		749
 | 
			
		||||
Independent		750
 | 
			
		||||
id_ppl		662
 | 
			
		||||
proxyCertInfo		663
 | 
			
		||||
id_ppl_anyLanguage		664
 | 
			
		||||
id_ppl_inheritAll		665
 | 
			
		||||
name_constraints		666
 | 
			
		||||
Independent		667
 | 
			
		||||
sha256WithRSAEncryption		668
 | 
			
		||||
sha384WithRSAEncryption		669
 | 
			
		||||
sha512WithRSAEncryption		670
 | 
			
		||||
sha224WithRSAEncryption		671
 | 
			
		||||
sha256		672
 | 
			
		||||
sha384		673
 | 
			
		||||
sha512		674
 | 
			
		||||
sha224		675
 | 
			
		||||
identified_organization		676
 | 
			
		||||
certicom_arc		677
 | 
			
		||||
wap		678
 | 
			
		||||
wap_wsg		679
 | 
			
		||||
X9_62_id_characteristic_two_basis		680
 | 
			
		||||
X9_62_onBasis		681
 | 
			
		||||
X9_62_tpBasis		682
 | 
			
		||||
X9_62_ppBasis		683
 | 
			
		||||
X9_62_c2pnb163v1		684
 | 
			
		||||
X9_62_c2pnb163v2		685
 | 
			
		||||
X9_62_c2pnb163v3		686
 | 
			
		||||
X9_62_c2pnb176v1		687
 | 
			
		||||
X9_62_c2tnb191v1		688
 | 
			
		||||
X9_62_c2tnb191v2		689
 | 
			
		||||
X9_62_c2tnb191v3		690
 | 
			
		||||
X9_62_c2onb191v4		691
 | 
			
		||||
X9_62_c2onb191v5		692
 | 
			
		||||
X9_62_c2pnb208w1		693
 | 
			
		||||
X9_62_c2tnb239v1		694
 | 
			
		||||
X9_62_c2tnb239v2		695
 | 
			
		||||
X9_62_c2tnb239v3		696
 | 
			
		||||
X9_62_c2onb239v4		697
 | 
			
		||||
X9_62_c2onb239v5		698
 | 
			
		||||
X9_62_c2pnb272w1		699
 | 
			
		||||
X9_62_c2pnb304w1		700
 | 
			
		||||
X9_62_c2tnb359v1		701
 | 
			
		||||
X9_62_c2pnb368w1		702
 | 
			
		||||
X9_62_c2tnb431r1		703
 | 
			
		||||
secp112r1		704
 | 
			
		||||
secp112r2		705
 | 
			
		||||
secp128r1		706
 | 
			
		||||
secp128r2		707
 | 
			
		||||
secp160k1		708
 | 
			
		||||
secp160r1		709
 | 
			
		||||
secp160r2		710
 | 
			
		||||
secp192k1		711
 | 
			
		||||
secp224k1		712
 | 
			
		||||
secp224r1		713
 | 
			
		||||
secp256k1		714
 | 
			
		||||
secp384r1		715
 | 
			
		||||
secp521r1		716
 | 
			
		||||
sect113r1		717
 | 
			
		||||
sect113r2		718
 | 
			
		||||
sect131r1		719
 | 
			
		||||
sect131r2		720
 | 
			
		||||
sect163k1		721
 | 
			
		||||
sect163r1		722
 | 
			
		||||
sect163r2		723
 | 
			
		||||
sect193r1		724
 | 
			
		||||
sect193r2		725
 | 
			
		||||
sect233k1		726
 | 
			
		||||
sect233r1		727
 | 
			
		||||
sect239k1		728
 | 
			
		||||
sect283k1		729
 | 
			
		||||
sect283r1		730
 | 
			
		||||
sect409k1		731
 | 
			
		||||
sect409r1		732
 | 
			
		||||
sect571k1		733
 | 
			
		||||
sect571r1		734
 | 
			
		||||
wap_wsg_idm_ecid_wtls1		735
 | 
			
		||||
wap_wsg_idm_ecid_wtls3		736
 | 
			
		||||
wap_wsg_idm_ecid_wtls4		737
 | 
			
		||||
wap_wsg_idm_ecid_wtls5		738
 | 
			
		||||
wap_wsg_idm_ecid_wtls6		739
 | 
			
		||||
wap_wsg_idm_ecid_wtls7		740
 | 
			
		||||
wap_wsg_idm_ecid_wtls8		741
 | 
			
		||||
wap_wsg_idm_ecid_wtls9		742
 | 
			
		||||
wap_wsg_idm_ecid_wtls10		743
 | 
			
		||||
wap_wsg_idm_ecid_wtls11		744
 | 
			
		||||
wap_wsg_idm_ecid_wtls12		745
 | 
			
		||||
any_policy		746
 | 
			
		||||
policy_mappings		747
 | 
			
		||||
inhibit_any_policy		748
 | 
			
		||||
ipsec3		749
 | 
			
		||||
ipsec4		750
 | 
			
		||||
 
 | 
			
		||||
@@ -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	0x00909000L
 | 
			
		||||
#define OPENSSL_VERSION_NUMBER	0x0090800fL
 | 
			
		||||
#ifdef OPENSSL_FIPS
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.9-fips-dev XX xxx XXXX"
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8-fips 05 Jul 2005"
 | 
			
		||||
#else
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.9-dev XX xxx XXXX"
 | 
			
		||||
#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8 05 Jul 2005"
 | 
			
		||||
#endif
 | 
			
		||||
#define OPENSSL_VERSION_PTEXT	" part of " OPENSSL_VERSION_TEXT
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -168,6 +168,10 @@ my $current_function;
 | 
			
		||||
	    # on pros side, this results in more compact code:-)
 | 
			
		||||
	    $self->{index} =~ s/^[er](.?[0-9xp])[d]?$/r\1/;
 | 
			
		||||
	    $self->{base}  =~ s/^[er](.?[0-9xp])[d]?$/r\1/;
 | 
			
		||||
	    # Solaris /usr/ccs/bin/as can't handle multiplications
 | 
			
		||||
	    # in $self->{label}
 | 
			
		||||
	    $self->{label} =~ s/(?<![0-9a-f])(0[x0-9a-f]+)/oct($1)/eg;
 | 
			
		||||
	    $self->{label} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg;
 | 
			
		||||
 | 
			
		||||
	    if (defined($self->{index})) {
 | 
			
		||||
		sprintf "%s(%%%s,%%%s,%d)",
 | 
			
		||||
 
 | 
			
		||||
@@ -262,8 +262,8 @@ sub using486
 | 
			
		||||
 | 
			
		||||
sub main'file
 | 
			
		||||
	{
 | 
			
		||||
	push(@out,".") if ($main'mwerks);
 | 
			
		||||
	push(@out,"section\t.text\n");
 | 
			
		||||
	if ($main'mwerks)	{ push(@out,".section\t.text\n"); }
 | 
			
		||||
	else			{ push(@out,"section\t.text use32\n"); }
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
sub main'function_begin
 | 
			
		||||
 
 | 
			
		||||
@@ -719,9 +719,9 @@ sub main'initseg
 | 
			
		||||
		$tmp=<<___;
 | 
			
		||||
.section	.init
 | 
			
		||||
	call	$under$f
 | 
			
		||||
	jmp	1f
 | 
			
		||||
	jmp	.Linitalign
 | 
			
		||||
.align	$align
 | 
			
		||||
1:
 | 
			
		||||
.Linitalign:
 | 
			
		||||
___
 | 
			
		||||
		}
 | 
			
		||||
	elsif ($main'coff)
 | 
			
		||||
 
 | 
			
		||||
@@ -148,7 +148,11 @@ PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk)
 | 
			
		||||
/* Unpack SAFEBAGS from PKCS#7 data ContentInfo */
 | 
			
		||||
STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7)
 | 
			
		||||
{
 | 
			
		||||
	if(!PKCS7_type_is_data(p7)) return NULL;
 | 
			
		||||
	if(!PKCS7_type_is_data(p7))
 | 
			
		||||
		{
 | 
			
		||||
		PKCS12err(PKCS12_F_PKCS12_UNPACK_P7DATA,PKCS12_R_CONTENT_TYPE_NOT_DATA);
 | 
			
		||||
		return NULL;
 | 
			
		||||
		}
 | 
			
		||||
	return ASN1_item_unpack(p7->d.data, ASN1_ITEM_rptr(PKCS12_SAFEBAGS));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -211,5 +215,10 @@ int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes)
 | 
			
		||||
 | 
			
		||||
STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12)
 | 
			
		||||
{
 | 
			
		||||
	if (!PKCS7_type_is_data(p12->authsafes))
 | 
			
		||||
		{
 | 
			
		||||
		PKCS12err(PKCS12_F_PKCS12_UNPACK_AUTHSAFES,PKCS12_R_CONTENT_TYPE_NOT_DATA);
 | 
			
		||||
		return NULL;
 | 
			
		||||
		}
 | 
			
		||||
	return ASN1_item_unpack(p12->authsafes->d.data, ASN1_ITEM_rptr(PKCS12_AUTHSAFES));
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -72,6 +72,12 @@ int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
 | 
			
		||||
	unsigned char key[PKCS12_MAC_KEY_LENGTH], *salt;
 | 
			
		||||
	int saltlen, iter;
 | 
			
		||||
 | 
			
		||||
	if (!PKCS7_type_is_data(p12->authsafes))
 | 
			
		||||
		{
 | 
			
		||||
		PKCS12err(PKCS12_F_PKCS12_GEN_MAC,PKCS12_R_CONTENT_TYPE_NOT_DATA);
 | 
			
		||||
		return 0;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	salt = p12->mac->salt->data;
 | 
			
		||||
	saltlen = p12->mac->salt->length;
 | 
			
		||||
	if (!p12->mac->iter) iter = 1;
 | 
			
		||||
 
 | 
			
		||||
@@ -94,6 +94,8 @@ static ERR_STRING_DATA PKCS12_str_functs[]=
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS12_PBE_KEYIVGEN),	"PKCS12_PBE_keyivgen"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS12_SETUP_MAC),	"PKCS12_setup_mac"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS12_SET_MAC),	"PKCS12_set_mac"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS12_UNPACK_AUTHSAFES),	"PKCS12_unpack_authsafes"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS12_UNPACK_P7DATA),	"PKCS12_unpack_p7data"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS12_VERIFY_MAC),	"PKCS12_verify_mac"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS8_ADD_KEYUSAGE),	"PKCS8_add_keyusage"},
 | 
			
		||||
{ERR_FUNC(PKCS12_F_PKCS8_ENCRYPT),	"PKCS8_encrypt"},
 | 
			
		||||
@@ -103,6 +105,7 @@ static ERR_STRING_DATA PKCS12_str_functs[]=
 | 
			
		||||
static ERR_STRING_DATA PKCS12_str_reasons[]=
 | 
			
		||||
	{
 | 
			
		||||
{ERR_REASON(PKCS12_R_CANT_PACK_STRUCTURE),"cant pack structure"},
 | 
			
		||||
{ERR_REASON(PKCS12_R_CONTENT_TYPE_NOT_DATA),"content type not data"},
 | 
			
		||||
{ERR_REASON(PKCS12_R_DECODE_ERROR)       ,"decode error"},
 | 
			
		||||
{ERR_REASON(PKCS12_R_ENCODE_ERROR)       ,"encode error"},
 | 
			
		||||
{ERR_REASON(PKCS12_R_ENCRYPT_ERROR)      ,"encrypt error"},
 | 
			
		||||
 
 | 
			
		||||
@@ -297,12 +297,15 @@ void ERR_load_PKCS12_strings(void);
 | 
			
		||||
#define PKCS12_F_PKCS12_PBE_KEYIVGEN			 120
 | 
			
		||||
#define PKCS12_F_PKCS12_SETUP_MAC			 122
 | 
			
		||||
#define PKCS12_F_PKCS12_SET_MAC				 123
 | 
			
		||||
#define PKCS12_F_PKCS12_UNPACK_AUTHSAFES		 130
 | 
			
		||||
#define PKCS12_F_PKCS12_UNPACK_P7DATA			 131
 | 
			
		||||
#define PKCS12_F_PKCS12_VERIFY_MAC			 126
 | 
			
		||||
#define PKCS12_F_PKCS8_ADD_KEYUSAGE			 124
 | 
			
		||||
#define PKCS12_F_PKCS8_ENCRYPT				 125
 | 
			
		||||
 | 
			
		||||
/* Reason codes. */
 | 
			
		||||
#define PKCS12_R_CANT_PACK_STRUCTURE			 100
 | 
			
		||||
#define PKCS12_R_CONTENT_TYPE_NOT_DATA			 121
 | 
			
		||||
#define PKCS12_R_DECODE_ERROR				 101
 | 
			
		||||
#define PKCS12_R_ENCODE_ERROR				 102
 | 
			
		||||
#define PKCS12_R_ENCRYPT_ERROR				 103
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,7 @@ LIBOBJ=pqueue.o
 | 
			
		||||
 | 
			
		||||
SRC= $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
EXHEADER= pqueue.h
 | 
			
		||||
EXHEADER= pqueue.h pq_compat.h
 | 
			
		||||
HEADER=	$(EXHEADER)
 | 
			
		||||
 | 
			
		||||
ALL=    $(GENERAL) $(SRC) $(HEADER)
 | 
			
		||||
@@ -79,5 +79,6 @@ pqueue.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
pqueue.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
pqueue.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 | 
			
		||||
pqueue.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
pqueue.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
pqueue.o: ../../include/openssl/symhacks.h ../cryptlib.h pqueue.c pqueue.h
 | 
			
		||||
pqueue.o: ../../include/openssl/pq_compat.h ../../include/openssl/safestack.h
 | 
			
		||||
pqueue.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
pqueue.o: ../cryptlib.h pqueue.c pqueue.h
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										147
									
								
								crypto/pqueue/pq_compat.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								crypto/pqueue/pq_compat.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,147 @@
 | 
			
		||||
/* crypto/pqueue/pqueue_compat.h */
 | 
			
		||||
/* 
 | 
			
		||||
 * DTLS implementation written by Nagendra Modadugu
 | 
			
		||||
 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.  
 | 
			
		||||
 */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 1999-2005 The OpenSSL Project.  All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * Redistribution and use in source and binary forms, with or without
 | 
			
		||||
 * modification, are permitted provided that the following conditions
 | 
			
		||||
 * are met:
 | 
			
		||||
 *
 | 
			
		||||
 * 1. Redistributions of source code must retain the above copyright
 | 
			
		||||
 *    notice, this list of conditions and the following disclaimer. 
 | 
			
		||||
 *
 | 
			
		||||
 * 2. Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
 *    notice, this list of conditions and the following disclaimer in
 | 
			
		||||
 *    the documentation and/or other materials provided with the
 | 
			
		||||
 *    distribution.
 | 
			
		||||
 *
 | 
			
		||||
 * 3. All advertising materials mentioning features or use of this
 | 
			
		||||
 *    software must display the following acknowledgment:
 | 
			
		||||
 *    "This product includes software developed by the OpenSSL Project
 | 
			
		||||
 *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
 | 
			
		||||
 *
 | 
			
		||||
 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
 | 
			
		||||
 *    endorse or promote products derived from this software without
 | 
			
		||||
 *    prior written permission. For written permission, please contact
 | 
			
		||||
 *    openssl-core@OpenSSL.org.
 | 
			
		||||
 *
 | 
			
		||||
 * 5. Products derived from this software may not be called "OpenSSL"
 | 
			
		||||
 *    nor may "OpenSSL" appear in their names without prior written
 | 
			
		||||
 *    permission of the OpenSSL Project.
 | 
			
		||||
 *
 | 
			
		||||
 * 6. Redistributions of any form whatsoever must retain the following
 | 
			
		||||
 *    acknowledgment:
 | 
			
		||||
 *    "This product includes software developed by the OpenSSL Project
 | 
			
		||||
 *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
 | 
			
		||||
 *
 | 
			
		||||
 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
 | 
			
		||||
 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
			
		||||
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 | 
			
		||||
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
 | 
			
		||||
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 | 
			
		||||
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 | 
			
		||||
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | 
			
		||||
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
			
		||||
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 | 
			
		||||
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | 
			
		||||
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 | 
			
		||||
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 * ====================================================================
 | 
			
		||||
 *
 | 
			
		||||
 * This product includes cryptographic software written by Eric Young
 | 
			
		||||
 * (eay@cryptsoft.com).  This product includes software written by Tim
 | 
			
		||||
 * Hudson (tjh@cryptsoft.com).
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "opensslconf.h"
 | 
			
		||||
#include <openssl/bn.h>
 | 
			
		||||
 | 
			
		||||
/* 
 | 
			
		||||
 * The purpose of this header file is for supporting 64-bit integer
 | 
			
		||||
 * manipulation on 32-bit (and lower) machines.  Currently the only
 | 
			
		||||
 * such environment is VMS, Utrix and those with smaller default integer
 | 
			
		||||
 * sizes than 32 bits.  For all such environment, we fall back to using
 | 
			
		||||
 * BIGNUM.  We may need to fine tune the conditions for systems that
 | 
			
		||||
 * are incorrectly configured.
 | 
			
		||||
 *
 | 
			
		||||
 * The only clients of this code are (1) pqueue for priority, and
 | 
			
		||||
 * (2) DTLS, for sequence number manipulation.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if (defined(THIRTY_TWO_BIT) && !defined(BN_LLONG)) || defined(SIXTEEN_BIT) || defined(EIGHT_BIT)
 | 
			
		||||
 | 
			
		||||
#define PQ_64BIT_IS_INTEGER 0
 | 
			
		||||
#define PQ_64BIT_IS_BIGNUM 1
 | 
			
		||||
 | 
			
		||||
#define PQ_64BIT     BIGNUM
 | 
			
		||||
#define PQ_64BIT_CTX BN_CTX
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_init(x)           BN_init(x)
 | 
			
		||||
#define pq_64bit_free(x)           BN_free(x)
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_ctx_new(ctx)      BN_CTX_new()
 | 
			
		||||
#define pq_64bit_ctx_free(x)       BN_CTX_free(x)
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_assign(x, y)      BN_copy(x, y)
 | 
			
		||||
#define pq_64bit_assign_word(x, y) BN_set_word(x, y)
 | 
			
		||||
#define pq_64bit_gt(x, y)          BN_ucmp(x, y) >= 1 ? 1 : 0
 | 
			
		||||
#define pq_64bit_eq(x, y)          BN_ucmp(x, y) == 0 ? 1 : 0
 | 
			
		||||
#define pq_64bit_add_word(x, w)    BN_add_word(x, w)
 | 
			
		||||
#define pq_64bit_sub(r, x, y)      BN_sub(r, x, y)
 | 
			
		||||
#define pq_64bit_sub_word(x, w)    BN_sub_word(x, w)
 | 
			
		||||
#define pq_64bit_mod(r, x, n, ctx) BN_mod(r, x, n, ctx)
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_bin2num(bn, bytes, len)   BN_bin2bn(bytes, len, bn)
 | 
			
		||||
#define pq_64bit_num2bin(bn, bytes)        BN_bn2bin(bn, bytes)
 | 
			
		||||
#define pq_64bit_get_word(x)               BN_get_word(x)
 | 
			
		||||
#define pq_64bit_is_bit_set(x, offset)     BN_is_bit_set(x, offset)
 | 
			
		||||
#define pq_64bit_lshift(r, x, shift)       BN_lshift(r, x, shift)
 | 
			
		||||
#define pq_64bit_set_bit(x, num)           BN_set_bit(x, num)
 | 
			
		||||
#define pq_64bit_get_length(x)             BN_num_bits((x))
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#define PQ_64BIT_IS_INTEGER 1
 | 
			
		||||
#define PQ_64BIT_IS_BIGNUM 0
 | 
			
		||||
 | 
			
		||||
#if defined(SIXTY_FOUR_BIT)
 | 
			
		||||
#define PQ_64BIT BN_ULONG
 | 
			
		||||
#define PQ_64BIT_PRINT "%lld"
 | 
			
		||||
#elif defined(SIXTY_FOUR_BIT_LONG)
 | 
			
		||||
#define PQ_64BIT BN_ULONG
 | 
			
		||||
#define PQ_64BIT_PRINT "%ld"
 | 
			
		||||
#elif defined(THIRTY_TWO_BIT)
 | 
			
		||||
#define PQ_64BIT BN_ULLONG
 | 
			
		||||
#define PQ_64BIT_PRINT "%lld"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define PQ_64BIT_CTX      void
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_init(x)
 | 
			
		||||
#define pq_64bit_free(x)
 | 
			
		||||
#define pq_64bit_ctx_new(ctx)        (ctx)
 | 
			
		||||
#define pq_64bit_ctx_free(x)
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_assign(x, y)        (*(x) = *(y))
 | 
			
		||||
#define pq_64bit_assign_word(x, y)   (*(x) = y)
 | 
			
		||||
#define pq_64bit_gt(x, y)	         (*(x) > *(y))
 | 
			
		||||
#define pq_64bit_eq(x, y)            (*(x) == *(y))
 | 
			
		||||
#define pq_64bit_add_word(x, w)      (*(x) = (*(x) + (w)))
 | 
			
		||||
#define pq_64bit_sub(r, x, y)        (*(r) = (*(x) - *(y)))
 | 
			
		||||
#define pq_64bit_sub_word(x, w)      (*(x) = (*(x) - (w)))
 | 
			
		||||
#define pq_64bit_mod(r, x, n, ctx)
 | 
			
		||||
 | 
			
		||||
#define pq_64bit_bin2num(num, bytes, len) bytes_to_long_long(bytes, num)
 | 
			
		||||
#define pq_64bit_num2bin(num, bytes)      long_long_to_bytes(num, bytes)
 | 
			
		||||
#define pq_64bit_get_word(x)              *(x)
 | 
			
		||||
#define pq_64bit_lshift(r, x, shift)      (*(r) = (*(x) << (shift)))
 | 
			
		||||
#define pq_64bit_set_bit(x, num)          do { \
 | 
			
		||||
                                              PQ_64BIT mask = 1; \
 | 
			
		||||
                                              mask = mask << (num); \
 | 
			
		||||
                                              *(x) |= mask; \
 | 
			
		||||
                                          } while(0)
 | 
			
		||||
#endif /* OPENSSL_SYS_VMS */
 | 
			
		||||
@@ -68,12 +68,14 @@ typedef struct _pqueue
 | 
			
		||||
	} pqueue_s;
 | 
			
		||||
 | 
			
		||||
pitem *
 | 
			
		||||
pitem_new(BN_ULLONG priority, void *data)
 | 
			
		||||
pitem_new(PQ_64BIT priority, void *data)
 | 
			
		||||
	{
 | 
			
		||||
	pitem *item = (pitem *) OPENSSL_malloc(sizeof(pitem));
 | 
			
		||||
	if (item == NULL) return NULL;
 | 
			
		||||
 | 
			
		||||
	item->priority = priority;
 | 
			
		||||
	pq_64bit_init(&(item->priority));
 | 
			
		||||
	pq_64bit_assign(&item->priority, &priority);
 | 
			
		||||
 | 
			
		||||
	item->data = data;
 | 
			
		||||
	item->next = NULL;
 | 
			
		||||
 | 
			
		||||
@@ -84,7 +86,8 @@ void
 | 
			
		||||
pitem_free(pitem *item)
 | 
			
		||||
	{
 | 
			
		||||
	if (item == NULL) return;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	pq_64bit_free(&(item->priority));
 | 
			
		||||
	OPENSSL_free(item);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -121,7 +124,7 @@ pqueue_insert(pqueue_s *pq, pitem *item)
 | 
			
		||||
		next != NULL;
 | 
			
		||||
		curr = next, next = next->next)
 | 
			
		||||
		{
 | 
			
		||||
		if (item->priority < next->priority)
 | 
			
		||||
		if (pq_64bit_gt(&(next->priority), &(item->priority)))
 | 
			
		||||
			{
 | 
			
		||||
			item->next = next;
 | 
			
		||||
 | 
			
		||||
@@ -133,7 +136,7 @@ pqueue_insert(pqueue_s *pq, pitem *item)
 | 
			
		||||
			return item;
 | 
			
		||||
			}
 | 
			
		||||
		/* duplicates not allowed */
 | 
			
		||||
		if (item->priority == next->priority)
 | 
			
		||||
		if (pq_64bit_eq(&(item->priority), &(next->priority)))
 | 
			
		||||
			return NULL;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@@ -161,7 +164,7 @@ pqueue_pop(pqueue_s *pq)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
pitem *
 | 
			
		||||
pqueue_find(pqueue_s *pq, BN_ULLONG priority)
 | 
			
		||||
pqueue_find(pqueue_s *pq, PQ_64BIT priority)
 | 
			
		||||
	{
 | 
			
		||||
	pitem *next, *prev = NULL;
 | 
			
		||||
	pitem *found = NULL;
 | 
			
		||||
@@ -172,7 +175,7 @@ pqueue_find(pqueue_s *pq, BN_ULLONG priority)
 | 
			
		||||
	for ( next = pq->items; next->next != NULL; 
 | 
			
		||||
		  prev = next, next = next->next)
 | 
			
		||||
		{
 | 
			
		||||
		if ( next->priority == priority)
 | 
			
		||||
		if ( pq_64bit_eq(&(next->priority), &priority))
 | 
			
		||||
			{
 | 
			
		||||
			found = next;
 | 
			
		||||
			break;
 | 
			
		||||
@@ -180,7 +183,7 @@ pqueue_find(pqueue_s *pq, BN_ULLONG priority)
 | 
			
		||||
		}
 | 
			
		||||
	
 | 
			
		||||
	/* check the one last node */
 | 
			
		||||
	if ( next->priority == priority)
 | 
			
		||||
	if ( pq_64bit_eq(&(next->priority), &priority))
 | 
			
		||||
		found = next;
 | 
			
		||||
 | 
			
		||||
	if ( ! found)
 | 
			
		||||
@@ -196,6 +199,7 @@ pqueue_find(pqueue_s *pq, BN_ULLONG priority)
 | 
			
		||||
	return found;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#if PQ_64BIT_IS_INTEGER
 | 
			
		||||
void
 | 
			
		||||
pqueue_print(pqueue_s *pq)
 | 
			
		||||
	{
 | 
			
		||||
@@ -203,10 +207,11 @@ pqueue_print(pqueue_s *pq)
 | 
			
		||||
 | 
			
		||||
	while(item != NULL)
 | 
			
		||||
		{
 | 
			
		||||
		printf("item\t%lld\n", item->priority);
 | 
			
		||||
		printf("item\t" PQ_64BIT_PRINT "\n", item->priority);
 | 
			
		||||
		item = item->next;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
pitem *
 | 
			
		||||
pqueue_iterator(pqueue_s *pq)
 | 
			
		||||
 
 | 
			
		||||
@@ -64,18 +64,20 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include <openssl/pq_compat.h>
 | 
			
		||||
 | 
			
		||||
typedef struct _pqueue *pqueue;
 | 
			
		||||
 | 
			
		||||
typedef struct _pitem
 | 
			
		||||
	{
 | 
			
		||||
	BN_ULLONG priority;
 | 
			
		||||
	PQ_64BIT priority;
 | 
			
		||||
	void *data;
 | 
			
		||||
	struct _pitem *next;
 | 
			
		||||
	} pitem;
 | 
			
		||||
 | 
			
		||||
typedef struct _pitem *piterator;
 | 
			
		||||
 | 
			
		||||
pitem *pitem_new(BN_ULLONG priority, void *data);
 | 
			
		||||
pitem *pitem_new(PQ_64BIT priority, void *data);
 | 
			
		||||
void   pitem_free(pitem *item);
 | 
			
		||||
 | 
			
		||||
pqueue pqueue_new(void);
 | 
			
		||||
@@ -84,7 +86,7 @@ void   pqueue_free(pqueue pq);
 | 
			
		||||
pitem *pqueue_insert(pqueue pq, pitem *item);
 | 
			
		||||
pitem *pqueue_peek(pqueue pq);
 | 
			
		||||
pitem *pqueue_pop(pqueue pq);
 | 
			
		||||
pitem *pqueue_find(pqueue pq, BN_ULLONG priority);
 | 
			
		||||
pitem *pqueue_find(pqueue pq, PQ_64BIT priority);
 | 
			
		||||
pitem *pqueue_iterator(pqueue pq);
 | 
			
		||||
pitem *pqueue_next(piterator *iter);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,11 @@ rx86-out.s: asm/rc4-586.pl ../perlasm/x86asm.pl
 | 
			
		||||
rc4-x86_64.s: asm/rc4-x86_64.pl;	$(PERL) asm/rc4-x86_64.pl $@
 | 
			
		||||
 | 
			
		||||
rc4-ia64.s: asm/rc4-ia64.S
 | 
			
		||||
	$(CC) $(CFLAGS) -E asm/rc4-ia64.S > $@
 | 
			
		||||
	@case `awk '/^#define RC4_INT/{print$$NF}' $(TOP)/include/openssl/opensslconf.h` in \
 | 
			
		||||
	int)	set -x; $(CC) $(CFLAGS) -DSZ=4 -E asm/rc4-ia64.S > $@ ;; \
 | 
			
		||||
	char)	set -x; $(CC) $(CFLAGS) -DSZ=1 -E asm/rc4-ia64.S > $@ ;; \
 | 
			
		||||
	*)	exit 1 ;; \
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
// disclaimed.
 | 
			
		||||
// ====================================================================
 | 
			
		||||
 | 
			
		||||
.ident  "rc4-ia64.S, Version 1.1"
 | 
			
		||||
.ident  "rc4-ia64.S, Version 2.0"
 | 
			
		||||
.ident  "IA-64 ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
 | 
			
		||||
 | 
			
		||||
// What's wrong with compiler generated code? Because of the nature of
 | 
			
		||||
@@ -27,17 +27,10 @@
 | 
			
		||||
// Legitimate "collisions" do occur within every 256^2 bytes window.
 | 
			
		||||
// Fortunately there're enough free instruction slots to keep prior
 | 
			
		||||
// reference to key[x+1], detect "collision" and compensate for it.
 | 
			
		||||
// All this without sacrificing a single clock cycle:-)
 | 
			
		||||
// Furthermore. In order to compress loop body to the minimum, I chose
 | 
			
		||||
// to deploy deposit instruction, which substitutes for the whole
 | 
			
		||||
// key->data+((x&255)<<log2(sizeof(key->data[0]))). This unfortunately
 | 
			
		||||
// requires key->data to be aligned at sizeof(key->data) boundary.
 | 
			
		||||
// This is why you'll find "RC4_INT pad[512-256-2];" addenum to RC4_KEY
 | 
			
		||||
// and "d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));" in
 | 
			
		||||
// rc4_skey.c [and rc4_enc.c, where it's retained for debugging
 | 
			
		||||
// purposes]. Throughput is ~210MBps on 900MHz CPU, which is is >3x
 | 
			
		||||
// faster than gcc generated code and +30% - if compared to HP-UX C.
 | 
			
		||||
// Unrolling loop below should give >30% on top of that...
 | 
			
		||||
// All this without sacrificing a single clock cycle:-) Throughput is
 | 
			
		||||
// ~210MBps on 900MHz CPU, which is is >3x faster than gcc generated
 | 
			
		||||
// code and +30% - if compared to HP-UX C. Unrolling loop below should
 | 
			
		||||
// give >30% on top of that...
 | 
			
		||||
 | 
			
		||||
.text
 | 
			
		||||
.explicit
 | 
			
		||||
@@ -48,7 +41,9 @@
 | 
			
		||||
# define ADDP	add
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef SZ
 | 
			
		||||
#define SZ	4	// this is set to sizeof(RC4_INT)
 | 
			
		||||
#endif
 | 
			
		||||
// SZ==4 seems to be optimal. At least SZ==8 is not any faster, not for
 | 
			
		||||
// assembler implementation, while SZ==1 code is ~30% slower.
 | 
			
		||||
#if SZ==1	// RC4_INT is unsigned char
 | 
			
		||||
@@ -101,45 +96,53 @@ RC4:
 | 
			
		||||
	ADDP	out=0,in3
 | 
			
		||||
	brp.loop.imp	.Ltop,.Lexit-16	};;
 | 
			
		||||
{ .mmi;	LDKEY	yy=[key]			// load key->y
 | 
			
		||||
	add	ksch=(255+1)*SZ,key		// as ksch will be used with
 | 
			
		||||
						// deposit instruction only,
 | 
			
		||||
						// I don't have to &~255...
 | 
			
		||||
	add	ksch=SZ,key
 | 
			
		||||
	mov	ar.lc=in1		}
 | 
			
		||||
{ .mmi;	mov	key_y[1]=r0			// guarantee inequality
 | 
			
		||||
						// in first iteration
 | 
			
		||||
	add	xx=1,xx
 | 
			
		||||
	mov	pr.rot=1<<16		};;
 | 
			
		||||
{ .mii;	nop.m	0
 | 
			
		||||
	dep	key_x[1]=xx,ksch,OFF,8
 | 
			
		||||
	dep	key_x[1]=xx,r0,OFF,8
 | 
			
		||||
	mov	ar.ec=3			};;	// note that epilogue counter
 | 
			
		||||
						// is off by 1. I compensate
 | 
			
		||||
						// for this at exit...
 | 
			
		||||
.Ltop:
 | 
			
		||||
// The loop is scheduled for 3*(n+2) spin-rate on Itanium 2, which
 | 
			
		||||
// The loop is scheduled for 4*(n+2) spin-rate on Itanium 2, which
 | 
			
		||||
// theoretically gives asymptotic performance of clock frequency
 | 
			
		||||
// divided by 3 bytes per seconds, or 500MBps on 1.5GHz CPU. Measured
 | 
			
		||||
// performance however is distinctly lower than 1/4:-( The culplrit
 | 
			
		||||
// seems to be *(out++)=dat, which inadvertently splits the bundle,
 | 
			
		||||
// even though there is M-port available... Unrolling is due...
 | 
			
		||||
// Unrolled loop should collect output with variable shift instruction
 | 
			
		||||
// in order to avoid starvation for integer shifter... It should be
 | 
			
		||||
// possible to get pretty close to theoretical peak...
 | 
			
		||||
{ .mmi;	(p16)	LDKEY	tx[0]=[key_x[1]]		// tx=key[xx]
 | 
			
		||||
	(p17)	LDKEY	ty[0]=[key_y[1]]		// ty=key[yy]	
 | 
			
		||||
	(p18)	dep	rnd[1]=rnd[1],ksch,OFF,8}	// &key[(tx+ty)&255]
 | 
			
		||||
// divided by 4 bytes per seconds, or 400MBps on 1.6GHz CPU. This is
 | 
			
		||||
// for sizeof(RC4_INT)==4. For smaller RC4_INT STKEY inadvertently
 | 
			
		||||
// splits the last bundle and you end up with 5*n spin-rate:-(
 | 
			
		||||
// Originally the loop was scheduled for 3*n and relied on key
 | 
			
		||||
// schedule to be aligned at 256*sizeof(RC4_INT) boundary. But
 | 
			
		||||
// *(out++)=dat, which maps to st1, had same effect [inadvertent
 | 
			
		||||
// bundle split] and holded the loop back. Rescheduling for 4*n
 | 
			
		||||
// made it possible to eliminate dependence on specific alignment
 | 
			
		||||
// and allow OpenSSH keep "abusing" our API. Reaching for 3*n would
 | 
			
		||||
// require unrolling, sticking to variable shift instruction for
 | 
			
		||||
// collecting output [to avoid starvation for integer shifter] and
 | 
			
		||||
// copying of key schedule to controlled place in stack [so that
 | 
			
		||||
// deposit instruction can serve as substitute for whole
 | 
			
		||||
// key->data+((x&255)<<log2(sizeof(key->data[0])))]...
 | 
			
		||||
{ .mmi;	(p19)	st1	[out]=dat[3],1			// *(out++)=dat
 | 
			
		||||
	(p16)	add	xx=1,xx				// x++
 | 
			
		||||
	(p16)	cmp.ne.unc p20,p21=key_x[1],key_y[1]	};;
 | 
			
		||||
	(p18)	dep	rnd[1]=rnd[1],r0,OFF,8	}	// ((tx+ty)&255)<<OFF
 | 
			
		||||
{ .mmi;	(p16)	add	key_x[1]=ksch,key_x[1]		// &key[xx&255]
 | 
			
		||||
	(p17)	add	key_y[1]=ksch,key_y[1]	};;	// &key[yy&255]	
 | 
			
		||||
{ .mmi;	(p16)	LDKEY	tx[0]=[key_x[1]]		// tx=key[xx]
 | 
			
		||||
	(p17)	LDKEY	ty[0]=[key_y[1]]		// ty=key[yy]	
 | 
			
		||||
	(p16)	dep	key_x[0]=xx,r0,OFF,8	}	// (xx&255)<<OFF
 | 
			
		||||
{ .mmi;	(p18)	add	rnd[1]=ksch,rnd[1]		// &key[(tx+ty)&255]
 | 
			
		||||
	(p16)	cmp.ne.unc p20,p21=key_x[1],key_y[1] };;
 | 
			
		||||
{ .mmi;	(p18)	LDKEY	rnd[1]=[rnd[1]]			// rnd=key[(tx+ty)&255]
 | 
			
		||||
	(p16)	ld1	dat[0]=[inp],1			// dat=*(inp++)
 | 
			
		||||
	(p16)	dep	key_x[0]=xx,ksch,OFF,8	}	// &key[xx&255]
 | 
			
		||||
	(p16)	ld1	dat[0]=[inp],1		}	// dat=*(inp++)
 | 
			
		||||
.pred.rel	"mutex",p20,p21
 | 
			
		||||
{ .mmi;	(p21)	add	yy=yy,tx[1]			// (p16)
 | 
			
		||||
	(p20)	add	yy=yy,tx[0]			// (p16) y+=tx
 | 
			
		||||
	(p21)	mov	tx[0]=tx[1]		};;	// (p16)
 | 
			
		||||
{ .mmi;	(p17)	STKEY	[key_y[1]]=tx[1]		// key[yy]=tx
 | 
			
		||||
	(p17)	STKEY	[key_x[2]]=ty[0]		// key[xx]=ty
 | 
			
		||||
	(p16)	dep	key_y[0]=yy,ksch,OFF,8	}	// &key[yy&255]
 | 
			
		||||
	(p16)	dep	key_y[0]=yy,r0,OFF,8	}	// &key[yy&255]
 | 
			
		||||
{ .mmb;	(p17)	add	rnd[0]=tx[1],ty[0]		// tx+=ty
 | 
			
		||||
	(p18)	xor	dat[2]=dat[2],rnd[1]		// dat^=rnd
 | 
			
		||||
	br.ctop.sptk	.Ltop			};;
 | 
			
		||||
 
 | 
			
		||||
@@ -72,10 +72,6 @@ typedef struct rc4_key_st
 | 
			
		||||
	{
 | 
			
		||||
	RC4_INT x,y;
 | 
			
		||||
	RC4_INT data[256];
 | 
			
		||||
#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
 | 
			
		||||
	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
 | 
			
		||||
	RC4_INT pad[512-256-2];
 | 
			
		||||
#endif
 | 
			
		||||
	} RC4_KEY;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -77,10 +77,6 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
 | 
			
		||||
        x=key->x;     
 | 
			
		||||
        y=key->y;     
 | 
			
		||||
        d=key->data; 
 | 
			
		||||
#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
 | 
			
		||||
	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
 | 
			
		||||
	d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(RC4_CHUNK)
 | 
			
		||||
	/*
 | 
			
		||||
@@ -161,7 +157,7 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
 | 
			
		||||
		if (!is_endian.little)
 | 
			
		||||
			{	/* BIG-ENDIAN CASE */
 | 
			
		||||
# define BESHFT(c)	(((sizeof(RC4_CHUNK)-(c)-1)*8)&(sizeof(RC4_CHUNK)*8-1))
 | 
			
		||||
			for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
 | 
			
		||||
			for (;len&~(sizeof(RC4_CHUNK)-1);len-=sizeof(RC4_CHUNK))
 | 
			
		||||
				{
 | 
			
		||||
				ichunk  = *(RC4_CHUNK *)indata;
 | 
			
		||||
				otp  = RC4_STEP<<BESHFT(0);
 | 
			
		||||
@@ -214,7 +210,7 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
 | 
			
		||||
		else
 | 
			
		||||
			{	/* LITTLE-ENDIAN CASE */
 | 
			
		||||
# define LESHFT(c)	(((c)*8)&(sizeof(RC4_CHUNK)*8-1))
 | 
			
		||||
			for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
 | 
			
		||||
			for (;len&~(sizeof(RC4_CHUNK)-1);len-=sizeof(RC4_CHUNK))
 | 
			
		||||
				{
 | 
			
		||||
				ichunk  = *(RC4_CHUNK *)indata;
 | 
			
		||||
				otp  = RC4_STEP;
 | 
			
		||||
 
 | 
			
		||||
@@ -93,10 +93,6 @@ void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
 | 
			
		||||
        unsigned int i;
 | 
			
		||||
        
 | 
			
		||||
        d= &(key->data[0]);
 | 
			
		||||
#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
 | 
			
		||||
	/* see crypto/rc4/asm/rc4-ia64.S for further details... */
 | 
			
		||||
	d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));
 | 
			
		||||
#endif
 | 
			
		||||
        key->x = 0;     
 | 
			
		||||
        key->y = 0;     
 | 
			
		||||
        id1=id2=0;     
 | 
			
		||||
 
 | 
			
		||||
@@ -72,7 +72,9 @@
 | 
			
		||||
 */
 | 
			
		||||
#ifdef RMD160_ASM
 | 
			
		||||
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
 | 
			
		||||
#  define ripemd160_block_host_order ripemd160_block_asm_host_order
 | 
			
		||||
#  if !defined(B_ENDIAN)
 | 
			
		||||
#   define ripemd160_block_host_order ripemd160_block_asm_host_order
 | 
			
		||||
#  endif
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -80,7 +82,9 @@ void ripemd160_block_host_order (RIPEMD160_CTX *c, const void *p,size_t num);
 | 
			
		||||
void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,size_t num);
 | 
			
		||||
 | 
			
		||||
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
 | 
			
		||||
#define ripemd160_block_data_order ripemd160_block_host_order
 | 
			
		||||
# if !defined(B_ENDIAN)
 | 
			
		||||
#  define ripemd160_block_data_order ripemd160_block_host_order
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define DATA_ORDER_IS_LITTLE_ENDIAN
 | 
			
		||||
 
 | 
			
		||||
@@ -179,6 +179,17 @@ rsa_pk1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
rsa_pk1.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 | 
			
		||||
rsa_pk1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
rsa_pk1.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pk1.c
 | 
			
		||||
rsa_pss.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
rsa_pss.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pss.c
 | 
			
		||||
rsa_saos.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
rsa_saos.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 | 
			
		||||
rsa_saos.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
@@ -216,3 +227,13 @@ rsa_ssl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
rsa_ssl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 | 
			
		||||
rsa_ssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
rsa_ssl.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_ssl.c
 | 
			
		||||
rsa_x931.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
rsa_x931.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_x931.c
 | 
			
		||||
 
 | 
			
		||||
@@ -320,6 +320,12 @@ int RSA_padding_check_X931(unsigned char *to,int tlen,
 | 
			
		||||
	const unsigned char *f,int fl,int rsa_len);
 | 
			
		||||
int RSA_X931_hash_id(int nid);
 | 
			
		||||
 | 
			
		||||
int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
 | 
			
		||||
			const EVP_MD *Hash, const unsigned char *EM, int sLen);
 | 
			
		||||
int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
 | 
			
		||||
			const unsigned char *mHash,
 | 
			
		||||
			const EVP_MD *Hash, int sLen);
 | 
			
		||||
 | 
			
		||||
int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
 | 
			
		||||
	CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 | 
			
		||||
int RSA_set_ex_data(RSA *r,int idx,void *arg);
 | 
			
		||||
@@ -405,7 +411,7 @@ void ERR_load_RSA_strings(void);
 | 
			
		||||
#define RSA_R_NULL_BEFORE_BLOCK_MISSING			 113
 | 
			
		||||
#define RSA_R_N_DOES_NOT_EQUAL_P_Q			 127
 | 
			
		||||
#define RSA_R_OAEP_DECODING_ERROR			 121
 | 
			
		||||
#define RSA_R_ONE_CHECK_FAILED				 135
 | 
			
		||||
#define RSA_R_SLEN_RECOVERY_FAILED			 135
 | 
			
		||||
#define RSA_R_PADDING_CHECK_FAILED			 114
 | 
			
		||||
#define RSA_R_P_NOT_PRIME				 128
 | 
			
		||||
#define RSA_R_Q_NOT_PRIME				 129
 | 
			
		||||
@@ -415,7 +421,7 @@ void ERR_load_RSA_strings(void);
 | 
			
		||||
#define RSA_R_UNKNOWN_ALGORITHM_TYPE			 117
 | 
			
		||||
#define RSA_R_UNKNOWN_PADDING_TYPE			 118
 | 
			
		||||
#define RSA_R_WRONG_SIGNATURE_LENGTH			 119
 | 
			
		||||
#define RSA_R_ZERO_CHECK_FAILED				 136
 | 
			
		||||
#define RSA_R_SLEN_CHECK_FAILED				 136
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -141,7 +141,7 @@ static ERR_STRING_DATA RSA_str_reasons[]=
 | 
			
		||||
{ERR_REASON(RSA_R_NULL_BEFORE_BLOCK_MISSING),"null before block missing"},
 | 
			
		||||
{ERR_REASON(RSA_R_N_DOES_NOT_EQUAL_P_Q)  ,"n does not equal p q"},
 | 
			
		||||
{ERR_REASON(RSA_R_OAEP_DECODING_ERROR)   ,"oaep decoding error"},
 | 
			
		||||
{ERR_REASON(RSA_R_ONE_CHECK_FAILED)      ,"one check failed"},
 | 
			
		||||
{ERR_REASON(RSA_R_SLEN_RECOVERY_FAILED)  ,"salt length recovery failed"},
 | 
			
		||||
{ERR_REASON(RSA_R_PADDING_CHECK_FAILED)  ,"padding check failed"},
 | 
			
		||||
{ERR_REASON(RSA_R_P_NOT_PRIME)           ,"p not prime"},
 | 
			
		||||
{ERR_REASON(RSA_R_Q_NOT_PRIME)           ,"q not prime"},
 | 
			
		||||
@@ -151,7 +151,7 @@ static ERR_STRING_DATA RSA_str_reasons[]=
 | 
			
		||||
{ERR_REASON(RSA_R_UNKNOWN_ALGORITHM_TYPE),"unknown algorithm type"},
 | 
			
		||||
{ERR_REASON(RSA_R_UNKNOWN_PADDING_TYPE)  ,"unknown padding type"},
 | 
			
		||||
{ERR_REASON(RSA_R_WRONG_SIGNATURE_LENGTH),"wrong signature length"},
 | 
			
		||||
{ERR_REASON(RSA_R_ZERO_CHECK_FAILED)     ,"zero check failed"},
 | 
			
		||||
{ERR_REASON(RSA_R_SLEN_CHECK_FAILED)     ,"salt length check failed"},
 | 
			
		||||
{0,NULL}
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -402,6 +402,11 @@ BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *in_ctx)
 | 
			
		||||
 | 
			
		||||
	ret = BN_BLINDING_create_param(NULL, e, rsa->n, ctx,
 | 
			
		||||
			rsa->meth->bn_mod_exp, rsa->_method_mod_n);
 | 
			
		||||
	if (ret == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_SETUP_BLINDING, ERR_R_BN_LIB);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	BN_BLINDING_set_thread_id(ret, CRYPTO_thread_id());
 | 
			
		||||
err:
 | 
			
		||||
	BN_CTX_end(ctx);
 | 
			
		||||
 
 | 
			
		||||
@@ -71,15 +71,40 @@ int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
 | 
			
		||||
	{
 | 
			
		||||
	int i;
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	int hLen, maskedDBLen, emBits, emLen;
 | 
			
		||||
	int hLen, maskedDBLen, MSBits, emLen;
 | 
			
		||||
	const unsigned char *H;
 | 
			
		||||
	unsigned char *DB = NULL;
 | 
			
		||||
	EVP_MD_CTX ctx;
 | 
			
		||||
	unsigned char H_[EVP_MAX_MD_SIZE];
 | 
			
		||||
	emBits = BN_num_bits(rsa->n) - 1;
 | 
			
		||||
	emLen = (emBits + 7) >> 3;
 | 
			
		||||
 | 
			
		||||
	hLen = EVP_MD_size(Hash);
 | 
			
		||||
	if (emLen < (hLen + sLen + 2))
 | 
			
		||||
	/*
 | 
			
		||||
	 * Negative sLen has special meanings:
 | 
			
		||||
	 *	-1	sLen == hLen
 | 
			
		||||
	 *	-2	salt length is autorecovered from signature
 | 
			
		||||
	 *	-N	reserved
 | 
			
		||||
	 */
 | 
			
		||||
	if      (sLen == -1)	sLen = hLen;
 | 
			
		||||
	else if (sLen == -2)	sLen = -2;
 | 
			
		||||
	else if (sLen < -2)
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_SLEN_CHECK_FAILED);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	MSBits = (BN_num_bits(rsa->n) - 1) & 0x7;
 | 
			
		||||
	emLen = RSA_size(rsa);
 | 
			
		||||
	if (EM[0] & (0xFF << MSBits))
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_FIRST_OCTET_INVALID);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if (MSBits == 0)
 | 
			
		||||
		{
 | 
			
		||||
		EM++;
 | 
			
		||||
		emLen--;
 | 
			
		||||
		}
 | 
			
		||||
	if (emLen < (hLen + sLen + 2)) /* sLen can be small negative */
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_DATA_TOO_LARGE);
 | 
			
		||||
		goto err;
 | 
			
		||||
@@ -89,11 +114,6 @@ int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_LAST_OCTET_INVALID);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if (EM[0] & (0xFF << (emBits & 0x7)))
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_FIRST_OCTET_INVALID);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	maskedDBLen = emLen - hLen - 1;
 | 
			
		||||
	H = EM + maskedDBLen;
 | 
			
		||||
	DB = OPENSSL_malloc(maskedDBLen);
 | 
			
		||||
@@ -105,27 +125,25 @@ int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
 | 
			
		||||
	PKCS1_MGF1(DB, maskedDBLen, H, hLen, Hash);
 | 
			
		||||
	for (i = 0; i < maskedDBLen; i++)
 | 
			
		||||
		DB[i] ^= EM[i];
 | 
			
		||||
	DB[0] &= 0xFF >> (8 - (emBits & 0x7));
 | 
			
		||||
	for (i = 0; i < (emLen - hLen - sLen - 2); i++)
 | 
			
		||||
	if (MSBits)
 | 
			
		||||
		DB[0] &= 0xFF >> (8 - MSBits);
 | 
			
		||||
	for (i = 0; DB[i] == 0 && i < (maskedDBLen-1); i++) ;
 | 
			
		||||
	if (DB[i++] != 0x1)
 | 
			
		||||
		{
 | 
			
		||||
		if (DB[i] != 0)	
 | 
			
		||||
			{
 | 
			
		||||
			RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS,
 | 
			
		||||
						RSA_R_ZERO_CHECK_FAILED);
 | 
			
		||||
			goto err;
 | 
			
		||||
			}
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_SLEN_RECOVERY_FAILED);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	if (DB[i] != 0x1)
 | 
			
		||||
	if (sLen >= 0 && (maskedDBLen - i) != sLen)
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_ONE_CHECK_FAILED);
 | 
			
		||||
		RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_SLEN_CHECK_FAILED);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	EVP_MD_CTX_init(&ctx);
 | 
			
		||||
	EVP_DigestInit_ex(&ctx, Hash, NULL);
 | 
			
		||||
	EVP_DigestUpdate(&ctx, zeroes, sizeof zeroes);
 | 
			
		||||
	EVP_DigestUpdate(&ctx, mHash, hLen);
 | 
			
		||||
	if (sLen)
 | 
			
		||||
		EVP_DigestUpdate(&ctx, DB + maskedDBLen - sLen, sLen);
 | 
			
		||||
	if (maskedDBLen - i)
 | 
			
		||||
		EVP_DigestUpdate(&ctx, DB + i, maskedDBLen - i);
 | 
			
		||||
	EVP_DigestFinal(&ctx, H_, NULL);
 | 
			
		||||
	EVP_MD_CTX_cleanup(&ctx);
 | 
			
		||||
	if (memcmp(H_, H, hLen))
 | 
			
		||||
@@ -150,15 +168,37 @@ int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
 | 
			
		||||
	{
 | 
			
		||||
	int i;
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	int hLen, maskedDBLen, emBits, emLen;
 | 
			
		||||
	int hLen, maskedDBLen, MSBits, emLen;
 | 
			
		||||
	unsigned char *H, *salt = NULL, *p;
 | 
			
		||||
	EVP_MD_CTX ctx;
 | 
			
		||||
	emBits = BN_num_bits(rsa->n) - 1;
 | 
			
		||||
	emLen = (emBits + 7) >> 3;
 | 
			
		||||
 | 
			
		||||
	hLen = EVP_MD_size(Hash);
 | 
			
		||||
	if (sLen < 0)
 | 
			
		||||
		sLen = 0;
 | 
			
		||||
	if (emLen < (hLen + sLen + 2))
 | 
			
		||||
	/*
 | 
			
		||||
	 * Negative sLen has special meanings:
 | 
			
		||||
	 *	-1	sLen == hLen
 | 
			
		||||
	 *	-2	salt length is maximized
 | 
			
		||||
	 *	-N	reserved
 | 
			
		||||
	 */
 | 
			
		||||
	if      (sLen == -1)	sLen = hLen;
 | 
			
		||||
	else if (sLen == -2)	sLen = -2;
 | 
			
		||||
	else if (sLen < -2)
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_PADDING_ADD_PKCS1_PSS, RSA_R_SLEN_CHECK_FAILED);
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	MSBits = (BN_num_bits(rsa->n) - 1) & 0x7;
 | 
			
		||||
	emLen = RSA_size(rsa);
 | 
			
		||||
	if (MSBits == 0)
 | 
			
		||||
		{
 | 
			
		||||
		*EM++ = 0;
 | 
			
		||||
		emLen--;
 | 
			
		||||
		}
 | 
			
		||||
	if (sLen == -2)
 | 
			
		||||
		{
 | 
			
		||||
		sLen = emLen - hLen - 2;
 | 
			
		||||
		}
 | 
			
		||||
	else if (emLen < (hLen + sLen + 2))
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_PADDING_ADD_PKCS1_PSS,
 | 
			
		||||
		   RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
 | 
			
		||||
@@ -203,7 +243,8 @@ int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
 | 
			
		||||
		for (i = 0; i < sLen; i++)
 | 
			
		||||
			*p++ ^= salt[i];
 | 
			
		||||
		}
 | 
			
		||||
	EM[0] &= 0xFF >> (8 - (emBits & 0x7));
 | 
			
		||||
	if (MSBits)
 | 
			
		||||
		EM[0] &= 0xFF >> (8 - MSBits);
 | 
			
		||||
 | 
			
		||||
	/* H is already in place so just set final 0xbc */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -105,7 +105,7 @@ int RSA_padding_add_X931(unsigned char *to, int tlen,
 | 
			
		||||
int RSA_padding_check_X931(unsigned char *to, int tlen,
 | 
			
		||||
	     const unsigned char *from, int flen, int num)
 | 
			
		||||
	{
 | 
			
		||||
	int i,j;
 | 
			
		||||
	int i = 0,j;
 | 
			
		||||
	const unsigned char *p;
 | 
			
		||||
 | 
			
		||||
	p=from;
 | 
			
		||||
@@ -115,9 +115,9 @@ int RSA_padding_check_X931(unsigned char *to, int tlen,
 | 
			
		||||
		return -1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	j=flen-3;
 | 
			
		||||
	if (*p++ == 0x6B)
 | 
			
		||||
		{
 | 
			
		||||
		j=flen-3;
 | 
			
		||||
		for (i = 0; i < j; i++)
 | 
			
		||||
			{
 | 
			
		||||
			unsigned char c = *p++;
 | 
			
		||||
@@ -130,15 +130,17 @@ int RSA_padding_check_X931(unsigned char *to, int tlen,
 | 
			
		||||
				return -1;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	j -= i;
 | 
			
		||||
		j -= i;
 | 
			
		||||
 | 
			
		||||
		if (i == 0)
 | 
			
		||||
			{
 | 
			
		||||
			RSAerr(RSA_F_RSA_PADDING_CHECK_X931, RSA_R_INVALID_PADDING);
 | 
			
		||||
			return -1;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
	if (i == 0)
 | 
			
		||||
		{
 | 
			
		||||
		RSAerr(RSA_F_RSA_PADDING_CHECK_X931, RSA_R_INVALID_PADDING);
 | 
			
		||||
		return -1;
 | 
			
		||||
		}
 | 
			
		||||
	else j = flen - 2;
 | 
			
		||||
 | 
			
		||||
	if (p[j] != 0xCC)
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#if !defined(OPENSSL_NO_SHA1) && !defined(OPENSSL_NO_SHA)
 | 
			
		||||
 | 
			
		||||
#undef  SHA_0
 | 
			
		||||
 
 | 
			
		||||
@@ -4,12 +4,12 @@
 | 
			
		||||
 * according to the OpenSSL license [found in ../../LICENSE].
 | 
			
		||||
 * ====================================================================
 | 
			
		||||
 */
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA256)
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#include <openssl/crypto.h>
 | 
			
		||||
#include <openssl/sha.h>
 | 
			
		||||
#include <openssl/opensslv.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@
 | 
			
		||||
 * according to the OpenSSL license [found in ../../LICENSE].
 | 
			
		||||
 * ====================================================================
 | 
			
		||||
 */
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA512)
 | 
			
		||||
/*
 | 
			
		||||
 * IMPLEMENTATION NOTES.
 | 
			
		||||
@@ -43,7 +44,6 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#include <openssl/crypto.h>
 | 
			
		||||
#include <openssl/sha.h>
 | 
			
		||||
#include <openssl/opensslv.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#if !defined(OPENSSL_NO_SHA0) && !defined(OPENSSL_NO_SHA)
 | 
			
		||||
 | 
			
		||||
#undef  SHA_1
 | 
			
		||||
 
 | 
			
		||||
@@ -115,17 +115,19 @@
 | 
			
		||||
# endif
 | 
			
		||||
 | 
			
		||||
# ifdef SHA1_ASM
 | 
			
		||||
#  if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
 | 
			
		||||
#   define sha1_block_host_order		sha1_block_asm_host_order
 | 
			
		||||
#   define DONT_IMPLEMENT_BLOCK_HOST_ORDER
 | 
			
		||||
#   define sha1_block_data_order		sha1_block_asm_data_order
 | 
			
		||||
#   define DONT_IMPLEMENT_BLOCK_DATA_ORDER
 | 
			
		||||
#   define HASH_BLOCK_DATA_ORDER_ALIGNED	sha1_block_asm_data_order
 | 
			
		||||
#  elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
 | 
			
		||||
#   define sha1_block_host_order		sha1_block_asm_host_order
 | 
			
		||||
#   define DONT_IMPLEMENT_BLOCK_HOST_ORDER
 | 
			
		||||
#   define sha1_block_data_order		sha1_block_asm_data_order
 | 
			
		||||
#   define DONT_IMPLEMENT_BLOCK_DATA_ORDER
 | 
			
		||||
#  if !defined(B_ENDIAN)
 | 
			
		||||
#   if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
 | 
			
		||||
#    define sha1_block_host_order		sha1_block_asm_host_order
 | 
			
		||||
#    define DONT_IMPLEMENT_BLOCK_HOST_ORDER
 | 
			
		||||
#    define sha1_block_data_order		sha1_block_asm_data_order
 | 
			
		||||
#    define DONT_IMPLEMENT_BLOCK_DATA_ORDER
 | 
			
		||||
#    define HASH_BLOCK_DATA_ORDER_ALIGNED	sha1_block_asm_data_order
 | 
			
		||||
#   elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
 | 
			
		||||
#    define sha1_block_host_order		sha1_block_asm_host_order
 | 
			
		||||
#    define DONT_IMPLEMENT_BLOCK_HOST_ORDER
 | 
			
		||||
#    define sha1_block_data_order		sha1_block_asm_data_order
 | 
			
		||||
#    define DONT_IMPLEMENT_BLOCK_DATA_ORDER
 | 
			
		||||
#   endif
 | 
			
		||||
#  endif
 | 
			
		||||
# endif
 | 
			
		||||
  void sha1_block_host_order (SHA_CTX *c, const void *p,size_t num);
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,9 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <openssl/bn.h>
 | 
			
		||||
#include <openssl/err.h>
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
#include <openssl/engine.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <openssl/sha.h>
 | 
			
		||||
#include <openssl/x509.h>
 | 
			
		||||
#include "str_locl.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -114,7 +114,7 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
 | 
			
		||||
	{
 | 
			
		||||
	int ret=0;
 | 
			
		||||
	BY_DIR *ld;
 | 
			
		||||
	char *dir;
 | 
			
		||||
	char *dir = NULL;
 | 
			
		||||
 | 
			
		||||
	ld=(BY_DIR *)ctx->method_data;
 | 
			
		||||
 | 
			
		||||
@@ -123,17 +123,16 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
 | 
			
		||||
	case X509_L_ADD_DIR:
 | 
			
		||||
		if (argl == X509_FILETYPE_DEFAULT)
 | 
			
		||||
			{
 | 
			
		||||
			ret=add_cert_dir(ld,X509_get_default_cert_dir(),
 | 
			
		||||
				X509_FILETYPE_PEM);
 | 
			
		||||
			dir=(char *)Getenv(X509_get_default_cert_dir_env());
 | 
			
		||||
			if (dir)
 | 
			
		||||
				ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM);
 | 
			
		||||
			else
 | 
			
		||||
				ret=add_cert_dir(ld,X509_get_default_cert_dir(),
 | 
			
		||||
					X509_FILETYPE_PEM);
 | 
			
		||||
			if (!ret)
 | 
			
		||||
				{
 | 
			
		||||
				X509err(X509_F_DIR_CTRL,X509_R_LOADING_CERT_DIR);
 | 
			
		||||
				}
 | 
			
		||||
			else
 | 
			
		||||
				{
 | 
			
		||||
				dir=(char *)Getenv(X509_get_default_cert_dir_env());
 | 
			
		||||
				ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			ret=add_cert_dir(ld,argp,(int)argl);
 | 
			
		||||
 
 | 
			
		||||
@@ -1081,7 +1081,7 @@ int X509_cmp_time(ASN1_TIME *ctm, time_t *cmp_time)
 | 
			
		||||
		offset=0;
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if ((*str != '+') && (str[5] != '-'))
 | 
			
		||||
		if ((*str != '+') && (*str != '-'))
 | 
			
		||||
			return 0;
 | 
			
		||||
		offset=((str[1]-'0')*10+(str[2]-'0'))*60;
 | 
			
		||||
		offset+=(str[3]-'0')*10+(str[4]-'0');
 | 
			
		||||
 
 | 
			
		||||
@@ -113,8 +113,8 @@ static X509V3_EXT_METHOD *standard_exts[] = {
 | 
			
		||||
&v3_crl_hold,
 | 
			
		||||
#endif
 | 
			
		||||
&v3_pci,
 | 
			
		||||
&v3_policy_mappings,
 | 
			
		||||
&v3_name_constraints,
 | 
			
		||||
&v3_policy_mappings,
 | 
			
		||||
&v3_inhibit_anyp
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -70,8 +70,8 @@ print<<___ if(!defined($win64a));
 | 
			
		||||
.align	16
 | 
			
		||||
OPENSSL_rdtsc:
 | 
			
		||||
	rdtsc
 | 
			
		||||
	shl	\$32,%rdx
 | 
			
		||||
	or	%rdx,%rax
 | 
			
		||||
	shlq	\$32,%rdx
 | 
			
		||||
	orq	%rdx,%rax
 | 
			
		||||
	ret
 | 
			
		||||
.size	OPENSSL_rdtsc,.-OPENSSL_rdtsc
 | 
			
		||||
 | 
			
		||||
@@ -80,11 +80,11 @@ OPENSSL_rdtsc:
 | 
			
		||||
.align	16
 | 
			
		||||
OPENSSL_atomic_add:
 | 
			
		||||
	movl	(%rdi),%eax
 | 
			
		||||
.Lspin:	lea	(%rsi,%rax),%r8
 | 
			
		||||
lock;	cmpxchg	%r8d,(%rdi)
 | 
			
		||||
.Lspin:	leaq	(%rsi,%rax),%r8
 | 
			
		||||
lock;	cmpxchgl	%r8d,(%rdi)
 | 
			
		||||
	jne	.Lspin
 | 
			
		||||
	mov	%r8d,%eax
 | 
			
		||||
	cdqe
 | 
			
		||||
	movl	%r8d,%eax
 | 
			
		||||
	.byte	0x48,0x98
 | 
			
		||||
	ret
 | 
			
		||||
.size	OPENSSL_atomic_add,.-OPENSSL_atomic_add
 | 
			
		||||
 | 
			
		||||
@@ -108,28 +108,28 @@ OPENSSL_wipe_cpu:
 | 
			
		||||
	pxor	%xmm13,%xmm13
 | 
			
		||||
	pxor	%xmm14,%xmm14
 | 
			
		||||
	pxor	%xmm15,%xmm15
 | 
			
		||||
	xor	%rcx,%rcx
 | 
			
		||||
	xor	%rdx,%rdx
 | 
			
		||||
	xor	%rsi,%rsi
 | 
			
		||||
	xor	%rdi,%rdi
 | 
			
		||||
	xor	%r8,%r8
 | 
			
		||||
	xor	%r9,%r9
 | 
			
		||||
	xor	%r10,%r10
 | 
			
		||||
	xor	%r11,%r11
 | 
			
		||||
	lea	8(%rsp),%rax
 | 
			
		||||
	xorq	%rcx,%rcx
 | 
			
		||||
	xorq	%rdx,%rdx
 | 
			
		||||
	xorq	%rsi,%rsi
 | 
			
		||||
	xorq	%rdi,%rdi
 | 
			
		||||
	xorq	%r8,%r8
 | 
			
		||||
	xorq	%r9,%r9
 | 
			
		||||
	xorq	%r10,%r10
 | 
			
		||||
	xorq	%r11,%r11
 | 
			
		||||
	leaq	8(%rsp),%rax
 | 
			
		||||
	ret
 | 
			
		||||
.size	OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
 | 
			
		||||
 | 
			
		||||
.globl	OPENSSL_ia32_cpuid
 | 
			
		||||
.align	16
 | 
			
		||||
OPENSSL_ia32_cpuid:
 | 
			
		||||
	mov	%rbx,%r8
 | 
			
		||||
	mov	\$1,%eax
 | 
			
		||||
	movq	%rbx,%r8
 | 
			
		||||
	movl	\$1,%eax
 | 
			
		||||
	cpuid
 | 
			
		||||
	shl	\$32,%rcx
 | 
			
		||||
	mov	%edx,%eax
 | 
			
		||||
	mov	%r8,%rbx
 | 
			
		||||
	or	%rcx,%rax
 | 
			
		||||
	shlq	\$32,%rcx
 | 
			
		||||
	movl	%edx,%eax
 | 
			
		||||
	movq	%r8,%rbx
 | 
			
		||||
	orq	%rcx,%rax
 | 
			
		||||
	ret
 | 
			
		||||
.size	OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -130,9 +130,8 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
 | 
			
		||||
		&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	();
 | 
			
		||||
	# just a bunch of fldz to zap the fp/mm bank followed by finit...
 | 
			
		||||
	&data_word(0xeed9eed9,0xeed9eed9,0xeed9eed9,0xeed9eed9,0x90e3db9b);
 | 
			
		||||
&set_label("no_x87");
 | 
			
		||||
	&lea	("eax",&DWP(4,"esp"));
 | 
			
		||||
	&ret	();
 | 
			
		||||
 
 | 
			
		||||
@@ -211,9 +211,9 @@ Blowfish and RC5 algorithms use a 128 bit key.
 | 
			
		||||
 | 
			
		||||
 rc2-cbc            128 bit RC2 in CBC mode
 | 
			
		||||
 rc2                Alias for rc2-cbc
 | 
			
		||||
 rc2-cfb            128 bit RC2 in CBC mode
 | 
			
		||||
 rc2-ecb            128 bit RC2 in CBC mode
 | 
			
		||||
 rc2-ofb            128 bit RC2 in CBC mode
 | 
			
		||||
 rc2-cfb            128 bit RC2 in CFB mode
 | 
			
		||||
 rc2-ecb            128 bit RC2 in ECB mode
 | 
			
		||||
 rc2-ofb            128 bit RC2 in OFB mode
 | 
			
		||||
 rc2-64-cbc         64 bit RC2 in CBC mode
 | 
			
		||||
 rc2-40-cbc         40 bit RC2 in CBC mode
 | 
			
		||||
 | 
			
		||||
@@ -223,9 +223,9 @@ Blowfish and RC5 algorithms use a 128 bit key.
 | 
			
		||||
 | 
			
		||||
 rc5-cbc            RC5 cipher in CBC mode
 | 
			
		||||
 rc5                Alias for rc5-cbc
 | 
			
		||||
 rc5-cfb            RC5 cipher in CBC mode
 | 
			
		||||
 rc5-ecb            RC5 cipher in CBC mode
 | 
			
		||||
 rc5-ofb            RC5 cipher in CBC mode
 | 
			
		||||
 rc5-cfb            RC5 cipher in CFB mode
 | 
			
		||||
 rc5-ecb            RC5 cipher in ECB mode
 | 
			
		||||
 rc5-ofb            RC5 cipher in OFB mode
 | 
			
		||||
 | 
			
		||||
=head1 EXAMPLES
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -442,8 +442,8 @@ will only recognize the last value. This can be worked around by using the form:
 | 
			
		||||
 | 
			
		||||
The X509v3 extension code was first added to OpenSSL 0.9.2.
 | 
			
		||||
 | 
			
		||||
Policy mappings, name constraints, inhibit any policy and name
 | 
			
		||||
constraints support was added in OpenSSL 0.9.8
 | 
			
		||||
Policy mappings, inhibit any policy and name constraints support was added in
 | 
			
		||||
OpenSSL 0.9.8
 | 
			
		||||
 | 
			
		||||
The B<directoryName> and B<otherName> option as well as the B<ASN1> option
 | 
			
		||||
for arbitrary extensions was added in OpenSSL 0.9.8
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
OPENSSL_Applink
 | 
			
		||||
OPENSSL_Applink - glue between OpenSSL BIO and Win32 compiler run-time
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ calls OPENSSL_add_all_algorithms() by compiling an application with the
 | 
			
		||||
preprocessor symbol B<OPENSSL_LOAD_CONF> #define'd. In this way configuration
 | 
			
		||||
can be added without source changes.
 | 
			
		||||
 | 
			
		||||
The environment variable B<OPENSSL_CONFIG> can be set to specify the location
 | 
			
		||||
The environment variable B<OPENSSL_CONF> can be set to specify the location
 | 
			
		||||
of the configuration file.
 | 
			
		||||
 
 | 
			
		||||
Currently ASN1 OBJECTs and ENGINE configuration can be performed future
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
OPENSSL_ia32cap
 | 
			
		||||
OPENSSL_ia32cap - finding the IA-32 processor capabilities
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user