Compare commits
	
		
			1288 Commits
		
	
	
		
			OpenSSL_0_
			...
			OpenSSL-fi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d1321464f6 | ||
| 
						 | 
					a0055fbef4 | ||
| 
						 | 
					2f9048b8a1 | ||
| 
						 | 
					d73ed541db | ||
| 
						 | 
					e6e5592a50 | ||
| 
						 | 
					663bbb6367 | ||
| 
						 | 
					98ced05c56 | ||
| 
						 | 
					5b75e1cff4 | ||
| 
						 | 
					f36a8c2060 | ||
| 
						 | 
					90ac9ec264 | ||
| 
						 | 
					fe5c4c885b | ||
| 
						 | 
					1950e8acea | ||
| 
						 | 
					437bafa5cc | ||
| 
						 | 
					7c78f06301 | ||
| 
						 | 
					b27278d0cf | ||
| 
						 | 
					24a69a8196 | ||
| 
						 | 
					b3049d696b | ||
| 
						 | 
					77b265f48c | ||
| 
						 | 
					735b9eeed5 | ||
| 
						 | 
					67c31c4b61 | ||
| 
						 | 
					0406ce2646 | ||
| 
						 | 
					76108ba7eb | ||
| 
						 | 
					4d27e3d339 | ||
| 
						 | 
					7d59e441ca | ||
| 
						 | 
					3e3c47d5d5 | ||
| 
						 | 
					03b7b4690c | ||
| 
						 | 
					0fd9322af1 | ||
| 
						 | 
					7016b1952e | ||
| 
						 | 
					ff3e014820 | ||
| 
						 | 
					50cd0f0eb3 | ||
| 
						 | 
					32098b7565 | ||
| 
						 | 
					bf4131fbf9 | ||
| 
						 | 
					2ac869590f | ||
| 
						 | 
					4742bc0f6f | ||
| 
						 | 
					02e483d236 | ||
| 
						 | 
					1a58139aaa | ||
| 
						 | 
					a32f4770e9 | ||
| 
						 | 
					086d475ffb | ||
| 
						 | 
					7f1288da93 | ||
| 
						 | 
					0a6e92a88f | ||
| 
						 | 
					36eaa70621 | ||
| 
						 | 
					d7dc9a7ce3 | ||
| 
						 | 
					319e19db9c | ||
| 
						 | 
					ef85b85b12 | ||
| 
						 | 
					4d4d27a2a0 | ||
| 
						 | 
					8f0d89092e | ||
| 
						 | 
					c4a2cab0bb | ||
| 
						 | 
					6d73d35f4f | ||
| 
						 | 
					f53e66af67 | ||
| 
						 | 
					5cbe626d26 | ||
| 
						 | 
					fe93a60b00 | ||
| 
						 | 
					5e10ca5618 | ||
| 
						 | 
					4e8da09800 | ||
| 
						 | 
					203ae57fe0 | ||
| 
						 | 
					529c33f1e8 | ||
| 
						 | 
					af18a34478 | ||
| 
						 | 
					da5c0127ac | ||
| 
						 | 
					ce0e12d29a | ||
| 
						 | 
					87339c6290 | ||
| 
						 | 
					0a22e7446b | ||
| 
						 | 
					b56cb7c6ea | ||
| 
						 | 
					cd5ab329f2 | ||
| 
						 | 
					80106dc5fb | ||
| 
						 | 
					0fa79cbe17 | ||
| 
						 | 
					be22102d82 | ||
| 
						 | 
					1ad95f8217 | ||
| 
						 | 
					5f1211834f | ||
| 
						 | 
					28feb1f8da | ||
| 
						 | 
					9596d1e63b | ||
| 
						 | 
					626bebeede | ||
| 
						 | 
					dfe42a131f | ||
| 
						 | 
					1970bc2703 | ||
| 
						 | 
					08debe11f8 | ||
| 
						 | 
					9c7e058216 | ||
| 
						 | 
					b01e8b2063 | ||
| 
						 | 
					100868d1cf | ||
| 
						 | 
					0712210f03 | ||
| 
						 | 
					8431a6aaf5 | ||
| 
						 | 
					2b4a783f66 | ||
| 
						 | 
					25df4a81cc | ||
| 
						 | 
					23830280e4 | ||
| 
						 | 
					bfdfc67b01 | ||
| 
						 | 
					4764a0543d | ||
| 
						 | 
					d92b0efbb8 | ||
| 
						 | 
					b329cc2410 | ||
| 
						 | 
					ed31fe68ff | ||
| 
						 | 
					8fa41c6696 | ||
| 
						 | 
					707a028c8b | ||
| 
						 | 
					9593bc46bf | ||
| 
						 | 
					5c65d38219 | ||
| 
						 | 
					1b8b2d9300 | ||
| 
						 | 
					4e1778b0d8 | ||
| 
						 | 
					982c67fbaa | ||
| 
						 | 
					2ef2463643 | ||
| 
						 | 
					585eb117d4 | ||
| 
						 | 
					7c27ac1030 | ||
| 
						 | 
					475631c31a | ||
| 
						 | 
					218ba8cb9d | ||
| 
						 | 
					e881c00515 | ||
| 
						 | 
					6c3fca2b10 | ||
| 
						 | 
					0225c7a41e | ||
| 
						 | 
					a334b0436d | ||
| 
						 | 
					af13a3949d | ||
| 
						 | 
					ffc35e73b4 | ||
| 
						 | 
					a197212e0f | ||
| 
						 | 
					8944220221 | ||
| 
						 | 
					5fd76ba57a | ||
| 
						 | 
					df50ec372e | ||
| 
						 | 
					49fa74385d | ||
| 
						 | 
					899f528c1a | ||
| 
						 | 
					5faa5a9476 | ||
| 
						 | 
					ddb0cb5bfd | ||
| 
						 | 
					b2d65cbac7 | ||
| 
						 | 
					6be8288928 | ||
| 
						 | 
					9fe07b7cf0 | ||
| 
						 | 
					0c86c87c60 | ||
| 
						 | 
					e20d6ef3d6 | ||
| 
						 | 
					27f50994ff | ||
| 
						 | 
					53c381105a | ||
| 
						 | 
					33d0ef8fde | ||
| 
						 | 
					b2acf7a572 | ||
| 
						 | 
					e8d2d9478d | ||
| 
						 | 
					23b3b61921 | ||
| 
						 | 
					d265676989 | ||
| 
						 | 
					69fc3dff96 | ||
| 
						 | 
					667731b635 | ||
| 
						 | 
					a416ca47ac | ||
| 
						 | 
					2714e2ac89 | ||
| 
						 | 
					1139eeecbc | ||
| 
						 | 
					1b936a5e37 | ||
| 
						 | 
					0cca0fe0c2 | ||
| 
						 | 
					56474376dc | ||
| 
						 | 
					3e511f167e | ||
| 
						 | 
					282af42404 | ||
| 
						 | 
					a81f337331 | ||
| 
						 | 
					1729dca9a8 | ||
| 
						 | 
					9719193222 | ||
| 
						 | 
					e6fa7c1276 | ||
| 
						 | 
					cf7053430d | ||
| 
						 | 
					ff03c6bc97 | ||
| 
						 | 
					82c8b6b74d | ||
| 
						 | 
					cb6fdc3a49 | ||
| 
						 | 
					8c3b5d5f27 | ||
| 
						 | 
					dc83f2e312 | ||
| 
						 | 
					6693e26927 | ||
| 
						 | 
					793364457b | ||
| 
						 | 
					6b05350495 | ||
| 
						 | 
					daec9a56a0 | ||
| 
						 | 
					5c77786a55 | ||
| 
						 | 
					42bc3582a9 | ||
| 
						 | 
					2050f6514f | ||
| 
						 | 
					5068d7dda4 | ||
| 
						 | 
					55768cf773 | ||
| 
						 | 
					6c69dcd9f5 | ||
| 
						 | 
					ad4297dd9c | ||
| 
						 | 
					aeb9ccfaad | ||
| 
						 | 
					79b335a4b5 | ||
| 
						 | 
					6fd3f3260d | ||
| 
						 | 
					d9e262443c | ||
| 
						 | 
					51c3bb3b98 | ||
| 
						 | 
					7d608f9e32 | ||
| 
						 | 
					295de18c8a | ||
| 
						 | 
					3370b694b9 | ||
| 
						 | 
					3380c52f15 | ||
| 
						 | 
					1364e6f1ac | ||
| 
						 | 
					c5ac2aa62c | ||
| 
						 | 
					392a0345de | ||
| 
						 | 
					5c2fc73e7b | ||
| 
						 | 
					402b951804 | ||
| 
						 | 
					5848d13fed | ||
| 
						 | 
					5dd24ead57 | ||
| 
						 | 
					d2cb94952a | ||
| 
						 | 
					0615396d2d | ||
| 
						 | 
					82877ea449 | ||
| 
						 | 
					81fae49db9 | ||
| 
						 | 
					74ff8dc975 | ||
| 
						 | 
					ac319217d0 | ||
| 
						 | 
					cdb13ae8d0 | ||
| 
						 | 
					ab700807d9 | ||
| 
						 | 
					744b91bb9f | ||
| 
						 | 
					d69f85bf15 | ||
| 
						 | 
					52ee969e29 | ||
| 
						 | 
					55f0501201 | ||
| 
						 | 
					b2710ee19a | ||
| 
						 | 
					bbfcc4724d | ||
| 
						 | 
					c31cc72d79 | ||
| 
						 | 
					d1049ad93e | ||
| 
						 | 
					5f4cc234fb | ||
| 
						 | 
					d31a13953c | ||
| 
						 | 
					28f5873179 | ||
| 
						 | 
					8f813338f1 | ||
| 
						 | 
					6555dfa486 | ||
| 
						 | 
					5eee0253e5 | ||
| 
						 | 
					594c723f98 | ||
| 
						 | 
					f418265865 | ||
| 
						 | 
					53707e2eec | ||
| 
						 | 
					fde794e898 | ||
| 
						 | 
					082f19b42d | ||
| 
						 | 
					e31c620686 | ||
| 
						 | 
					dcc309548e | ||
| 
						 | 
					570253315f | ||
| 
						 | 
					8eae0ff0f7 | ||
| 
						 | 
					5dcdac6e4e | ||
| 
						 | 
					5c4a07551e | ||
| 
						 | 
					eea3fce854 | ||
| 
						 | 
					215c49d032 | ||
| 
						 | 
					923df53e25 | ||
| 
						 | 
					b443a0ea5d | ||
| 
						 | 
					1a684d0020 | ||
| 
						 | 
					1f4a5a3339 | ||
| 
						 | 
					dc3b721fa0 | ||
| 
						 | 
					4479ce9c1c | ||
| 
						 | 
					4a0d3530e0 | ||
| 
						 | 
					9907d2992d | ||
| 
						 | 
					20fb51b1a7 | ||
| 
						 | 
					551bfa60e0 | ||
| 
						 | 
					9d9224f184 | ||
| 
						 | 
					78d4d87e39 | ||
| 
						 | 
					6211633273 | ||
| 
						 | 
					3a4cf918bf | ||
| 
						 | 
					e25eb309ec | ||
| 
						 | 
					ffa2b2aa7d | ||
| 
						 | 
					a77a95584d | ||
| 
						 | 
					68bb98159f | ||
| 
						 | 
					8e6905d238 | ||
| 
						 | 
					1a8521ff24 | ||
| 
						 | 
					9d5460d72d | ||
| 
						 | 
					35e59297fc | ||
| 
						 | 
					9b945233b1 | ||
| 
						 | 
					b065dc2eee | ||
| 
						 | 
					66c4bb1a70 | ||
| 
						 | 
					36abe6fe61 | ||
| 
						 | 
					3c786aa6c8 | ||
| 
						 | 
					e5cce6d356 | ||
| 
						 | 
					723b7d81e4 | ||
| 
						 | 
					a3ddd7358b | ||
| 
						 | 
					45c027f31f | ||
| 
						 | 
					3b62e9eb0d | ||
| 
						 | 
					34a8c7ec87 | ||
| 
						 | 
					d4a6240005 | ||
| 
						 | 
					5c6f76da0a | ||
| 
						 | 
					4636341b05 | ||
| 
						 | 
					be3b770d8f | ||
| 
						 | 
					af32387b3f | ||
| 
						 | 
					115fc340cb | ||
| 
						 | 
					900f7a8776 | ||
| 
						 | 
					4877e30504 | ||
| 
						 | 
					4656ec3852 | ||
| 
						 | 
					e336441197 | ||
| 
						 | 
					20d6182f33 | ||
| 
						 | 
					aa145866f9 | ||
| 
						 | 
					fdff41e166 | ||
| 
						 | 
					07b4bc3979 | ||
| 
						 | 
					0c66d3ae37 | ||
| 
						 | 
					bd869183d5 | ||
| 
						 | 
					7e2bf83100 | ||
| 
						 | 
					25e52a78fb | ||
| 
						 | 
					47c4bb2ddf | ||
| 
						 | 
					951dfbb13a | ||
| 
						 | 
					81780a3b62 | ||
| 
						 | 
					c574d0cdf2 | ||
| 
						 | 
					c987c3f999 | ||
| 
						 | 
					1a5e414863 | ||
| 
						 | 
					ec3639385e | ||
| 
						 | 
					f01cfca6a4 | ||
| 
						 | 
					7d5af5e0fa | ||
| 
						 | 
					8fdb296cbd | ||
| 
						 | 
					879b30aaa3 | ||
| 
						 | 
					40ddcb717a | ||
| 
						 | 
					da1841a075 | ||
| 
						 | 
					0a0a10d127 | ||
| 
						 | 
					df20b6e79b | ||
| 
						 | 
					f4f1dc39e0 | ||
| 
						 | 
					340b4dd7df | ||
| 
						 | 
					4b9dcd821f | ||
| 
						 | 
					669c5c9380 | ||
| 
						 | 
					7f9aa6c59b | ||
| 
						 | 
					d9c06b56ca | ||
| 
						 | 
					d045e1d77e | ||
| 
						 | 
					6d14cc7ec1 | ||
| 
						 | 
					eb499b2854 | ||
| 
						 | 
					65a82ef6d7 | ||
| 
						 | 
					616f581650 | ||
| 
						 | 
					57e802656f | ||
| 
						 | 
					5d7f15daf8 | ||
| 
						 | 
					ec67e3b7e4 | ||
| 
						 | 
					0d3ff3c073 | ||
| 
						 | 
					325e48867c | ||
| 
						 | 
					8de95bc05b | ||
| 
						 | 
					5e3003bb52 | ||
| 
						 | 
					e6e3f38bfa | ||
| 
						 | 
					aa17ab7e57 | ||
| 
						 | 
					35908bd040 | ||
| 
						 | 
					4a9cfd763e | ||
| 
						 | 
					0e73294e26 | ||
| 
						 | 
					b610f46bae | ||
| 
						 | 
					1921a1adb2 | ||
| 
						 | 
					6d2cd23f40 | ||
| 
						 | 
					14fb67f28a | ||
| 
						 | 
					c552680473 | ||
| 
						 | 
					edbf9f878d | ||
| 
						 | 
					2745ddfc33 | ||
| 
						 | 
					808606034a | ||
| 
						 | 
					e18eef3d7a | ||
| 
						 | 
					e78fc11a95 | ||
| 
						 | 
					83231cb376 | ||
| 
						 | 
					986ad56124 | ||
| 
						 | 
					b723a7b11b | ||
| 
						 | 
					1b6b67b17e | ||
| 
						 | 
					1ee3236f72 | ||
| 
						 | 
					b03a4917be | ||
| 
						 | 
					84971b39f5 | ||
| 
						 | 
					5ab3e743f3 | ||
| 
						 | 
					1c5dc844e7 | ||
| 
						 | 
					f871949efd | ||
| 
						 | 
					eb2ec6bee9 | ||
| 
						 | 
					df22f59f6e | ||
| 
						 | 
					db0edc3273 | ||
| 
						 | 
					6300c14248 | ||
| 
						 | 
					d4426e79a7 | ||
| 
						 | 
					b095418d20 | ||
| 
						 | 
					d6fd880481 | ||
| 
						 | 
					cbb0b734c7 | ||
| 
						 | 
					f4bcd70f27 | ||
| 
						 | 
					6e16b45d9d | ||
| 
						 | 
					e09e7ab362 | ||
| 
						 | 
					d5cc2f19cd | ||
| 
						 | 
					b7a80146f4 | ||
| 
						 | 
					5586a71a6e | ||
| 
						 | 
					81418b7c77 | ||
| 
						 | 
					8bd0c77ae3 | ||
| 
						 | 
					e2217e7ed5 | ||
| 
						 | 
					51b75ea7ef | ||
| 
						 | 
					41d4d6721c | ||
| 
						 | 
					9d01d50459 | ||
| 
						 | 
					e27c67c5c5 | ||
| 
						 | 
					e7decd5f4d | ||
| 
						 | 
					38a3178185 | ||
| 
						 | 
					58828ae573 | ||
| 
						 | 
					6b5f5e3508 | ||
| 
						 | 
					f0ec771933 | ||
| 
						 | 
					22d1087e16 | ||
| 
						 | 
					9f85fcefdc | ||
| 
						 | 
					269d2575cd | ||
| 
						 | 
					0b8ed5de2d | ||
| 
						 | 
					c22684eac9 | ||
| 
						 | 
					c42cd4b831 | ||
| 
						 | 
					ab50cf18db | ||
| 
						 | 
					31c0a38482 | ||
| 
						 | 
					91c88deafe | ||
| 
						 | 
					a91cb15daa | ||
| 
						 | 
					d2890f6223 | ||
| 
						 | 
					1ce5bb27e4 | ||
| 
						 | 
					04262cee42 | ||
| 
						 | 
					a5a1e71e86 | ||
| 
						 | 
					06d2a382c4 | ||
| 
						 | 
					4630a51537 | ||
| 
						 | 
					01f2ee2bc6 | ||
| 
						 | 
					def5aefa7f | ||
| 
						 | 
					5ba7d69c66 | ||
| 
						 | 
					cf81dc74bd | ||
| 
						 | 
					46c646225d | ||
| 
						 | 
					d18c4d09d1 | ||
| 
						 | 
					e5ad779b69 | ||
| 
						 | 
					cb36743161 | ||
| 
						 | 
					fb3eab3562 | ||
| 
						 | 
					2724bcac2f | ||
| 
						 | 
					3431c07a66 | ||
| 
						 | 
					9abf011643 | ||
| 
						 | 
					75cdb055e6 | ||
| 
						 | 
					f4207058b8 | ||
| 
						 | 
					900b1eb869 | ||
| 
						 | 
					e3b61b1e57 | ||
| 
						 | 
					750779da07 | ||
| 
						 | 
					157f01a8ef | ||
| 
						 | 
					491923fde1 | ||
| 
						 | 
					273f5726a5 | ||
| 
						 | 
					a37778046d | ||
| 
						 | 
					8a087e57d2 | ||
| 
						 | 
					e384fd9418 | ||
| 
						 | 
					f6e32f9db4 | ||
| 
						 | 
					66bb600b05 | ||
| 
						 | 
					c3b2d69945 | ||
| 
						 | 
					619991cc3e | ||
| 
						 | 
					3c410172b7 | ||
| 
						 | 
					56319ad00e | ||
| 
						 | 
					f7832889d3 | ||
| 
						 | 
					46fdad292a | ||
| 
						 | 
					da99684a8e | ||
| 
						 | 
					2130ee35d9 | ||
| 
						 | 
					15f239a4a3 | ||
| 
						 | 
					223ab84726 | ||
| 
						 | 
					94d66c3182 | ||
| 
						 | 
					a0dd62bdb7 | ||
| 
						 | 
					fd6d2e0754 | ||
| 
						 | 
					4a4d3c02f2 | ||
| 
						 | 
					7abd533793 | ||
| 
						 | 
					b1816f93e1 | ||
| 
						 | 
					e1904f9eec | ||
| 
						 | 
					9f3d5018c4 | ||
| 
						 | 
					768729afbe | ||
| 
						 | 
					0c96e35c42 | ||
| 
						 | 
					72e2934909 | ||
| 
						 | 
					26d96f26da | ||
| 
						 | 
					5fcc83ed1e | ||
| 
						 | 
					9ecb20f1de | ||
| 
						 | 
					b611ff350c | ||
| 
						 | 
					7f790e0575 | ||
| 
						 | 
					dccf15ee25 | ||
| 
						 | 
					89d8a20f22 | ||
| 
						 | 
					782f8600fa | ||
| 
						 | 
					f2008fe3fd | ||
| 
						 | 
					70b3786ffe | ||
| 
						 | 
					b48fb91edd | ||
| 
						 | 
					8a19891b2a | ||
| 
						 | 
					f35d0948eb | ||
| 
						 | 
					d0f2c1bb81 | ||
| 
						 | 
					7ba410f9a5 | ||
| 
						 | 
					36c2be5645 | ||
| 
						 | 
					0869cd2676 | ||
| 
						 | 
					4ac5596a86 | ||
| 
						 | 
					4d018f7067 | ||
| 
						 | 
					3df76b15ed | ||
| 
						 | 
					46eaf3b0cc | ||
| 
						 | 
					9b3cce3d00 | ||
| 
						 | 
					9df2a00b94 | ||
| 
						 | 
					c8a2f669f3 | ||
| 
						 | 
					fbcf4bc1f2 | ||
| 
						 | 
					04a2a836f7 | ||
| 
						 | 
					ca08c064bb | ||
| 
						 | 
					02df47d349 | ||
| 
						 | 
					41c39e3366 | ||
| 
						 | 
					45803988ce | ||
| 
						 | 
					28251e7ff9 | ||
| 
						 | 
					217382d584 | ||
| 
						 | 
					82a2cb6f51 | ||
| 
						 | 
					611ed5f312 | ||
| 
						 | 
					27fbb5dbf4 | ||
| 
						 | 
					db8d9b7cf1 | ||
| 
						 | 
					60ec950517 | ||
| 
						 | 
					2cd4ebc01f | ||
| 
						 | 
					5f4dcaf781 | ||
| 
						 | 
					c55d882fab | ||
| 
						 | 
					8dc7450068 | ||
| 
						 | 
					2e885232c2 | ||
| 
						 | 
					970d9b3795 | ||
| 
						 | 
					2f58af0d85 | ||
| 
						 | 
					0ae50f19da | ||
| 
						 | 
					c4ac37361e | ||
| 
						 | 
					3152861e81 | ||
| 
						 | 
					a14afd0804 | ||
| 
						 | 
					25d5d1a60d | ||
| 
						 | 
					6ff58b9240 | ||
| 
						 | 
					99237262d4 | ||
| 
						 | 
					29982dfd15 | ||
| 
						 | 
					6c4da94687 | ||
| 
						 | 
					6986d0e6eb | ||
| 
						 | 
					bc9320452c | ||
| 
						 | 
					23d43aae27 | ||
| 
						 | 
					de71735e7c | ||
| 
						 | 
					05decf3638 | ||
| 
						 | 
					95bffa1a1f | ||
| 
						 | 
					974d52fdb8 | ||
| 
						 | 
					7614f0e55e | ||
| 
						 | 
					0632284f79 | ||
| 
						 | 
					ad4a89f070 | ||
| 
						 | 
					6104c49f31 | ||
| 
						 | 
					07fc760999 | ||
| 
						 | 
					cf6bc84148 | ||
| 
						 | 
					36d51bea93 | ||
| 
						 | 
					fc12885b1b | ||
| 
						 | 
					ec7033745e | ||
| 
						 | 
					9e31e63147 | ||
| 
						 | 
					feef17fd88 | ||
| 
						 | 
					817f011191 | ||
| 
						 | 
					98c045cf3a | ||
| 
						 | 
					8860f3a82a | ||
| 
						 | 
					43e9f4ca2f | ||
| 
						 | 
					586f843c76 | ||
| 
						 | 
					7cfc9e6d8c | ||
| 
						 | 
					4952ed0fa4 | ||
| 
						 | 
					a084185d76 | ||
| 
						 | 
					914b80d276 | ||
| 
						 | 
					282557da52 | ||
| 
						 | 
					5f649d583c | ||
| 
						 | 
					b98225ebf5 | ||
| 
						 | 
					abb0c2bba4 | ||
| 
						 | 
					b3bdb474a9 | ||
| 
						 | 
					d796e6acb7 | ||
| 
						 | 
					d3afc92bc9 | ||
| 
						 | 
					35a97b4b7b | ||
| 
						 | 
					f59463aad3 | ||
| 
						 | 
					ed656499c4 | ||
| 
						 | 
					63533e9a22 | ||
| 
						 | 
					20f7053254 | ||
| 
						 | 
					8b8ef74d39 | ||
| 
						 | 
					3bfe024d8d | ||
| 
						 | 
					063333e03d | ||
| 
						 | 
					0a0918ff38 | ||
| 
						 | 
					802c014656 | ||
| 
						 | 
					860841794d | ||
| 
						 | 
					2a87c31237 | ||
| 
						 | 
					da5f7fdcee | ||
| 
						 | 
					d8b408b1de | ||
| 
						 | 
					64932f9e4a | ||
| 
						 | 
					5a20efcf17 | ||
| 
						 | 
					2a2857bbc8 | ||
| 
						 | 
					1bef284ab1 | ||
| 
						 | 
					d8d0b6434f | ||
| 
						 | 
					416b6fd115 | ||
| 
						 | 
					f685cf920b | ||
| 
						 | 
					54f51116b2 | ||
| 
						 | 
					b0d90958fc | ||
| 
						 | 
					049ced2c2f | ||
| 
						 | 
					844b0e603b | ||
| 
						 | 
					75ef751e23 | ||
| 
						 | 
					c4f6e56fca | ||
| 
						 | 
					ff86d3d894 | ||
| 
						 | 
					85b4c03e33 | ||
| 
						 | 
					efaf159af6 | ||
| 
						 | 
					daa657fb78 | ||
| 
						 | 
					4685663d73 | ||
| 
						 | 
					ed1f716022 | ||
| 
						 | 
					d3205a4898 | ||
| 
						 | 
					86731ce2c6 | ||
| 
						 | 
					1399309624 | ||
| 
						 | 
					cb59297438 | ||
| 
						 | 
					5824f6bc06 | ||
| 
						 | 
					5ce7090d54 | ||
| 
						 | 
					7306ab29bc | ||
| 
						 | 
					3a8b42f291 | ||
| 
						 | 
					e4c25383f2 | ||
| 
						 | 
					e734dcc2c7 | ||
| 
						 | 
					0fce007b8e | ||
| 
						 | 
					5a053a3a07 | ||
| 
						 | 
					3b2ba5f7fb | ||
| 
						 | 
					7f622f6c04 | ||
| 
						 | 
					801136bcc2 | ||
| 
						 | 
					3c0e39c539 | ||
| 
						 | 
					19fddebf0e | ||
| 
						 | 
					9eaf7e14c7 | ||
| 
						 | 
					0e441bc103 | ||
| 
						 | 
					cd9911fdf8 | ||
| 
						 | 
					6086422193 | ||
| 
						 | 
					9ddb11f11c | ||
| 
						 | 
					7a20cabd03 | ||
| 
						 | 
					9dc4ca4507 | ||
| 
						 | 
					62fea98b4f | ||
| 
						 | 
					7ae4eac5b6 | ||
| 
						 | 
					fcf8ae5e2b | ||
| 
						 | 
					55b9a7938b | ||
| 
						 | 
					cf1546a60e | ||
| 
						 | 
					e7eec05af0 | ||
| 
						 | 
					98e986141b | ||
| 
						 | 
					d7e35e0371 | ||
| 
						 | 
					222f224664 | ||
| 
						 | 
					62b6cd007f | ||
| 
						 | 
					1682e8fb12 | ||
| 
						 | 
					984aefe0e8 | ||
| 
						 | 
					2d54cc69c9 | ||
| 
						 | 
					2dd8278de8 | ||
| 
						 | 
					e0d8ac972e | ||
| 
						 | 
					ec03812fb0 | ||
| 
						 | 
					93cf2b17bf | ||
| 
						 | 
					77ef1a989d | ||
| 
						 | 
					423c7ac6c6 | ||
| 
						 | 
					2c368ef148 | ||
| 
						 | 
					b3c7162fd0 | ||
| 
						 | 
					67865069eb | ||
| 
						 | 
					1896a9be60 | ||
| 
						 | 
					b5b2c037c1 | ||
| 
						 | 
					1957924d51 | ||
| 
						 | 
					104a66f256 | ||
| 
						 | 
					3de6d65ea3 | ||
| 
						 | 
					fdb0a6e004 | ||
| 
						 | 
					87b857b6bf | ||
| 
						 | 
					b18165301d | ||
| 
						 | 
					097e65944a | ||
| 
						 | 
					0cdd29ea78 | ||
| 
						 | 
					7dec24688f | ||
| 
						 | 
					e62fa54811 | ||
| 
						 | 
					1614174e79 | ||
| 
						 | 
					f95d097359 | ||
| 
						 | 
					3c6ab9aad9 | ||
| 
						 | 
					4913b88f70 | ||
| 
						 | 
					273157153c | ||
| 
						 | 
					fb5156ff38 | ||
| 
						 | 
					2a824402f3 | ||
| 
						 | 
					86a249fe4f | ||
| 
						 | 
					6cae8221c9 | ||
| 
						 | 
					750cb3d248 | ||
| 
						 | 
					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 | ||
| 
						 | 
					d39e69c95a | ||
| 
						 | 
					5026bc13bb | ||
| 
						 | 
					69ffdb2d46 | ||
| 
						 | 
					c7d27e5247 | ||
| 
						 | 
					e301a26ade | ||
| 
						 | 
					b7d7af7ea9 | ||
| 
						 | 
					39663d2c40 | ||
| 
						 | 
					000299a0e6 | ||
| 
						 | 
					0a47d82b9b | ||
| 
						 | 
					198bcece58 | ||
| 
						 | 
					053677d124 | ||
| 
						 | 
					804072f014 | ||
| 
						 | 
					e9429b43ce | ||
| 
						 | 
					3d37d5e24a | ||
| 
						 | 
					2728a1b4f3 | ||
| 
						 | 
					adb040d4cb | ||
| 
						 | 
					479d7934c0 | ||
| 
						 | 
					22d1acd5ac | ||
| 
						 | 
					b257c152c6 | ||
| 
						 | 
					77b97ee0d7 | ||
| 
						 | 
					e2ac4732cd | ||
| 
						 | 
					e8f665b495 | ||
| 
						 | 
					55f3ef29ea | ||
| 
						 | 
					c2d78c9623 | ||
| 
						 | 
					a4578a5413 | ||
| 
						 | 
					e884fcf785 | ||
| 
						 | 
					a2c32e2d7f | ||
| 
						 | 
					80b168a5a9 | ||
| 
						 | 
					e96025755d | ||
| 
						 | 
					9426364be9 | ||
| 
						 | 
					c9028b0ab5 | ||
| 
						 | 
					b4d2858f95 | ||
| 
						 | 
					dea446d995 | ||
| 
						 | 
					5cd94f9e9d | ||
| 
						 | 
					429168e7ee | ||
| 
						 | 
					499fca2db3 | ||
| 
						 | 
					cad811fc41 | ||
| 
						 | 
					a28a5d9c62 | ||
| 
						 | 
					3f791ca818 | ||
| 
						 | 
					2ed0cf8eef | ||
| 
						 | 
					1c2cbe6fcc | ||
| 
						 | 
					023616e32d | ||
| 
						 | 
					69f6a9f007 | ||
| 
						 | 
					b2703470e0 | ||
| 
						 | 
					4eeee0c59f | ||
| 
						 | 
					452cd79114 | ||
| 
						 | 
					a5afa6c95f | ||
| 
						 | 
					9eaca0079f | ||
| 
						 | 
					625dacb93d | ||
| 
						 | 
					bbaf3c2b40 | ||
| 
						 | 
					62e9c2e091 | ||
| 
						 | 
					e4106a4e24 | ||
| 
						 | 
					0ebfcc8f92 | ||
| 
						 | 
					c61f571ce0 | ||
| 
						 | 
					a506b8c7dd | ||
| 
						 | 
					e5cd536894 | ||
| 
						 | 
					60192e96b8 | ||
| 
						 | 
					629ea39a88 | ||
| 
						 | 
					7d9e1321c7 | ||
| 
						 | 
					83af7422a0 | ||
| 
						 | 
					ce8945f35c | ||
| 
						 | 
					dd890f0776 | ||
| 
						 | 
					af4ac437ab | ||
| 
						 | 
					85991994df | ||
| 
						 | 
					607585fdaf | ||
| 
						 | 
					b325518f45 | ||
| 
						 | 
					2f596aeef5 | ||
| 
						 | 
					b172dec864 | ||
| 
						 | 
					69762c75fa | ||
| 
						 | 
					61391e2314 | ||
| 
						 | 
					36b29660ce | ||
| 
						 | 
					4976983f30 | ||
| 
						 | 
					4b23506594 | ||
| 
						 | 
					31e4ad25ba | ||
| 
						 | 
					225f4daf15 | ||
| 
						 | 
					82d3dda8a1 | ||
| 
						 | 
					b9927cfa2d | ||
| 
						 | 
					fe8bf9560d | ||
| 
						 | 
					af6cafc603 | ||
| 
						 | 
					e4c9b85e65 | ||
| 
						 | 
					447aa49007 | ||
| 
						 | 
					15da07d436 | ||
| 
						 | 
					fe977f7512 | ||
| 
						 | 
					886ed3544b | ||
| 
						 | 
					e476f94212 | ||
| 
						 | 
					aff2922f9a | ||
| 
						 | 
					bbbd67108f | ||
| 
						 | 
					f32e0035a3 | ||
| 
						 | 
					7f246621b5 | ||
| 
						 | 
					b67d988915 | ||
| 
						 | 
					7b1e7706d8 | ||
| 
						 | 
					cd74dda72a | ||
| 
						 | 
					851e31ff07 | ||
| 
						 | 
					032bb2a2c5 | ||
| 
						 | 
					decc9ffc18 | ||
| 
						 | 
					fa96ed06d2 | ||
| 
						 | 
					43133041c9 | ||
| 
						 | 
					e0ee5ea962 | ||
| 
						 | 
					3f4657d131 | ||
| 
						 | 
					f5634286a3 | ||
| 
						 | 
					97d37c1c1e | ||
| 
						 | 
					739b139cb2 | ||
| 
						 | 
					0bc9920ad4 | ||
| 
						 | 
					3f516ce837 | ||
| 
						 | 
					67ffa18cce | ||
| 
						 | 
					9f197f9da5 | ||
| 
						 | 
					3dc2cc36e9 | ||
| 
						 | 
					788e67e227 | ||
| 
						 | 
					ca3e683747 | ||
| 
						 | 
					c50226594d | ||
| 
						 | 
					38a1757168 | ||
| 
						 | 
					51ff6bde38 | ||
| 
						 | 
					4104a57107 | ||
| 
						 | 
					28e4fe34e4 | ||
| 
						 | 
					c800a070b5 | ||
| 
						 | 
					b0c0f20071 | ||
| 
						 | 
					53d8996764 | ||
| 
						 | 
					32b1843ec6 | ||
| 
						 | 
					8712009778 | ||
| 
						 | 
					b8994f44e7 | ||
| 
						 | 
					f468e3824a | ||
| 
						 | 
					ea1b02db6a | ||
| 
						 | 
					2c4b354d32 | ||
| 
						 | 
					25a66ee3cb | ||
| 
						 | 
					0978dec131 | ||
| 
						 | 
					91b17fbad4 | ||
| 
						 | 
					ce92b6eb9c | ||
| 
						 | 
					7abbffc3fb | ||
| 
						 | 
					9dd8405341 | ||
| 
						 | 
					46a643763d | ||
| 
						 | 
					92c4468572 | ||
| 
						 | 
					10cde5010d | ||
| 
						 | 
					c4cd925cc0 | ||
| 
						 | 
					f210eb7b89 | ||
| 
						 | 
					734540f887 | ||
| 
						 | 
					804515425a | ||
| 
						 | 
					81a86fcf17 | ||
| 
						 | 
					a534bb09d3 | ||
| 
						 | 
					b6995add5c | ||
| 
						 | 
					8ccd06c66c | ||
| 
						 | 
					fe86616c72 | ||
| 
						 | 
					ba2ba27008 | ||
| 
						 | 
					f795123c4a | ||
| 
						 | 
					c596c795bf | ||
| 
						 | 
					3f19bbf4e3 | ||
| 
						 | 
					b874ce4dc2 | ||
| 
						 | 
					c6c2e3135d | ||
| 
						 | 
					4b26fe30de | ||
| 
						 | 
					4a8224b598 | ||
| 
						 | 
					8afca8d9c6 | ||
| 
						 | 
					35e8510e60 | ||
| 
						 | 
					8b15c74018 | ||
| 
						 | 
					3afa6cf866 | ||
| 
						 | 
					e19e549041 | ||
| 
						 | 
					d7561ac576 | ||
| 
						 | 
					ce147f8998 | ||
| 
						 | 
					7870774162 | ||
| 
						 | 
					fbeaa3c47d | ||
| 
						 | 
					ee2262b8d7 | ||
| 
						 | 
					b0ac0a8ef8 | ||
| 
						 | 
					0f4499360e | ||
| 
						 | 
					7dc17a6cf0 | ||
| 
						 | 
					b6223d2f70 | ||
| 
						 | 
					4e99f848d8 | ||
| 
						 | 
					4213cdaf5d | ||
| 
						 | 
					358cf2f6e8 | ||
| 
						 | 
					39b4c974ee | ||
| 
						 | 
					256b5d5877 | ||
| 
						 | 
					407c2c1106 | ||
| 
						 | 
					508f56f17c | ||
| 
						 | 
					5d0d60e2f5 | ||
| 
						 | 
					57ee007035 | ||
| 
						 | 
					82e8cb403a | ||
| 
						 | 
					abee01c6f8 | ||
| 
						 | 
					2e8aaf94c2 | ||
| 
						 | 
					48665b7c99 | ||
| 
						 | 
					2c288b2a7e | ||
| 
						 | 
					831721ef49 | ||
| 
						 | 
					0ee883650d | ||
| 
						 | 
					70cf309517 | ||
| 
						 | 
					8b5bf52ac2 | ||
| 
						 | 
					73a9485081 | ||
| 
						 | 
					d37a65bc81 | ||
| 
						 | 
					34c7ff6dc9 | ||
| 
						 | 
					647907918d | ||
| 
						 | 
					cee73df3bd | ||
| 
						 | 
					07481951f9 | ||
| 
						 | 
					f15c448a72 | ||
| 
						 | 
					fcb41c0ee8 | ||
| 
						 | 
					9b62318311 | ||
| 
						 | 
					3108a80b09 | ||
| 
						 | 
					51971f7293 | ||
| 
						 | 
					5f1841cdca | ||
| 
						 | 
					4b45051902 | ||
| 
						 | 
					9e5790ce21 | ||
| 
						 | 
					bfa3933c8b | ||
| 
						 | 
					3d3addb252 | ||
| 
						 | 
					40b4a633a1 | ||
| 
						 | 
					3f8bdd1fdb | ||
| 
						 | 
					fc784cbc5c | ||
| 
						 | 
					6181fd949f | ||
| 
						 | 
					fce8c6cc53 | ||
| 
						 | 
					0ff469d38d | ||
| 
						 | 
					05338b58ce | ||
| 
						 | 
					081057c3ff | ||
| 
						 | 
					94c1672ef0 | ||
| 
						 | 
					405d9761a5 | ||
| 
						 | 
					4c3a2d64e4 | ||
| 
						 | 
					98a2fd32a0 | ||
| 
						 | 
					7bdeeb64ac | ||
| 
						 | 
					43b45a42fd | ||
| 
						 | 
					9af1bfb3d5 | ||
| 
						 | 
					aed14edd12 | ||
| 
						 | 
					14a948e6ad | ||
| 
						 | 
					af2fcf3a65 | ||
| 
						 | 
					4a676ac4f8 | ||
| 
						 | 
					37e27219f2 | ||
| 
						 | 
					d2284ab5d1 | ||
| 
						 | 
					78e91e7574 | ||
| 
						 | 
					e1cc0671ac | ||
| 
						 | 
					c1a8a5de13 | ||
| 
						 | 
					e3d0e0a792 | ||
| 
						 | 
					7c7667b86b | ||
| 
						 | 
					38be5db93b | ||
| 
						 | 
					6a50d0a422 | ||
| 
						 | 
					7ab2d30349 | ||
| 
						 | 
					d753c3f582 | ||
| 
						 | 
					1897c89302 | ||
| 
						 | 
					3cc54008eb | ||
| 
						 | 
					ff8bcccdd4 | ||
| 
						 | 
					a93b01be57 | ||
| 
						 | 
					04b304d346 | ||
| 
						 | 
					6c61726b2a | ||
| 
						 | 
					cd202fe2f9 | ||
| 
						 | 
					69af4faec1 | ||
| 
						 | 
					df9e0bf507 | ||
| 
						 | 
					879b19801a | ||
| 
						 | 
					6ec8e63af6 | ||
| 
						 | 
					465b9f6b26 | ||
| 
						 | 
					0c9c87a76e | ||
| 
						 | 
					a7a90b2f00 | ||
| 
						 | 
					4d6e7733fa | ||
| 
						 | 
					2deadf1672 | ||
| 
						 | 
					9ea862e0b3 | ||
| 
						 | 
					11c9b7cfeb | ||
| 
						 | 
					b08868c48a | ||
| 
						 | 
					9ca46ff609 | ||
| 
						 | 
					800e400de5 | ||
| 
						 | 
					05886a6f77 | ||
| 
						 | 
					667aef4c6a | ||
| 
						 | 
					49e179cc52 | ||
| 
						 | 
					aa4ce7315f | ||
| 
						 | 
					c741b83762 | ||
| 
						 | 
					64387788a9 | ||
| 
						 | 
					480506bd49 | ||
| 
						 | 
					0d5ea7613e | ||
| 
						 | 
					beb056b303 | ||
| 
						 | 
					4e321ffaff | ||
| 
						 | 
					6ededa42db | ||
| 
						 | 
					36d16f8ee0 | ||
| 
						 | 
					ab781a0cb6 | ||
| 
						 | 
					19c2987eb6 | ||
| 
						 | 
					b09af97686 | ||
| 
						 | 
					a7b1c7732f | ||
| 
						 | 
					abc64463af | ||
| 
						 | 
					2e7245f5a3 | ||
| 
						 | 
					f76b062e16 | ||
| 
						 | 
					cc1717eaa4 | ||
| 
						 | 
					c5156d952e | ||
| 
						 | 
					0b2d0d7d13 | ||
| 
						 | 
					b732a8cf5f | ||
| 
						 | 
					a7dc451ebe | ||
| 
						 | 
					87357fc0b8 | ||
| 
						 | 
					a2c96d888d | ||
| 
						 | 
					9a6c6b99bf | ||
| 
						 | 
					033c79dff1 | ||
| 
						 | 
					b362536275 | ||
| 
						 | 
					aa16a28631 | ||
| 
						 | 
					2757c67da2 | ||
| 
						 | 
					3d5fd31280 | ||
| 
						 | 
					c7199e62f1 | ||
| 
						 | 
					0b3fc6e63b | ||
| 
						 | 
					c2db9cfb52 | ||
| 
						 | 
					6bc8e6b898 | ||
| 
						 | 
					9edf4e8157 | ||
| 
						 | 
					965a1cb92e | ||
| 
						 | 
					e9ad6665a5 | ||
| 
						 | 
					b5855b2f32 | ||
| 
						 | 
					a0bee97e55 | ||
| 
						 | 
					e7076c5a80 | ||
| 
						 | 
					ff22e913a3 | ||
| 
						 | 
					04d0d0accf | ||
| 
						 | 
					00df894701 | ||
| 
						 | 
					630e4a6e59 | ||
| 
						 | 
					bf2336f478 | ||
| 
						 | 
					384dba6edb | ||
| 
						 | 
					2c45bf2bc9 | ||
| 
						 | 
					836ec0c764 | ||
| 
						 | 
					5e72fb063a | ||
| 
						 | 
					2dc08d5f5d | ||
| 
						 | 
					00b8abee61 | ||
| 
						 | 
					7efebab9fd | ||
| 
						 | 
					a74286d636 | ||
| 
						 | 
					254cfe878e | ||
| 
						 | 
					ed824195a1 | ||
| 
						 | 
					22c3600e4c | ||
| 
						 | 
					49f386578e | ||
| 
						 | 
					7c671508bd | ||
| 
						 | 
					d3fdc27aa8 | ||
| 
						 | 
					40e950aed6 | ||
| 
						 | 
					987bebaf8c | ||
| 
						 | 
					65f0efe198 | ||
| 
						 | 
					e77d8f2ecd | ||
| 
						 | 
					f68854b4c3 | ||
| 
						 | 
					1cfd258ed6 | ||
| 
						 | 
					04d7d51ea2 | ||
| 
						 | 
					2906dc8601 | ||
| 
						 | 
					c8d5c71af5 | ||
| 
						 | 
					ff990440ee | ||
| 
						 | 
					0e304b7f41 | ||
| 
						 | 
					fbe6ba81e9 | ||
| 
						 | 
					2b85e23d2e | ||
| 
						 | 
					026bb0b96a | ||
| 
						 | 
					6424498226 | ||
| 
						 | 
					3ed449e94a | ||
| 
						 | 
					4f1c33b430 | ||
| 
						 | 
					1334462ab3 | ||
| 
						 | 
					e62991a07c | ||
| 
						 | 
					52272327f3 | ||
| 
						 | 
					1bf955920a | ||
| 
						 | 
					51d28013db | ||
| 
						 | 
					8861ba355d | ||
| 
						 | 
					9e88c82703 | ||
| 
						 | 
					9d2f51c086 | ||
| 
						 | 
					ad0db060b1 | ||
| 
						 | 
					3547478fc8 | ||
| 
						 | 
					29dc350813 | ||
| 
						 | 
					bc3cae7e7d | ||
| 
						 | 
					37942fab51 | ||
| 
						 | 
					36521f0150 | ||
| 
						 | 
					4bb61becbb | ||
| 
						 | 
					b392e52050 | ||
| 
						 | 
					0858b71b41 | ||
| 
						 | 
					d9bfe4f97c | ||
| 
						 | 
					dc0ed30cfe | ||
| 
						 | 
					e248596bac | ||
| 
						 | 
					6049399baf | ||
| 
						 | 
					f763e0b5ae | ||
| 
						 | 
					eb3eab20a8 | ||
| 
						 | 
					4848cbf1cf | ||
| 
						 | 
					9f2027e56d | ||
| 
						 | 
					e1d51de41f | ||
| 
						 | 
					81ee80ab88 | ||
| 
						 | 
					7d727231b7 | ||
| 
						 | 
					69740c2b3f | ||
| 
						 | 
					119d1a1dd4 | ||
| 
						 | 
					70f34a5841 | ||
| 
						 | 
					c2e40d0f9a | ||
| 
						 | 
					0abfd60604 | ||
| 
						 | 
					e5dbccc182 | ||
| 
						 | 
					f8fa22d826 | ||
| 
						 | 
					c393222280 | ||
| 
						 | 
					60fd574cdf | ||
| 
						 | 
					73705abc34 | ||
| 
						 | 
					12bdb64375 | ||
| 
						 | 
					7bdf8eed69 | ||
| 
						 | 
					48c832b6b7 | ||
| 
						 | 
					f3e427f6f9 | ||
| 
						 | 
					8bb826ee53 | ||
| 
						 | 
					5d1430f390 | ||
| 
						 | 
					45d10efc35 | ||
| 
						 | 
					db3cb0e97a | ||
| 
						 | 
					41a15c4f0f | ||
| 
						 | 
					fea4280a8b | ||
| 
						 | 
					e852b8533f | ||
| 
						 | 
					20a3439ea9 | ||
| 
						 | 
					a273a2824c | ||
| 
						 | 
					24c97c819d | ||
| 
						 | 
					42ba5d2329 | ||
| 
						 | 
					c3e6402857 | ||
| 
						 | 
					0821bcd4de | ||
| 
						 | 
					4a6a2032ed | ||
| 
						 | 
					c01d2b974e | ||
| 
						 | 
					b0ef321cc8 | ||
| 
						 | 
					7a8c728860 | ||
| 
						 | 
					6141b86a49 | ||
| 
						 | 
					23fadaa084 | ||
| 
						 | 
					e27a259696 | ||
| 
						 | 
					41e455bfc4 | ||
| 
						 | 
					59b6836ab2 | ||
| 
						 | 
					9fc9b55237 | ||
| 
						 | 
					689c6f2542 | ||
| 
						 | 
					f4bfd357e5 | ||
| 
						 | 
					130db968b8 | ||
| 
						 | 
					8d274837e5 | ||
| 
						 | 
					5855038049 | ||
| 
						 | 
					d18685d959 | ||
| 
						 | 
					9f6715d4bb | ||
| 
						 | 
					ab185b6038 | ||
| 
						 | 
					1642000707 | ||
| 
						 | 
					f7f2125522 | ||
| 
						 | 
					2b61034b0b | ||
| 
						 | 
					80c808b90b | ||
| 
						 | 
					af1048c25c | ||
| 
						 | 
					ecc5ef8793 | ||
| 
						 | 
					c9a112f540 | ||
| 
						 | 
					5286db697f | ||
| 
						 | 
					f69a8aebab | ||
| 
						 | 
					9d10b15ef9 | ||
| 
						 | 
					da30c74a27 | ||
| 
						 | 
					67ea999d4a | ||
| 
						 | 
					e1892f2370 | ||
| 
						 | 
					fe28866d71 | ||
| 
						 | 
					de4ab1e629 | ||
| 
						 | 
					216ddfaf6b | ||
| 
						 | 
					8aa36bcac9 | ||
| 
						 | 
					485e30dbe1 | ||
| 
						 | 
					877dbcb8a0 | ||
| 
						 | 
					62d27939c2 | ||
| 
						 | 
					8c3c570134 | ||
| 
						 | 
					97a1630e81 | ||
| 
						 | 
					bf746f0f46 | ||
| 
						 | 
					a229e3038e | ||
| 
						 | 
					4aca9297dc | ||
| 
						 | 
					b2c5960935 | ||
| 
						 | 
					fbdce13e5a | ||
| 
						 | 
					e532a6c449 | ||
| 
						 | 
					14bcdb087f | ||
| 
						 | 
					b7efa56a4a | ||
| 
						 | 
					8359421d90 | ||
| 
						 | 
					efde5230f1 | ||
| 
						 | 
					f5ffad9d1d | ||
| 
						 | 
					57a68b2129 | ||
| 
						 | 
					bac252a5e3 | ||
| 
						 | 
					a963395a7b | ||
| 
						 | 
					d8863f0bdb | ||
| 
						 | 
					addb6e16a8 | ||
| 
						 | 
					4d27c4c960 | ||
| 
						 | 
					ed65fab910 | ||
| 
						 | 
					90cc40911b | ||
| 
						 | 
					a7201e9a1b | ||
| 
						 | 
					fcd5cca418 | ||
| 
						 | 
					9222bc6b4e | ||
| 
						 | 
					e6d27baf52 | ||
| 
						 | 
					e7e1150706 | ||
| 
						 | 
					5d727078ac | ||
| 
						 | 
					108159ffcc | ||
| 
						 | 
					c4d423511a | ||
| 
						 | 
					b15a93a9c5 | ||
| 
						 | 
					d9248e5780 | ||
| 
						 | 
					0b52f89b81 | ||
| 
						 | 
					7de4b5b060 | ||
| 
						 | 
					02a00bb054 | ||
| 
						 | 
					3b4de6e4cc | ||
| 
						 | 
					bdbc9b4d1a | ||
| 
						 | 
					09ef94d2c9 | ||
| 
						 | 
					3ffb8d42bc | ||
| 
						 | 
					25866e3982 | ||
| 
						 | 
					3b3df98ca6 | ||
| 
						 | 
					2e4a99f38b | ||
| 
						 | 
					e90faddaf8 | ||
| 
						 | 
					f1ce306f30 | ||
| 
						 | 
					37b11ca78e | ||
| 
						 | 
					a17af9e277 | ||
| 
						 | 
					6951c23afd | ||
| 
						 | 
					de421076a5 | ||
| 
						 | 
					bd16cd6bcc | ||
| 
						 | 
					0c51600203 | ||
| 
						 | 
					9850f7f6b2 | ||
| 
						 | 
					131e064e4a | ||
| 
						 | 
					556b8f3f77 | ||
| 
						 | 
					045d3285e2 | ||
| 
						 | 
					d1df5b4339 | ||
| 
						 | 
					25558bf743 | ||
| 
						 | 
					713147109c | ||
| 
						 | 
					76ef6ac956 | ||
| 
						 | 
					a842df6659 | ||
| 
						 | 
					c05a7f5dfd | ||
| 
						 | 
					627bd6709c | ||
| 
						 | 
					fbf218b8c3 | ||
| 
						 | 
					3c97bd833b | ||
| 
						 | 
					abbc186bd2 | ||
| 
						 | 
					de6859e442 | ||
| 
						 | 
					5e8904f289 | ||
| 
						 | 
					0c0788ba0a | ||
| 
						 | 
					905fd45b36 | ||
| 
						 | 
					c162b132eb | ||
| 
						 | 
					afd61c63c2 | ||
| 
						 | 
					d20b5c2043 | ||
| 
						 | 
					fdf45c44be | ||
| 
						 | 
					9a2073b4cd | ||
| 
						 | 
					68b08c56c2 | ||
| 
						 | 
					f28468188b | ||
| 
						 | 
					4416eec8ca | ||
| 
						 | 
					8871d87512 | ||
| 
						 | 
					709af3877d | ||
| 
						 | 
					a2b81188be | ||
| 
						 | 
					8651ba5d45 | ||
| 
						 | 
					f91f6cd5e4 | ||
| 
						 | 
					efbb2cb4e5 | ||
| 
						 | 
					bd923a7bac | ||
| 
						 | 
					dec45d606f | ||
| 
						 | 
					373c88faef | ||
| 
						 | 
					6dfd1801fe | ||
| 
						 | 
					14813d8123 | ||
| 
						 | 
					d8242c65b3 | ||
| 
						 | 
					92f2437f48 | ||
| 
						 | 
					ee42430cc8 | ||
| 
						 | 
					da959761ff | ||
| 
						 | 
					da3fe316cf | ||
| 
						 | 
					d8cd25aa0d | ||
| 
						 | 
					c8214d6c8b | ||
| 
						 | 
					d63d4f46fc | ||
| 
						 | 
					063b216760 | ||
| 
						 | 
					52161e090d | ||
| 
						 | 
					65f0a05325 | ||
| 
						 | 
					9e55e06501 | ||
| 
						 | 
					952b6955c0 | ||
| 
						 | 
					0b6df67fb1 | ||
| 
						 | 
					6f74afaa57 | ||
| 
						 | 
					bf087e1ea1 | ||
| 
						 | 
					3edefe670a | ||
| 
						 | 
					885818fb7c | ||
| 
						 | 
					a461d307f2 | ||
| 
						 | 
					2f370048cb | ||
| 
						 | 
					89a4dad179 | ||
| 
						 | 
					28dc02a9d8 | ||
| 
						 | 
					1ea2fda9dc | ||
| 
						 | 
					54ebaca535 | ||
| 
						 | 
					f41dcf3d50 | ||
| 
						 | 
					4fedc91a4a | ||
| 
						 | 
					1e6031eeb7 | ||
| 
						 | 
					f734aaa413 | ||
| 
						 | 
					d9e61666c9 | ||
| 
						 | 
					a575d4b9ee | ||
| 
						 | 
					2f07e0d591 | ||
| 
						 | 
					77a87ded3a | ||
| 
						 | 
					b0a3d8dd27 | ||
| 
						 | 
					b958d2c298 | ||
| 
						 | 
					a7100590fe | ||
| 
						 | 
					dc72a195c2 | ||
| 
						 | 
					7b1ef38609 | ||
| 
						 | 
					e2812ff61f | ||
| 
						 | 
					3f5602ce04 | ||
| 
						 | 
					8c2e34e27f | ||
| 
						 | 
					be0dccdd9e | ||
| 
						 | 
					31f3950fbf | ||
| 
						 | 
					50a4d84e79 | ||
| 
						 | 
					75b3654d18 | ||
| 
						 | 
					0135aa9888 | ||
| 
						 | 
					418f9ac5e3 | ||
| 
						 | 
					692e644df6 | ||
| 
						 | 
					ad4afe4edf | ||
| 
						 | 
					3b72341958 | ||
| 
						 | 
					c844b971cb | ||
| 
						 | 
					3a0278b211 | ||
| 
						 | 
					ca9b1c47af | ||
| 
						 | 
					304ba9fa78 | ||
| 
						 | 
					86039d2751 | ||
| 
						 | 
					4484703f5e | ||
| 
						 | 
					420a692f04 | ||
| 
						 | 
					6b7751ac2c | ||
| 
						 | 
					1d2a464fe0 | ||
| 
						 | 
					7af4688a8f | ||
| 
						 | 
					7735dd0750 | ||
| 
						 | 
					d8360c3a8a | ||
| 
						 | 
					bf7b075f0c | 
@@ -1,5 +1,4 @@
 | 
			
		||||
openssl.pc
 | 
			
		||||
Makefile.ssl
 | 
			
		||||
MINFO
 | 
			
		||||
makefile.one
 | 
			
		||||
tmp
 | 
			
		||||
@@ -14,3 +13,6 @@ cctest.c
 | 
			
		||||
cctest.a
 | 
			
		||||
libcrypto.so.*
 | 
			
		||||
libssl.so.*
 | 
			
		||||
*.flc
 | 
			
		||||
semantic.cache
 | 
			
		||||
Makefile
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										163
									
								
								ChangeLog.0_9_7-stable_not-in-head
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								ChangeLog.0_9_7-stable_not-in-head
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,163 @@
 | 
			
		||||
This file, together with ChangeLog.0_9_7-stable_not-in-head_FIPS,
 | 
			
		||||
provides a collection of those CVS change log entries for the
 | 
			
		||||
0.9.7 branch (OpenSSL_0_9_7-stable) that do not appear similarly in
 | 
			
		||||
0.9.8-dev (CVS head).
 | 
			
		||||
    
 | 
			
		||||
ChangeLog.0_9_7-stable_not-in-head_FIPS  -  "FIPS" related changes
 | 
			
		||||
ChangeLog.0_9_7-stable_not-in-head       -  everything else
 | 
			
		||||
 | 
			
		||||
Some obvious false positives have been eliminated: e.g., we do not
 | 
			
		||||
care about a simple "make update"; and we don't care about changes
 | 
			
		||||
identified to the 0.9.7 branch that were explicitly identified as
 | 
			
		||||
backports from head.
 | 
			
		||||
    
 | 
			
		||||
Eliminating all other entries (and finally this file and its
 | 
			
		||||
compantion), either as false positives or as things that should go
 | 
			
		||||
into 0.9.8, remains to be done.  Any additional changes to 0.9.7 that
 | 
			
		||||
are not immediately put into 0.9.8, but belong there as well, should
 | 
			
		||||
be added to the end of this file.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
2002-11-04 17:33  levitte
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		Configure (1.314.2.38), "Exp", lines: +4 -2
 | 
			
		||||
 | 
			
		||||
	Return my normal debug targets to something not so extreme, and
 | 
			
		||||
	make the extreme ones special (or 'extreme', if you will :-)).
 | 
			
		||||
 | 
			
		||||
2002-12-16 19:17  appro
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/bn/bn_lcl.h (1.23.2.3), "Exp", lines: +3 -0
 | 
			
		||||
		crypto/bn/bn_mul.c (1.28.2.4), "Exp", lines: +84 -445
 | 
			
		||||
 | 
			
		||||
	This is rollback to 0.9.6h bn_mul.c to address problem reported in
 | 
			
		||||
	RT#272.
 | 
			
		||||
 | 
			
		||||
2003-07-27 15:46  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/aes/aes.h (1.1.2.5), "Exp", lines: +3 -0
 | 
			
		||||
		crypto/aes/aes_cfb.c (1.1.2.4), "Exp", lines: +57 -0
 | 
			
		||||
 | 
			
		||||
	Add untested CFB-r mode. Will be tested soon.
 | 
			
		||||
 | 
			
		||||
2003-07-28 17:07  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		Makefile.org (1.154.2.69), "Exp", lines: +5 -1
 | 
			
		||||
		crypto/aes/aes.h (1.1.2.6), "Exp", lines: +3 -0
 | 
			
		||||
		crypto/aes/aes_cfb.c (1.1.2.5), "Exp", lines: +19 -0
 | 
			
		||||
		crypto/dsa/Makefile.ssl (1.49.2.6), "Exp", lines: +3 -2
 | 
			
		||||
		crypto/err/Makefile.ssl (1.48.2.4), "Exp", lines: +17 -16
 | 
			
		||||
		crypto/evp/e_aes.c (1.6.2.5), "Exp", lines: +8 -0
 | 
			
		||||
		crypto/evp/e_des.c (1.5.2.2), "Exp", lines: +1 -1
 | 
			
		||||
		crypto/evp/e_des3.c (1.8.2.3), "Exp", lines: +2 -2
 | 
			
		||||
		crypto/evp/evp.h (1.86.2.11), "Exp", lines: +28 -11
 | 
			
		||||
		crypto/evp/evp_locl.h (1.7.2.3), "Exp", lines: +2 -2
 | 
			
		||||
		crypto/objects/obj_dat.h (1.49.2.13), "Exp", lines: +10 -5
 | 
			
		||||
		crypto/objects/obj_mac.h (1.19.2.13), "Exp", lines: +5 -0
 | 
			
		||||
		crypto/objects/obj_mac.num (1.15.2.9), "Exp", lines: +1 -0
 | 
			
		||||
		crypto/objects/objects.txt (1.20.2.14), "Exp", lines: +4 -0
 | 
			
		||||
		fips/Makefile.ssl (1.1.2.3), "Exp", lines: +7 -0
 | 
			
		||||
		fips/aes/Makefile.ssl (1.1.2.2), "Exp", lines: +23 -1
 | 
			
		||||
		fips/aes/fips_aesavs.c (1.1.2.3), "Exp", lines: +9 -1
 | 
			
		||||
		test/Makefile.ssl (1.84.2.30), "Exp", lines: +101 -43
 | 
			
		||||
 | 
			
		||||
	Add support for partial CFB modes, make tests work, update
 | 
			
		||||
	dependencies.
 | 
			
		||||
 | 
			
		||||
2003-07-29 12:56  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/aes/aes_cfb.c (1.1.2.6), "Exp", lines: +9 -6
 | 
			
		||||
		crypto/evp/c_allc.c (1.8.2.3), "Exp", lines: +1 -0
 | 
			
		||||
		crypto/evp/evp_test.c (1.14.2.11), "Exp", lines: +17 -8
 | 
			
		||||
		crypto/evp/evptests.txt (1.9.2.2), "Exp", lines: +48 -1
 | 
			
		||||
 | 
			
		||||
	Working CFB1 and test vectors.
 | 
			
		||||
 | 
			
		||||
2003-07-29 15:24  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/evp/e_aes.c (1.6.2.6), "Exp", lines: +14 -0
 | 
			
		||||
		crypto/objects/obj_dat.h (1.49.2.14), "Exp", lines: +15 -5
 | 
			
		||||
		crypto/objects/obj_mac.h (1.19.2.14), "Exp", lines: +10 -0
 | 
			
		||||
		crypto/objects/obj_mac.num (1.15.2.10), "Exp", lines: +2 -0
 | 
			
		||||
		crypto/objects/objects.txt (1.20.2.15), "Exp", lines: +2 -0
 | 
			
		||||
		fips/aes/Makefile.ssl (1.1.2.3), "Exp", lines: +1 -1
 | 
			
		||||
		fips/aes/fips_aesavs.c (1.1.2.4), "Exp", lines: +34 -19
 | 
			
		||||
 | 
			
		||||
	The rest of the keysizes for CFB1, working AES AVS test for CFB1.
 | 
			
		||||
 | 
			
		||||
2003-07-29 19:05  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/aes/aes.h (1.1.2.7), "Exp", lines: +3 -0
 | 
			
		||||
		crypto/aes/aes_cfb.c (1.1.2.7), "Exp", lines: +14 -0
 | 
			
		||||
		crypto/evp/c_allc.c (1.8.2.4), "Exp", lines: +1 -0
 | 
			
		||||
		crypto/evp/e_aes.c (1.6.2.7), "Exp", lines: +4 -9
 | 
			
		||||
		crypto/evp/evptests.txt (1.9.2.3), "Exp", lines: +48 -0
 | 
			
		||||
		crypto/objects/obj_dat.h (1.49.2.15), "Exp", lines: +20 -5
 | 
			
		||||
		crypto/objects/obj_mac.h (1.19.2.15), "Exp", lines: +15 -0
 | 
			
		||||
		crypto/objects/obj_mac.num (1.15.2.11), "Exp", lines: +3 -0
 | 
			
		||||
		crypto/objects/objects.txt (1.20.2.16), "Exp", lines: +3 -0
 | 
			
		||||
		fips/aes/fips_aesavs.c (1.1.2.7), "Exp", lines: +11 -0
 | 
			
		||||
 | 
			
		||||
	AES CFB8.
 | 
			
		||||
 | 
			
		||||
2003-07-30 20:30  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		Makefile.org (1.154.2.70), "Exp", lines: +16 -5
 | 
			
		||||
		crypto/des/cfb_enc.c (1.7.2.1), "Exp", lines: +2 -1
 | 
			
		||||
		crypto/des/des_enc.c (1.11.2.2), "Exp", lines: +4 -0
 | 
			
		||||
		crypto/evp/e_aes.c (1.6.2.8), "Exp", lines: +7 -14
 | 
			
		||||
		crypto/evp/e_des.c (1.5.2.3), "Exp", lines: +37 -1
 | 
			
		||||
		crypto/evp/evp.h (1.86.2.12), "Exp", lines: +6 -0
 | 
			
		||||
		crypto/evp/evp_locl.h (1.7.2.4), "Exp", lines: +9 -0
 | 
			
		||||
		crypto/objects/obj_dat.h (1.49.2.16), "Exp", lines: +48 -23
 | 
			
		||||
		crypto/objects/obj_mac.h (1.19.2.16), "Exp", lines: +31 -6
 | 
			
		||||
		crypto/objects/obj_mac.num (1.15.2.12), "Exp", lines: +5 -0
 | 
			
		||||
		crypto/objects/objects.txt (1.20.2.17), "Exp", lines: +12 -6
 | 
			
		||||
		fips/Makefile.ssl (1.1.2.4), "Exp", lines: +8 -1
 | 
			
		||||
		fips/fips_make_sha1 (1.1.2.3), "Exp", lines: +3 -0
 | 
			
		||||
		fips/aes/Makefile.ssl (1.1.2.4), "Exp", lines: +1 -1
 | 
			
		||||
		fips/des/.cvsignore (1.1.2.1), "Exp", lines: +3 -0
 | 
			
		||||
		fips/des/Makefile.ssl (1.1.2.1), "Exp", lines: +96 -0
 | 
			
		||||
		fips/des/fingerprint.sha1 (1.1.2.1), "Exp", lines: +2 -0
 | 
			
		||||
		fips/des/fips_des_enc.c (1.1.2.1), "Exp", lines: +288 -0
 | 
			
		||||
		fips/des/fips_des_locl.h (1.1.2.1), "Exp", lines: +428 -0
 | 
			
		||||
		fips/des/fips_desmovs.c (1.1.2.1), "Exp", lines: +659 -0
 | 
			
		||||
 | 
			
		||||
	Whoops, forgot FIPS DES, also add EVPs for DES CFB1 and 8.
 | 
			
		||||
 | 
			
		||||
2003-08-01 12:25  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/des/cfb_enc.c (1.7.2.2), "Exp", lines: +45 -36
 | 
			
		||||
		crypto/evp/c_allc.c (1.8.2.5), "Exp", lines: +2 -0
 | 
			
		||||
		crypto/evp/e_des.c (1.5.2.4), "Exp", lines: +8 -3
 | 
			
		||||
		crypto/evp/evptests.txt (1.9.2.4), "Exp", lines: +6 -0
 | 
			
		||||
 | 
			
		||||
	Fix DES CFB-r.
 | 
			
		||||
 | 
			
		||||
2003-08-01 12:31  ben
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		crypto/evp/evptests.txt (1.9.2.5), "Exp", lines: +4 -0
 | 
			
		||||
 | 
			
		||||
	DES CFB8 test.
 | 
			
		||||
 | 
			
		||||
2005-04-19 16:21  appro
 | 
			
		||||
 | 
			
		||||
	Changed:
 | 
			
		||||
		Configure (1.314.2.117), "Exp", lines: +24 -21
 | 
			
		||||
		Makefile.org (1.154.2.100), "Exp", lines: +1 -11
 | 
			
		||||
		TABLE (1.99.2.52), "Exp", lines: +20 -20
 | 
			
		||||
		apps/Makefile (1.1.4.15), "Exp", lines: +1 -1
 | 
			
		||||
		test/Makefile (1.1.4.12), "Exp", lines: +1 -1
 | 
			
		||||
 | 
			
		||||
	Enable shared link on HP-UX.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1494
									
								
								ChangeLog.0_9_7-stable_not-in-head_FIPS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1494
									
								
								ChangeLog.0_9_7-stable_not-in-head_FIPS
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										128
									
								
								FAQ
									
									
									
									
									
								
							
							
						
						
									
										128
									
								
								FAQ
									
									
									
									
									
								
							@@ -31,6 +31,7 @@ OpenSSL  -  Frequently Asked Questions
 | 
			
		||||
* Why does my browser give a warning about a mismatched hostname?
 | 
			
		||||
* How do I install a CA certificate into a browser?
 | 
			
		||||
* Why is OpenSSL x509 DN output not conformant to RFC2253?
 | 
			
		||||
* What is a "128 bit certificate"? Can I create one with OpenSSL?
 | 
			
		||||
 | 
			
		||||
[BUILD] Questions about building and testing OpenSSL
 | 
			
		||||
 | 
			
		||||
@@ -46,6 +47,9 @@ OpenSSL  -  Frequently Asked Questions
 | 
			
		||||
* Why does the OpenSSL test suite fail on MacOS X?
 | 
			
		||||
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
 | 
			
		||||
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
 | 
			
		||||
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
 | 
			
		||||
* Why does compiler fail to compile sha512.c?
 | 
			
		||||
* Test suite still fails, what to do?
 | 
			
		||||
 | 
			
		||||
[PROG] Questions about programming with OpenSSL
 | 
			
		||||
 | 
			
		||||
@@ -70,7 +74,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.7e was released on October 25, 2004.
 | 
			
		||||
OpenSSL 0.9.8e was released on February 23rd, 2007.
 | 
			
		||||
 | 
			
		||||
In addition to the current stable release, you can also access daily
 | 
			
		||||
snapshots of the OpenSSL development version at <URL:
 | 
			
		||||
@@ -141,8 +145,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?
 | 
			
		||||
 | 
			
		||||
@@ -167,8 +171,8 @@ you if you want to use OpenSSL.  For information on intellectual
 | 
			
		||||
property rights, please consult a lawyer.  The OpenSSL team does not
 | 
			
		||||
offer legal advice.
 | 
			
		||||
 | 
			
		||||
You can configure OpenSSL so as not to use RC5 and IDEA by using
 | 
			
		||||
 ./config no-rc5 no-idea
 | 
			
		||||
You can configure OpenSSL so as not to use IDEA, MDC2 and RC5 by using
 | 
			
		||||
 ./config no-idea no-mdc2 no-rc5
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
* Can I use OpenSSL with GPL software?
 | 
			
		||||
@@ -384,6 +388,43 @@ interface, the "-nameopt" option could be introduded. See the manual
 | 
			
		||||
page of the "openssl x509" commandline tool for details. The old behaviour
 | 
			
		||||
has however been left as default for the sake of compatibility.
 | 
			
		||||
 | 
			
		||||
* What is a "128 bit certificate"? Can I create one with OpenSSL?
 | 
			
		||||
 | 
			
		||||
The term "128 bit certificate" is a highly misleading marketing term. It does
 | 
			
		||||
*not* refer to the size of the public key in the certificate! A certificate
 | 
			
		||||
containing a 128 bit RSA key would have negligible security.
 | 
			
		||||
 | 
			
		||||
There were various other names such as "magic certificates", "SGC
 | 
			
		||||
certificates", "step up certificates" etc.
 | 
			
		||||
 | 
			
		||||
You can't generally create such a certificate using OpenSSL but there is no
 | 
			
		||||
need to any more. Nowadays web browsers using unrestricted strong encryption
 | 
			
		||||
are generally available.
 | 
			
		||||
 | 
			
		||||
When there were tight export restrictions on the export of strong encryption
 | 
			
		||||
software from the US only weak encryption algorithms could be freely exported
 | 
			
		||||
(initially 40 bit and then 56 bit). It was widely recognised that this was
 | 
			
		||||
inadequate. A relaxation the rules allowed the use of strong encryption but
 | 
			
		||||
only to an authorised server.
 | 
			
		||||
 | 
			
		||||
Two slighly different techniques were developed to support this, one used by
 | 
			
		||||
Netscape was called "step up", the other used by MSIE was called "Server Gated
 | 
			
		||||
Cryptography" (SGC). When a browser initially connected to a server it would
 | 
			
		||||
check to see if the certificate contained certain extensions and was issued by
 | 
			
		||||
an authorised authority. If these test succeeded it would reconnect using
 | 
			
		||||
strong encryption.
 | 
			
		||||
 | 
			
		||||
Only certain (initially one) certificate authorities could issue the
 | 
			
		||||
certificates and they generally cost more than ordinary certificates.
 | 
			
		||||
 | 
			
		||||
Although OpenSSL can create certificates containing the appropriate extensions
 | 
			
		||||
the certificate would not come from a permitted authority and so would not
 | 
			
		||||
be recognized.
 | 
			
		||||
 | 
			
		||||
The export laws were later changed to allow almost unrestricted use of strong
 | 
			
		||||
encryption so these certificates are now obsolete.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[BUILD] =======================================================================
 | 
			
		||||
 | 
			
		||||
* Why does the linker complain about undefined symbols?
 | 
			
		||||
@@ -473,6 +514,10 @@ This will only compile sha_dgst.c with -O0, the rest with the optimization
 | 
			
		||||
level chosen by the configuration process.  When the above is done, do the
 | 
			
		||||
test and installation and you're set.
 | 
			
		||||
 | 
			
		||||
3. Reconfigure the toolkit with no-sha0 option to leave out SHA0. It 
 | 
			
		||||
should not be used and is not used in SSL/TLS nor any other recognized
 | 
			
		||||
protocol in either case.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
* Why does the OpenSSL compilation fail with "ar: command not found"?
 | 
			
		||||
 | 
			
		||||
@@ -594,6 +639,35 @@ Reportedly elder *BSD a.out platforms also suffer from this problem and
 | 
			
		||||
remedy should be same. Provided binary is statically linked and should be
 | 
			
		||||
working across wider range of *BSD branches, not just OpenBSD.
 | 
			
		||||
 | 
			
		||||
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
 | 
			
		||||
 | 
			
		||||
If the test program in question fails withs SIGILL, Illegal Instruction
 | 
			
		||||
exception, then you more than likely to run SSE2-capable CPU, such as
 | 
			
		||||
Intel P4, under control of kernel which does not support SSE2
 | 
			
		||||
instruction extentions. See accompanying INSTALL file and
 | 
			
		||||
OPENSSL_ia32cap(3) documentation page for further information.
 | 
			
		||||
 | 
			
		||||
* 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.
 | 
			
		||||
 | 
			
		||||
* Test suite still fails, what to do?
 | 
			
		||||
 | 
			
		||||
Another common reason for failure to complete some particular test is
 | 
			
		||||
simply bad code generated by a buggy component in toolchain or deficiency
 | 
			
		||||
in run-time environment. There are few cases documented in PROBLEMS file,
 | 
			
		||||
consult it for possible workaround before you beat the drum. Even if you
 | 
			
		||||
don't find solution or even mention there, do reserve for possibility of
 | 
			
		||||
a compiler bug. Compiler bugs might appear in rather bizarre ways, they
 | 
			
		||||
never make sense, and tend to emerge when you least expect them. In order
 | 
			
		||||
to identify one, drop optimization level, e.g. by editing CFLAG line in
 | 
			
		||||
top-level Makefile, recompile and re-run the test.
 | 
			
		||||
 | 
			
		||||
[PROG] ========================================================================
 | 
			
		||||
 | 
			
		||||
* Is OpenSSL thread-safe?
 | 
			
		||||
@@ -605,8 +679,9 @@ libraries.  If your platform is not one of these, consult the INSTALL
 | 
			
		||||
file.
 | 
			
		||||
 | 
			
		||||
Multi-threaded applications must provide two callback functions to
 | 
			
		||||
OpenSSL.  This is described in the threads(3) manpage.
 | 
			
		||||
 | 
			
		||||
OpenSSL by calling CRYPTO_set_locking_callback() and
 | 
			
		||||
CRYPTO_set_id_callback().  This is described in the threads(3)
 | 
			
		||||
manpage.
 | 
			
		||||
 | 
			
		||||
* I've compiled a program under Windows and it crashes: why?
 | 
			
		||||
 | 
			
		||||
@@ -626,10 +701,10 @@ your application must link  against the same by which OpenSSL was
 | 
			
		||||
built.  If you are using MS Visual C++ (Studio) this can be changed
 | 
			
		||||
by:
 | 
			
		||||
 | 
			
		||||
1.  Select Settings... from the Project Menu.
 | 
			
		||||
2.  Select the C/C++ Tab.
 | 
			
		||||
3.  Select "Code Generation from the "Category" drop down list box
 | 
			
		||||
4.  Select the Appropriate library (see table below) from the "Use
 | 
			
		||||
 1. Select Settings... from the Project Menu.
 | 
			
		||||
 2. Select the C/C++ Tab.
 | 
			
		||||
 3. Select "Code Generation from the "Category" drop down list box
 | 
			
		||||
 4. Select the Appropriate library (see table below) from the "Use
 | 
			
		||||
    run-time library" drop down list box.  Perform this step for both
 | 
			
		||||
    your debug and release versions of your application (look at the
 | 
			
		||||
    top left of the settings panel to change between the two)
 | 
			
		||||
@@ -648,6 +723,20 @@ by:
 | 
			
		||||
Note that debug and release libraries are NOT interchangeable.  If you
 | 
			
		||||
built OpenSSL with /MD your application must use /MD and cannot use /MDd.
 | 
			
		||||
 | 
			
		||||
As per 0.9.8 the above limitation is eliminated for .DLLs. OpenSSL
 | 
			
		||||
.DLLs compiled with some specific run-time option [we insist on the
 | 
			
		||||
default /MD] can be deployed with application compiled with different
 | 
			
		||||
option or even different compiler. But there is a catch! Instead of
 | 
			
		||||
re-compiling OpenSSL toolkit, as you would have to with prior versions,
 | 
			
		||||
you have to compile small C snippet with compiler and/or options of
 | 
			
		||||
your choice. The snippet gets installed as
 | 
			
		||||
<install-root>/include/openssl/applink.c and should be either added to
 | 
			
		||||
your application project or simply #include-d in one [and only one]
 | 
			
		||||
of your application source files. Failure to link this shim module
 | 
			
		||||
into your application manifests itself as fatal "no OPENSSL_Applink"
 | 
			
		||||
run-time error. An explicit reminder is due that in this situation
 | 
			
		||||
[mixing compiler options] it is as important to add CRYPTO_malloc_init
 | 
			
		||||
prior first call to OpenSSL.
 | 
			
		||||
 | 
			
		||||
* How do I read or write a DER encoded buffer using the ASN1 functions?
 | 
			
		||||
 | 
			
		||||
@@ -789,9 +878,20 @@ that is allocated when an application starts up. Since such tables do not grow
 | 
			
		||||
in size over time they are harmless.
 | 
			
		||||
 | 
			
		||||
These internal tables can be freed up when an application closes using various
 | 
			
		||||
functions.  Currently these include: EVP_cleanup(), ERR_remove_state(),
 | 
			
		||||
ERR_free_strings(), ENGINE_cleanup(), CONF_modules_unload() and
 | 
			
		||||
CRYPTO_cleanup_all_ex_data().
 | 
			
		||||
functions.  Currently these include following:
 | 
			
		||||
 | 
			
		||||
Thread-local cleanup functions:
 | 
			
		||||
 | 
			
		||||
  ERR_remove_state()
 | 
			
		||||
 | 
			
		||||
Application-global cleanup functions that are aware of usage (and therefore
 | 
			
		||||
thread-safe):
 | 
			
		||||
 | 
			
		||||
  ENGINE_cleanup() and CONF_modules_unload()
 | 
			
		||||
 | 
			
		||||
"Brutal" (thread-unsafe) Application-global cleanup functions:
 | 
			
		||||
 | 
			
		||||
  ERR_free_strings(), EVP_cleanup() and CRYPTO_cleanup_all_ex_data().
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
===============================================================================
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								INSTALL
									
									
									
									
									
								
							@@ -75,14 +75,30 @@
 | 
			
		||||
  no-asm        Do not use assembler code.
 | 
			
		||||
 | 
			
		||||
  386           Use the 80386 instruction set only (the default x86 code is
 | 
			
		||||
                more efficient, but requires at least a 486).
 | 
			
		||||
                more efficient, but requires at least a 486). Note: Use
 | 
			
		||||
                compiler flags for any other CPU specific configuration,
 | 
			
		||||
                e.g. "-m32" to build x86 code on an x64 system.
 | 
			
		||||
 | 
			
		||||
  no-sse2	Exclude SSE2 code pathes. Normally SSE2 extention is
 | 
			
		||||
		detected at run-time, but the decision whether or not the
 | 
			
		||||
		machine code will be executed is taken solely on CPU
 | 
			
		||||
		capability vector. This means that if you happen to run OS
 | 
			
		||||
		kernel which does not support SSE2 extension on Intel P4
 | 
			
		||||
		processor, then your application might be exposed to
 | 
			
		||||
		"illegal instruction" exception. There might be a way
 | 
			
		||||
		to enable support in kernel, e.g. FreeBSD kernel can be
 | 
			
		||||
		compiled with CPU_ENABLE_SSE, and there is a way to
 | 
			
		||||
		disengage SSE2 code pathes upon application start-up,
 | 
			
		||||
		but if you aim for wider "audience" running such kernel,
 | 
			
		||||
		consider no-sse2. Both 386 and no-asm options above imply
 | 
			
		||||
		no-sse2.
 | 
			
		||||
 | 
			
		||||
  no-<cipher>   Build without the specified cipher (bf, cast, des, dh, dsa,
 | 
			
		||||
                hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
 | 
			
		||||
                The crypto/<cipher> directory can be removed after running
 | 
			
		||||
                "make depend".
 | 
			
		||||
 | 
			
		||||
  -Dxxx, -lxxx, -Lxxx, -fxxx, -Kxxx These system specific options will
 | 
			
		||||
  -Dxxx, -lxxx, -Lxxx, -fxxx, -mxxx, -Kxxx These system specific options will
 | 
			
		||||
                be passed through to the compiler to allow you to
 | 
			
		||||
                define preprocessor symbols, specify additional libraries,
 | 
			
		||||
                library directories or other compiler options.
 | 
			
		||||
@@ -286,10 +302,10 @@
 | 
			
		||||
 Note on shared libraries
 | 
			
		||||
 ------------------------
 | 
			
		||||
 | 
			
		||||
 Shared library is currently an experimental feature.  The only reason to
 | 
			
		||||
 have them would be to conserve memory on systems where several program
 | 
			
		||||
 are using OpenSSL.  Binary backward compatibility can't be guaranteed
 | 
			
		||||
 before OpenSSL version 1.0.
 | 
			
		||||
 Shared libraries have certain caveats.  Binary backward compatibility
 | 
			
		||||
 can't be guaranteed before OpenSSL version 1.0.  The only reason to
 | 
			
		||||
 use them would be to conserve memory on systems where several programs
 | 
			
		||||
 are using OpenSSL.
 | 
			
		||||
 | 
			
		||||
 For some systems, the OpenSSL Configure script knows what is needed to
 | 
			
		||||
 build shared libraries for libcrypto and libssl.  On these systems,
 | 
			
		||||
@@ -314,7 +330,7 @@
 | 
			
		||||
 Note on support for multiple builds
 | 
			
		||||
 -----------------------------------
 | 
			
		||||
 | 
			
		||||
 OpenSSL is usually built in it's source tree.  Unfortunately, this doesn't
 | 
			
		||||
 OpenSSL is usually built in its source tree.  Unfortunately, this doesn't
 | 
			
		||||
 support building for multiple platforms from the same source tree very well.
 | 
			
		||||
 It is however possible to build in a separate tree through the use of lots
 | 
			
		||||
 of symbolic links, which should be prepared like this:
 | 
			
		||||
 
 | 
			
		||||
@@ -3,32 +3,45 @@
 | 
			
		||||
 INSTALLATION ON THE DOS PLATFORM WITH DJGPP
 | 
			
		||||
 -------------------------------------------
 | 
			
		||||
 | 
			
		||||
 Openssl has been ported to DOS, but only with long filename support. If
 | 
			
		||||
 you wish to compile on native DOS with 8+3 filenames, you will have to
 | 
			
		||||
 tweak the installation yourself, including renaming files with illegal
 | 
			
		||||
 or duplicate names.
 | 
			
		||||
 OpenSSL has been ported to DJGPP, a Unix look-alike 32-bit run-time
 | 
			
		||||
 environment for 16-bit DOS, but only with long filename support.
 | 
			
		||||
 If you wish to compile on native DOS with 8+3 filenames, you will
 | 
			
		||||
 have to tweak the installation yourself, including renaming files
 | 
			
		||||
 with illegal or duplicate names.
 | 
			
		||||
 | 
			
		||||
 You should have a full DJGPP environment installed, including the
 | 
			
		||||
 latest versions of DJGPP, GCC, BINUTILS, BASH, etc. This package
 | 
			
		||||
 requires that PERL and BC also be installed.
 | 
			
		||||
 | 
			
		||||
 All of these can be obtained from the usual DJGPP mirror sites, such
 | 
			
		||||
 as "ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp". You also need to
 | 
			
		||||
 have the WATT-32 networking package installed before you try to compile
 | 
			
		||||
 openssl. This can be obtained from "http://www.bgnett.no/~giva/".
 | 
			
		||||
 All of these can be obtained from the usual DJGPP mirror sites or
 | 
			
		||||
 directly at "http://www.delorie.com/pub/djgpp". For help on which
 | 
			
		||||
 files to download, see the DJGPP "ZIP PICKER" page at
 | 
			
		||||
 "http://www.delorie.com/djgpp/zip-picker.html". You also need to have
 | 
			
		||||
 the WATT-32 networking package installed before you try to compile
 | 
			
		||||
 OpenSSL. This can be obtained from "http://www.bgnett.no/~giva/".
 | 
			
		||||
 The Makefile assumes that the WATT-32 code is in the directory
 | 
			
		||||
 specified by the environment variable WATT_ROOT. If you have watt-32
 | 
			
		||||
 in directory "watt32" under your main DJGPP directory, specify
 | 
			
		||||
 WATT_ROOT="/dev/env/DJDIR/watt32".
 | 
			
		||||
 | 
			
		||||
 To compile openssl, start your BASH shell. Then configure for DOS by
 | 
			
		||||
 running "./Configure" with appropriate arguments. The basic syntax for
 | 
			
		||||
 DOS is:
 | 
			
		||||
 ./Configure no-threads --prefix=/dev/env/DJDIR DJGPP
 | 
			
		||||
 
 | 
			
		||||
 You may run out of DPMI selectors when running in a DOS box under
 | 
			
		||||
 Windows. If so, just close the BASH shell, go back to Windows, and
 | 
			
		||||
 restart BASH. Then run "make" again.
 | 
			
		||||
 To compile OpenSSL, start your BASH shell, then configure for DJGPP by
 | 
			
		||||
 running "./Configure" with appropriate arguments:
 | 
			
		||||
 | 
			
		||||
 Building openssl under DJGPP has been tested with DJGPP 2.03,
 | 
			
		||||
 GCC 2.952, GCC 2.953, perl 5.005_02 and perl 5.006_01.
 | 
			
		||||
	./Configure no-threads --prefix=/dev/env/DJDIR DJGPP
 | 
			
		||||
 
 | 
			
		||||
 And finally fire up "make". You may run out of DPMI selectors when
 | 
			
		||||
 running in a DOS box under Windows. If so, just close the BASH
 | 
			
		||||
 shell, go back to Windows, and restart BASH. Then run "make" again.
 | 
			
		||||
 | 
			
		||||
 RUN-TIME CAVEAT LECTOR
 | 
			
		||||
 --------------
 | 
			
		||||
 | 
			
		||||
 Quoting FAQ:
 | 
			
		||||
 | 
			
		||||
  "Cryptographic software needs a source of unpredictable data to work
 | 
			
		||||
   correctly.  Many open source operating systems provide a "randomness
 | 
			
		||||
   device" (/dev/urandom or /dev/random) that serves this purpose."
 | 
			
		||||
 | 
			
		||||
 As of version 0.9.7f DJGPP port checks upon /dev/urandom$ for a 3rd
 | 
			
		||||
 party "randomness" DOS driver. One such driver, NOISE.SYS, can be
 | 
			
		||||
 obtained from "http://www.rahul.net/dkaufman/index.html".
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								INSTALL.W32
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								INSTALL.W32
									
									
									
									
									
								
							@@ -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
 | 
			
		||||
@@ -48,7 +49,9 @@
 | 
			
		||||
 | 
			
		||||
 Firstly you should run Configure:
 | 
			
		||||
 | 
			
		||||
 > perl Configure VC-WIN32
 | 
			
		||||
 > perl Configure VC-WIN32 --prefix=c:/some/openssl/dir
 | 
			
		||||
 | 
			
		||||
Where the prefix argument specifies where OpenSSL will be installed to.
 | 
			
		||||
 | 
			
		||||
 Next you need to build the Makefiles and optionally the assembly language
 | 
			
		||||
 files:
 | 
			
		||||
@@ -76,8 +79,12 @@
 | 
			
		||||
 If all is well it should compile and you will have some DLLs and executables
 | 
			
		||||
 in out32dll. If you want to try the tests then do:
 | 
			
		||||
 
 | 
			
		||||
 > cd out32dll
 | 
			
		||||
 > ..\ms\test
 | 
			
		||||
 > nmake -f ms\ntdll.mak test
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
To install OpenSSL to the specified location do:
 | 
			
		||||
 | 
			
		||||
> nmake -f ms\ntdll.mak install
 | 
			
		||||
 | 
			
		||||
 Tweaks:
 | 
			
		||||
 | 
			
		||||
@@ -87,6 +94,12 @@
 | 
			
		||||
 compiled in. Note that mk1mf.pl expects the platform to be the last argument
 | 
			
		||||
 on the command line, so 'debug' must appear before that, as all other options.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 By default in 0.9.8 OpenSSL will compile builtin ENGINES into the libeay32.dll
 | 
			
		||||
 shared library. If you specify the "no-static-engine" option on the command
 | 
			
		||||
 line to Configure the shared library build (ms\ntdll.mak) will compile the
 | 
			
		||||
 engines as separate DLLs.
 | 
			
		||||
 | 
			
		||||
 The default Win32 environment is to leave out any Windows NT specific
 | 
			
		||||
 features.
 | 
			
		||||
 | 
			
		||||
@@ -97,6 +110,8 @@
 | 
			
		||||
 You can also build a static version of the library using the Makefile
 | 
			
		||||
 ms\nt.mak
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 Borland C++ builder 5
 | 
			
		||||
 ---------------------
 | 
			
		||||
 | 
			
		||||
@@ -286,3 +301,21 @@
 | 
			
		||||
 (e.g. fopen()), and OpenSSL cannot change these; so in general you cannot
 | 
			
		||||
 rely on CRYPTO_malloc_init() solving your problem, and you should
 | 
			
		||||
 consistently use the multithreaded library.
 | 
			
		||||
 | 
			
		||||
 Linking your application
 | 
			
		||||
 ------------------------
 | 
			
		||||
 | 
			
		||||
 If you link with static OpenSSL libraries [those built with ms/nt.mak],
 | 
			
		||||
 then you're expected to additionally link your application with
 | 
			
		||||
 WSOCK32.LIB, ADVAPI32.LIB, GDI32.LIB and USER32.LIB. Those developing
 | 
			
		||||
 non-interactive service applications might feel concerned about linking
 | 
			
		||||
 with latter two, as they are justly associated with interactive desktop,
 | 
			
		||||
 which is not available to service processes. The toolkit is designed
 | 
			
		||||
 to detect in which context it's currently executed, GUI, console app
 | 
			
		||||
 or service, and act accordingly, namely whether or not to actually make
 | 
			
		||||
 GUI calls.
 | 
			
		||||
 | 
			
		||||
 If you link with OpenSSL .DLLs, then you're expected to include into
 | 
			
		||||
 your application code small "shim" snippet, which provides glue between
 | 
			
		||||
 OpenSSL BIO layer and your compiler run-time. Look up OPENSSL_Applink
 | 
			
		||||
 reference page for further details.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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.
 | 
			
		||||
 | 
			
		||||
@@ -11,8 +11,11 @@
 | 
			
		||||
 You also need Perl for Win32.  You will need ActiveState Perl, available
 | 
			
		||||
 from http://www.activestate.com/ActivePerl.
 | 
			
		||||
 | 
			
		||||
 Windows CE support in OpenSSL relies on wcecompat.  All Windows CE specific
 | 
			
		||||
 issues should be directed to www.essemer.com.au.
 | 
			
		||||
 Windows CE support in OpenSSL relies on wcecompat and therefore it's
 | 
			
		||||
 appropriate to check http://www.essemer.com.au/windowsce/ for updates in
 | 
			
		||||
 case of compilation problems. As for the moment of this writing version
 | 
			
		||||
 1.1 is available and actually required for WCE 4.2 and newer platforms.
 | 
			
		||||
 All Windows CE specific issues should be directed to www.essemer.com.au.
 | 
			
		||||
 | 
			
		||||
 The C Runtime Library implementation for Windows CE that is included with
 | 
			
		||||
 Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							@@ -12,7 +12,7 @@
 | 
			
		||||
  ---------------
 | 
			
		||||
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 1998-2003 The OpenSSL Project.  All rights reserved.
 | 
			
		||||
 * Copyright (c) 1998-2007 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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										522
									
								
								Makefile.org
									
									
									
									
									
								
							
							
						
						
									
										522
									
								
								Makefile.org
									
									
									
									
									
								
							@@ -57,15 +57,15 @@ OPENSSLDIR=/usr/local/ssl
 | 
			
		||||
# equal 4.
 | 
			
		||||
# PKCS1_CHECK - pkcs1 tests.
 | 
			
		||||
 | 
			
		||||
CC= gcc
 | 
			
		||||
#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
 | 
			
		||||
CFLAG= -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
 | 
			
		||||
CC= cc
 | 
			
		||||
CFLAG= -O
 | 
			
		||||
DEPFLAG= 
 | 
			
		||||
PEX_LIBS= 
 | 
			
		||||
EX_LIBS= 
 | 
			
		||||
EXE_EXT= 
 | 
			
		||||
ARFLAGS=
 | 
			
		||||
AR=ar $(ARFLAGS) r
 | 
			
		||||
ARD=ar $(ARFLAGS) d
 | 
			
		||||
RANLIB= ranlib
 | 
			
		||||
PERL= perl
 | 
			
		||||
TAR= tar
 | 
			
		||||
@@ -86,114 +86,71 @@ PROCESSOR=
 | 
			
		||||
 | 
			
		||||
# CPUID module collects small commonly used assembler snippets
 | 
			
		||||
CPUID_OBJ= 
 | 
			
		||||
 | 
			
		||||
# Set BN_ASM to bn_asm.o if you want to use the C version
 | 
			
		||||
BN_ASM= bn_asm.o
 | 
			
		||||
#BN_ASM= bn_asm.o
 | 
			
		||||
#BN_ASM= asm/bn86-elf.o	# elf, linux-elf
 | 
			
		||||
#BN_ASM= asm/bn86-sol.o # solaris
 | 
			
		||||
#BN_ASM= asm/bn86-out.o # a.out, FreeBSD
 | 
			
		||||
#BN_ASM= asm/bn86bsdi.o # bsdi
 | 
			
		||||
#BN_ASM= asm/alpha.o    # DEC Alpha
 | 
			
		||||
#BN_ASM= asm/pa-risc2.o # HP-UX PA-RISC
 | 
			
		||||
#BN_ASM= asm/r3000.o    # SGI MIPS cpu
 | 
			
		||||
#BN_ASM= asm/sparc.o    # Sun solaris/SunOS
 | 
			
		||||
#BN_ASM= asm/bn-win32.o # Windows 95/NT
 | 
			
		||||
#BN_ASM= asm/x86w16.o   # 16 bit code for Windows 3.1/DOS
 | 
			
		||||
#BN_ASM= asm/x86w32.o   # 32 bit code for Windows 3.1
 | 
			
		||||
 | 
			
		||||
# Set DES_ENC to des_enc.o if you want to use the C version
 | 
			
		||||
#There are 4 x86 assember options.
 | 
			
		||||
DES_ENC= asm/dx86-out.o asm/yx86-out.o
 | 
			
		||||
#DES_ENC= des_enc.o fcrypt_b.o          # C
 | 
			
		||||
#DES_ENC= asm/dx86-elf.o asm/yx86-elf.o # elf
 | 
			
		||||
#DES_ENC= asm/dx86-sol.o asm/yx86-sol.o # solaris
 | 
			
		||||
#DES_ENC= asm/dx86-out.o asm/yx86-out.o # a.out, FreeBSD
 | 
			
		||||
#DES_ENC= asm/dx86bsdi.o asm/yx86bsdi.o # bsdi
 | 
			
		||||
 | 
			
		||||
AES_ASM_OBJ=
 | 
			
		||||
 | 
			
		||||
# Set BF_ENC to bf_enc.o if you want to use the C version
 | 
			
		||||
#There are 4 x86 assember options.
 | 
			
		||||
BF_ENC= asm/bx86-out.o
 | 
			
		||||
#BF_ENC= bf_enc.o
 | 
			
		||||
#BF_ENC= asm/bx86-elf.o # elf
 | 
			
		||||
#BF_ENC= asm/bx86-sol.o # solaris
 | 
			
		||||
#BF_ENC= asm/bx86-out.o # a.out, FreeBSD
 | 
			
		||||
#BF_ENC= asm/bx86bsdi.o # bsdi
 | 
			
		||||
 | 
			
		||||
# Set CAST_ENC to c_enc.o if you want to use the C version
 | 
			
		||||
#There are 4 x86 assember options.
 | 
			
		||||
CAST_ENC= asm/cx86-out.o
 | 
			
		||||
#CAST_ENC= c_enc.o
 | 
			
		||||
#CAST_ENC= asm/cx86-elf.o # elf
 | 
			
		||||
#CAST_ENC= asm/cx86-sol.o # solaris
 | 
			
		||||
#CAST_ENC= asm/cx86-out.o # a.out, FreeBSD
 | 
			
		||||
#CAST_ENC= asm/cx86bsdi.o # bsdi
 | 
			
		||||
 | 
			
		||||
# Set RC4_ENC to rc4_enc.o if you want to use the C version
 | 
			
		||||
#There are 4 x86 assember options.
 | 
			
		||||
RC4_ENC= asm/rx86-out.o
 | 
			
		||||
#RC4_ENC= rc4_enc.o
 | 
			
		||||
#RC4_ENC= asm/rx86-elf.o # elf
 | 
			
		||||
#RC4_ENC= asm/rx86-sol.o # solaris
 | 
			
		||||
#RC4_ENC= asm/rx86-out.o # a.out, FreeBSD
 | 
			
		||||
#RC4_ENC= asm/rx86bsdi.o # bsdi
 | 
			
		||||
 | 
			
		||||
# Set RC5_ENC to rc5_enc.o if you want to use the C version
 | 
			
		||||
#There are 4 x86 assember options.
 | 
			
		||||
RC5_ENC= asm/r586-out.o
 | 
			
		||||
#RC5_ENC= rc5_enc.o
 | 
			
		||||
#RC5_ENC= asm/r586-elf.o # elf
 | 
			
		||||
#RC5_ENC= asm/r586-sol.o # solaris
 | 
			
		||||
#RC5_ENC= asm/r586-out.o # a.out, FreeBSD
 | 
			
		||||
#RC5_ENC= asm/r586bsdi.o # bsdi
 | 
			
		||||
 | 
			
		||||
# Also need MD5_ASM defined
 | 
			
		||||
MD5_ASM_OBJ= asm/mx86-out.o
 | 
			
		||||
#MD5_ASM_OBJ= asm/mx86-elf.o        # elf
 | 
			
		||||
#MD5_ASM_OBJ= asm/mx86-sol.o        # solaris
 | 
			
		||||
#MD5_ASM_OBJ= asm/mx86-out.o        # a.out, FreeBSD
 | 
			
		||||
#MD5_ASM_OBJ= asm/mx86bsdi.o        # bsdi
 | 
			
		||||
 | 
			
		||||
# Also need SHA1_ASM defined
 | 
			
		||||
SHA1_ASM_OBJ= asm/sx86-out.o
 | 
			
		||||
#SHA1_ASM_OBJ= asm/sx86-elf.o       # elf
 | 
			
		||||
#SHA1_ASM_OBJ= asm/sx86-sol.o       # solaris
 | 
			
		||||
#SHA1_ASM_OBJ= asm/sx86-out.o       # a.out, FreeBSD
 | 
			
		||||
#SHA1_ASM_OBJ= asm/sx86bsdi.o       # bsdi
 | 
			
		||||
 | 
			
		||||
# Also need RMD160_ASM defined
 | 
			
		||||
RMD160_ASM_OBJ= asm/rm86-out.o
 | 
			
		||||
#RMD160_ASM_OBJ= asm/rm86-elf.o       # elf
 | 
			
		||||
#RMD160_ASM_OBJ= asm/rm86-sol.o       # solaris
 | 
			
		||||
#RMD160_ASM_OBJ= asm/rm86-out.o       # a.out, FreeBSD
 | 
			
		||||
#RMD160_ASM_OBJ= asm/rm86bsdi.o       # bsdi
 | 
			
		||||
DES_ENC= des_enc.o fcrypt_b.o
 | 
			
		||||
AES_ASM_OBJ=aes_core.o aes_cbc.o
 | 
			
		||||
BF_ENC= bf_enc.o
 | 
			
		||||
CAST_ENC= c_enc.o
 | 
			
		||||
RC4_ENC= rc4_enc.o
 | 
			
		||||
RC5_ENC= rc5_enc.o
 | 
			
		||||
MD5_ASM_OBJ= 
 | 
			
		||||
SHA1_ASM_OBJ= 
 | 
			
		||||
RMD160_ASM_OBJ= 
 | 
			
		||||
 | 
			
		||||
# KRB5 stuff
 | 
			
		||||
KRB5_INCLUDES=
 | 
			
		||||
LIBKRB5=
 | 
			
		||||
 | 
			
		||||
DIRS=   crypto ssl engines apps test tools
 | 
			
		||||
SHLIBDIRS= crypto ssl
 | 
			
		||||
# Zlib stuff
 | 
			
		||||
ZLIB_INCLUDE=
 | 
			
		||||
LIBZLIB=
 | 
			
		||||
 | 
			
		||||
# This is the location of fipscanister.o and friends.
 | 
			
		||||
# The FIPS module build will place it $(INSTALLTOP)/lib
 | 
			
		||||
# but since $(INSTALLTOP) can only take the default value
 | 
			
		||||
# when the module is built it will be in /usr/local/ssl/lib
 | 
			
		||||
# $(INSTALLTOP) for this build make be different so hard
 | 
			
		||||
# code the path.
 | 
			
		||||
 | 
			
		||||
FIPSLIBDIR=/usr/local/ssl/lib/
 | 
			
		||||
 | 
			
		||||
# This is set to "y" if fipscanister.o is compiled internally as
 | 
			
		||||
# opposed to coming from an external validated location.
 | 
			
		||||
 | 
			
		||||
FIPSCANISTERINTERNAL=n
 | 
			
		||||
 | 
			
		||||
# The location of the library which contains fipscanister.o
 | 
			
		||||
# normally it will be libcrypto unless fipsdso is set in which
 | 
			
		||||
# case it will be libfips. If not compiling in FIPS mode at all
 | 
			
		||||
# this is empty making it a useful test for a FIPS compile.
 | 
			
		||||
 | 
			
		||||
FIPSCANLIB=
 | 
			
		||||
 | 
			
		||||
# Shared library base address. Currently only used on Windows.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
BASEADDR=
 | 
			
		||||
 | 
			
		||||
DIRS=   crypto fips ssl engines apps test tools
 | 
			
		||||
SHLIBDIRS= crypto ssl fips
 | 
			
		||||
 | 
			
		||||
# dirs in crypto to build
 | 
			
		||||
SDIRS=  \
 | 
			
		||||
	objects \
 | 
			
		||||
	md2 md4 md5 sha mdc2 hmac ripemd \
 | 
			
		||||
	des rc2 rc4 rc5 idea bf cast \
 | 
			
		||||
	bn ec rsa dsa ecdsa dh ecdh dso engine aes \
 | 
			
		||||
	des aes rc2 rc4 rc5 idea bf cast camellia seed \
 | 
			
		||||
	bn ec rsa dsa ecdsa dh ecdh dso engine \
 | 
			
		||||
	buffer bio stack lhash rand err \
 | 
			
		||||
	evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
 | 
			
		||||
	store
 | 
			
		||||
	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.
 | 
			
		||||
TESTS = alltests
 | 
			
		||||
 | 
			
		||||
MAKEFILE= Makefile.ssl
 | 
			
		||||
NEWMAKE=  make
 | 
			
		||||
MAKE=     $(NEWMAKE) -f Makefile.ssl
 | 
			
		||||
MAKEFILE= Makefile
 | 
			
		||||
 | 
			
		||||
MANDIR=$(OPENSSLDIR)/man
 | 
			
		||||
MAN1=1
 | 
			
		||||
@@ -208,26 +165,48 @@ WDIRS=  windows
 | 
			
		||||
LIBS=   libcrypto.a libssl.a
 | 
			
		||||
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
 | 
			
		||||
SHARED_SSL=libssl$(SHLIB_EXT)
 | 
			
		||||
SHARED_FIPS=
 | 
			
		||||
SHARED_LIBS=
 | 
			
		||||
SHARED_LIBS_LINK_EXTS=
 | 
			
		||||
SHARED_LDFLAGS=
 | 
			
		||||
 | 
			
		||||
GENERAL=        Makefile
 | 
			
		||||
BASENAME=       openssl
 | 
			
		||||
NAME=           $(BASENAME)-$(VERSION)
 | 
			
		||||
NAME=           $(BASENAME)-fips-$(VERSION)
 | 
			
		||||
TARFILE=        $(NAME).tar
 | 
			
		||||
WTARFILE=       $(NAME)-win.tar
 | 
			
		||||
EXHEADER=       e_os2.h
 | 
			
		||||
HEADER=         e_os.h
 | 
			
		||||
 | 
			
		||||
all: Makefile.ssl 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}' \
 | 
			
		||||
		SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}'	\
 | 
			
		||||
		CC='${CC}' CFLAG='${CFLAG}' 			\
 | 
			
		||||
		AS='${CC}' ASFLAG='${CFLAG} -c'			\
 | 
			
		||||
		AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}'	\
 | 
			
		||||
		LDFLAGS="$(LDFLAGS)" SHARED_LDFLAGS="$(SHARED_LDFLAGS)"	\
 | 
			
		||||
		SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib'	\
 | 
			
		||||
		INSTALL_PREFIX='${INSTALL_PREFIX}'		\
 | 
			
		||||
		INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}'	\
 | 
			
		||||
		MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
 | 
			
		||||
		DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}'	\
 | 
			
		||||
		MAKEDEPPROG='${MAKEDEPPROG}'			\
 | 
			
		||||
		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}'	\
 | 
			
		||||
@@ -239,41 +218,148 @@ BUILDENV=	PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
 | 
			
		||||
		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}'
 | 
			
		||||
		RMD160_ASM_OBJ='${RMD160_ASM_OBJ}'		\
 | 
			
		||||
		FIPSLIBDIR='${FIPSLIBDIR}' FIPSCANLIB='${FIPSCANLIB}' \
 | 
			
		||||
		FIPSCANISTERINTERNAL='${FIPSCANISTERINTERNAL}'	\
 | 
			
		||||
		FIPS_EX_OBJ='${FIPS_EX_OBJ}'	\
 | 
			
		||||
		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 is a generic macro to build a given target in a given
 | 
			
		||||
# subdirectory.  The target must be given through the shell variable
 | 
			
		||||
# `target' and the subdirectory to build in must be given through `dir'.
 | 
			
		||||
# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
 | 
			
		||||
# BUILD_ONE_CMD instead.
 | 
			
		||||
#
 | 
			
		||||
# BUILD_ONE_CMD is a macro to build a given target in a given
 | 
			
		||||
# subdirectory if that subdirectory is part of $(DIRS).  It requires
 | 
			
		||||
# exactly the same shell variables as BUILD_CMD.
 | 
			
		||||
#
 | 
			
		||||
# RECURSIVE_BUILD_CMD is a macro to build a given target in all
 | 
			
		||||
# subdirectories defined in $(DIRS).  It requires that the target
 | 
			
		||||
# is given through the shell variable `target'.
 | 
			
		||||
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
 | 
			
		||||
BUILD_ONE_CMD=\
 | 
			
		||||
	if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
 | 
			
		||||
		$(BUILD_CMD); \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
reflect:
 | 
			
		||||
	@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
 | 
			
		||||
 | 
			
		||||
FIPS_EX_OBJ= ../crypto/aes/aes_cfb.o \
 | 
			
		||||
	../crypto/aes/aes_ecb.o \
 | 
			
		||||
	../crypto/aes/aes_ofb.o \
 | 
			
		||||
	../crypto/bn/bn_add.o \
 | 
			
		||||
	../crypto/bn/bn_blind.o \
 | 
			
		||||
	../crypto/bn/bn_ctx.o \
 | 
			
		||||
	../crypto/bn/bn_div.o \
 | 
			
		||||
	../crypto/bn/bn_exp2.o \
 | 
			
		||||
	../crypto/bn/bn_exp.o \
 | 
			
		||||
	../crypto/bn/bn_gcd.o \
 | 
			
		||||
	../crypto/bn/bn_lib.o \
 | 
			
		||||
	../crypto/bn/bn_mod.o \
 | 
			
		||||
	../crypto/bn/bn_mont.o \
 | 
			
		||||
	../crypto/bn/bn_mul.o \
 | 
			
		||||
	../crypto/bn/bn_prime.o \
 | 
			
		||||
	../crypto/bn/bn_rand.o \
 | 
			
		||||
	../crypto/bn/bn_recp.o \
 | 
			
		||||
	../crypto/bn/bn_shift.o \
 | 
			
		||||
	../crypto/bn/bn_sqr.o \
 | 
			
		||||
	../crypto/bn/bn_word.o \
 | 
			
		||||
	../crypto/bn/bn_x931p.o \
 | 
			
		||||
	../crypto/buffer/buf_str.o \
 | 
			
		||||
	../crypto/cryptlib.o \
 | 
			
		||||
	../crypto/des/cfb64ede.o \
 | 
			
		||||
	../crypto/des/cfb64enc.o \
 | 
			
		||||
	../crypto/des/cfb_enc.o \
 | 
			
		||||
	../crypto/des/ecb3_enc.o \
 | 
			
		||||
	../crypto/des/ecb_enc.o \
 | 
			
		||||
	../crypto/des/ofb64ede.o \
 | 
			
		||||
	../crypto/des/ofb64enc.o \
 | 
			
		||||
	../crypto/des/fcrypt.o \
 | 
			
		||||
	../crypto/des/set_key.o \
 | 
			
		||||
	../crypto/dsa/dsa_utl.o \
 | 
			
		||||
	../crypto/dsa/dsa_sign.o \
 | 
			
		||||
	../crypto/dsa/dsa_vrf.o \
 | 
			
		||||
	../crypto/err/err.o \
 | 
			
		||||
	../crypto/evp/digest.o \
 | 
			
		||||
	../crypto/evp/enc_min.o \
 | 
			
		||||
	../crypto/evp/e_aes.o \
 | 
			
		||||
	../crypto/evp/e_des3.o \
 | 
			
		||||
	../crypto/evp/p_sign.o \
 | 
			
		||||
	../crypto/evp/p_verify.o \
 | 
			
		||||
	../crypto/mem_clr.o \
 | 
			
		||||
	../crypto/mem.o \
 | 
			
		||||
	../crypto/rand/md_rand.o \
 | 
			
		||||
	../crypto/rand/rand_egd.o \
 | 
			
		||||
	../crypto/rand/randfile.o \
 | 
			
		||||
	../crypto/rand/rand_lib.o \
 | 
			
		||||
	../crypto/rand/rand_os2.o \
 | 
			
		||||
	../crypto/rand/rand_unix.o \
 | 
			
		||||
	../crypto/rand/rand_win.o \
 | 
			
		||||
	../crypto/rsa/rsa_lib.o \
 | 
			
		||||
	../crypto/rsa/rsa_none.o \
 | 
			
		||||
	../crypto/rsa/rsa_oaep.o \
 | 
			
		||||
	../crypto/rsa/rsa_pk1.o \
 | 
			
		||||
	../crypto/rsa/rsa_pss.o \
 | 
			
		||||
	../crypto/rsa/rsa_ssl.o \
 | 
			
		||||
	../crypto/rsa/rsa_x931.o \
 | 
			
		||||
	../crypto/sha/sha1dgst.o \
 | 
			
		||||
	../crypto/sha/sha256.o \
 | 
			
		||||
	../crypto/sha/sha512.o \
 | 
			
		||||
	../crypto/uid.o
 | 
			
		||||
 | 
			
		||||
sub_all: build_all
 | 
			
		||||
build_all: build_libs build_apps build_tests build_tools
 | 
			
		||||
 | 
			
		||||
build_libs: build_crypto build_ssl build_engines
 | 
			
		||||
build_libs: build_crypto build_fips build_ssl build_shared build_engines
 | 
			
		||||
 | 
			
		||||
build_crypto:
 | 
			
		||||
	@dir=crypto; target=all; $(BUILD_CMD)
 | 
			
		||||
	if [ -n "$(FIPSCANLIB)" ]; then \
 | 
			
		||||
		EXCL_OBJ='$(AES_ASM_OBJ) $(BN_ASM) $(DES_ENC) $(CPUID_OBJ) $(SHA1_ASM_OBJ) $(FIPS_EX_OBJ)' ; export EXCL_OBJ ; \
 | 
			
		||||
		ARX='$(PERL) $${TOP}/util/arx.pl $(AR)' ; \
 | 
			
		||||
	else \
 | 
			
		||||
		ARX='${AR}' ; \
 | 
			
		||||
	fi ; export ARX ; \
 | 
			
		||||
		dir=crypto; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
build_fips:
 | 
			
		||||
	@dir=fips; target=all; [ -z "$(FIPSCANLIB)" ] || $(BUILD_ONE_CMD)
 | 
			
		||||
build_ssl:
 | 
			
		||||
	@dir=ssl; target=all; $(BUILD_CMD)
 | 
			
		||||
	@dir=ssl; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
build_engines:
 | 
			
		||||
	@dir=engines; target=all; $(BUILD_CMD)
 | 
			
		||||
	@dir=engines; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
build_apps:
 | 
			
		||||
	@dir=apps; target=all; $(BUILD_CMD)
 | 
			
		||||
	@dir=apps; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
build_tests:
 | 
			
		||||
	@dir=test; target=all; $(BUILD_CMD)
 | 
			
		||||
	@dir=test; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
build_tools:
 | 
			
		||||
	@dir=tools; target=all; $(BUILD_CMD)
 | 
			
		||||
	@dir=tools; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
 | 
			
		||||
all_testapps: build_libs build_testapps
 | 
			
		||||
build_testapps:
 | 
			
		||||
	@dir=crypto; target=testapps; $(BUILD_CMD)
 | 
			
		||||
	@dir=crypto; target=testapps; $(BUILD_ONE_CMD)
 | 
			
		||||
 | 
			
		||||
libcrypto$(SHLIB_EXT): libcrypto.a
 | 
			
		||||
build_shared:	$(SHARED_LIBS)
 | 
			
		||||
libcrypto$(SHLIB_EXT): libcrypto.a $(SHARED_FIPS)
 | 
			
		||||
	@if [ "$(SHLIB_TARGET)" != "" ]; then \
 | 
			
		||||
		$(MAKE) SHLIBDIRS=crypto build-shared; \
 | 
			
		||||
		if [ "$(FIPSCANLIB)" = "libfips" ]; then \
 | 
			
		||||
			$(ARD) libcrypto.a fipscanister.o ; \
 | 
			
		||||
			$(MAKE) SHLIBDIRS='crypto' SHLIBDEPS='-lfips' build-shared; \
 | 
			
		||||
			$(AR) libcrypto.a fips/fipscanister.o ; \
 | 
			
		||||
		else \
 | 
			
		||||
			if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \
 | 
			
		||||
				FIPSLD_CC=$(CC); CC=fips/fipsld; \
 | 
			
		||||
				export CC FIPSLD_CC; \
 | 
			
		||||
			fi; \
 | 
			
		||||
			$(MAKE) -e SHLIBDIRS='crypto' build-shared; \
 | 
			
		||||
		fi \
 | 
			
		||||
	else \
 | 
			
		||||
		echo "There's no support for shared libraries on this platform" >&2; \
 | 
			
		||||
		exit 1; \
 | 
			
		||||
@@ -281,12 +367,32 @@ libcrypto$(SHLIB_EXT): libcrypto.a
 | 
			
		||||
 | 
			
		||||
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
 | 
			
		||||
	@if [ "$(SHLIB_TARGET)" != "" ]; then \
 | 
			
		||||
		$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
 | 
			
		||||
		shlibdeps=-lcrypto; \
 | 
			
		||||
		[ "$(FIPSCANLIB)" = "libfips" ] && shlibdeps="$$shlibdeps -lfips"; \
 | 
			
		||||
		$(MAKE) SHLIBDIRS=ssl SHLIBDEPS="$$shlibdeps" build-shared; \
 | 
			
		||||
	else \
 | 
			
		||||
		echo "There's no support for shared libraries on this platform" >&2 ; \
 | 
			
		||||
		exit 1; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
fips/fipscanister.o:	build_fips
 | 
			
		||||
libfips$(SHLIB_EXT):		fips/fipscanister.o
 | 
			
		||||
	@if [ "$(SHLIB_TARGET)" != "" ]; then \
 | 
			
		||||
		FIPSLD_CC=$(CC); CC=fips/fipsld; export CC FIPSLD_CC; \
 | 
			
		||||
		$(MAKE) -f Makefile.shared -e $(BUILDENV) \
 | 
			
		||||
			CC=$${CC} LIBNAME=fips THIS=$@ \
 | 
			
		||||
			LIBEXTRAS=fips/fipscanister.o \
 | 
			
		||||
			LIBDEPS="$(EX_LIBS)" \
 | 
			
		||||
			LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
 | 
			
		||||
			link_o.$(SHLIB_TARGET) || { rm -f $@; exit 1; } \
 | 
			
		||||
	else \
 | 
			
		||||
		echo "There's no support for shared libraries on this platform" >&2; \
 | 
			
		||||
		exit 1; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
libfips.a:
 | 
			
		||||
	dir=fips; target=all; $(BUILD_ONE_CMD)
 | 
			
		||||
 | 
			
		||||
clean-shared:
 | 
			
		||||
	@set -e; for i in $(SHLIBDIRS); do \
 | 
			
		||||
		if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
 | 
			
		||||
@@ -303,7 +409,7 @@ clean-shared:
 | 
			
		||||
 | 
			
		||||
link-shared:
 | 
			
		||||
	@ set -e; for i in ${SHLIBDIRS}; do \
 | 
			
		||||
		$(NEWMAKE) -f $(HERE)/Makefile.shared \
 | 
			
		||||
		$(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
 | 
			
		||||
			LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
 | 
			
		||||
			LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
 | 
			
		||||
			symlink.$(SHLIB_TARGET); \
 | 
			
		||||
@@ -317,17 +423,41 @@ do_$(SHLIB_TARGET):
 | 
			
		||||
		if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
 | 
			
		||||
			libs="$(LIBKRB5) $$libs"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		$(NEWMAKE) -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)" \
 | 
			
		||||
			LIBRPATH="$(INSTALLTOP)/lib" \
 | 
			
		||||
			link_a.$(SHLIB_TARGET); \
 | 
			
		||||
		libs="-l$$i $$libs"; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
openssl.pc: Makefile.ssl
 | 
			
		||||
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}'; \
 | 
			
		||||
	    echo 'libdir=$${exec_prefix}/lib'; \
 | 
			
		||||
@@ -340,25 +470,19 @@ openssl.pc: Makefile.ssl
 | 
			
		||||
	    echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
 | 
			
		||||
	    echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
 | 
			
		||||
 | 
			
		||||
Makefile.ssl: Makefile.org
 | 
			
		||||
	@echo "Makefile.ssl is older than Makefile.org."
 | 
			
		||||
Makefile: Makefile.org Configure config
 | 
			
		||||
	@echo "Makefile is older than Makefile.org, Configure or config."
 | 
			
		||||
	@echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
 | 
			
		||||
	@false
 | 
			
		||||
 | 
			
		||||
libclean:
 | 
			
		||||
	rm -f *.map *.so *.so.* engines/*.so *.a */lib */*/lib
 | 
			
		||||
	rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
 | 
			
		||||
 | 
			
		||||
clean:	libclean
 | 
			
		||||
	rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
 | 
			
		||||
	@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) ;\
 | 
			
		||||
@@ -371,104 +495,56 @@ makefile.one: files
 | 
			
		||||
	sh util/do_ms.sh
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile.ssl > $(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;
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
 | 
			
		||||
	@set -e; target=files; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@$(TOP)/util/point.sh Makefile.ssl Makefile
 | 
			
		||||
	@$(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
 | 
			
		||||
	@(OPENSSL="`pwd`/apps/openssl$(EXE_EXT)"; OPENSSL_DEBUG_MEMORY=on; \
 | 
			
		||||
	  export OPENSSL OPENSSL_DEBUG_MEMORY; \
 | 
			
		||||
	  if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
	    LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \
 | 
			
		||||
	    DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \
 | 
			
		||||
	    SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \
 | 
			
		||||
	    LIBPATH="`pwd`:$$LIBPATH"; \
 | 
			
		||||
	    if [ "$(PLATFORM)" = "Cygwin" ]; then \
 | 
			
		||||
	      PATH="`pwd`:$$PATH"; \
 | 
			
		||||
	    fi; \
 | 
			
		||||
	    LD_PRELOAD="`pwd`/libssl.so `pwd`/libcrypto.so"; \
 | 
			
		||||
	    export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
 | 
			
		||||
	    export LD_PRELOAD; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	  $(PERL) tools/c_rehash certs)
 | 
			
		||||
	touch rehash.time
 | 
			
		||||
rehash.time: certs apps
 | 
			
		||||
	@if [ -z "$(CROSS_COMPILE)" ]; then \
 | 
			
		||||
		(OPENSSL="`pwd`/util/opensslwrap.sh"; \
 | 
			
		||||
		OPENSSL_DEBUG_MEMORY=on; \
 | 
			
		||||
		export OPENSSL OPENSSL_DEBUG_MEMORY; \
 | 
			
		||||
		$(PERL) tools/c_rehash certs) && \
 | 
			
		||||
		touch rehash.time; \
 | 
			
		||||
	else :; fi
 | 
			
		||||
 | 
			
		||||
test:   tests
 | 
			
		||||
 | 
			
		||||
tests: rehash
 | 
			
		||||
	@(cd test && echo "testing..." && \
 | 
			
		||||
	$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
 | 
			
		||||
	@if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
	  LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \
 | 
			
		||||
	  DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \
 | 
			
		||||
	  SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \
 | 
			
		||||
	  LIBPATH="`pwd`:$$LIBPATH"; \
 | 
			
		||||
	  if [ "$(PLATFORM)" = "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
 | 
			
		||||
	  LD_PRELOAD="`pwd`/libssl.so `pwd`/libcrypto.so"; \
 | 
			
		||||
	  export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
 | 
			
		||||
	  export LD_PRELOAD; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	apps/openssl version -a
 | 
			
		||||
	$(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) SDIRS='${SDIRS}' CFLAG='-DOPENSSL_NO_DEPRECATED ${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' 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:
 | 
			
		||||
	@set -e; for i in $(DIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	if [ -d "$$i" ]; then \
 | 
			
		||||
		(cd $$i && echo "making tags $$i..." && \
 | 
			
		||||
		$(MAKE) SDIRS='${SDIRS}' tags ) || exit 1; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done;
 | 
			
		||||
	rm -f TAGS
 | 
			
		||||
	find . -name '[^.]*.[ch]' | xargs etags -a
 | 
			
		||||
 | 
			
		||||
errors:
 | 
			
		||||
	$(PERL) util/mkerr.pl -recurse -write
 | 
			
		||||
	(cd engines; $(MAKE) PERL=$(PERL) errors)
 | 
			
		||||
	$(PERL) util/ck_errf.pl */*.c */*/*.c
 | 
			
		||||
 | 
			
		||||
stacks:
 | 
			
		||||
	$(PERL) util/mkstack.pl -write
 | 
			
		||||
@@ -487,11 +563,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
 | 
			
		||||
@@ -506,7 +586,7 @@ tar:
 | 
			
		||||
	$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
 | 
			
		||||
	tardy --user_number=0  --user_name=openssl \
 | 
			
		||||
	      --group_number=0 --group_name=openssl \
 | 
			
		||||
	      --prefix=openssl-$(VERSION) - |\
 | 
			
		||||
	      --prefix=openssl-fips-$(VERSION) - |\
 | 
			
		||||
	gzip --best >../$(TARFILE).gz; \
 | 
			
		||||
	rm -f ../$(TARFILE).list; \
 | 
			
		||||
	ls -l ../$(TARFILE).gz
 | 
			
		||||
@@ -526,9 +606,9 @@ 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
 | 
			
		||||
install: all install_sw
 | 
			
		||||
 | 
			
		||||
install_sw:
 | 
			
		||||
	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
 | 
			
		||||
@@ -544,13 +624,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_PREFIX='${INSTALL_PREFIX}' OPENSSLDIR='${OPENSSLDIR}' install ); \
 | 
			
		||||
	fi; \
 | 
			
		||||
	done
 | 
			
		||||
	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
 | 
			
		||||
	@set -e; for i in $(LIBS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
		if [ -f "$$i" ]; then \
 | 
			
		||||
@@ -572,19 +646,19 @@ install_sw:
 | 
			
		||||
					chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
 | 
			
		||||
				else \
 | 
			
		||||
					c=`echo $$i | sed 's/^lib/cyg/'`; \
 | 
			
		||||
					c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
 | 
			
		||||
					cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
 | 
			
		||||
					chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
 | 
			
		||||
					cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
 | 
			
		||||
					chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
 | 
			
		||||
					cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
 | 
			
		||||
					chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
 | 
			
		||||
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
 | 
			
		||||
				fi ); \
 | 
			
		||||
			fi; \
 | 
			
		||||
		done; \
 | 
			
		||||
		(	here="`pwd`"; \
 | 
			
		||||
			cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
 | 
			
		||||
			$(NEWMAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
 | 
			
		||||
			$(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
 | 
			
		||||
		if [ "$(INSTALLTOP)" != "/usr" ]; then \
 | 
			
		||||
			echo 'OpenSSL shared libraries have been installed in:'; \
 | 
			
		||||
			echo '  $(INSTALLTOP)'; \
 | 
			
		||||
@@ -592,6 +666,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
 | 
			
		||||
 | 
			
		||||
@@ -604,7 +682,7 @@ install_docs:
 | 
			
		||||
	@pod2man="`cd util; ./pod2mantest $(PERL)`"; \
 | 
			
		||||
	here="`pwd`"; \
 | 
			
		||||
	filecase=; \
 | 
			
		||||
	if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" ]; then \
 | 
			
		||||
	if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
 | 
			
		||||
		filecase=-i; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	set -e; for i in doc/apps/*.pod; do \
 | 
			
		||||
@@ -617,8 +695,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); \
 | 
			
		||||
@@ -634,8 +712,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); \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										382
									
								
								Makefile.shared
									
									
									
									
									
								
							
							
						
						
									
										382
									
								
								Makefile.shared
									
									
									
									
									
								
							@@ -7,6 +7,7 @@
 | 
			
		||||
 | 
			
		||||
# CC contains the current compiler.  This one MUST be defined
 | 
			
		||||
CC=cc
 | 
			
		||||
CFLAGS=$(CFLAG)
 | 
			
		||||
# LDFLAGS contains flags to be used when temporary object files (when building
 | 
			
		||||
# shared libraries) are created, or when an application is linked.
 | 
			
		||||
# SHARED_LDFLAGS contains flags to be used when the shared library is created.
 | 
			
		||||
@@ -66,8 +67,8 @@ LIBDEPS=
 | 
			
		||||
#------------------------------------------------------------------------------
 | 
			
		||||
# The rest is private to this makefile.
 | 
			
		||||
 | 
			
		||||
#DEBUG=:
 | 
			
		||||
DEBUG=set -x
 | 
			
		||||
SET_X=:
 | 
			
		||||
#SET_X=set -x
 | 
			
		||||
 | 
			
		||||
top:
 | 
			
		||||
	echo "Trying to use this makefile interactively?  Don't."
 | 
			
		||||
@@ -87,45 +88,53 @@ CALC_VERSIONS=	\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
LINK_APP=	\
 | 
			
		||||
  ( $(DEBUG);   \
 | 
			
		||||
  ( $(SET_X);   \
 | 
			
		||||
    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 $(LDFLAGS) $$LDFLAGS -o $$APPNAME $(OBJECTS) $$LIBDEPS )
 | 
			
		||||
    $${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
 | 
			
		||||
 | 
			
		||||
LINK_SO=	\
 | 
			
		||||
  ( $(DEBUG);   \
 | 
			
		||||
    nm -Pg $$SHOBJECTS | grep ' [BDT] ' | cut -f1 -d' ' > lib$(LIBNAME).exp; \
 | 
			
		||||
  ( $(SET_X);   \
 | 
			
		||||
    LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
 | 
			
		||||
    SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
 | 
			
		||||
    SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
 | 
			
		||||
    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 $(SHARED_LDFLAGS) $$SHAREDFLAGS -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
 | 
			
		||||
	$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS ) && \
 | 
			
		||||
  $(SYMLINK_SO); ( $(DEBUG); rm -f lib$(LIBNAME).exp )
 | 
			
		||||
    $${SHAREDCMD} $${SHAREDFLAGS} \
 | 
			
		||||
	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
 | 
			
		||||
	$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
 | 
			
		||||
  ) && $(SYMLINK_SO)
 | 
			
		||||
 | 
			
		||||
SYMLINK_SO=	\
 | 
			
		||||
	if [ -n "$$INHIBIT_SYMLINKS" ]; then :; else \
 | 
			
		||||
		prev=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
 | 
			
		||||
		if [ -n "$$SHLIB_COMPAT" ]; then \
 | 
			
		||||
			for x in $$SHLIB_COMPAT; do \
 | 
			
		||||
				( $(DEBUG); rm -f $$SHLIB$$x$$SHLIB_SUFFIX; \
 | 
			
		||||
				( $(SET_X); rm -f $$SHLIB$$x$$SHLIB_SUFFIX; \
 | 
			
		||||
				  ln -s $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \
 | 
			
		||||
				prev=$$SHLIB$$x$$SHLIB_SUFFIX; \
 | 
			
		||||
			done; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		if [ -n "$$SHLIB_SOVER" ]; then \
 | 
			
		||||
			( $(DEBUG); rm -f $$SHLIB$$SHLIB_SUFFIX; \
 | 
			
		||||
			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
 | 
			
		||||
			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
LINK_SO_A=	SHOBJECTS="lib$(LIBNAME).a $(LIBEXTRAS)"; $(LINK_SO)
 | 
			
		||||
LINK_SO_O=	SHOBJECTS="$(LIBEXTRAS)"; $(LINK_SO)
 | 
			
		||||
 | 
			
		||||
LINK_SO_A_VIA_O=	\
 | 
			
		||||
  SHOBJECTS=lib$(LIBNAME).o; \
 | 
			
		||||
  ALL=$$ALLSYMSFLAGS; ALLSYMSFLAGS=; NOALLSYMSFLAGS=; \
 | 
			
		||||
  ( $(DEBUG); \
 | 
			
		||||
  ( $(SET_X); \
 | 
			
		||||
    ld $(LDFLAGS) -r -o lib$(LIBNAME).o $$ALL lib$(LIBNAME).a $(LIBEXTRAS) ); \
 | 
			
		||||
  $(LINK_SO) && rm -f $(LIBNAME).o
 | 
			
		||||
 | 
			
		||||
LINK_SO_A_UNPACKED=	\
 | 
			
		||||
  UNPACKDIR=link_tmp.$$$$; rm -rf $$UNPACKDIR; mkdir $$UNPACKDIR; \
 | 
			
		||||
  (cd $$UNPACKDIR; ar x ../lib$(LIBNAME).a) && \
 | 
			
		||||
@@ -138,15 +147,11 @@ DETECT_GNU_LD=(${CC} -Wl,-V /dev/null 2>&1 | grep '^GNU ld' )>/dev/null
 | 
			
		||||
DO_GNU_SO=$(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,--whole-archive'; \
 | 
			
		||||
	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
 | 
			
		||||
	SHAREDFLAGS="-shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-rpath,$(LIBRPATH)"; \
 | 
			
		||||
	SHAREDCMD='$(CC)'
 | 
			
		||||
DO_GNU_APP=LDCMD=$(CC);\
 | 
			
		||||
	LDFLAGS="-Wl,-rpath,$(LIBRPATH)"; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	APPNAME=$(APPNAME)
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
 | 
			
		||||
 | 
			
		||||
DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
 | 
			
		||||
 | 
			
		||||
#This is rather special.  It's a special target with which one can link
 | 
			
		||||
#applications without bothering with any features that have anything to
 | 
			
		||||
@@ -154,10 +159,6 @@ DO_GNU_APP=LDCMD=$(CC);\
 | 
			
		||||
#libraries.  It's mostly here to avoid a lot of conditionals everywhere
 | 
			
		||||
#else...
 | 
			
		||||
link_app.:
 | 
			
		||||
	LDCMD=$(CC); \
 | 
			
		||||
	LDFLAGS=""; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
link_o.gnu:
 | 
			
		||||
@@ -172,41 +173,40 @@ link_o.bsd:
 | 
			
		||||
	$(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS=; \
 | 
			
		||||
	LIBDEPS=" "; \
 | 
			
		||||
	ALLSYMSFLAGS="-Wl,-Bforcearchive"; \
 | 
			
		||||
	NOALLSYMSFLAGS=; \
 | 
			
		||||
	SHAREDFLAGS="-shared -nostdlib"; \
 | 
			
		||||
	SHAREDCMD=$(CC); \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -nostdlib"; \
 | 
			
		||||
	fi; $(LINK_SO_O)
 | 
			
		||||
link_a.bsd:
 | 
			
		||||
	@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
 | 
			
		||||
	$(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS=; \
 | 
			
		||||
	LIBDEPS=" "; \
 | 
			
		||||
	ALLSYMSFLAGS="-Wl,-Bforcearchive"; \
 | 
			
		||||
	NOALLSYMSFLAGS=; \
 | 
			
		||||
	SHAREDFLAGS="-shared -nostdlib"; \
 | 
			
		||||
	SHAREDCMD=$(CC); \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -nostdlib"; \
 | 
			
		||||
	fi; $(LINK_SO_A)
 | 
			
		||||
link_app.bsd:
 | 
			
		||||
	@if ${DETECT_GNU_LD}; then $(DO_GNU_APP); else \
 | 
			
		||||
	LDCMD=$(CC); \
 | 
			
		||||
	LDFLAGS="-Wl,-rpath,$(LIBPATH)"; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"; \
 | 
			
		||||
	LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBPATH)"; \
 | 
			
		||||
	fi; $(LINK_APP)
 | 
			
		||||
 | 
			
		||||
# For Darwin AKA Mac OS/X (dyld)
 | 
			
		||||
# link_o.darwin produces .so, because we let it use dso_dlfcn module,
 | 
			
		||||
# which has .so extension hard-coded. One can argue that one should
 | 
			
		||||
# develop special dso module for MacOS X. At least manual encourages
 | 
			
		||||
# to use native NSModule(3) API and refers to dlfcn as termporary hack.
 | 
			
		||||
link_o.darwin:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME); \
 | 
			
		||||
	SHLIB_SUFFIX=.dylib; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	SHLIB=`expr "$$THIS" : '.*/\([^/\.]*\)\.'`; \
 | 
			
		||||
	SHLIB=$${SHLIB:-lib$(LIBNAME)}; \
 | 
			
		||||
	SHLIB_SUFFIX=`expr "$$THIS" : '.*\(\.[^\.]*\)$$'`; \
 | 
			
		||||
	SHLIB_SUFFIX=$${SHLIB_SUFFIX:-.so}; \
 | 
			
		||||
	ALLSYMSFLAGS='-all_load'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS="-dynamiclib"; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
 | 
			
		||||
	if [ -n "$(LIBVERSION)" ]; then \
 | 
			
		||||
		SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
@@ -218,56 +218,55 @@ link_a.darwin:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME); \
 | 
			
		||||
	SHLIB_SUFFIX=.dylib; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	ALLSYMSFLAGS='-all_load'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS="-dynamiclib"; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
 | 
			
		||||
	if [ -n "$(LIBVERSION)" ]; then \
 | 
			
		||||
		SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	if [ -n "$$SHLIB_SOVER_NODOT" ]; then \
 | 
			
		||||
		SHAREDFLAGS="$$SHAREDFLAGS -compatibility_version $$SHLIB_SOVER_NODOT"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	SHAREDFLAGS="$$SHAREDFLAGS -install_name ${INSTALLTOP}/lib/$$SHLIB${SHLIB_EXT}"; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
link_app.darwin:
 | 
			
		||||
	LDCMD=$(CC);\
 | 
			
		||||
	LDFLAGS=""; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"; \
 | 
			
		||||
link_app.darwin:	# is there run-path on darwin?
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
link_o.cygwin:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	INHIBIT_SYMLINKS=yes; \
 | 
			
		||||
	SHLIB=cyg$(LIBNAME); \
 | 
			
		||||
	expr $(PLATFORM) : 'mingw' > /dev/null && SHLIB=$(LIBNAME)eay32; \
 | 
			
		||||
	base=-Wl,--enable-auto-image-base; \
 | 
			
		||||
	if expr $(PLATFORM) : 'mingw' > /dev/null; then \
 | 
			
		||||
		SHLIB=$(LIBNAME)eay32; base=; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	SHLIB_SUFFIX=.dll; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	SHLIB_SOVER=-$(LIBVERSION); \
 | 
			
		||||
	LIBVERSION="$(LIBVERSION)"; \
 | 
			
		||||
	SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,--whole-archive'; \
 | 
			
		||||
	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
 | 
			
		||||
	SHAREDFLAGS="-Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
 | 
			
		||||
	SHAREDCMD='${CC}'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.cygwin:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	INHIBIT_SYMLINKS=yes; \
 | 
			
		||||
	SHLIB=cyg$(LIBNAME); \
 | 
			
		||||
	expr $(PLATFORM) : 'mingw' > /dev/null && SHLIB=$(LIBNAME)eay32; \
 | 
			
		||||
	base=-Wl,--enable-auto-image-base; \
 | 
			
		||||
	if expr $(PLATFORM) : 'mingw' > /dev/null; then \
 | 
			
		||||
		SHLIB=$(LIBNAME)eay32; \
 | 
			
		||||
		base=;  [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	SHLIB_SUFFIX=.dll; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	SHLIB_SOVER=; \
 | 
			
		||||
	SHLIB_SOVER=-$(LIBVERSION); \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,--whole-archive'; \
 | 
			
		||||
	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
 | 
			
		||||
	SHAREDFLAGS="-Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
 | 
			
		||||
	SHAREDCMD='${CC}'; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
 | 
			
		||||
	[ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
 | 
			
		||||
	[ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
 | 
			
		||||
	$(LINK_SO_A) || exit 1; \
 | 
			
		||||
	cp -p $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX apps/; \
 | 
			
		||||
	cp -p $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX test/
 | 
			
		||||
link_app.cygwin:
 | 
			
		||||
	LDCMD=$(CC);\
 | 
			
		||||
	LDFLAGS=""; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
link_o.alpha-osf1:
 | 
			
		||||
@@ -276,7 +275,6 @@ link_o.alpha-osf1:
 | 
			
		||||
	else \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
 | 
			
		||||
@@ -286,10 +284,9 @@ link_o.alpha-osf1:
 | 
			
		||||
		SHLIB_SOVER=; \
 | 
			
		||||
		ALLSYMSFLAGS='-all'; \
 | 
			
		||||
		NOALLSYMSFLAGS='-none'; \
 | 
			
		||||
		SHAREDFLAGS="-shared"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-B,symbolic"; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version $$SHLIB_HIST"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
@@ -299,7 +296,6 @@ link_a.alpha-osf1:
 | 
			
		||||
	else \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
 | 
			
		||||
@@ -309,139 +305,17 @@ link_a.alpha-osf1:
 | 
			
		||||
		SHLIB_SOVER=; \
 | 
			
		||||
		ALLSYMSFLAGS='-all'; \
 | 
			
		||||
		NOALLSYMSFLAGS='-none'; \
 | 
			
		||||
		SHAREDFLAGS="-shared"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-B,symbolic"; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version $$SHLIB_HIST"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
link_app.alpha-osf1:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
	@if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS=""; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
# The difference between alpha-osf1-shared and tru64-shared is the `-msym'
 | 
			
		||||
# option passed to the linker.
 | 
			
		||||
link_o.tru64:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_SO); \
 | 
			
		||||
	else \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
 | 
			
		||||
		else \
 | 
			
		||||
			SHLIB_HIST="$(LIBVERSION)"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		SHLIB_SOVER=; \
 | 
			
		||||
		ALLSYMSFLAGS='-all'; \
 | 
			
		||||
		NOALLSYMSFLAGS='-none'; \
 | 
			
		||||
		SHAREDFLAGS="-shared -msym -rpath $(LIBRPATH)"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.tru64:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_SO); \
 | 
			
		||||
	else \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
 | 
			
		||||
		else \
 | 
			
		||||
			SHLIB_HIST="$(LIBVERSION)"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		SHLIB_SOVER=; \
 | 
			
		||||
		ALLSYMSFLAGS='-all'; \
 | 
			
		||||
		NOALLSYMSFLAGS='-none'; \
 | 
			
		||||
		SHAREDFLAGS="-shared -msym -rpath $(LIBRPATH)"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
link_app.tru64:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS="-rpath $(LIBRPATH)"; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
# The difference between tru64-shared and tru64-shared-rpath is the
 | 
			
		||||
# -rpath ${LIBRPATH} passed to the linker.
 | 
			
		||||
link_o.tru64-rpath:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_SO); \
 | 
			
		||||
	else \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
 | 
			
		||||
		else \
 | 
			
		||||
			SHLIB_HIST="$(LIBVERSION)"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		SHLIB_SOVER=; \
 | 
			
		||||
		ALLSYMSFLAGS='-all'; \
 | 
			
		||||
		NOALLSYMSFLAGS='-none'; \
 | 
			
		||||
		SHAREDFLAGS="-shared -msym -rpath $(LIBRPATH)"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.tru64-rpath:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_SO); \
 | 
			
		||||
	else \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
 | 
			
		||||
		else \
 | 
			
		||||
			SHLIB_HIST="$(LIBVERSION)"; \
 | 
			
		||||
		fi; \
 | 
			
		||||
		SHLIB_SOVER=; \
 | 
			
		||||
		ALLSYMSFLAGS='-all'; \
 | 
			
		||||
		NOALLSYMSFLAGS='-none'; \
 | 
			
		||||
		SHAREDFLAGS="-shared -msym -rpath $(LIBRPATH)"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		if [ -n "$$SHLIB_HIST" ]; then \
 | 
			
		||||
			SHAREDFLAGS="$$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
 | 
			
		||||
		fi; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
link_app.tru64-rpath:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS="-rpath $(LIBRPATH)"; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"; \
 | 
			
		||||
		LDFLAGS="$(CFLAGS) -rpath $(LIBRPATH)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
@@ -451,14 +325,12 @@ link_o.solaris:
 | 
			
		||||
	else \
 | 
			
		||||
		$(CALC_VERSIONS); \
 | 
			
		||||
		MINUSZ='-z '; \
 | 
			
		||||
		(${CC} -v 2>&1 | grep gcc) > /dev/null && MINUSZ='-Wl,-z,'; \
 | 
			
		||||
		($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSZ='-Wl,-z,'; \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		ALLSYMSFLAGS="$${MINUSZ}allextract"; \
 | 
			
		||||
		NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
 | 
			
		||||
		SHAREDFLAGS="-G -dy -z text -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -R $(LIBRPATH) -Wl,-Bsymbolic"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.solaris:
 | 
			
		||||
@@ -470,21 +342,16 @@ link_a.solaris:
 | 
			
		||||
		(${CC} -v 2>&1 | grep gcc) > /dev/null && MINUSZ='-Wl,-z,'; \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=;\
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		ALLSYMSFLAGS="$${MINUSZ}allextract"; \
 | 
			
		||||
		NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
 | 
			
		||||
		SHAREDFLAGS="-G -dy -z text -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -R $(LIBRPATH) -Wl,-Bsymbolic"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
link_app.solaris:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS="-R $(LIBRPATH)"; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"; \
 | 
			
		||||
		LDFLAGS="$(CFLAGS) -R $(LIBRPATH)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
@@ -496,11 +363,9 @@ link_o.svr3:
 | 
			
		||||
		$(CALC_VERSIONS); \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		ALLSYMSFLAGS=''; \
 | 
			
		||||
		NOALLSYMSFLAGS=''; \
 | 
			
		||||
		SHAREDFLAGS="-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) -G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.svr3:
 | 
			
		||||
@@ -510,22 +375,13 @@ link_a.svr3:
 | 
			
		||||
		$(CALC_VERSIONS); \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		ALLSYMSFLAGS=''; \
 | 
			
		||||
		NOALLSYMSFLAGS=''; \
 | 
			
		||||
		SHAREDFLAGS="-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) -G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A_UNPACKED)
 | 
			
		||||
link_app.svr3:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS=""; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	@${DETECT_GNU_LD} && $(DO_GNU_APP); \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
# UnixWare 7 and OpenUNIX 8 native compilers used
 | 
			
		||||
@@ -535,14 +391,12 @@ link_o.svr5:
 | 
			
		||||
	else \
 | 
			
		||||
		$(CALC_VERSIONS); \
 | 
			
		||||
		SHARE_FLAG='-G'; \
 | 
			
		||||
		(${CC} -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAG='-shared'; \
 | 
			
		||||
		($(CC) -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAG='-shared'; \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		ALLSYMSFLAGS=''; \
 | 
			
		||||
		NOALLSYMSFLAGS=''; \
 | 
			
		||||
		SHAREDFLAGS="$${SHARE_FLAG} -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $${SHARE_FLAG} -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.svr5:
 | 
			
		||||
@@ -554,22 +408,13 @@ link_a.svr5:
 | 
			
		||||
		(${CC} -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAG='-shared'; \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		ALLSYMSFLAGS=''; \
 | 
			
		||||
		NOALLSYMSFLAGS=''; \
 | 
			
		||||
		SHAREDFLAGS="$${SHARE_FLAG} -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $${SHARE_FLAG} -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A_UNPACKED)
 | 
			
		||||
link_app.svr5:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS=""; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	@${DETECT_GNU_LD} && $(DO_GNU_APP); \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
link_o.irix:
 | 
			
		||||
@@ -579,13 +424,11 @@ link_o.irix:
 | 
			
		||||
		$(CALC_VERSIONS); \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		MINUSWL=""; \
 | 
			
		||||
		($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \
 | 
			
		||||
		ALLSYMSFLAGS="$${MINUSWL}-all"; \
 | 
			
		||||
		NOALLSYMSFLAGS="$${MINUSWL}-notall"; \
 | 
			
		||||
		SHAREDFLAGS="-shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-rpath,$(LIBRPATH)"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		NOALLSYMSFLAGS="$${MINUSWL}-none"; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,-B,symbolic"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.irix:
 | 
			
		||||
@@ -595,24 +438,15 @@ link_a.irix:
 | 
			
		||||
		$(CALC_VERSIONS); \
 | 
			
		||||
		SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
		SHLIB_SUFFIX=; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		MINUSWL=""; \
 | 
			
		||||
		($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \
 | 
			
		||||
		ALLSYMSFLAGS="$${MINUSWL}-all"; \
 | 
			
		||||
		NOALLSYMSFLAGS="$${MINUSWL}-notall"; \
 | 
			
		||||
		SHAREDFLAGS="-shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-rpath,$(LIBRPATH)"; \
 | 
			
		||||
		SHAREDCMD='$(CC)'; \
 | 
			
		||||
		NOALLSYMSFLAGS="$${MINUSWL}-none"; \
 | 
			
		||||
		SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,-B,symbolic"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_SO_A)
 | 
			
		||||
link_app.irix:
 | 
			
		||||
	@ if ${DETECT_GNU_LD}; then \
 | 
			
		||||
		$(DO_GNU_APP); \
 | 
			
		||||
	else \
 | 
			
		||||
		LDCMD=$(CC);\
 | 
			
		||||
		LDFLAGS="-Wl,-rpath,$(LIBRPATH)"; \
 | 
			
		||||
		LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
		APPNAME="$(APPNAME)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	@LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
# 32-bit PA-RISC HP-UX embeds the -L pathname of libs we link with, so
 | 
			
		||||
@@ -627,15 +461,14 @@ link_o.hpux:
 | 
			
		||||
	@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
 | 
			
		||||
	$(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).sl; \
 | 
			
		||||
	expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	expr "$(CFLAGS)" : '.*DSO_DLFCN' > /dev/null && SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,-Fl'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
 | 
			
		||||
	SHAREDFLAGS="-Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+cdp,../:,+cdp,./:,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+b,$(LIBRPATH)"; \
 | 
			
		||||
	SHAREDCMD=$(CC); \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \
 | 
			
		||||
	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 \
 | 
			
		||||
@@ -643,75 +476,60 @@ link_a.hpux:
 | 
			
		||||
	SHLIB=lib$(LIBNAME).sl; \
 | 
			
		||||
	expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	ALLSYMSFLAGS='-Wl,-Fl'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
 | 
			
		||||
	SHAREDFLAGS="-Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+cdp,../:,+cdp,./:,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+b,$(LIBRPATH)"; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \
 | 
			
		||||
	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 \
 | 
			
		||||
	LDCMD=$(CC);\
 | 
			
		||||
	LDFLAGS="-Wl,+s,+cdp,../:,+cdp,./:,+b,$(LIBRPATH)"; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS)"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"; \
 | 
			
		||||
	LDFLAGS="$(CFLAGS) -Wl,+s,+cdp,../:,+cdp,./:,+b,$(LIBRPATH)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
link_o.aix:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	OBJECT_MODE=`expr x$(SHARED_LDFLAGS) : 'x\-[a-z]*\(64\)'` || :; \
 | 
			
		||||
	OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	ALLSYMSFLAGS='-bnogc'; \
 | 
			
		||||
	ALLSYMSFLAGS=''; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS='-G -bE:lib$(LIBNAME).exp -bM:SRE -blibpath:$(LIBRPATH)'; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
	SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-G,-bexpall,-bnolibpath,-bM:SRE'; \
 | 
			
		||||
	$(LINK_SO_O);
 | 
			
		||||
link_a.aix:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	OBJECT_MODE=`expr x$(SHARED_LDFLAGS) : 'x\-[a-z]*\(64\)'` || : ; \
 | 
			
		||||
	OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	ALLSYMSFLAGS='-bnogc'; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS='-G -bE:lib$(LIBNAME).exp -bM:SRE -blibpath:$(LIBRPATH)'; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-G,-bexpall,-bnolibpath,-bM:SRE'; \
 | 
			
		||||
	$(LINK_SO_A_VIA_O)
 | 
			
		||||
link_app.aix:
 | 
			
		||||
	LDCMD=$(CC);\
 | 
			
		||||
	LDFLAGS="-blibpath:$(LIBRPATH)"; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"
 | 
			
		||||
	LDFLAGS="$(CFLAGS) -Wl,-brtl,-blibpath:$(LIBRPATH):$${LIBPATH:-/usr/lib:/lib}"; \
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
link_o.reliantunix:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	ALLSYMSFLAGS=; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS='-G'; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	SHAREDFLAGS='$(CFLAGS) -G'; \
 | 
			
		||||
	$(LINK_SO_O)
 | 
			
		||||
link_a.reliantunix:
 | 
			
		||||
	@ $(CALC_VERSIONS); \
 | 
			
		||||
	SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	SHLIB_SUFFIX=; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	ALLSYMSFLAGS=; \
 | 
			
		||||
	NOALLSYMSFLAGS=''; \
 | 
			
		||||
	SHAREDFLAGS='-G'; \
 | 
			
		||||
	SHAREDCMD='$(CC)'; \
 | 
			
		||||
	SHAREDFLAGS='$(CFLAGS) -G'; \
 | 
			
		||||
	$(LINK_SO_A_UNPACKED)
 | 
			
		||||
link_app.reliantunix:
 | 
			
		||||
	LDCMD=$(CC);\
 | 
			
		||||
	LDFLAGS=""; \
 | 
			
		||||
	LIBDEPS="$(LIBDEPS) -lc"; \
 | 
			
		||||
	APPNAME="$(APPNAME)"
 | 
			
		||||
	$(LINK_APP)
 | 
			
		||||
 | 
			
		||||
# Targets to build symbolic links when needed
 | 
			
		||||
@@ -731,7 +549,7 @@ symlink.hpux:
 | 
			
		||||
	expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
 | 
			
		||||
	$(SYMLINK_SO)
 | 
			
		||||
# The following lines means those specific architectures do no symlinks
 | 
			
		||||
symlink.cygwin symlib.alpha-osf1 symlink.tru64 symlink.tru64-rpath:
 | 
			
		||||
symlink.cygwin symlink.alpha-osf1 symlink.tru64 symlink.tru64-rpath:
 | 
			
		||||
 | 
			
		||||
# Compatibility targets
 | 
			
		||||
link_o.bsd-gcc-shared link_o.linux-shared link_o.gnu-shared: link_o.gnu
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										146
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										146
									
								
								NEWS
									
									
									
									
									
								
							@@ -5,6 +5,152 @@
 | 
			
		||||
  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.8d and OpenSSL 0.9.8e:
 | 
			
		||||
 | 
			
		||||
      o Various ciphersuite selection fixes.
 | 
			
		||||
      o RFC3779 support.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d:
 | 
			
		||||
 | 
			
		||||
      o Introduce limits to prevent malicious key DoS  (CVE-2006-2940)
 | 
			
		||||
      o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
 | 
			
		||||
      o Changes to ciphersuite selection algorithm
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c:
 | 
			
		||||
 | 
			
		||||
      o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
 | 
			
		||||
      o New cipher Camellia
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b:
 | 
			
		||||
 | 
			
		||||
      o Cipher string fixes.
 | 
			
		||||
      o Fixes for VC++ 2005.
 | 
			
		||||
      o Updated ECC cipher suite support.
 | 
			
		||||
      o New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free().
 | 
			
		||||
      o Zlib compression usage fixes.
 | 
			
		||||
      o Built in dynamic engine compilation support on Win32.
 | 
			
		||||
      o Fixes auto dynamic engine loading in Win32.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a:
 | 
			
		||||
 | 
			
		||||
      o Fix potential SSL 2.0 rollback, CVE-2005-2969
 | 
			
		||||
      o Extended Windows CE support
 | 
			
		||||
 | 
			
		||||
  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.7k and OpenSSL 0.9.7l:
 | 
			
		||||
 | 
			
		||||
      o Introduce limits to prevent malicious key DoS  (CVE-2006-2940)
 | 
			
		||||
      o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k:
 | 
			
		||||
 | 
			
		||||
      o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j:
 | 
			
		||||
 | 
			
		||||
      o Visual C++ 2005 fixes.
 | 
			
		||||
      o Update Windows build system for FIPS.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i:
 | 
			
		||||
 | 
			
		||||
      o Give EVP_MAX_MD_SIZE it's old value, except for a FIPS build.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h:
 | 
			
		||||
 | 
			
		||||
      o Fix SSL 2.0 Rollback, CVE-2005-2969
 | 
			
		||||
      o Allow use of fixed-length exponent on DSA signing
 | 
			
		||||
      o Default fixed-window RSA, DSA, DH private-key operations
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
 | 
			
		||||
 | 
			
		||||
      o More compilation issues fixed.
 | 
			
		||||
      o Adaptation to more modern Kerberos API.
 | 
			
		||||
      o Enhanced or corrected configuration for Solaris64, Mingw and Cygwin.
 | 
			
		||||
      o Enhanced x86_64 assembler BIGNUM module.
 | 
			
		||||
      o More constification.
 | 
			
		||||
      o Added processing of proxy certificates (RFC 3820).
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f:
 | 
			
		||||
 | 
			
		||||
      o Several compilation issues fixed.
 | 
			
		||||
      o Many memory allocation failure checks added.
 | 
			
		||||
      o Improved comparison of X509 Name type.
 | 
			
		||||
      o Mandatory basic checks on certificates.
 | 
			
		||||
      o Performance improvements.
 | 
			
		||||
 | 
			
		||||
  Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e:
 | 
			
		||||
 | 
			
		||||
      o Fix race condition in CRL checking code.
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										102
									
								
								PROBLEMS
									
									
									
									
									
								
							
							
						
						
									
										102
									
								
								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.
 | 
			
		||||
 | 
			
		||||
@@ -90,15 +104,6 @@ failures in other parts of the code.
 | 
			
		||||
 | 
			
		||||
Workaround: modify the target to +O2 when building with no-asm.
 | 
			
		||||
 | 
			
		||||
* Poor support for AIX shared builds.
 | 
			
		||||
 | 
			
		||||
do_aix-shared rule is not flexible enough to parameterize through a
 | 
			
		||||
config-line. './Configure aix43-cc shared' is working, but not
 | 
			
		||||
'./Configure aix64-gcc shared'. In latter case make fails to create shared
 | 
			
		||||
libraries. It's possible to build 64-bit shared libraries by running
 | 
			
		||||
'env OBJECT_MODE=64 make', but we need more elegant solution. Preferably one
 | 
			
		||||
supporting even gcc shared builds. See RT#463 for background information.
 | 
			
		||||
 | 
			
		||||
* Problems building shared libraries on SCO OpenServer Release 5.0.6
 | 
			
		||||
  with gcc 2.95.3
 | 
			
		||||
 | 
			
		||||
@@ -129,3 +134,64 @@ 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.
 | 
			
		||||
 | 
			
		||||
* 'make test' fails in BN_sqr [commonly with "error 139" denoting SIGSEGV]
 | 
			
		||||
  if elder GNU binutils were deployed to link shared libcrypto.so.
 | 
			
		||||
 | 
			
		||||
As subject suggests the failure is caused by a bug in elder binutils,
 | 
			
		||||
either as or ld, and was observed on FreeBSD and Linux. There are two
 | 
			
		||||
options. First is naturally to upgrade binutils, the second one - to
 | 
			
		||||
reconfigure with additional no-sse2 [or 386] option passed to ./config.
 | 
			
		||||
 | 
			
		||||
* If configured with ./config no-dso, toolkit still gets linked with -ldl,
 | 
			
		||||
  which most notably poses a problem when linking with dietlibc.
 | 
			
		||||
 | 
			
		||||
We don't have framework to associate -ldl with no-dso, therefore the only
 | 
			
		||||
way is to edit Makefile right after ./config no-dso and remove -ldl from
 | 
			
		||||
EX_LIBS line.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										43
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								README
									
									
									
									
									
								
							@@ -1,10 +1,16 @@
 | 
			
		||||
 | 
			
		||||
 OpenSSL 0.9.8-dev XX xxx XXXX
 | 
			
		||||
 OpenSSL 0.9.8f-fips-dev test version
 | 
			
		||||
 | 
			
		||||
 Copyright (c) 1998-2002 The OpenSSL Project
 | 
			
		||||
 Copyright (c) 1998-2007 The OpenSSL Project
 | 
			
		||||
 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
 | 
			
		||||
 All rights reserved.
 | 
			
		||||
 | 
			
		||||
 WARNING
 | 
			
		||||
 -------
 | 
			
		||||
 | 
			
		||||
 This version of OpenSSL is an initial port of the FIPS 140-2 code to OpenSSL
 | 
			
		||||
 0.9.8. See the file README.FIPS for brief usage details.
 | 
			
		||||
 | 
			
		||||
 DESCRIPTION
 | 
			
		||||
 -----------
 | 
			
		||||
 | 
			
		||||
@@ -36,12 +42,13 @@
 | 
			
		||||
     actually logically part of it. It includes routines for the following:
 | 
			
		||||
 | 
			
		||||
     Ciphers
 | 
			
		||||
        libdes - EAY's libdes DES encryption package which has been floating
 | 
			
		||||
                 around the net for a few years.  It includes 15
 | 
			
		||||
                 'modes/variations' of DES (1, 2 and 3 key versions of ecb,
 | 
			
		||||
                 cbc, cfb and ofb; pcbc and a more general form of cfb and
 | 
			
		||||
                 ofb) including desx in cbc mode, a fast crypt(3), and
 | 
			
		||||
                 routines to read passwords from the keyboard.
 | 
			
		||||
        libdes - EAY's libdes DES encryption package which was floating
 | 
			
		||||
                 around the net for a few years, and was then relicensed by
 | 
			
		||||
                 him as part of SSLeay.  It includes 15 'modes/variations'
 | 
			
		||||
                 of DES (1, 2 and 3 key versions of ecb, cbc, cfb and ofb;
 | 
			
		||||
                 pcbc and a more general form of cfb and ofb) including desx
 | 
			
		||||
                 in cbc mode, a fast crypt(3), and routines to read
 | 
			
		||||
                 passwords from the keyboard.
 | 
			
		||||
        RC4 encryption,
 | 
			
		||||
        RC2 encryption      - 4 different modes, ecb, cbc, cfb and ofb.
 | 
			
		||||
        Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb.
 | 
			
		||||
@@ -80,16 +87,16 @@
 | 
			
		||||
        A simple stack.
 | 
			
		||||
        A Configuration loader that uses a format similar to MS .ini files.
 | 
			
		||||
 | 
			
		||||
 openssl: 
 | 
			
		||||
 openssl:
 | 
			
		||||
     A command line tool that can be used for:
 | 
			
		||||
        Creation of RSA, DH and DSA key parameters
 | 
			
		||||
        Creation of X.509 certificates, CSRs and CRLs 
 | 
			
		||||
        Creation of X.509 certificates, CSRs and CRLs
 | 
			
		||||
        Calculation of Message Digests
 | 
			
		||||
        Encryption and Decryption with Ciphers
 | 
			
		||||
        SSL/TLS Client and Server Tests
 | 
			
		||||
        Handling of S/MIME signed or encrypted mail
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 PATENTS
 | 
			
		||||
 -------
 | 
			
		||||
 | 
			
		||||
@@ -104,13 +111,19 @@
 | 
			
		||||
 licensing conditions. Their web page is http://www.rsasecurity.com/.
 | 
			
		||||
 | 
			
		||||
 RC4 is a trademark of RSA Security, so use of this label should perhaps
 | 
			
		||||
 only be used with RSA Security's permission. 
 | 
			
		||||
 only be used with RSA Security's permission.
 | 
			
		||||
 | 
			
		||||
 The IDEA algorithm is patented by Ascom in Austria, France, Germany, Italy,
 | 
			
		||||
 Japan, the Netherlands, Spain, Sweden, Switzerland, UK and the USA.  They
 | 
			
		||||
 should be contacted if that algorithm is to be used; their web page is
 | 
			
		||||
 http://www.ascom.ch/.
 | 
			
		||||
 | 
			
		||||
 The MDC2 algorithm is patented by IBM.
 | 
			
		||||
 | 
			
		||||
 NTT and Mitsubishi have patents and pending patents on the Camellia
 | 
			
		||||
 algorithm, but allow use at no charge without requiring an explicit
 | 
			
		||||
 licensing agreement: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
 | 
			
		||||
 | 
			
		||||
 INSTALLATION
 | 
			
		||||
 ------------
 | 
			
		||||
 | 
			
		||||
@@ -129,7 +142,7 @@
 | 
			
		||||
 or application author.  We try to collect those in doc/PROBLEMS, with current
 | 
			
		||||
 thoughts on how they should be solved in a future of OpenSSL.
 | 
			
		||||
 | 
			
		||||
 SUPPORT 
 | 
			
		||||
 SUPPORT
 | 
			
		||||
 -------
 | 
			
		||||
 | 
			
		||||
 If you have any problems with OpenSSL then please take the following steps
 | 
			
		||||
@@ -138,7 +151,7 @@
 | 
			
		||||
    - Download the current snapshot from ftp://ftp.openssl.org/snapshot/
 | 
			
		||||
      to see if the problem has already been addressed
 | 
			
		||||
    - Remove ASM versions of libraries
 | 
			
		||||
    - Remove compiler optimisation flags 
 | 
			
		||||
    - Remove compiler optimisation flags
 | 
			
		||||
 | 
			
		||||
 If you wish to report a bug then please include the following information in
 | 
			
		||||
 any bug report:
 | 
			
		||||
@@ -154,7 +167,7 @@
 | 
			
		||||
    - Stack Traceback (if the application dumps core)
 | 
			
		||||
 | 
			
		||||
 Report the bug to the OpenSSL project via the Request Tracker
 | 
			
		||||
 (http://www.openssl.org/rt2.html) by mail to:
 | 
			
		||||
 (http://www.openssl.org/support/rt2.html) by mail to:
 | 
			
		||||
 | 
			
		||||
    openssl-bugs@openssl.org
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								README.FIPS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								README.FIPS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
 | 
			
		||||
Brief instructions on using OpenSSL 0.9.8 FIPS test branch.
 | 
			
		||||
 | 
			
		||||
To avoid any confusion that this might generate a validate library just
 | 
			
		||||
supplying "fips" on the command line wont work. Additional options are
 | 
			
		||||
needed...
 | 
			
		||||
 | 
			
		||||
To build fipscanister and produce a usable distribution the configuration
 | 
			
		||||
option "fipscanisterbuild" is used to either the config or Configure scripts.
 | 
			
		||||
For example:
 | 
			
		||||
 | 
			
		||||
./config fipscanisterbuild
 | 
			
		||||
 | 
			
		||||
This builds static libraries in a way similar to the FIPS 1.1.1 distro.
 | 
			
		||||
 | 
			
		||||
To build the shared library fipscanister version use the configuration
 | 
			
		||||
options "fipsdso".
 | 
			
		||||
 | 
			
		||||
Note that the fipscanister.o file is totally incompatible with the version
 | 
			
		||||
produced by the FIPS 1.1.1 distribution and cannot be made to work with
 | 
			
		||||
it.
 | 
			
		||||
 | 
			
		||||
Both options should also work under Windows and VC++. With this version the
 | 
			
		||||
use of MinGW is unnecessary and the normal VC++ build procedure can be
 | 
			
		||||
followed *except* the GNU linker "ld.exe" (for example from MinGW) must be
 | 
			
		||||
accessible somewhere on the PATH. For example:
 | 
			
		||||
 | 
			
		||||
perl Configure VC-WIN32 fipsdso
 | 
			
		||||
ms\do_masm
 | 
			
		||||
nmake -f ms\ntdll.mak
 | 
			
		||||
 | 
			
		||||
Note that any warnings from a Windows version of "tar" about being unable to
 | 
			
		||||
create symbolic links can be ignored.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										35
									
								
								STATUS
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								STATUS
									
									
									
									
									
								
							@@ -1,12 +1,34 @@
 | 
			
		||||
 | 
			
		||||
  OpenSSL STATUS                           Last modified at
 | 
			
		||||
  ______________                           $Date: 2003/02/28 15:17:45 $
 | 
			
		||||
  ______________                           $Date: 2007/02/23 12:12:27 $
 | 
			
		||||
 | 
			
		||||
  DEVELOPMENT STATE
 | 
			
		||||
 | 
			
		||||
    o  OpenSSL 0.9.8:  Under development...
 | 
			
		||||
    o  OpenSSL 0.9.9:  Under development...
 | 
			
		||||
    o  OpenSSL 0.9.8e: Released on February  23rd, 2007
 | 
			
		||||
    o  OpenSSL 0.9.8d: Released on September 28th, 2006
 | 
			
		||||
    o  OpenSSL 0.9.8c: Released on September  5th, 2006
 | 
			
		||||
    o  OpenSSL 0.9.8b: Released on May        4th, 2006
 | 
			
		||||
    o  OpenSSL 0.9.8a: Released on October   11th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.8:  Released on July       5th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.7m: Released on February  23rd, 2007
 | 
			
		||||
    o  OpenSSL 0.9.7l: Released on September 28th, 2006
 | 
			
		||||
    o  OpenSSL 0.9.7k: Released on September  5th, 2006
 | 
			
		||||
    o  OpenSSL 0.9.7j: Released on May        4th, 2006
 | 
			
		||||
    o  OpenSSL 0.9.7i: Released on October   14th, 2005
 | 
			
		||||
    o  OpenSSL 0.9.7h: Released on October   11th, 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
 | 
			
		||||
    o  OpenSSL 0.9.7d: Released on March     17th, 2004
 | 
			
		||||
    o  OpenSSL 0.9.7c: Released on September 30th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.7b: Released on April     10th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.7a: Released on February  19th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.7:  Released on December  31st, 2002
 | 
			
		||||
    o  OpenSSL 0.9.6m: Released on March     17th, 2004
 | 
			
		||||
    o  OpenSSL 0.9.6l: Released on November   4th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.6k: Released on September 30th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.6j: Released on April     10th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.6i: Released on February  19th, 2003
 | 
			
		||||
    o  OpenSSL 0.9.6h: Released on December   5th, 2002
 | 
			
		||||
    o  OpenSSL 0.9.6g: Released on August     9th, 2002
 | 
			
		||||
@@ -29,6 +51,7 @@
 | 
			
		||||
 | 
			
		||||
  RELEASE SHOWSTOPPERS
 | 
			
		||||
 | 
			
		||||
    o The Makefiles fail with some SysV makes.
 | 
			
		||||
    o 
 | 
			
		||||
 | 
			
		||||
  AVAILABLE PATCHES
 | 
			
		||||
@@ -45,16 +68,8 @@
 | 
			
		||||
	Private key, certificate and CRL API and implementation.
 | 
			
		||||
	Developing and bugfixing PKCS#7 (S/MIME code).
 | 
			
		||||
        Various X509 issues: character sets, certificate request extensions.
 | 
			
		||||
    o Geoff and Richard are currently working on:
 | 
			
		||||
	ENGINE (the new code that gives hardware support among others).
 | 
			
		||||
    o Richard is currently working on:
 | 
			
		||||
	UI (User Interface)
 | 
			
		||||
	UTIL (a new set of library functions to support some higher level
 | 
			
		||||
	      functionality that is currently missing).
 | 
			
		||||
	Shared library support for VMS.
 | 
			
		||||
	Kerberos 5 authentication (Heimdal)
 | 
			
		||||
	Constification
 | 
			
		||||
	Compression
 | 
			
		||||
	Attribute Certificate support
 | 
			
		||||
	Certificate Pair support
 | 
			
		||||
	Storage Engines (primarly an LDAP storage engine)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								VMS/tcpip_shr_decc.opt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								VMS/tcpip_shr_decc.opt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
sys$share:tcpip$ipc_shr.exe/share
 | 
			
		||||
@@ -3,3 +3,5 @@ Makefile.save
 | 
			
		||||
der_chop
 | 
			
		||||
der_chop.bak
 | 
			
		||||
CA.pl
 | 
			
		||||
*.flc
 | 
			
		||||
semantic.cache
 | 
			
		||||
 
 | 
			
		||||
@@ -36,14 +36,22 @@
 | 
			
		||||
# default openssl.cnf file has setup as per the following
 | 
			
		||||
# demoCA ... where everything is stored
 | 
			
		||||
 | 
			
		||||
my $openssl;
 | 
			
		||||
if(defined $ENV{OPENSSL}) {
 | 
			
		||||
	$openssl = $ENV{OPENSSL};
 | 
			
		||||
} else {
 | 
			
		||||
	$openssl = "openssl";
 | 
			
		||||
	$ENV{OPENSSL} = $openssl;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$SSLEAY_CONFIG=$ENV{"SSLEAY_CONFIG"};
 | 
			
		||||
$DAYS="-days 365";	# 1 year
 | 
			
		||||
$CADAYS="-days 1095";	# 3 years
 | 
			
		||||
$REQ="openssl req $SSLEAY_CONFIG";
 | 
			
		||||
$CA="openssl ca $SSLEAY_CONFIG";
 | 
			
		||||
$VERIFY="openssl verify";
 | 
			
		||||
$X509="openssl x509";
 | 
			
		||||
$PKCS12="openssl pkcs12";
 | 
			
		||||
$REQ="$openssl req $SSLEAY_CONFIG";
 | 
			
		||||
$CA="$openssl ca $SSLEAY_CONFIG";
 | 
			
		||||
$VERIFY="$openssl verify";
 | 
			
		||||
$X509="$openssl x509";
 | 
			
		||||
$PKCS12="$openssl pkcs12";
 | 
			
		||||
 | 
			
		||||
$CATOP="./demoCA";
 | 
			
		||||
$CAKEY="cakey.pem";
 | 
			
		||||
@@ -60,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 
 | 
			
		||||
@@ -86,6 +94,9 @@ foreach (@ARGV) {
 | 
			
		||||
		mkdir "${CATOP}/private", $DIRMODE;
 | 
			
		||||
		open OUT, ">${CATOP}/index.txt";
 | 
			
		||||
		close OUT;
 | 
			
		||||
		open OUT, ">${CATOP}/crlnumber";
 | 
			
		||||
		print OUT "01\n";
 | 
			
		||||
		close OUT;
 | 
			
		||||
	    }
 | 
			
		||||
	    if ( ! -f "${CATOP}/private/$CAKEY" ) {
 | 
			
		||||
		print "CA certificate filename (or enter to create)\n";
 | 
			
		||||
@@ -105,6 +116,7 @@ foreach (@ARGV) {
 | 
			
		||||
		    system ("$CA -create_serial " .
 | 
			
		||||
			"-out ${CATOP}/$CACERT $CADAYS -batch " . 
 | 
			
		||||
			"-keyfile ${CATOP}/private/$CAKEY -selfsign " .
 | 
			
		||||
			"-extensions v3_ca " .
 | 
			
		||||
			"-infiles ${CATOP}/$CAREQ ");
 | 
			
		||||
		    $RET=$?;
 | 
			
		||||
		}
 | 
			
		||||
@@ -112,10 +124,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");
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								apps/CA.sh
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								apps/CA.sh
									
									
									
									
									
								
							@@ -30,12 +30,14 @@
 | 
			
		||||
# default openssl.cnf file has setup as per the following
 | 
			
		||||
# demoCA ... where everything is stored
 | 
			
		||||
 | 
			
		||||
if [ -z "$OPENSSL" ]; then OPENSSL=openssl; fi
 | 
			
		||||
 | 
			
		||||
DAYS="-days 365"	# 1 year
 | 
			
		||||
CADAYS="-days 1095"	# 3 years
 | 
			
		||||
REQ="openssl req $SSLEAY_CONFIG"
 | 
			
		||||
CA="openssl ca $SSLEAY_CONFIG"
 | 
			
		||||
VERIFY="openssl verify"
 | 
			
		||||
X509="openssl x509"
 | 
			
		||||
REQ="$OPENSSL req $SSLEAY_CONFIG"
 | 
			
		||||
CA="$OPENSSL ca $SSLEAY_CONFIG"
 | 
			
		||||
VERIFY="$OPENSSL verify"
 | 
			
		||||
X509="$OPENSSL x509"
 | 
			
		||||
 | 
			
		||||
CATOP=./demoCA
 | 
			
		||||
CAKEY=./cakey.pem
 | 
			
		||||
@@ -51,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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										923
									
								
								apps/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										923
									
								
								apps/Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,923 @@
 | 
			
		||||
#
 | 
			
		||||
#  apps/Makefile
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
DIR=		apps
 | 
			
		||||
TOP=		..
 | 
			
		||||
CC=		cc
 | 
			
		||||
INCLUDES=	-I$(TOP) -I../include $(KRB5_INCLUDES)
 | 
			
		||||
CFLAG=		-g -static
 | 
			
		||||
MAKEFILE=	Makefile
 | 
			
		||||
PERL=		perl
 | 
			
		||||
RM=		rm -f
 | 
			
		||||
# KRB5 stuff
 | 
			
		||||
KRB5_INCLUDES=
 | 
			
		||||
LIBKRB5=
 | 
			
		||||
 | 
			
		||||
PEX_LIBS=
 | 
			
		||||
EX_LIBS= 
 | 
			
		||||
EXE_EXT= 
 | 
			
		||||
 | 
			
		||||
SHLIB_TARGET=
 | 
			
		||||
 | 
			
		||||
CFLAGS= -DMONOLITH $(INCLUDES) $(CFLAG)
 | 
			
		||||
 | 
			
		||||
GENERAL=Makefile makeapps.com install.com
 | 
			
		||||
 | 
			
		||||
DLIBCRYPTO=../libcrypto.a
 | 
			
		||||
DLIBSSL=../libssl.a
 | 
			
		||||
LIBCRYPTO=-L.. -lcrypto
 | 
			
		||||
LIBSSL=-L.. -lssl
 | 
			
		||||
 | 
			
		||||
PROGRAM= openssl
 | 
			
		||||
 | 
			
		||||
SCRIPTS=CA.sh CA.pl
 | 
			
		||||
 | 
			
		||||
EXE= $(PROGRAM)$(EXE_EXT)
 | 
			
		||||
 | 
			
		||||
E_EXE=	verify asn1pars req dgst dh dhparam enc passwd gendh errstr \
 | 
			
		||||
	ca crl rsa rsautl dsa dsaparam ec ecparam \
 | 
			
		||||
	x509 genrsa gendsa s_server s_client speed \
 | 
			
		||||
	s_time version pkcs7 crl2pkcs7 sess_id ciphers nseq pkcs12 \
 | 
			
		||||
	pkcs8 spkac smime rand engine ocsp prime
 | 
			
		||||
 | 
			
		||||
PROGS= $(PROGRAM).c
 | 
			
		||||
 | 
			
		||||
A_OBJ=apps.o
 | 
			
		||||
A_SRC=apps.c
 | 
			
		||||
S_OBJ=	s_cb.o s_socket.o
 | 
			
		||||
S_SRC=	s_cb.c s_socket.c
 | 
			
		||||
RAND_OBJ=app_rand.o
 | 
			
		||||
RAND_SRC=app_rand.c
 | 
			
		||||
 | 
			
		||||
E_OBJ=	verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o \
 | 
			
		||||
	ca.o pkcs7.o crl2p7.o crl.o \
 | 
			
		||||
	rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o \
 | 
			
		||||
	x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o \
 | 
			
		||||
	s_time.o $(A_OBJ) $(S_OBJ) $(RAND_OBJ) version.o sess_id.o \
 | 
			
		||||
	ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o \
 | 
			
		||||
	ocsp.o prime.o
 | 
			
		||||
 | 
			
		||||
E_SRC=	verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c \
 | 
			
		||||
	pkcs7.c crl2p7.c crl.c \
 | 
			
		||||
	rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c \
 | 
			
		||||
	x509.c genrsa.c gendsa.c s_server.c s_client.c speed.c \
 | 
			
		||||
	s_time.c $(A_SRC) $(S_SRC) $(RAND_SRC) version.c sess_id.c \
 | 
			
		||||
	ciphers.c nseq.c pkcs12.c pkcs8.c spkac.c smime.c rand.c engine.c \
 | 
			
		||||
	ocsp.c prime.c
 | 
			
		||||
 | 
			
		||||
SRC=$(E_SRC)
 | 
			
		||||
 | 
			
		||||
EXHEADER=
 | 
			
		||||
HEADER=	apps.h progs.h s_apps.h \
 | 
			
		||||
	testdsa.h testrsa.h \
 | 
			
		||||
	$(EXHEADER)
 | 
			
		||||
 | 
			
		||||
ALL=    $(GENERAL) $(SRC) $(HEADER)
 | 
			
		||||
 | 
			
		||||
top:
 | 
			
		||||
	@(cd ..; $(MAKE) DIRS=$(DIR) all)
 | 
			
		||||
 | 
			
		||||
all:	exe
 | 
			
		||||
 | 
			
		||||
exe:	$(EXE)
 | 
			
		||||
 | 
			
		||||
req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
 | 
			
		||||
	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		shlib_target="$(SHLIB_TARGET)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(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}
 | 
			
		||||
 | 
			
		||||
sreq.o: req.c 
 | 
			
		||||
	$(CC) -c $(INCLUDES) $(CFLAG) -o sreq.o req.c
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
 | 
			
		||||
	@set -e; for i in $(EXE); \
 | 
			
		||||
	do  \
 | 
			
		||||
	(echo installing $$i; \
 | 
			
		||||
	 cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
 | 
			
		||||
	 chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
 | 
			
		||||
	 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
 | 
			
		||||
	 done;
 | 
			
		||||
	@set -e; for i in $(SCRIPTS); \
 | 
			
		||||
	do  \
 | 
			
		||||
	(echo installing $$i; \
 | 
			
		||||
	 cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
 | 
			
		||||
	 chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
 | 
			
		||||
	 mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
 | 
			
		||||
	 done
 | 
			
		||||
	@cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
 | 
			
		||||
	mv -f  $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
 | 
			
		||||
 | 
			
		||||
tags:
 | 
			
		||||
	ctags $(SRC)
 | 
			
		||||
 | 
			
		||||
tests:
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
 | 
			
		||||
lint:
 | 
			
		||||
	lint -DLINT $(INCLUDES) $(SRC)>fluff
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	@if [ -z "$(THIS)" ]; then \
 | 
			
		||||
	    $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; \
 | 
			
		||||
	else \
 | 
			
		||||
	    $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(SRC); \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
dclean:
 | 
			
		||||
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
 | 
			
		||||
	mv -f Makefile.new $(MAKEFILE)
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
 | 
			
		||||
	rm -f req
 | 
			
		||||
 | 
			
		||||
$(DLIBSSL):
 | 
			
		||||
	(cd ..; $(MAKE) DIRS=ssl all)
 | 
			
		||||
 | 
			
		||||
$(DLIBCRYPTO):
 | 
			
		||||
	(cd ..; $(MAKE) DIRS=crypto all)
 | 
			
		||||
 | 
			
		||||
$(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
 | 
			
		||||
	$(RM) $(EXE)
 | 
			
		||||
	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		shlib_target="$(SHLIB_TARGET)"; \
 | 
			
		||||
	elif [ -n "$(FIPSCANLIB)" ]; then \
 | 
			
		||||
	  FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)" ; \
 | 
			
		||||
	[ "x$(FIPSCANLIB)" = "xlibfips" ] && LIBRARIES="$$LIBRARIES -lfips"; \
 | 
			
		||||
	$(MAKE) -f $(TOP)/Makefile.shared -e \
 | 
			
		||||
		CC="$${CC}" APPNAME=$(EXE) OBJECTS="$(PROGRAM).o $(E_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
 | 
			
		||||
progs.h: progs.pl
 | 
			
		||||
	$(PERL) progs.pl $(E_EXE) >progs.h
 | 
			
		||||
	$(RM) $(PROGRAM).o
 | 
			
		||||
 | 
			
		||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
 | 
			
		||||
 | 
			
		||||
app_rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
app_rand.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
app_rand.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
app_rand.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
app_rand.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
app_rand.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
app_rand.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
app_rand.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
app_rand.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
app_rand.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
app_rand.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
app_rand.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
app_rand.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
app_rand.o: ../include/openssl/x509_vfy.h app_rand.c apps.h
 | 
			
		||||
apps.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
apps.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
apps.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
apps.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
apps.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
apps.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
apps.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
apps.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
apps.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
apps.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
apps.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
apps.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
 | 
			
		||||
apps.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
apps.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
apps.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
apps.o: ../include/openssl/ui.h ../include/openssl/x509.h
 | 
			
		||||
apps.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.c apps.h
 | 
			
		||||
asn1pars.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
asn1pars.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
asn1pars.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
asn1pars.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
asn1pars.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
asn1pars.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
asn1pars.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
asn1pars.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
asn1pars.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
asn1pars.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
asn1pars.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
asn1pars.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
asn1pars.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
asn1pars.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
asn1pars.o: ../include/openssl/x509_vfy.h apps.h asn1pars.c
 | 
			
		||||
ca.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ca.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
ca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
ca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
ca.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
ca.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
ca.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
ca.o: ../include/openssl/objects.h ../include/openssl/ocsp.h
 | 
			
		||||
ca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
ca.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
ca.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
ca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
ca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
ca.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
ca.o: ../include/openssl/x509_vfy.h ../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/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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
ciphers.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
ciphers.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
ciphers.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
ciphers.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
ciphers.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
ciphers.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
ciphers.o: ciphers.c
 | 
			
		||||
crl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
crl.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
crl.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
crl.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
crl.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
crl.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
crl.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
crl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
crl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
crl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
crl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
crl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
crl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
crl.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
crl.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h crl.c
 | 
			
		||||
crl2p7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
crl2p7.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
crl2p7.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
crl2p7.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
crl2p7.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
crl2p7.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
crl2p7.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
crl2p7.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
crl2p7.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
crl2p7.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
crl2p7.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
crl2p7.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
crl2p7.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
crl2p7.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
crl2p7.o: ../include/openssl/x509_vfy.h apps.h crl2p7.c
 | 
			
		||||
dgst.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dgst.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
dgst.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
dgst.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
dgst.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
dgst.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dgst.o: ../include/openssl/fips.h ../include/openssl/hmac.h
 | 
			
		||||
dgst.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
dgst.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
dgst.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
dgst.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
dgst.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
dgst.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
dgst.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
dgst.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dgst.c
 | 
			
		||||
dh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dh.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
dh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dh.o: ../include/openssl/dh.h ../include/openssl/e_os2.h
 | 
			
		||||
dh.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
dh.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
dh.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dh.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
dh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
dh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
dh.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
dh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
dh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
dh.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
dh.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
dh.o: ../include/openssl/x509_vfy.h apps.h dh.c
 | 
			
		||||
dsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
dsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
dsa.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
dsa.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
dsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dsa.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
dsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
dsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
dsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
dsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
dsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
dsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
dsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
dsa.o: ../include/openssl/x509_vfy.h apps.h dsa.c
 | 
			
		||||
dsaparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dsaparam.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
dsaparam.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dsaparam.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dsaparam.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
dsaparam.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
dsaparam.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
dsaparam.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
dsaparam.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
dsaparam.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
dsaparam.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
dsaparam.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
dsaparam.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
dsaparam.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
dsaparam.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
dsaparam.o: ../include/openssl/store.h ../include/openssl/symhacks.h
 | 
			
		||||
dsaparam.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
dsaparam.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
dsaparam.o: dsaparam.c
 | 
			
		||||
ec.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ec.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
ec.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
ec.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
ec.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
ec.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
ec.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
ec.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
ec.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
ec.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
ec.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
ec.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
ec.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
ec.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
ec.o: ../include/openssl/x509_vfy.h apps.h ec.c
 | 
			
		||||
ecparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ecparam.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ecparam.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
ecparam.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
ecparam.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
ecparam.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
ecparam.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
ecparam.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
ecparam.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
ecparam.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
ecparam.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
ecparam.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
ecparam.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
ecparam.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
ecparam.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
ecparam.o: ecparam.c
 | 
			
		||||
enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
enc.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
enc.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
enc.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
enc.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
enc.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
enc.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
enc.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 | 
			
		||||
enc.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
enc.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
enc.o: ../include/openssl/x509.h ../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/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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
engine.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
engine.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
engine.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
engine.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
engine.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
engine.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
engine.o: engine.c
 | 
			
		||||
errstr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
errstr.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
errstr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
errstr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
errstr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
errstr.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
errstr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
errstr.o: errstr.c
 | 
			
		||||
gendh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
gendh.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
gendh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
gendh.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
gendh.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
gendh.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
gendh.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
gendh.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
gendh.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
gendh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
gendh.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
gendh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
gendh.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
gendh.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
gendh.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
gendh.o: ../include/openssl/store.h ../include/openssl/symhacks.h
 | 
			
		||||
gendh.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
gendh.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h gendh.c
 | 
			
		||||
gendsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
gendsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
gendsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
gendsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
gendsa.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
gendsa.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
gendsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
gendsa.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
gendsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
gendsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
gendsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
gendsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
gendsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
gendsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
gendsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
gendsa.o: ../include/openssl/x509_vfy.h apps.h gendsa.c
 | 
			
		||||
genrsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
genrsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
genrsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
genrsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
genrsa.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
genrsa.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
genrsa.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
genrsa.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
genrsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
genrsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
genrsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
genrsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
genrsa.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
genrsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
genrsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
genrsa.o: ../include/openssl/store.h ../include/openssl/symhacks.h
 | 
			
		||||
genrsa.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
genrsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
genrsa.o: genrsa.c
 | 
			
		||||
nseq.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
nseq.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
nseq.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
nseq.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
nseq.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
nseq.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
nseq.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
nseq.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
nseq.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
nseq.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
nseq.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
nseq.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
nseq.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
nseq.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
nseq.o: ../include/openssl/x509_vfy.h apps.h nseq.c
 | 
			
		||||
ocsp.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ocsp.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ocsp.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
ocsp.o: ../include/openssl/crypto.h ../include/openssl/dtls1.h
 | 
			
		||||
ocsp.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
ocsp.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
ocsp.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
ocsp.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
ocsp.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
ocsp.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
ocsp.o: ../include/openssl/ocsp.h ../include/openssl/opensslconf.h
 | 
			
		||||
ocsp.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
ocsp.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
ocsp.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.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
 | 
			
		||||
openssl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
openssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
openssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
openssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
openssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
openssl.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
openssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
openssl.o: openssl.c progs.h s_apps.h
 | 
			
		||||
passwd.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
passwd.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
passwd.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
passwd.o: ../include/openssl/des_old.h ../include/openssl/e_os2.h
 | 
			
		||||
passwd.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
passwd.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
passwd.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
passwd.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
passwd.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
 | 
			
		||||
passwd.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
passwd.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
passwd.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
passwd.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
passwd.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
passwd.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
passwd.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
 | 
			
		||||
passwd.o: ../include/openssl/x509_vfy.h apps.h passwd.c
 | 
			
		||||
pkcs12.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs12.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
pkcs12.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs12.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
pkcs12.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
pkcs12.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs12.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
pkcs12.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
pkcs12.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
pkcs12.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
pkcs12.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
 | 
			
		||||
pkcs12.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
pkcs12.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
pkcs12.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
pkcs12.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
pkcs12.o: pkcs12.c
 | 
			
		||||
pkcs7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs7.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
pkcs7.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs7.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
pkcs7.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
pkcs7.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs7.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
pkcs7.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
pkcs7.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
pkcs7.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
pkcs7.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
pkcs7.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
pkcs7.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
pkcs7.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
pkcs7.o: ../include/openssl/x509_vfy.h apps.h pkcs7.c
 | 
			
		||||
pkcs8.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs8.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
pkcs8.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs8.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
pkcs8.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
pkcs8.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs8.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
pkcs8.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
pkcs8.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
pkcs8.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
pkcs8.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
 | 
			
		||||
pkcs8.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
pkcs8.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
pkcs8.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
pkcs8.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h pkcs8.c
 | 
			
		||||
prime.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
prime.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
prime.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
prime.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
prime.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
prime.o: ../include/openssl/engine.h ../include/openssl/evp.h
 | 
			
		||||
prime.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
prime.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
prime.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
prime.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
prime.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
prime.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
prime.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
prime.o: ../include/openssl/x509_vfy.h apps.h prime.c
 | 
			
		||||
rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rand.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
rand.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
rand.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
rand.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
rand.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rand.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
rand.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
rand.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
rand.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
rand.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 | 
			
		||||
rand.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
rand.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
rand.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h rand.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/fips.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
 | 
			
		||||
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
 | 
			
		||||
rsa.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
rsa.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
rsa.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
rsa.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
rsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
rsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
rsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
rsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
rsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
 | 
			
		||||
rsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
rsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
rsa.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
rsa.o: ../include/openssl/x509_vfy.h apps.h rsa.c
 | 
			
		||||
rsautl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rsautl.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
rsautl.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
rsautl.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
rsautl.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
rsautl.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rsautl.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
rsautl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
rsautl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
rsautl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
rsautl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
rsautl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
rsautl.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
rsautl.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
rsautl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
rsautl.o: rsautl.c
 | 
			
		||||
s_cb.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
s_cb.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
s_cb.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
s_cb.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
s_cb.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
s_cb.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
s_cb.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h s_apps.h
 | 
			
		||||
s_cb.o: s_cb.c
 | 
			
		||||
s_client.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
s_client.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 | 
			
		||||
s_client.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_client.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
s_client.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
s_client.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
s_client.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
s_client.o: ../include/openssl/x509_vfy.h apps.h s_apps.h s_client.c timeouts.h
 | 
			
		||||
s_server.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_server.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
s_server.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_server.o: ../include/openssl/crypto.h ../include/openssl/dh.h
 | 
			
		||||
s_server.o: ../include/openssl/dsa.h ../include/openssl/dtls1.h
 | 
			
		||||
s_server.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
s_server.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
s_server.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
s_server.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
s_server.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
s_server.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
s_server.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
s_server.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
s_server.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
s_server.o: ../include/openssl/pq_compat.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_socket.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.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/fips.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/pq_compat.h
 | 
			
		||||
s_socket.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
 | 
			
		||||
s_socket.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_socket.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
s_socket.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
s_socket.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
s_socket.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
s_socket.o: ../include/openssl/x509_vfy.h apps.h 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/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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
s_time.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
s_time.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
s_time.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
s_time.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
s_time.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
s_time.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
s_time.o: 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/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/fips.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/pq_compat.h ../include/openssl/pqueue.h
 | 
			
		||||
sess_id.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
sess_id.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
sess_id.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
sess_id.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
sess_id.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
sess_id.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
sess_id.o: sess_id.c
 | 
			
		||||
smime.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
smime.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
smime.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
smime.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
smime.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
smime.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
smime.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
smime.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
smime.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
smime.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
smime.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
smime.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
smime.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
smime.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
smime.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h
 | 
			
		||||
smime.o: smime.c
 | 
			
		||||
speed.o: ../e_os.h ../include/openssl/aes.h ../include/openssl/asn1.h
 | 
			
		||||
speed.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
 | 
			
		||||
speed.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
speed.o: ../include/openssl/cast.h ../include/openssl/conf.h
 | 
			
		||||
speed.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
speed.o: ../include/openssl/des_old.h ../include/openssl/dsa.h
 | 
			
		||||
speed.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
speed.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
speed.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
speed.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
speed.o: ../include/openssl/hmac.h ../include/openssl/idea.h
 | 
			
		||||
speed.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
speed.o: ../include/openssl/md4.h ../include/openssl/md5.h
 | 
			
		||||
speed.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
speed.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
speed.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
speed.o: ../include/openssl/rand.h ../include/openssl/rc2.h
 | 
			
		||||
speed.o: ../include/openssl/rc4.h ../include/openssl/ripemd.h
 | 
			
		||||
speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
speed.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
speed.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
speed.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
 | 
			
		||||
speed.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h speed.c
 | 
			
		||||
speed.o: testdsa.h testrsa.h
 | 
			
		||||
spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
spkac.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
spkac.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
spkac.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
spkac.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
spkac.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
spkac.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
spkac.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
spkac.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
spkac.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
spkac.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
spkac.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
spkac.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
spkac.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
spkac.o: ../include/openssl/x509_vfy.h apps.h spkac.c
 | 
			
		||||
verify.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
verify.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
verify.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
verify.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
verify.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
verify.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
verify.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
verify.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
verify.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
verify.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
verify.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
verify.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
verify.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
verify.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
verify.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h
 | 
			
		||||
verify.o: verify.c
 | 
			
		||||
version.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
version.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
version.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
version.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
version.o: ../include/openssl/des_old.h ../include/openssl/e_os2.h
 | 
			
		||||
version.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
version.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
version.o: ../include/openssl/evp.h ../include/openssl/fips.h
 | 
			
		||||
version.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
version.o: ../include/openssl/md2.h ../include/openssl/obj_mac.h
 | 
			
		||||
version.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
version.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
version.o: ../include/openssl/pkcs7.h ../include/openssl/rc4.h
 | 
			
		||||
version.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
version.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
version.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
version.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
 | 
			
		||||
version.o: ../include/openssl/x509_vfy.h apps.h version.c
 | 
			
		||||
x509.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
x509.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
x509.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
x509.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
x509.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
x509.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
x509.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
x509.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
x509.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
x509.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
x509.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
x509.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
x509.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
x509.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
x509.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
x509.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
x509.o: ../include/openssl/x509v3.h apps.h x509.c
 | 
			
		||||
@@ -1,887 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
#  apps/Makefile.ssl
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
DIR=		apps
 | 
			
		||||
TOP=		..
 | 
			
		||||
CC=		cc
 | 
			
		||||
INCLUDES=	-I$(TOP) -I../include $(KRB5_INCLUDES)
 | 
			
		||||
CFLAG=		-g -static
 | 
			
		||||
INSTALL_PREFIX=
 | 
			
		||||
INSTALLTOP=	/usr/local/ssl
 | 
			
		||||
OPENSSLDIR=	/usr/local/ssl
 | 
			
		||||
NEWMAKE=	make
 | 
			
		||||
MAKE=		$(NEWMAKE) -f Makefile.ssl
 | 
			
		||||
MAKEDEPPROG=	makedepend
 | 
			
		||||
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 | 
			
		||||
MAKEFILE=	Makefile.ssl
 | 
			
		||||
PERL=		perl
 | 
			
		||||
RM=		rm -f
 | 
			
		||||
# KRB5 stuff
 | 
			
		||||
KRB5_INCLUDES=
 | 
			
		||||
LIBKRB5=
 | 
			
		||||
 | 
			
		||||
PEX_LIBS=
 | 
			
		||||
EX_LIBS= 
 | 
			
		||||
EXE_EXT= 
 | 
			
		||||
 | 
			
		||||
SHLIB_TARGET=
 | 
			
		||||
 | 
			
		||||
CFLAGS= -DMONOLITH $(INCLUDES) $(CFLAG)
 | 
			
		||||
 | 
			
		||||
GENERAL=Makefile makeapps.com install.com
 | 
			
		||||
 | 
			
		||||
DLIBCRYPTO=../libcrypto.a
 | 
			
		||||
DLIBSSL=../libssl.a
 | 
			
		||||
LIBCRYPTO=-L.. -lcrypto
 | 
			
		||||
LIBSSL=-L.. -lssl
 | 
			
		||||
 | 
			
		||||
PROGRAM= openssl
 | 
			
		||||
 | 
			
		||||
SCRIPTS=CA.sh CA.pl
 | 
			
		||||
 | 
			
		||||
EXE= $(PROGRAM)$(EXE_EXT)
 | 
			
		||||
 | 
			
		||||
E_EXE=	verify asn1pars req dgst dh dhparam enc passwd gendh errstr \
 | 
			
		||||
	ca crl rsa rsautl dsa dsaparam ec ecparam \
 | 
			
		||||
	x509 genrsa gendsa s_server s_client speed \
 | 
			
		||||
	s_time version pkcs7 crl2pkcs7 sess_id ciphers nseq pkcs12 \
 | 
			
		||||
	pkcs8 spkac smime rand engine ocsp
 | 
			
		||||
 | 
			
		||||
PROGS= $(PROGRAM).c
 | 
			
		||||
 | 
			
		||||
A_OBJ=apps.o
 | 
			
		||||
A_SRC=apps.c
 | 
			
		||||
S_OBJ=	s_cb.o s_socket.o
 | 
			
		||||
S_SRC=	s_cb.c s_socket.c
 | 
			
		||||
RAND_OBJ=app_rand.o
 | 
			
		||||
RAND_SRC=app_rand.c
 | 
			
		||||
 | 
			
		||||
E_OBJ=	verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o \
 | 
			
		||||
	ca.o pkcs7.o crl2p7.o crl.o \
 | 
			
		||||
	rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o \
 | 
			
		||||
	x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o \
 | 
			
		||||
	s_time.o $(A_OBJ) $(S_OBJ) $(RAND_OBJ) version.o sess_id.o \
 | 
			
		||||
	ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o \
 | 
			
		||||
	ocsp.o 
 | 
			
		||||
 | 
			
		||||
E_SRC=	verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c \
 | 
			
		||||
	pkcs7.c crl2p7.c crl.c \
 | 
			
		||||
	rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c \
 | 
			
		||||
	x509.c genrsa.c gendsa.c s_server.c s_client.c speed.c \
 | 
			
		||||
	s_time.c $(A_SRC) $(S_SRC) $(RAND_SRC) version.c sess_id.c \
 | 
			
		||||
	ciphers.c nseq.c pkcs12.c pkcs8.c spkac.c smime.c rand.c engine.c \
 | 
			
		||||
	ocsp.c
 | 
			
		||||
 | 
			
		||||
SRC=$(E_SRC)
 | 
			
		||||
 | 
			
		||||
EXHEADER=
 | 
			
		||||
HEADER=	apps.h progs.h s_apps.h \
 | 
			
		||||
	testdsa.h testrsa.h \
 | 
			
		||||
	$(EXHEADER)
 | 
			
		||||
 | 
			
		||||
ALL=    $(GENERAL) $(SRC) $(HEADER)
 | 
			
		||||
 | 
			
		||||
top:
 | 
			
		||||
	@(cd ..; $(MAKE) DIRS=$(DIR) all)
 | 
			
		||||
 | 
			
		||||
all:	exe
 | 
			
		||||
 | 
			
		||||
exe:	$(EXE)
 | 
			
		||||
 | 
			
		||||
req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
 | 
			
		||||
	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		shlib_target="$(SHLIB_TARGET)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(NEWMAKE) -f $(TOP)/Makefile.shared \
 | 
			
		||||
		APPNAME=req LDFLAGS="$(CFLAG)" \
 | 
			
		||||
		OBJECTS="sreq.o $(A_OBJ) $(RAND_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)" \
 | 
			
		||||
		LIBRPATH=$(INSTALLTOP)/lib \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
 | 
			
		||||
sreq.o: req.c 
 | 
			
		||||
	$(CC) -c $(INCLUDES) $(CFLAG) -o sreq.o req.c
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
	@set -e; for i in $(EXE); \
 | 
			
		||||
	do  \
 | 
			
		||||
	(echo installing $$i; \
 | 
			
		||||
	 cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
 | 
			
		||||
	 chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
 | 
			
		||||
	 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
 | 
			
		||||
	 done;
 | 
			
		||||
	@set -e; for i in $(SCRIPTS); \
 | 
			
		||||
	do  \
 | 
			
		||||
	(echo installing $$i; \
 | 
			
		||||
	 cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
 | 
			
		||||
	 chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
 | 
			
		||||
	 mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
 | 
			
		||||
	 done
 | 
			
		||||
	@cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
 | 
			
		||||
	chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
 | 
			
		||||
	mv -f  $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
 | 
			
		||||
 | 
			
		||||
tags:
 | 
			
		||||
	ctags $(SRC)
 | 
			
		||||
 | 
			
		||||
tests:
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@sh $(TOP)/util/point.sh Makefile.ssl Makefile
 | 
			
		||||
 | 
			
		||||
lint:
 | 
			
		||||
	lint -DLINT $(INCLUDES) $(SRC)>fluff
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	$(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(SRC)
 | 
			
		||||
 | 
			
		||||
dclean:
 | 
			
		||||
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
 | 
			
		||||
	mv -f Makefile.new $(MAKEFILE)
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
 | 
			
		||||
	rm -f req
 | 
			
		||||
 | 
			
		||||
$(DLIBSSL):
 | 
			
		||||
	(cd ..; $(MAKE) DIRS=ssl all)
 | 
			
		||||
 | 
			
		||||
$(DLIBCRYPTO):
 | 
			
		||||
	(cd ..; $(MAKE) DIRS=crypto all)
 | 
			
		||||
 | 
			
		||||
$(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
 | 
			
		||||
	$(RM) $(EXE)
 | 
			
		||||
	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
		shlib_target="$(SHLIB_TARGET)"; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	if [ "$${shlib_target}" = "darwin-shared" ] ; then \
 | 
			
		||||
	  LIBRARIES="$(DLIBSSL) $(LIBKRB5) $(DLIBCRYPTO)" ; \
 | 
			
		||||
	else \
 | 
			
		||||
	  LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)" ; \
 | 
			
		||||
	fi; \
 | 
			
		||||
	$(NEWMAKE) -f $(TOP)/Makefile.shared \
 | 
			
		||||
		APPNAME=$(EXE) LDFLAGS="$(CFLAG)" \
 | 
			
		||||
		OBJECTS="$(PROGRAM).o $(E_OBJ)" \
 | 
			
		||||
		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 | 
			
		||||
		LIBRPATH=$(INSTALLTOP)/lib \
 | 
			
		||||
		link_app.$${shlib_target}
 | 
			
		||||
	-(cd ..; \
 | 
			
		||||
	  OPENSSL="`pwd`/apps/$(EXE)"; export OPENSSL; \
 | 
			
		||||
	  if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
	    LD_LIBRARY_PATH="`pwd`:$$LD_LIBRARY_PATH"; \
 | 
			
		||||
	    DYLD_LIBRARY_PATH="`pwd`:$$DYLD_LIBRARY_PATH"; \
 | 
			
		||||
	    SHLIB_PATH="`pwd`:$$SHLIB_PATH"; \
 | 
			
		||||
	    LIBPATH="`pwd`:$$LIBPATH"; \
 | 
			
		||||
	    if [ "$(PLATFORM)" = "Cygwin" ]; then \
 | 
			
		||||
	      PATH="`pwd`:$$PATH"; \
 | 
			
		||||
	    fi; \
 | 
			
		||||
	    LD_PRELOAD="`pwd`/libssl.so `pwd`/libcrypto.so"; \
 | 
			
		||||
	    export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
 | 
			
		||||
	    export LD_PRELOAD; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	  $(PERL) tools/c_rehash certs)
 | 
			
		||||
 | 
			
		||||
progs.h: progs.pl
 | 
			
		||||
	$(PERL) progs.pl $(E_EXE) >progs.h
 | 
			
		||||
	$(RM) $(PROGRAM).o
 | 
			
		||||
 | 
			
		||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
 | 
			
		||||
 | 
			
		||||
app_rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
app_rand.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
app_rand.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
app_rand.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
app_rand.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
app_rand.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
app_rand.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
app_rand.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
app_rand.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
app_rand.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 | 
			
		||||
app_rand.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
app_rand.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
app_rand.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h app_rand.c
 | 
			
		||||
app_rand.o: apps.h
 | 
			
		||||
apps.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
apps.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
apps.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
apps.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
apps.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
apps.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
apps.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
apps.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
apps.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
apps.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
apps.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
 | 
			
		||||
apps.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
 | 
			
		||||
apps.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
apps.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
apps.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
apps.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
apps.o: ../include/openssl/x509v3.h apps.c apps.h
 | 
			
		||||
asn1pars.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
asn1pars.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
asn1pars.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
asn1pars.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
asn1pars.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
asn1pars.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
asn1pars.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
asn1pars.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
asn1pars.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
asn1pars.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
asn1pars.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
asn1pars.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
asn1pars.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
asn1pars.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
asn1pars.o: asn1pars.c
 | 
			
		||||
ca.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ca.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
ca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
ca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
ca.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
ca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
ca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
ca.o: ../include/openssl/ocsp.h ../include/openssl/opensslconf.h
 | 
			
		||||
ca.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
ca.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
ca.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
ca.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
ciphers.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
ciphers.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
ciphers.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
ciphers.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
ciphers.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
ciphers.o: ../include/openssl/x509_vfy.h apps.h ciphers.c
 | 
			
		||||
crl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
crl.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
crl.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
crl.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
crl.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
crl.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
crl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
crl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
crl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
crl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
crl.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
crl.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
crl.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
crl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
crl.o: ../include/openssl/x509v3.h apps.h crl.c
 | 
			
		||||
crl2p7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
crl2p7.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
crl2p7.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
crl2p7.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
crl2p7.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
crl2p7.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
crl2p7.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
crl2p7.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
crl2p7.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
crl2p7.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
crl2p7.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
crl2p7.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
crl2p7.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
crl2p7.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
crl2p7.o: crl2p7.c
 | 
			
		||||
dgst.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dgst.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
dgst.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
dgst.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
dgst.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
dgst.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dgst.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
dgst.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
dgst.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
dgst.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
dgst.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
dgst.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
dgst.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
dgst.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dgst.c
 | 
			
		||||
dh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dh.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
dh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dh.o: ../include/openssl/dh.h ../include/openssl/e_os2.h
 | 
			
		||||
dh.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
dh.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
dh.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dh.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
dh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
dh.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
dh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
dh.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
dh.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
dh.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
dh.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dh.c
 | 
			
		||||
dsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
dsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
dsa.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
dsa.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
dsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
dsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
dsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
dsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
dsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
dsa.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
dsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
dsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
dsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h dsa.c
 | 
			
		||||
dsaparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
dsaparam.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
dsaparam.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
dsaparam.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
dsaparam.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
dsaparam.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
dsaparam.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
dsaparam.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
dsaparam.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
dsaparam.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
dsaparam.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
dsaparam.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
dsaparam.o: ../include/openssl/rand.h ../include/openssl/rsa.h
 | 
			
		||||
dsaparam.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
dsaparam.o: ../include/openssl/stack.h ../include/openssl/store.h
 | 
			
		||||
dsaparam.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
dsaparam.o: ../include/openssl/ui.h ../include/openssl/x509.h
 | 
			
		||||
dsaparam.o: ../include/openssl/x509_vfy.h apps.h dsaparam.c
 | 
			
		||||
ec.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ec.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
ec.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
ec.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
ec.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
ec.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
ec.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
ec.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
ec.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
ec.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
ec.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
ec.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
ec.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
ec.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h ec.c
 | 
			
		||||
ecparam.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ecparam.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ecparam.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
ecparam.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
ecparam.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
ecparam.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
ecparam.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
ecparam.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
ecparam.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
ecparam.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
ecparam.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
ecparam.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
ecparam.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
ecparam.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
ecparam.o: ../include/openssl/x509_vfy.h apps.h ecparam.c
 | 
			
		||||
enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
enc.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
enc.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
enc.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
enc.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
enc.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
enc.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
enc.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
engine.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
engine.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
engine.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
errstr.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
errstr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
errstr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
errstr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
errstr.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
errstr.o: ../include/openssl/x509_vfy.h apps.h errstr.c
 | 
			
		||||
gendh.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
gendh.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
gendh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
gendh.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
gendh.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
gendh.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
gendh.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
gendh.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
gendh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
gendh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
gendh.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
gendh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
gendh.o: ../include/openssl/rand.h ../include/openssl/rsa.h
 | 
			
		||||
gendh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
gendh.o: ../include/openssl/stack.h ../include/openssl/store.h
 | 
			
		||||
gendh.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
gendh.o: ../include/openssl/ui.h ../include/openssl/x509.h
 | 
			
		||||
gendh.o: ../include/openssl/x509_vfy.h apps.h gendh.c
 | 
			
		||||
gendsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
gendsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
gendsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
gendsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
gendsa.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
gendsa.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
gendsa.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
gendsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
gendsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
gendsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
gendsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
gendsa.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
gendsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
gendsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
gendsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
gendsa.o: gendsa.c
 | 
			
		||||
genrsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
genrsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
genrsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
genrsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 | 
			
		||||
genrsa.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
genrsa.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
genrsa.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
genrsa.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
genrsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
genrsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
genrsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
genrsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
genrsa.o: ../include/openssl/rand.h ../include/openssl/rsa.h
 | 
			
		||||
genrsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
genrsa.o: ../include/openssl/stack.h ../include/openssl/store.h
 | 
			
		||||
genrsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
genrsa.o: ../include/openssl/ui.h ../include/openssl/x509.h
 | 
			
		||||
genrsa.o: ../include/openssl/x509_vfy.h apps.h genrsa.c
 | 
			
		||||
nseq.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
nseq.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
nseq.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
nseq.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
nseq.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
nseq.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
nseq.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
nseq.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
nseq.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
nseq.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
nseq.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
nseq.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
nseq.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
nseq.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h nseq.c
 | 
			
		||||
ocsp.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
ocsp.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
ocsp.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
ocsp.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
ocsp.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
ocsp.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
ocsp.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
ocsp.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
ocsp.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
ocsp.o: ../include/openssl/ocsp.h ../include/openssl/opensslconf.h
 | 
			
		||||
ocsp.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
ocsp.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
ocsp.o: ../include/openssl/pkcs7.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
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
openssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
openssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
openssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
openssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
openssl.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
openssl.o: ../include/openssl/x509_vfy.h apps.h openssl.c progs.h s_apps.h
 | 
			
		||||
passwd.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
passwd.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
passwd.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
passwd.o: ../include/openssl/des_old.h ../include/openssl/e_os2.h
 | 
			
		||||
passwd.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
passwd.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
passwd.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
passwd.o: ../include/openssl/lhash.h ../include/openssl/md5.h
 | 
			
		||||
passwd.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
passwd.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
passwd.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
passwd.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 | 
			
		||||
passwd.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
passwd.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
passwd.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
 | 
			
		||||
passwd.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
passwd.o: passwd.c
 | 
			
		||||
pkcs12.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs12.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
pkcs12.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs12.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
pkcs12.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
pkcs12.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs12.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
pkcs12.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
pkcs12.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
pkcs12.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
pkcs12.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
 | 
			
		||||
pkcs12.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
pkcs12.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
pkcs12.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
pkcs12.o: ../include/openssl/x509_vfy.h apps.h pkcs12.c
 | 
			
		||||
pkcs7.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs7.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
pkcs7.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs7.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
pkcs7.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
pkcs7.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs7.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
pkcs7.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
pkcs7.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
pkcs7.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
pkcs7.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
pkcs7.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
pkcs7.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
pkcs7.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h pkcs7.c
 | 
			
		||||
pkcs8.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
pkcs8.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
pkcs8.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
pkcs8.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
pkcs8.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
pkcs8.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
pkcs8.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
pkcs8.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
pkcs8.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
pkcs8.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
pkcs8.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
 | 
			
		||||
pkcs8.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
pkcs8.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
pkcs8.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
pkcs8.o: ../include/openssl/x509_vfy.h apps.h pkcs8.c
 | 
			
		||||
rand.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rand.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
rand.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
rand.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
rand.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
rand.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rand.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
rand.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
rand.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
rand.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
rsa.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
rsa.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
rsa.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
rsa.o: ../include/openssl/evp.h ../include/openssl/lhash.h
 | 
			
		||||
rsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
rsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
rsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
rsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
 | 
			
		||||
rsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
 | 
			
		||||
rsa.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
rsa.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
rsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h rsa.c
 | 
			
		||||
rsautl.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
rsautl.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
rsautl.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
rsautl.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
rsautl.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
rsautl.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
rsautl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
rsautl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
rsautl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
rsautl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
rsautl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
 | 
			
		||||
rsautl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
s_cb.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_cb.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
s_cb.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
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/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/rand.h
 | 
			
		||||
s_client.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
s_client.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
 | 
			
		||||
s_client.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
 | 
			
		||||
s_client.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
s_client.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
 | 
			
		||||
s_client.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
s_client.o: s_apps.h s_client.c
 | 
			
		||||
s_server.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
s_server.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
s_server.o: ../include/openssl/comp.h ../include/openssl/conf.h
 | 
			
		||||
s_server.o: ../include/openssl/crypto.h ../include/openssl/dh.h
 | 
			
		||||
s_server.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
s_server.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
s_server.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
s_server.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
s_server.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
 | 
			
		||||
s_server.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
s_server.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
s_server.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
 | 
			
		||||
s_server.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.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
 | 
			
		||||
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/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/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
 | 
			
		||||
s_socket.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
s_time.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
s_time.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
s_time.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
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/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/safestack.h
 | 
			
		||||
sess_id.o: ../include/openssl/sha.h ../include/openssl/ssl.h
 | 
			
		||||
sess_id.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
 | 
			
		||||
sess_id.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 | 
			
		||||
sess_id.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 | 
			
		||||
sess_id.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
sess_id.o: ../include/openssl/x509_vfy.h apps.h sess_id.c
 | 
			
		||||
smime.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
smime.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
smime.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
smime.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
smime.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
smime.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
smime.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
smime.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
smime.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
smime.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
smime.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
smime.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
smime.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
smime.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
smime.o: ../include/openssl/x509v3.h apps.h smime.c
 | 
			
		||||
speed.o: ../e_os.h ../include/openssl/aes.h ../include/openssl/asn1.h
 | 
			
		||||
speed.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
 | 
			
		||||
speed.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
speed.o: ../include/openssl/cast.h ../include/openssl/conf.h
 | 
			
		||||
speed.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
speed.o: ../include/openssl/des_old.h ../include/openssl/dsa.h
 | 
			
		||||
speed.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 | 
			
		||||
speed.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 | 
			
		||||
speed.o: ../include/openssl/engine.h ../include/openssl/err.h
 | 
			
		||||
speed.o: ../include/openssl/evp.h ../include/openssl/hmac.h
 | 
			
		||||
speed.o: ../include/openssl/idea.h ../include/openssl/lhash.h
 | 
			
		||||
speed.o: ../include/openssl/md2.h ../include/openssl/md4.h
 | 
			
		||||
speed.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
 | 
			
		||||
speed.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
speed.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
speed.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
speed.o: ../include/openssl/rand.h ../include/openssl/rc2.h
 | 
			
		||||
speed.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
 | 
			
		||||
speed.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
 | 
			
		||||
speed.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
speed.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
speed.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
 | 
			
		||||
speed.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
 | 
			
		||||
speed.o: ../include/openssl/x509_vfy.h apps.h speed.c testdsa.h testrsa.h
 | 
			
		||||
spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
spkac.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
spkac.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
spkac.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
spkac.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
spkac.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
spkac.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
spkac.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
spkac.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
spkac.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
spkac.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
spkac.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
spkac.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
spkac.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h spkac.c
 | 
			
		||||
verify.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
verify.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
verify.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
verify.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
verify.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
verify.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
verify.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
verify.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
verify.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
verify.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
verify.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
 | 
			
		||||
verify.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
verify.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
verify.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 | 
			
		||||
verify.o: ../include/openssl/x509v3.h apps.h verify.c
 | 
			
		||||
version.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
version.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
 | 
			
		||||
version.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 | 
			
		||||
version.o: ../include/openssl/crypto.h ../include/openssl/des.h
 | 
			
		||||
version.o: ../include/openssl/des_old.h ../include/openssl/e_os2.h
 | 
			
		||||
version.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
version.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
version.o: ../include/openssl/evp.h ../include/openssl/idea.h
 | 
			
		||||
version.o: ../include/openssl/lhash.h ../include/openssl/md2.h
 | 
			
		||||
version.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 | 
			
		||||
version.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
version.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
 | 
			
		||||
version.o: ../include/openssl/rc4.h ../include/openssl/safestack.h
 | 
			
		||||
version.o: ../include/openssl/sha.h ../include/openssl/stack.h
 | 
			
		||||
version.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
 | 
			
		||||
version.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
 | 
			
		||||
version.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
 | 
			
		||||
version.o: version.c
 | 
			
		||||
x509.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 | 
			
		||||
x509.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 | 
			
		||||
x509.o: ../include/openssl/conf.h ../include/openssl/crypto.h
 | 
			
		||||
x509.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
 | 
			
		||||
x509.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
 | 
			
		||||
x509.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
 | 
			
		||||
x509.o: ../include/openssl/err.h ../include/openssl/evp.h
 | 
			
		||||
x509.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
 | 
			
		||||
x509.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 | 
			
		||||
x509.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
x509.o: ../include/openssl/pem.h ../include/openssl/pem2.h
 | 
			
		||||
x509.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
 | 
			
		||||
x509.o: ../include/openssl/safestack.h ../include/openssl/sha.h
 | 
			
		||||
x509.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 | 
			
		||||
x509.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
 | 
			
		||||
x509.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h x509.c
 | 
			
		||||
							
								
								
									
										103
									
								
								apps/apps.c
									
									
									
									
									
								
							
							
						
						
									
										103
									
								
								apps/apps.c
									
									
									
									
									
								
							@@ -125,7 +125,9 @@
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
#include <openssl/engine.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
#include <openssl/rsa.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <openssl/bn.h>
 | 
			
		||||
 | 
			
		||||
#define NON_MAIN
 | 
			
		||||
@@ -133,7 +135,7 @@
 | 
			
		||||
#undef NON_MAIN
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
	char *name;
 | 
			
		||||
	const char *name;
 | 
			
		||||
	unsigned long flag;
 | 
			
		||||
	unsigned long mask;
 | 
			
		||||
} NAME_EX_TBL;
 | 
			
		||||
@@ -374,10 +376,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;
 | 
			
		||||
 | 
			
		||||
@@ -688,6 +697,51 @@ int add_oid_section(BIO *err, CONF *conf)
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int load_pkcs12(BIO *err, BIO *in, const char *desc,
 | 
			
		||||
		pem_password_cb *pem_cb,  void *cb_data,
 | 
			
		||||
		EVP_PKEY **pkey, X509 **cert, STACK_OF(X509) **ca)
 | 
			
		||||
	{
 | 
			
		||||
 	const char *pass;
 | 
			
		||||
	char tpass[PEM_BUFSIZE];
 | 
			
		||||
	int len, ret = 0;
 | 
			
		||||
	PKCS12 *p12;
 | 
			
		||||
	p12 = d2i_PKCS12_bio(in, NULL);
 | 
			
		||||
	if (p12 == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_printf(err, "Error loading PKCS12 file for %s\n", desc);	
 | 
			
		||||
		goto die;
 | 
			
		||||
		}
 | 
			
		||||
	/* See if an empty password will do */
 | 
			
		||||
	if (PKCS12_verify_mac(p12, "", 0) || PKCS12_verify_mac(p12, NULL, 0))
 | 
			
		||||
		pass = "";
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (!pem_cb)
 | 
			
		||||
			pem_cb = (pem_password_cb *)password_callback;
 | 
			
		||||
		len = pem_cb(tpass, PEM_BUFSIZE, 0, cb_data);
 | 
			
		||||
		if (len < 0) 
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(err, "Passpharse callback error for %s\n",
 | 
			
		||||
					desc);
 | 
			
		||||
			goto die;
 | 
			
		||||
			}
 | 
			
		||||
		if (len < PEM_BUFSIZE)
 | 
			
		||||
			tpass[len] = 0;
 | 
			
		||||
		if (!PKCS12_verify_mac(p12, tpass, len))
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(err,
 | 
			
		||||
	"Mac verify error (wrong password?) in PKCS12 file for %s\n", desc);	
 | 
			
		||||
			goto die;
 | 
			
		||||
			}
 | 
			
		||||
		pass = tpass;
 | 
			
		||||
		}
 | 
			
		||||
	ret = PKCS12_parse(p12, pass, pkey, cert, ca);
 | 
			
		||||
	die:
 | 
			
		||||
	if (p12)
 | 
			
		||||
		PKCS12_free(p12);
 | 
			
		||||
	return ret;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
X509 *load_cert(BIO *err, const char *file, int format,
 | 
			
		||||
	const char *pass, ENGINE *e, const char *cert_descrip)
 | 
			
		||||
	{
 | 
			
		||||
@@ -768,11 +822,9 @@ X509 *load_cert(BIO *err, const char *file, int format,
 | 
			
		||||
			(pem_password_cb *)password_callback, NULL);
 | 
			
		||||
	else if (format == FORMAT_PKCS12)
 | 
			
		||||
		{
 | 
			
		||||
		PKCS12 *p12 = d2i_PKCS12_bio(cert, NULL);
 | 
			
		||||
 | 
			
		||||
		PKCS12_parse(p12, NULL, NULL, &x, NULL);
 | 
			
		||||
		PKCS12_free(p12);
 | 
			
		||||
		p12 = NULL;
 | 
			
		||||
		if (!load_pkcs12(err, cert,cert_descrip, NULL, NULL,
 | 
			
		||||
					NULL, &x, NULL))
 | 
			
		||||
			goto end;
 | 
			
		||||
		}
 | 
			
		||||
	else	{
 | 
			
		||||
		BIO_printf(err,"bad input format specified for %s\n",
 | 
			
		||||
@@ -851,11 +903,10 @@ EVP_PKEY *load_key(BIO *err, const char *file, int format, int maybe_stdin,
 | 
			
		||||
#endif
 | 
			
		||||
	else if (format == FORMAT_PKCS12)
 | 
			
		||||
		{
 | 
			
		||||
		PKCS12 *p12 = d2i_PKCS12_bio(key, NULL);
 | 
			
		||||
 | 
			
		||||
		PKCS12_parse(p12, pass, &pkey, NULL, NULL);
 | 
			
		||||
		PKCS12_free(p12);
 | 
			
		||||
		p12 = NULL;
 | 
			
		||||
		if (!load_pkcs12(err, key, key_descrip,
 | 
			
		||||
				(pem_password_cb *)password_callback, &cb_data,
 | 
			
		||||
				&pkey, NULL, NULL))
 | 
			
		||||
			goto end;
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
@@ -1227,7 +1278,7 @@ static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_T
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void print_name(BIO *out, char *title, X509_NAME *nm, unsigned long lflags)
 | 
			
		||||
void print_name(BIO *out, const char *title, X509_NAME *nm, unsigned long lflags)
 | 
			
		||||
{
 | 
			
		||||
	char *buf;
 | 
			
		||||
	char mline = 0;
 | 
			
		||||
@@ -1562,8 +1613,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
 | 
			
		||||
@@ -1732,7 +1784,7 @@ int index_index(CA_DB *db)
 | 
			
		||||
	return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int save_index(char *dbfile, char *suffix, CA_DB *db)
 | 
			
		||||
int save_index(const char *dbfile, const char *suffix, CA_DB *db)
 | 
			
		||||
	{
 | 
			
		||||
	char buf[3][BSIZE];
 | 
			
		||||
	BIO *out = BIO_new(BIO_s_file());
 | 
			
		||||
@@ -1799,7 +1851,7 @@ int save_index(char *dbfile, char *suffix, CA_DB *db)
 | 
			
		||||
	return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int rotate_index(char *dbfile, char *new_suffix, char *old_suffix)
 | 
			
		||||
int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suffix)
 | 
			
		||||
	{
 | 
			
		||||
	char buf[5][BSIZE];
 | 
			
		||||
	int i,j;
 | 
			
		||||
@@ -1851,8 +1903,9 @@ int rotate_index(char *dbfile, char *new_suffix, char *old_suffix)
 | 
			
		||||
		{
 | 
			
		||||
		if (errno != ENOENT 
 | 
			
		||||
#ifdef ENOTDIR
 | 
			
		||||
			&& errno != ENOTDIR)
 | 
			
		||||
			&& errno != ENOTDIR
 | 
			
		||||
#endif
 | 
			
		||||
		   )
 | 
			
		||||
			goto err;
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
@@ -1887,8 +1940,9 @@ int rotate_index(char *dbfile, char *new_suffix, char *old_suffix)
 | 
			
		||||
		{
 | 
			
		||||
		if (errno != ENOENT 
 | 
			
		||||
#ifdef ENOTDIR
 | 
			
		||||
			&& errno != ENOTDIR)
 | 
			
		||||
			&& errno != ENOTDIR
 | 
			
		||||
#endif
 | 
			
		||||
		   )
 | 
			
		||||
			goto err;
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
@@ -1937,7 +1991,7 @@ void free_index(CA_DB *db)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int parse_yesno(char *str, int def)
 | 
			
		||||
int parse_yesno(const char *str, int def)
 | 
			
		||||
	{
 | 
			
		||||
	int ret = def;
 | 
			
		||||
	if (str)
 | 
			
		||||
@@ -2104,7 +2158,7 @@ error:
 | 
			
		||||
 | 
			
		||||
/* This code MUST COME AFTER anything that uses rename() */
 | 
			
		||||
#ifdef OPENSSL_SYS_WIN32
 | 
			
		||||
int WIN32_rename(char *from, char *to)
 | 
			
		||||
int WIN32_rename(const char *from, const char *to)
 | 
			
		||||
	{
 | 
			
		||||
#ifndef OPENSSL_SYS_WINCE
 | 
			
		||||
	/* Windows rename gives an error if 'to' exists, so delete it
 | 
			
		||||
@@ -2239,7 +2293,8 @@ int args_verify(char ***pargs, int *pargc,
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static void nodes_print(BIO *out, char *name, STACK_OF(X509_POLICY_NODE) *nodes)
 | 
			
		||||
static void nodes_print(BIO *out, const char *name,
 | 
			
		||||
	STACK_OF(X509_POLICY_NODE) *nodes)
 | 
			
		||||
	{
 | 
			
		||||
	X509_POLICY_NODE *node;
 | 
			
		||||
	int i;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								apps/apps.h
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								apps/apps.h
									
									
									
									
									
								
							@@ -136,7 +136,7 @@ long app_RAND_load_files(char *file); /* `file' is a list of files to read,
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_SYS_WIN32
 | 
			
		||||
#define rename(from,to) WIN32_rename((from),(to))
 | 
			
		||||
int WIN32_rename(char *oldname,char *newname);
 | 
			
		||||
int WIN32_rename(const char *oldname,const char *newname);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef MONOLITH
 | 
			
		||||
@@ -146,9 +146,11 @@ int WIN32_rename(char *oldname,char *newname);
 | 
			
		||||
#ifndef NON_MAIN
 | 
			
		||||
CONF *config=NULL;
 | 
			
		||||
BIO *bio_err=NULL;
 | 
			
		||||
int in_FIPS_mode=0;
 | 
			
		||||
#else
 | 
			
		||||
extern CONF *config;
 | 
			
		||||
extern BIO *bio_err;
 | 
			
		||||
extern int in_FIPS_mode;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
@@ -157,6 +159,7 @@ extern BIO *bio_err;
 | 
			
		||||
extern CONF *config;
 | 
			
		||||
extern char *default_config_file;
 | 
			
		||||
extern BIO *bio_err;
 | 
			
		||||
extern int in_FIPS_mode;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -254,7 +257,7 @@ void program_name(char *in,char *out,int size);
 | 
			
		||||
int chopup_args(ARGS *arg,char *buf, int *argc, char **argv[]);
 | 
			
		||||
#ifdef HEADER_X509_H
 | 
			
		||||
int dump_cert_text(BIO *out, X509 *x);
 | 
			
		||||
void print_name(BIO *out, char *title, X509_NAME *nm, unsigned long lflags);
 | 
			
		||||
void print_name(BIO *out, const char *title, X509_NAME *nm, unsigned long lflags);
 | 
			
		||||
#endif
 | 
			
		||||
int set_cert_ex(unsigned long *flags, const char *arg);
 | 
			
		||||
int set_name_ex(unsigned long *flags, const char *arg);
 | 
			
		||||
@@ -280,7 +283,7 @@ char *make_config_name(void);
 | 
			
		||||
 | 
			
		||||
/* Functions defined in ca.c and also used in ocsp.c */
 | 
			
		||||
int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold,
 | 
			
		||||
			ASN1_GENERALIZEDTIME **pinvtm, char *str);
 | 
			
		||||
			ASN1_GENERALIZEDTIME **pinvtm, const char *str);
 | 
			
		||||
 | 
			
		||||
#define DB_type         0
 | 
			
		||||
#define DB_exp_date     1
 | 
			
		||||
@@ -310,11 +313,11 @@ int rotate_serial(char *serialfile, char *new_suffix, char *old_suffix);
 | 
			
		||||
int rand_serial(BIGNUM *b, ASN1_INTEGER *ai);
 | 
			
		||||
CA_DB *load_index(char *dbfile, DB_ATTR *dbattr);
 | 
			
		||||
int index_index(CA_DB *db);
 | 
			
		||||
int save_index(char *dbfile, char *suffix, CA_DB *db);
 | 
			
		||||
int rotate_index(char *dbfile, char *new_suffix, char *old_suffix);
 | 
			
		||||
int save_index(const char *dbfile, const char *suffix, CA_DB *db);
 | 
			
		||||
int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suffix);
 | 
			
		||||
void free_index(CA_DB *db);
 | 
			
		||||
int index_name_cmp(const char **a, const char **b);
 | 
			
		||||
int parse_yesno(char *str, int def);
 | 
			
		||||
int parse_yesno(const char *str, int def);
 | 
			
		||||
 | 
			
		||||
X509_NAME *parse_name(char *str, long chtype, int multirdn);
 | 
			
		||||
int args_verify(char ***pargs, int *pargc,
 | 
			
		||||
 
 | 
			
		||||
@@ -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");
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										88
									
								
								apps/ca.c
									
									
									
									
									
								
							
							
						
						
									
										88
									
								
								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"
 | 
			
		||||
@@ -143,7 +146,7 @@
 | 
			
		||||
#define REV_KEY_COMPROMISE	3	/* Value is cert key compromise time */
 | 
			
		||||
#define REV_CA_COMPROMISE	4	/* Value is CA key compromise time */
 | 
			
		||||
 | 
			
		||||
static char *ca_usage[]={
 | 
			
		||||
static const char *ca_usage[]={
 | 
			
		||||
"usage: ca args\n",
 | 
			
		||||
"\n",
 | 
			
		||||
" -verbose        - Talk alot while doing things\n",
 | 
			
		||||
@@ -174,6 +177,7 @@ static 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",
 | 
			
		||||
@@ -192,30 +196,30 @@ extern int EF_PROTECT_BELOW;
 | 
			
		||||
extern int EF_ALIGNMENT;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static void lookup_fail(char *name,char *tag);
 | 
			
		||||
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,
 | 
			
		||||
@@ -225,7 +229,7 @@ static int get_certificate_status(const char *ser_status, CA_DB *db);
 | 
			
		||||
static int do_updatedb(CA_DB *db);
 | 
			
		||||
static int check_time_format(char *str);
 | 
			
		||||
char *make_revocation_str(int rev_type, char *rev_arg);
 | 
			
		||||
int make_revoked(X509_REVOKED *rev, char *str);
 | 
			
		||||
int make_revoked(X509_REVOKED *rev, const char *str);
 | 
			
		||||
int old_entry_print(BIO *bp, ASN1_OBJECT *obj, ASN1_STRING *str);
 | 
			
		||||
static CONF *conf=NULL;
 | 
			
		||||
static CONF *extconf=NULL;
 | 
			
		||||
@@ -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;
 | 
			
		||||
@@ -300,7 +305,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	X509_REVOKED *r=NULL;
 | 
			
		||||
	ASN1_TIME *tmptm;
 | 
			
		||||
	ASN1_INTEGER *tmpser;
 | 
			
		||||
	char **pp,*p,*f;
 | 
			
		||||
	char *f;
 | 
			
		||||
	const char *p, **pp;
 | 
			
		||||
	int i,j;
 | 
			
		||||
	const EVP_MD *dgst=NULL;
 | 
			
		||||
	STACK_OF(CONF_VALUE) *attribs=NULL;
 | 
			
		||||
@@ -355,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)
 | 
			
		||||
@@ -644,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)
 | 
			
		||||
@@ -857,7 +882,7 @@ bad:
 | 
			
		||||
	/* Lets check some fields */
 | 
			
		||||
	for (i=0; i<sk_num(db->db->data); i++)
 | 
			
		||||
		{
 | 
			
		||||
		pp=(char **)sk_value(db->db->data,i);
 | 
			
		||||
		pp=(const char **)sk_value(db->db->data,i);
 | 
			
		||||
		if ((pp[DB_type][0] != DB_TYPE_REV) &&
 | 
			
		||||
			(pp[DB_rev_date][0] != '\0'))
 | 
			
		||||
			{
 | 
			
		||||
@@ -870,7 +895,7 @@ bad:
 | 
			
		||||
			BIO_printf(bio_err," in entry %d\n", i+1);
 | 
			
		||||
			goto err;
 | 
			
		||||
			}
 | 
			
		||||
		if (!check_time_format(pp[DB_exp_date]))
 | 
			
		||||
		if (!check_time_format((char *)pp[DB_exp_date]))
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"entry %d: invalid expiry date\n",i+1);
 | 
			
		||||
			goto err;
 | 
			
		||||
@@ -944,7 +969,6 @@ bad:
 | 
			
		||||
			if (verbose) BIO_printf(bio_err,
 | 
			
		||||
				"Done. %d entries marked as expired\n",i); 
 | 
			
		||||
	      		}
 | 
			
		||||
			goto err;
 | 
			
		||||
	  	}
 | 
			
		||||
 | 
			
		||||
 	/*****************************************************************/
 | 
			
		||||
@@ -1134,7 +1158,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)
 | 
			
		||||
@@ -1158,7 +1182,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;
 | 
			
		||||
@@ -1178,7 +1202,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;
 | 
			
		||||
@@ -1198,7 +1222,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;
 | 
			
		||||
@@ -1251,7 +1275,7 @@ bad:
 | 
			
		||||
			x=sk_X509_value(cert_sk,i);
 | 
			
		||||
 | 
			
		||||
			j=x->cert_info->serialNumber->length;
 | 
			
		||||
			p=(char *)x->cert_info->serialNumber->data;
 | 
			
		||||
			p=(const char *)x->cert_info->serialNumber->data;
 | 
			
		||||
			
 | 
			
		||||
			if(strlen(outdir) >= (size_t)(j ? BSIZE-j*2-6 : BSIZE-8))
 | 
			
		||||
				{
 | 
			
		||||
@@ -1372,7 +1396,7 @@ bad:
 | 
			
		||||
 | 
			
		||||
		for (i=0; i<sk_num(db->db->data); i++)
 | 
			
		||||
			{
 | 
			
		||||
			pp=(char **)sk_value(db->db->data,i);
 | 
			
		||||
			pp=(const char **)sk_value(db->db->data,i);
 | 
			
		||||
			if (pp[DB_type][0] == DB_TYPE_REV)
 | 
			
		||||
				{
 | 
			
		||||
				if ((r=X509_REVOKED_new()) == NULL) goto err;
 | 
			
		||||
@@ -1496,19 +1520,20 @@ err:
 | 
			
		||||
	if (x509) X509_free(x509);
 | 
			
		||||
	X509_CRL_free(crl);
 | 
			
		||||
	NCONF_free(conf);
 | 
			
		||||
	NCONF_free(extconf);
 | 
			
		||||
	OBJ_cleanup();
 | 
			
		||||
	apps_shutdown();
 | 
			
		||||
	OPENSSL_EXIT(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static void lookup_fail(char *name, char *tag)
 | 
			
		||||
static void lookup_fail(const char *name, const char *tag)
 | 
			
		||||
	{
 | 
			
		||||
	BIO_printf(bio_err,"variable lookup failed for %s::%s\n",name,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)
 | 
			
		||||
@@ -1564,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);
 | 
			
		||||
 | 
			
		||||
@@ -1576,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)
 | 
			
		||||
@@ -1618,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);
 | 
			
		||||
 | 
			
		||||
@@ -1630,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,
 | 
			
		||||
@@ -1646,7 +1671,7 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
 | 
			
		||||
	X509_NAME_ENTRY *tne,*push;
 | 
			
		||||
	EVP_PKEY *pktmp;
 | 
			
		||||
	int ok= -1,i,j,last,nid;
 | 
			
		||||
	char *p;
 | 
			
		||||
	const char *p;
 | 
			
		||||
	CONF_VALUE *cv;
 | 
			
		||||
	char *row[DB_NUMBER],**rrow=NULL,**irow=NULL;
 | 
			
		||||
	char buf[25];
 | 
			
		||||
@@ -1663,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)
 | 
			
		||||
			{
 | 
			
		||||
@@ -2200,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)
 | 
			
		||||
	{
 | 
			
		||||
@@ -2341,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:
 | 
			
		||||
@@ -2654,7 +2679,7 @@ err:
 | 
			
		||||
	return (cnt);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static char *crl_reasons[] = {
 | 
			
		||||
static const char *crl_reasons[] = {
 | 
			
		||||
	/* CRL reason strings */
 | 
			
		||||
	"unspecified",
 | 
			
		||||
	"keyCompromise",
 | 
			
		||||
@@ -2682,7 +2707,8 @@ static char *crl_reasons[] = {
 | 
			
		||||
 | 
			
		||||
char *make_revocation_str(int rev_type, char *rev_arg)
 | 
			
		||||
	{
 | 
			
		||||
	char *reason = NULL, *other = NULL, *str;
 | 
			
		||||
	char *other = NULL, *str;
 | 
			
		||||
	const char *reason = NULL;
 | 
			
		||||
	ASN1_OBJECT *otmp;
 | 
			
		||||
	ASN1_UTCTIME *revtm = NULL;
 | 
			
		||||
	int i;
 | 
			
		||||
@@ -2776,7 +2802,7 @@ char *make_revocation_str(int rev_type, char *rev_arg)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int make_revoked(X509_REVOKED *rev, char *str)
 | 
			
		||||
int make_revoked(X509_REVOKED *rev, const char *str)
 | 
			
		||||
	{
 | 
			
		||||
	char *tmp = NULL;
 | 
			
		||||
	int reason_code = -1;
 | 
			
		||||
@@ -2869,7 +2895,7 @@ int old_entry_print(BIO *bp, ASN1_OBJECT *obj, ASN1_STRING *str)
 | 
			
		||||
	return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold, ASN1_GENERALIZEDTIME **pinvtm, char *str)
 | 
			
		||||
int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold, ASN1_GENERALIZEDTIME **pinvtm, const char *str)
 | 
			
		||||
	{
 | 
			
		||||
	char *tmp = NULL;
 | 
			
		||||
	char *rtime_str, *reason_str = NULL, *arg_str = NULL, *p;
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@
 | 
			
		||||
#undef PROG
 | 
			
		||||
#define PROG	ciphers_main
 | 
			
		||||
 | 
			
		||||
static char *ciphers_usage[]={
 | 
			
		||||
static const char *ciphers_usage[]={
 | 
			
		||||
"usage: ciphers args\n",
 | 
			
		||||
" -v          - verbose mode, a textual listing of the ciphers in SSLeay\n",
 | 
			
		||||
" -ssl2       - SSL2 mode\n",
 | 
			
		||||
@@ -84,7 +84,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	{
 | 
			
		||||
	int ret=1,i;
 | 
			
		||||
	int verbose=0;
 | 
			
		||||
	char **pp;
 | 
			
		||||
	const char **pp;
 | 
			
		||||
	const char *p;
 | 
			
		||||
	int badops=0;
 | 
			
		||||
	SSL_CTX *ctx=NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -72,7 +72,7 @@
 | 
			
		||||
#undef POSTFIX
 | 
			
		||||
#define	POSTFIX	".rvk"
 | 
			
		||||
 | 
			
		||||
static char *crl_usage[]={
 | 
			
		||||
static const char *crl_usage[]={
 | 
			
		||||
"usage: crl args\n",
 | 
			
		||||
"\n",
 | 
			
		||||
" -inform arg     - input format - default PEM (DER or PEM)\n",
 | 
			
		||||
@@ -108,14 +108,14 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	char *infile=NULL,*outfile=NULL;
 | 
			
		||||
	int hash=0,issuer=0,lastupdate=0,nextupdate=0,noout=0,text=0;
 | 
			
		||||
	int fingerprint = 0;
 | 
			
		||||
	char **pp;
 | 
			
		||||
	const char **pp;
 | 
			
		||||
	X509_STORE *store = NULL;
 | 
			
		||||
	X509_STORE_CTX ctx;
 | 
			
		||||
	X509_LOOKUP *lookup = NULL;
 | 
			
		||||
	X509_OBJECT xobj;
 | 
			
		||||
	EVP_PKEY *pkey;
 | 
			
		||||
	int do_ver = 0;
 | 
			
		||||
	const EVP_MD *md_alg,*digest=EVP_md5();
 | 
			
		||||
	const EVP_MD *md_alg,*digest=EVP_sha1();
 | 
			
		||||
 | 
			
		||||
	apps_startup();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										111
									
								
								apps/dgst.c
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								apps/dgst.c
									
									
									
									
									
								
							@@ -66,6 +66,7 @@
 | 
			
		||||
#include <openssl/objects.h>
 | 
			
		||||
#include <openssl/x509.h>
 | 
			
		||||
#include <openssl/pem.h>
 | 
			
		||||
#include <openssl/hmac.h>
 | 
			
		||||
 | 
			
		||||
#undef BUFSIZE
 | 
			
		||||
#define BUFSIZE	1024*8
 | 
			
		||||
@@ -75,7 +76,7 @@
 | 
			
		||||
 | 
			
		||||
int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
 | 
			
		||||
	  EVP_PKEY *key, unsigned char *sigin, int siglen, const char *title,
 | 
			
		||||
	  const char *file);
 | 
			
		||||
	  const char *file,BIO *bmd,const char *hmac_key, int non_fips_allow);
 | 
			
		||||
 | 
			
		||||
int MAIN(int, char **);
 | 
			
		||||
 | 
			
		||||
@@ -100,13 +101,16 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	EVP_PKEY *sigkey = NULL;
 | 
			
		||||
	unsigned char *sigbuf = NULL;
 | 
			
		||||
	int siglen = 0;
 | 
			
		||||
	unsigned int sig_flags = 0;
 | 
			
		||||
	char *passargin = NULL, *passin = NULL;
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
	char *engine=NULL;
 | 
			
		||||
#endif
 | 
			
		||||
	char *hmac_key=NULL;
 | 
			
		||||
	int non_fips_allow = 0;
 | 
			
		||||
 | 
			
		||||
	apps_startup();
 | 
			
		||||
 | 
			
		||||
ERR_load_crypto_strings();
 | 
			
		||||
	if ((buf=(unsigned char *)OPENSSL_malloc(BUFSIZE)) == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_printf(bio_err,"out of memory\n");
 | 
			
		||||
@@ -165,6 +169,27 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			keyfile=*(++argv);
 | 
			
		||||
			do_verify = 1;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-x931") == 0)
 | 
			
		||||
			sig_flags = EVP_MD_CTX_FLAG_PAD_X931;
 | 
			
		||||
		else if (strcmp(*argv,"-pss_saltlen") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			int saltlen;
 | 
			
		||||
			if (--argc < 1) break;
 | 
			
		||||
			saltlen=atoi(*(++argv));
 | 
			
		||||
			if (saltlen == -1)
 | 
			
		||||
				sig_flags = EVP_MD_CTX_FLAG_PSS_MREC;
 | 
			
		||||
			else if (saltlen == -2)
 | 
			
		||||
				sig_flags = EVP_MD_CTX_FLAG_PSS_MDLEN;
 | 
			
		||||
			else if (saltlen < -2 || saltlen >= 0xFFFE)
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err, "Invalid PSS salt length %d\n", saltlen);
 | 
			
		||||
				goto end;
 | 
			
		||||
				}
 | 
			
		||||
			else
 | 
			
		||||
				sig_flags = saltlen;
 | 
			
		||||
			sig_flags <<= 16;
 | 
			
		||||
			sig_flags |= EVP_MD_CTX_FLAG_PAD_PSS;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-signature") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) break;
 | 
			
		||||
@@ -188,6 +213,14 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			out_bin = 1;
 | 
			
		||||
		else if (strcmp(*argv,"-d") == 0)
 | 
			
		||||
			debug=1;
 | 
			
		||||
		else if (strcmp(*argv,"-non-fips-allow") == 0)
 | 
			
		||||
			non_fips_allow=1;
 | 
			
		||||
		else if (!strcmp(*argv,"-hmac"))
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1)
 | 
			
		||||
				break;
 | 
			
		||||
			hmac_key=*++argv;
 | 
			
		||||
			}
 | 
			
		||||
		else if ((m=EVP_get_digestbyname(&((*argv)[1]))) != NULL)
 | 
			
		||||
			md=m;
 | 
			
		||||
		else
 | 
			
		||||
@@ -223,29 +256,33 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		BIO_printf(bio_err,"-engine e       use engine e, possibly a hardware device.\n");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm (default)\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm (default)\n",
 | 
			
		||||
			LN_md5,LN_md5);
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_md4,LN_md4);
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_md2,LN_md2);
 | 
			
		||||
#ifndef OPENSSL_NO_SHA
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_sha1,LN_sha1);
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_sha,LN_sha);
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_sha224,LN_sha224);
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_sha256,LN_sha256);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_sha384,LN_sha384);
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_sha512,LN_sha512);
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_mdc2,LN_mdc2);
 | 
			
		||||
		BIO_printf(bio_err,"-%3s to use the %s message digest algorithm\n",
 | 
			
		||||
		BIO_printf(bio_err,"-%-14s to use the %s message digest algorithm\n",
 | 
			
		||||
			LN_ripemd160,LN_ripemd160);
 | 
			
		||||
		err=1;
 | 
			
		||||
		goto end;
 | 
			
		||||
@@ -261,7 +298,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_callback(in,BIO_debug_callback);
 | 
			
		||||
		/* needed for windows 3.1 */
 | 
			
		||||
		BIO_set_callback_arg(in,bio_err);
 | 
			
		||||
		BIO_set_callback_arg(in,(char *)bio_err);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if(!app_passwd(bio_err, passargin, NULL, &passin, NULL))
 | 
			
		||||
@@ -341,8 +378,20 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			goto end;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
	if (non_fips_allow)
 | 
			
		||||
		{
 | 
			
		||||
		EVP_MD_CTX *md_ctx;
 | 
			
		||||
		BIO_get_md_ctx(bmd,&md_ctx);
 | 
			
		||||
		EVP_MD_CTX_set_flags(md_ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (sig_flags)
 | 
			
		||||
		{
 | 
			
		||||
		EVP_MD_CTX *md_ctx;
 | 
			
		||||
		BIO_get_md_ctx(bmd,&md_ctx);
 | 
			
		||||
		EVP_MD_CTX_set_flags(md_ctx, sig_flags);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	/* we use md as a filter, reading from 'in' */
 | 
			
		||||
	if (!BIO_set_md(bmd,md))
 | 
			
		||||
@@ -358,7 +407,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(in,stdin,BIO_NOCLOSE);
 | 
			
		||||
		err=do_fp(out, buf,inp,separator, out_bin, sigkey, sigbuf,
 | 
			
		||||
			  siglen,"","(stdin)");
 | 
			
		||||
			  siglen,"","(stdin)",bmd,hmac_key,non_fips_allow);
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
@@ -376,14 +425,15 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				}
 | 
			
		||||
			if(!out_bin)
 | 
			
		||||
				{
 | 
			
		||||
				size_t len = strlen(name)+strlen(argv[i])+5;
 | 
			
		||||
				size_t len = strlen(name)+strlen(argv[i])+(hmac_key ? 5 : 0)+5;
 | 
			
		||||
				tmp=tofree=OPENSSL_malloc(len);
 | 
			
		||||
				BIO_snprintf(tmp,len,"%s(%s)= ",name,argv[i]);
 | 
			
		||||
				BIO_snprintf(tmp,len,"%s%s(%s)= ",
 | 
			
		||||
							 hmac_key ? "HMAC-" : "",name,argv[i]);
 | 
			
		||||
				}
 | 
			
		||||
			else
 | 
			
		||||
				tmp="";
 | 
			
		||||
			r=do_fp(out,buf,inp,separator,out_bin,sigkey,sigbuf,
 | 
			
		||||
				siglen,tmp,argv[i]);
 | 
			
		||||
				siglen,tmp,argv[i],bmd,hmac_key,non_fips_allow);
 | 
			
		||||
			if(r)
 | 
			
		||||
			    err=r;
 | 
			
		||||
			if(tofree)
 | 
			
		||||
@@ -410,11 +460,23 @@ end:
 | 
			
		||||
 | 
			
		||||
int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
 | 
			
		||||
	  EVP_PKEY *key, unsigned char *sigin, int siglen, const char *title,
 | 
			
		||||
	  const char *file)
 | 
			
		||||
	  const char *file,BIO *bmd,const char *hmac_key,int non_fips_allow)
 | 
			
		||||
	{
 | 
			
		||||
	int len;
 | 
			
		||||
	unsigned int len;
 | 
			
		||||
	int i;
 | 
			
		||||
	EVP_MD_CTX *md_ctx;
 | 
			
		||||
	HMAC_CTX hmac_ctx;
 | 
			
		||||
 | 
			
		||||
	if (hmac_key)
 | 
			
		||||
		{
 | 
			
		||||
		EVP_MD *md;
 | 
			
		||||
 | 
			
		||||
		BIO_get_md(bmd,&md);
 | 
			
		||||
		HMAC_CTX_init(&hmac_ctx);
 | 
			
		||||
		HMAC_Init_ex(&hmac_ctx,hmac_key,strlen(hmac_key),md, NULL);
 | 
			
		||||
		BIO_get_md_ctx(bmd,&md_ctx);
 | 
			
		||||
		BIO_set_md_ctx(bmd,&hmac_ctx.md_ctx);
 | 
			
		||||
		}
 | 
			
		||||
	for (;;)
 | 
			
		||||
		{
 | 
			
		||||
		i=BIO_read(bp,(char *)buf,BUFSIZE);
 | 
			
		||||
@@ -457,6 +519,11 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
 | 
			
		||||
			return 1;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	else if(hmac_key)
 | 
			
		||||
		{
 | 
			
		||||
		HMAC_Final(&hmac_ctx,buf,&len);
 | 
			
		||||
		HMAC_CTX_cleanup(&hmac_ctx);
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		len=BIO_gets(bp,(char *)buf,BUFSIZE);
 | 
			
		||||
 | 
			
		||||
@@ -464,7 +531,7 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
 | 
			
		||||
	else 
 | 
			
		||||
		{
 | 
			
		||||
		BIO_write(out,title,strlen(title));
 | 
			
		||||
		for (i=0; i<len; i++)
 | 
			
		||||
		for (i=0; i<(int)len; i++)
 | 
			
		||||
			{
 | 
			
		||||
			if (sep && (i != 0))
 | 
			
		||||
				BIO_printf(out, ":");
 | 
			
		||||
@@ -472,6 +539,10 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
 | 
			
		||||
			}
 | 
			
		||||
		BIO_printf(out, "\n");
 | 
			
		||||
		}
 | 
			
		||||
	if (hmac_key)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_md_ctx(bmd,md_ctx);
 | 
			
		||||
		}
 | 
			
		||||
	return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -57,6 +57,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>	/* for OPENSSL_NO_DH */
 | 
			
		||||
#ifndef OPENSSL_NO_DH
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -109,6 +109,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>	/* for OPENSSL_NO_DH */
 | 
			
		||||
#ifndef OPENSSL_NO_DH
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								apps/dsa.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								apps/dsa.c
									
									
									
									
									
								
							@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>	/* for OPENSSL_NO_DSA */
 | 
			
		||||
#ifndef OPENSSL_NO_DSA
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
@@ -83,6 +84,10 @@
 | 
			
		||||
 * -aes128	- encrypt output if PEM format
 | 
			
		||||
 * -aes192	- encrypt output if PEM format
 | 
			
		||||
 * -aes256	- encrypt output if PEM format
 | 
			
		||||
 * -camellia128 - encrypt output if PEM format
 | 
			
		||||
 * -camellia192 - encrypt output if PEM format
 | 
			
		||||
 * -camellia256 - encrypt output if PEM format
 | 
			
		||||
 * -seed        - encrypt output if PEM format
 | 
			
		||||
 * -text	- print a text version
 | 
			
		||||
 * -modulus	- print the DSA public key
 | 
			
		||||
 */
 | 
			
		||||
@@ -210,6 +215,13 @@ bad:
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		BIO_printf(bio_err," -seed           encrypt PEM output with cbc seed\n");
 | 
			
		||||
#endif
 | 
			
		||||
		BIO_printf(bio_err," -text           print the key in text\n");
 | 
			
		||||
		BIO_printf(bio_err," -noout          don't print key out\n");
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>	/* for OPENSSL_NO_DSA */
 | 
			
		||||
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
 | 
			
		||||
 * deprecated functions for openssl-internal code */
 | 
			
		||||
#ifdef OPENSSL_NO_DEPRECATED
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								apps/ec.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								apps/ec.c
									
									
									
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
 * Written by Nils Larsch for the OpenSSL project.
 | 
			
		||||
 */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
 | 
			
		||||
 * Copyright (c) 1998-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
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#ifndef OPENSSL_NO_EC
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
@@ -89,6 +90,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
	int 	ret = 1;
 | 
			
		||||
	EC_KEY 	*eckey = NULL;
 | 
			
		||||
	const EC_GROUP *group;
 | 
			
		||||
	int 	i, badops = 0;
 | 
			
		||||
	const EVP_CIPHER *enc = NULL;
 | 
			
		||||
	BIO 	*in = NULL, *out = NULL;
 | 
			
		||||
@@ -328,14 +330,13 @@ bad:
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	group = EC_KEY_get0_group(eckey);
 | 
			
		||||
 | 
			
		||||
	if (new_form)
 | 
			
		||||
		{
 | 
			
		||||
		EC_GROUP_set_point_conversion_form(eckey->group, form);
 | 
			
		||||
		eckey->conv_form = form;
 | 
			
		||||
		}
 | 
			
		||||
		EC_KEY_set_conv_form(eckey, form);
 | 
			
		||||
 | 
			
		||||
	if (new_asn1_flag)
 | 
			
		||||
		EC_GROUP_set_asn1_flag(eckey->group, asn1_flag);
 | 
			
		||||
		EC_KEY_set_asn1_flag(eckey, asn1_flag);
 | 
			
		||||
 | 
			
		||||
	if (text) 
 | 
			
		||||
		if (!EC_KEY_print(out, eckey, 0))
 | 
			
		||||
@@ -346,13 +347,16 @@ bad:
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
	if (noout) 
 | 
			
		||||
		{
 | 
			
		||||
		ret = 0;
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	BIO_printf(bio_err, "writing EC key\n");
 | 
			
		||||
	if (outformat == FORMAT_ASN1) 
 | 
			
		||||
		{
 | 
			
		||||
		if (param_out)
 | 
			
		||||
			i = i2d_ECPKParameters_bio(out, eckey->group);
 | 
			
		||||
			i = i2d_ECPKParameters_bio(out, group);
 | 
			
		||||
		else if (pubin || pubout) 
 | 
			
		||||
			i = i2d_EC_PUBKEY_bio(out, eckey);
 | 
			
		||||
		else 
 | 
			
		||||
@@ -361,7 +365,7 @@ bad:
 | 
			
		||||
	else if (outformat == FORMAT_PEM) 
 | 
			
		||||
		{
 | 
			
		||||
		if (param_out)
 | 
			
		||||
			i = PEM_write_bio_ECPKParameters(out, eckey->group);
 | 
			
		||||
			i = PEM_write_bio_ECPKParameters(out, group);
 | 
			
		||||
		else if (pubin || pubout)
 | 
			
		||||
			i = PEM_write_bio_EC_PUBKEY(out, eckey);
 | 
			
		||||
		else 
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
 * Written by Nils Larsch for the OpenSSL project.
 | 
			
		||||
 */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
 | 
			
		||||
 * Copyright (c) 1998-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
 | 
			
		||||
@@ -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>
 | 
			
		||||
@@ -349,7 +351,7 @@ bad:
 | 
			
		||||
 | 
			
		||||
		crv_len = EC_get_builtin_curves(NULL, 0);
 | 
			
		||||
 | 
			
		||||
		curves = OPENSSL_malloc(sizeof(EC_builtin_curve) * crv_len);
 | 
			
		||||
		curves = OPENSSL_malloc((int)(sizeof(EC_builtin_curve) * crv_len));
 | 
			
		||||
 | 
			
		||||
		if (curves == NULL)
 | 
			
		||||
			goto end;
 | 
			
		||||
@@ -411,7 +413,7 @@ bad:
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		group = EC_GROUP_new_by_nid(nid);
 | 
			
		||||
		group = EC_GROUP_new_by_curve_name(nid);
 | 
			
		||||
		if (group == NULL)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err, "unable to create curve (%s)\n", 
 | 
			
		||||
@@ -647,11 +649,11 @@ bad:
 | 
			
		||||
 | 
			
		||||
		assert(need_rand);
 | 
			
		||||
 | 
			
		||||
		eckey->group = group;
 | 
			
		||||
		if (EC_KEY_set_group(eckey, group) == 0)
 | 
			
		||||
			goto end;
 | 
			
		||||
		
 | 
			
		||||
		if (!EC_KEY_generate_key(eckey))
 | 
			
		||||
			{
 | 
			
		||||
			eckey->group = NULL;
 | 
			
		||||
			EC_KEY_free(eckey);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
@@ -664,11 +666,9 @@ bad:
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err, "bad output format specified "
 | 
			
		||||
				"for outfile\n");
 | 
			
		||||
			eckey->group = NULL;
 | 
			
		||||
			EC_KEY_free(eckey);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
		eckey->group = NULL;
 | 
			
		||||
		EC_KEY_free(eckey);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										82
									
								
								apps/enc.c
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								apps/enc.c
									
									
									
									
									
								
							@@ -114,9 +114,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	unsigned char salt[PKCS5_SALT_LEN];
 | 
			
		||||
	char *str=NULL, *passarg = NULL, *pass = NULL;
 | 
			
		||||
	char *hkey=NULL,*hiv=NULL,*hsalt = NULL;
 | 
			
		||||
	char *md=NULL;
 | 
			
		||||
	int enc=1,printkey=0,i,base64=0;
 | 
			
		||||
	int debug=0,olb64=0,nosalt=0;
 | 
			
		||||
	const EVP_CIPHER *cipher=NULL,*c;
 | 
			
		||||
	EVP_CIPHER_CTX *ctx = NULL;
 | 
			
		||||
	char *inf=NULL,*outf=NULL;
 | 
			
		||||
	BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
 | 
			
		||||
#define PROG_NAME_SIZE  39
 | 
			
		||||
@@ -124,6 +126,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
	char *engine = NULL;
 | 
			
		||||
#endif
 | 
			
		||||
	const EVP_MD *dgst=NULL;
 | 
			
		||||
	int non_fips_allow = 0;
 | 
			
		||||
 | 
			
		||||
	apps_startup();
 | 
			
		||||
 | 
			
		||||
@@ -253,6 +257,13 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			hiv= *(++argv);
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-md") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			md= *(++argv);
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-non-fips-allow") == 0)
 | 
			
		||||
			non_fips_allow = 1;
 | 
			
		||||
		else if	((argv[0][0] == '-') &&
 | 
			
		||||
			((c=EVP_get_cipherbyname(&(argv[0][1]))) != NULL))
 | 
			
		||||
			{
 | 
			
		||||
@@ -271,8 +282,10 @@ bad:
 | 
			
		||||
			BIO_printf(bio_err,"%-14s encrypt\n","-e");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s decrypt\n","-d");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s base64 encode/decode, depending on encryption flag\n","-a/-base64");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s key is the next argument\n","-k");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s key is the first line of the file argument\n","-kfile");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s passphrase is the next argument\n","-k");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s passphrase is the first line of the file argument\n","-kfile");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s the next argument is the md to use to create a key\n","-md");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s   from a passphrase.  One of md2, md5, sha or sha1\n","");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s key/iv in hex is the next argument\n","-K/-iv");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s print the iv/key (then exit if -P)\n","-[pP]");
 | 
			
		||||
			BIO_printf(bio_err,"%-14s buffer size\n","-bufsize <n>");
 | 
			
		||||
@@ -296,6 +309,20 @@ bad:
 | 
			
		||||
        e = setup_engine(bio_err, engine, 0);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (md && (dgst=EVP_get_digestbyname(md)) == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_printf(bio_err,"%s is an unsupported message digest type\n",md);
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (dgst == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		if (in_FIPS_mode)
 | 
			
		||||
			dgst = EVP_sha1();
 | 
			
		||||
		else
 | 
			
		||||
			dgst = EVP_md5();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (bufsize != NULL)
 | 
			
		||||
		{
 | 
			
		||||
		unsigned long n;
 | 
			
		||||
@@ -319,7 +346,7 @@ bad:
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		/* It must be large enough for a base64 encoded line */
 | 
			
		||||
		if (n < 80) n=80;
 | 
			
		||||
		if (base64 && n < 80) n=80;
 | 
			
		||||
 | 
			
		||||
		bsize=(int)n;
 | 
			
		||||
		if (verbose) BIO_printf(bio_err,"bufsize=%d\n",bsize);
 | 
			
		||||
@@ -344,12 +371,16 @@ bad:
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_callback(in,BIO_debug_callback);
 | 
			
		||||
		BIO_set_callback(out,BIO_debug_callback);
 | 
			
		||||
		BIO_set_callback_arg(in,bio_err);
 | 
			
		||||
		BIO_set_callback_arg(out,bio_err);
 | 
			
		||||
		BIO_set_callback_arg(in,(char *)bio_err);
 | 
			
		||||
		BIO_set_callback_arg(out,(char *)bio_err);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (inf == NULL)
 | 
			
		||||
	        {
 | 
			
		||||
		if (bufsize != NULL)
 | 
			
		||||
			setvbuf(stdin, (char *)NULL, _IONBF, 0);
 | 
			
		||||
		BIO_set_fp(in,stdin,BIO_NOCLOSE);
 | 
			
		||||
	        }
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (BIO_read_filename(in,inf) <= 0)
 | 
			
		||||
@@ -400,6 +431,8 @@ bad:
 | 
			
		||||
	if (outf == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_set_fp(out,stdout,BIO_NOCLOSE);
 | 
			
		||||
		if (bufsize != NULL)
 | 
			
		||||
			setvbuf(stdout, (char *)NULL, _IONBF, 0);
 | 
			
		||||
#ifdef OPENSSL_SYS_VMS
 | 
			
		||||
		{
 | 
			
		||||
		BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
@@ -426,7 +459,7 @@ bad:
 | 
			
		||||
		if (debug)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_set_callback(b64,BIO_debug_callback);
 | 
			
		||||
			BIO_set_callback_arg(b64,bio_err);
 | 
			
		||||
			BIO_set_callback_arg(b64,(char *)bio_err);
 | 
			
		||||
			}
 | 
			
		||||
		if (olb64)
 | 
			
		||||
			BIO_set_flags(b64,BIO_FLAGS_BASE64_NO_NL);
 | 
			
		||||
@@ -483,7 +516,7 @@ bad:
 | 
			
		||||
				sptr = salt;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			EVP_BytesToKey(cipher,EVP_md5(),sptr,
 | 
			
		||||
			EVP_BytesToKey(cipher,dgst,sptr,
 | 
			
		||||
				(unsigned char *)str,
 | 
			
		||||
				strlen(str),1,key,iv);
 | 
			
		||||
			/* zero the complete buffer or the string
 | 
			
		||||
@@ -516,17 +549,40 @@ bad:
 | 
			
		||||
 | 
			
		||||
		if ((benc=BIO_new(BIO_f_cipher())) == NULL)
 | 
			
		||||
			goto end;
 | 
			
		||||
		BIO_set_cipher(benc,cipher,key,iv,enc);
 | 
			
		||||
		if (nopad)
 | 
			
		||||
 | 
			
		||||
		/* Since we may be changing parameters work on the encryption
 | 
			
		||||
		 * context rather than calling BIO_set_cipher().
 | 
			
		||||
		 */
 | 
			
		||||
 | 
			
		||||
		BIO_get_cipher_ctx(benc, &ctx);
 | 
			
		||||
 | 
			
		||||
		if (non_fips_allow)
 | 
			
		||||
			EVP_CIPHER_CTX_set_flags(ctx,
 | 
			
		||||
				EVP_CIPH_FLAG_NON_FIPS_ALLOW);
 | 
			
		||||
 | 
			
		||||
		if (!EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, enc))
 | 
			
		||||
			{
 | 
			
		||||
			EVP_CIPHER_CTX *ctx;
 | 
			
		||||
			BIO_get_cipher_ctx(benc, &ctx);
 | 
			
		||||
			EVP_CIPHER_CTX_set_padding(ctx, 0);
 | 
			
		||||
			BIO_printf(bio_err, "Error setting cipher %s\n",
 | 
			
		||||
				EVP_CIPHER_name(cipher));
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (nopad)
 | 
			
		||||
			EVP_CIPHER_CTX_set_padding(ctx, 0);
 | 
			
		||||
 | 
			
		||||
		if (!EVP_CipherInit_ex(ctx, NULL, NULL, key, iv, enc))
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err, "Error setting cipher %s\n",
 | 
			
		||||
				EVP_CIPHER_name(cipher));
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (debug)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_set_callback(benc,BIO_debug_callback);
 | 
			
		||||
			BIO_set_callback_arg(benc,bio_err);
 | 
			
		||||
			BIO_set_callback_arg(benc,(char *)bio_err);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (printkey)
 | 
			
		||||
 
 | 
			
		||||
@@ -72,7 +72,7 @@
 | 
			
		||||
#undef PROG
 | 
			
		||||
#define PROG	engine_main
 | 
			
		||||
 | 
			
		||||
static char *engine_usage[]={
 | 
			
		||||
static const char *engine_usage[]={
 | 
			
		||||
"usage: engine opts [engine ...]\n",
 | 
			
		||||
" -v[v[v[v]]] - verbose mode, for each engine, list its 'control commands'\n",
 | 
			
		||||
"               -vv will additionally display each command's description\n",
 | 
			
		||||
@@ -344,7 +344,7 @@ int MAIN(int, char **);
 | 
			
		||||
int MAIN(int argc, char **argv)
 | 
			
		||||
	{
 | 
			
		||||
	int ret=1,i;
 | 
			
		||||
	char **pp;
 | 
			
		||||
	const char **pp;
 | 
			
		||||
	int verbose=0, list_cap=0, test_avail=0, test_avail_noise = 0;
 | 
			
		||||
	ENGINE *e;
 | 
			
		||||
	STACK *engines = sk_new_null();
 | 
			
		||||
@@ -394,11 +394,15 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if (strcmp(*argv,"-pre") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			argc--; argv++;
 | 
			
		||||
			if (argc == 0)
 | 
			
		||||
				goto skip_arg_loop;
 | 
			
		||||
			sk_push(pre_cmds,*argv);
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-post") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			argc--; argv++;
 | 
			
		||||
			if (argc == 0)
 | 
			
		||||
				goto skip_arg_loop;
 | 
			
		||||
			sk_push(post_cmds,*argv);
 | 
			
		||||
			}
 | 
			
		||||
		else if ((strncmp(*argv,"-h",2) == 0) ||
 | 
			
		||||
 
 | 
			
		||||
@@ -57,6 +57,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
 | 
			
		||||
 * deprecated functions for openssl-internal code */
 | 
			
		||||
#ifdef OPENSSL_NO_DEPRECATED
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>	/* for OPENSSL_NO_DSA */
 | 
			
		||||
#ifndef OPENSSL_NO_DSA
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -139,6 +140,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if (strcmp(*argv,"-idea") == 0)
 | 
			
		||||
			enc=EVP_idea_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		else if (strcmp(*argv,"-seed") == 0)
 | 
			
		||||
			enc=EVP_seed_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		else if (strcmp(*argv,"-aes128") == 0)
 | 
			
		||||
			enc=EVP_aes_128_cbc();
 | 
			
		||||
@@ -146,6 +151,14 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			enc=EVP_aes_192_cbc();
 | 
			
		||||
		else if (strcmp(*argv,"-aes256") == 0)
 | 
			
		||||
			enc=EVP_aes_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		else if (strcmp(*argv,"-camellia128") == 0)
 | 
			
		||||
			enc=EVP_camellia_128_cbc();
 | 
			
		||||
		else if (strcmp(*argv,"-camellia192") == 0)
 | 
			
		||||
			enc=EVP_camellia_192_cbc();
 | 
			
		||||
		else if (strcmp(*argv,"-camellia256") == 0)
 | 
			
		||||
			enc=EVP_camellia_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
		else if (**argv != '-' && dsaparams == NULL)
 | 
			
		||||
			{
 | 
			
		||||
@@ -169,10 +182,18 @@ bad:
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
		BIO_printf(bio_err," -idea     - encrypt the generated key with IDEA in cbc mode\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		BIO_printf(bio_err," -seed\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc seed\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
		BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
/* Until the key-gen callbacks are modified to use newer prototypes, we allow
 | 
			
		||||
 * deprecated functions for openssl-internal code */
 | 
			
		||||
#ifdef OPENSSL_NO_DEPRECATED
 | 
			
		||||
@@ -94,6 +95,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int ret=1;
 | 
			
		||||
	int i,num=DEFBITS;
 | 
			
		||||
	long l;
 | 
			
		||||
	int use_x931 = 0;
 | 
			
		||||
	const EVP_CIPHER *enc=NULL;
 | 
			
		||||
	unsigned long f4=RSA_F4;
 | 
			
		||||
	char *outfile=NULL;
 | 
			
		||||
@@ -137,6 +139,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			f4=3;
 | 
			
		||||
		else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
 | 
			
		||||
			f4=RSA_F4;
 | 
			
		||||
		else if (strcmp(*argv,"-x931") == 0)
 | 
			
		||||
			use_x931 = 1;
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
		else if (strcmp(*argv,"-engine") == 0)
 | 
			
		||||
			{
 | 
			
		||||
@@ -159,6 +163,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if (strcmp(*argv,"-idea") == 0)
 | 
			
		||||
			enc=EVP_idea_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		else if (strcmp(*argv,"-seed") == 0)
 | 
			
		||||
			enc=EVP_seed_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		else if (strcmp(*argv,"-aes128") == 0)
 | 
			
		||||
			enc=EVP_aes_128_cbc();
 | 
			
		||||
@@ -166,6 +174,14 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			enc=EVP_aes_192_cbc();
 | 
			
		||||
		else if (strcmp(*argv,"-aes256") == 0)
 | 
			
		||||
			enc=EVP_aes_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		else if (strcmp(*argv,"-camellia128") == 0)
 | 
			
		||||
			enc=EVP_camellia_128_cbc();
 | 
			
		||||
		else if (strcmp(*argv,"-camellia192") == 0)
 | 
			
		||||
			enc=EVP_camellia_192_cbc();
 | 
			
		||||
		else if (strcmp(*argv,"-camellia256") == 0)
 | 
			
		||||
			enc=EVP_camellia_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
		else if (strcmp(*argv,"-passout") == 0)
 | 
			
		||||
			{
 | 
			
		||||
@@ -186,9 +202,17 @@ bad:
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
		BIO_printf(bio_err," -idea           encrypt the generated key with IDEA in cbc mode\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		BIO_printf(bio_err," -seed\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc seed\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 | 
			
		||||
#endif
 | 
			
		||||
		BIO_printf(bio_err," -out file       output the key to 'file\n");
 | 
			
		||||
		BIO_printf(bio_err," -passout arg    output file pass phrase source\n");
 | 
			
		||||
@@ -245,7 +269,17 @@ bad:
 | 
			
		||||
	BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
 | 
			
		||||
		num);
 | 
			
		||||
 | 
			
		||||
	if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
 | 
			
		||||
	if (use_x931)
 | 
			
		||||
		{
 | 
			
		||||
		BIGNUM *pubexp;
 | 
			
		||||
		pubexp = BN_new();
 | 
			
		||||
		if (!BN_set_word(pubexp, f4))
 | 
			
		||||
			goto err;
 | 
			
		||||
		if (!RSA_X931_generate_key_ex(rsa, num, pubexp, &cb))
 | 
			
		||||
			goto err;
 | 
			
		||||
		BN_free(pubexp);
 | 
			
		||||
		}
 | 
			
		||||
	else if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
 | 
			
		||||
		goto err;
 | 
			
		||||
		
 | 
			
		||||
	app_RAND_write_file(NULL, bio_err);
 | 
			
		||||
 
 | 
			
		||||
@@ -142,27 +142,10 @@ $ LIB_FILES = "VERIFY;ASN1PARS;REQ;DGST;DH;DHPARAM;ENC;PASSWD;GENDH;ERRSTR;"+-
 | 
			
		||||
	      "RSA;RSAUTL;DSA;DSAPARAM;EC;ECPARAM;"+-
 | 
			
		||||
	      "X509;GENRSA;GENDSA;S_SERVER;S_CLIENT;SPEED;"+-
 | 
			
		||||
	      "S_TIME;APPS;S_CB;S_SOCKET;APP_RAND;VERSION;SESS_ID;"+-
 | 
			
		||||
	      "CIPHERS;NSEQ;PKCS12;PKCS8;SPKAC;SMIME;RAND;ENGINE;OCSP"
 | 
			
		||||
$ APP_FILES := OPENSSL,'OBJ_DIR'VERIFY.OBJ,ASN1PARS.OBJ,REQ.OBJ,DGST.OBJ,DH.OBJ,DHPARAM.OBJ,ENC.OBJ,PASSWD.OBJ,GENDH.OBJ,ERRSTR.OBJ,-
 | 
			
		||||
	       CA.OBJ,PKCS7.OBJ,CRL2P7.OBJ,CRL.OBJ,-
 | 
			
		||||
	       RSA.OBJ,RSAUTL.OBJ,DSA.OBJ,DSAPARAM.OBJ,EC.OBJ,ECPARAM.OBJ,-
 | 
			
		||||
	       X509.OBJ,GENRSA.OBJ,GENDSA.OBJ,S_SERVER.OBJ,S_CLIENT.OBJ,SPEED.OBJ,-
 | 
			
		||||
	       S_TIME.OBJ,APPS.OBJ,S_CB.OBJ,S_SOCKET.OBJ,APP_RAND.OBJ,VERSION.OBJ,SESS_ID.OBJ,-
 | 
			
		||||
	       CIPHERS.OBJ,NSEQ.OBJ,PKCS12.OBJ,PKCS8.OBJ,SPKAC.OBJ,SMIME.OBJ,RAND.OBJ,ENGINE.OBJ,OCSP.OBJ
 | 
			
		||||
	      "CIPHERS;NSEQ;PKCS12;PKCS8;SPKAC;SMIME;RAND;ENGINE;OCSP;PRIME"
 | 
			
		||||
$ TCPIP_PROGRAMS = ",,"
 | 
			
		||||
$ IF COMPILER .EQS. "VAXC" THEN -
 | 
			
		||||
     TCPIP_PROGRAMS = ",OPENSSL,"
 | 
			
		||||
$!$ APP_FILES := VERIFY;ASN1PARS;REQ;DGST;DH;ENC;GENDH;ERRSTR;CA;-
 | 
			
		||||
$!	       PKCS7;CRL2P7;CRL;-
 | 
			
		||||
$!	       RSA;DSA;DSAPARAM;-
 | 
			
		||||
$!	       X509;GENRSA;GENDSA;-
 | 
			
		||||
$!	       S_SERVER,'OBJ_DIR'S_SOCKET.OBJ,'OBJ_DIR'S_CB.OBJ;-
 | 
			
		||||
$!	       S_CLIENT,'OBJ_DIR'S_SOCKET.OBJ,'OBJ_DIR'S_CB.OBJ;-
 | 
			
		||||
$!	       SPEED;-
 | 
			
		||||
$!	       S_TIME,'OBJ_DIR'S_CB.OBJ;VERSION;SESS_ID;CIPHERS;NSEQ
 | 
			
		||||
$!$ TCPIP_PROGRAMS = ",,"
 | 
			
		||||
$!$ IF COMPILER .EQS. "VAXC" THEN -
 | 
			
		||||
$!     TCPIP_PROGRAMS = ",S_SERVER,S_CLIENT,SESS_ID,CIPHERS,S_TIME,"
 | 
			
		||||
$!
 | 
			
		||||
$! Setup exceptional compilations
 | 
			
		||||
$!
 | 
			
		||||
@@ -650,7 +633,7 @@ $ CCDEFS = "MONOLITH"
 | 
			
		||||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
 | 
			
		||||
$ CCEXTRAFLAGS = ""
 | 
			
		||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
 | 
			
		||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX"
 | 
			
		||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
 | 
			
		||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
 | 
			
		||||
	CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
 | 
			
		||||
$!
 | 
			
		||||
 
 | 
			
		||||
@@ -139,6 +139,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	if (!load_config(bio_err, NULL))
 | 
			
		||||
		goto end;
 | 
			
		||||
	SSL_load_error_strings();
 | 
			
		||||
	OpenSSL_add_ssl_algorithms();
 | 
			
		||||
	args = argv + 1;
 | 
			
		||||
	reqnames = sk_new_null();
 | 
			
		||||
	ids = sk_OCSP_CERTID_new_null();
 | 
			
		||||
@@ -726,6 +727,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			BIO_printf(bio_err, "SSL is disabled\n");
 | 
			
		||||
			goto end;
 | 
			
		||||
#endif
 | 
			
		||||
			if (ctx == NULL)
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err, "Error creating SSL context.\n");
 | 
			
		||||
				goto end;
 | 
			
		||||
				}
 | 
			
		||||
			SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY);
 | 
			
		||||
			sbio = BIO_new_ssl(ctx, 1);
 | 
			
		||||
			cbio = BIO_push(sbio, cbio);
 | 
			
		||||
@@ -1221,7 +1227,7 @@ static int send_ocsp_response(BIO *cbio, OCSP_RESPONSE *resp)
 | 
			
		||||
		return 0;
 | 
			
		||||
	BIO_printf(cbio, http_resp, i2d_OCSP_RESPONSE(resp, NULL));
 | 
			
		||||
	i2d_OCSP_RESPONSE_bio(cbio, resp);
 | 
			
		||||
	BIO_flush(cbio);
 | 
			
		||||
	(void)BIO_flush(cbio);
 | 
			
		||||
	return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,9 +8,8 @@
 | 
			
		||||
HOME			= .
 | 
			
		||||
RANDFILE		= $ENV::HOME/.rnd
 | 
			
		||||
 | 
			
		||||
# Extra OBJECT IDENTIFIER info:
 | 
			
		||||
#oid_file		= $ENV::HOME/.oid
 | 
			
		||||
oid_section		= new_oids
 | 
			
		||||
# Uncomment out to enable OpenSSL configuration see config(3)
 | 
			
		||||
# openssl_conf = openssl_init
 | 
			
		||||
 | 
			
		||||
# To use this configuration file with the "-extfile" option of the
 | 
			
		||||
# "openssl x509" utility, name here the section containing the
 | 
			
		||||
@@ -19,13 +18,22 @@ oid_section		= new_oids
 | 
			
		||||
# (Alternatively, use a configuration file that has only
 | 
			
		||||
# X.509v3 extensions in its main [= default] section.)
 | 
			
		||||
 | 
			
		||||
[openssl_init]
 | 
			
		||||
# Extra OBJECT IDENTIFIER info:
 | 
			
		||||
oid_section = new_oids
 | 
			
		||||
alg_section = algs
 | 
			
		||||
 | 
			
		||||
[ new_oids ]
 | 
			
		||||
 | 
			
		||||
# We can add new OIDs in here for use by 'ca' and 'req'.
 | 
			
		||||
# We can add new OIDs in here for use by any config aware application
 | 
			
		||||
# Add a simple OID like this:
 | 
			
		||||
# testoid1=1.2.3.4
 | 
			
		||||
# shortname=Long Object Identifier Name, 1.2.3.4
 | 
			
		||||
# Or use config file substitution like this:
 | 
			
		||||
# testoid2=${testoid1}.5.6
 | 
			
		||||
# testoid2=OID2 LONG NAME, ${testoid1}.5.6, OTHER OID
 | 
			
		||||
 | 
			
		||||
[ algs ]
 | 
			
		||||
# Algorithm configuration options. Currently just fips_mode
 | 
			
		||||
fips_mode = no
 | 
			
		||||
 | 
			
		||||
####################################################################
 | 
			
		||||
[ ca ]
 | 
			
		||||
@@ -67,7 +75,7 @@ cert_opt 	= ca_default		# Certificate field options
 | 
			
		||||
 | 
			
		||||
default_days	= 365			# how long to certify for
 | 
			
		||||
default_crl_days= 30			# how long before next CRL
 | 
			
		||||
default_md	= md5			# which md to use.
 | 
			
		||||
default_md	= sha1			# which md to use.
 | 
			
		||||
preserve	= no			# keep passed DN ordering
 | 
			
		||||
 | 
			
		||||
# A few difference way of specifying how similar the request should look
 | 
			
		||||
@@ -188,7 +196,7 @@ nsComment			= "OpenSSL Generated Certificate"
 | 
			
		||||
 | 
			
		||||
# PKIX recommendations harmless if included in all certificates.
 | 
			
		||||
subjectKeyIdentifier=hash
 | 
			
		||||
authorityKeyIdentifier=keyid,issuer:always
 | 
			
		||||
authorityKeyIdentifier=keyid,issuer
 | 
			
		||||
 | 
			
		||||
# This stuff is for subjectAltName and issuerAltname.
 | 
			
		||||
# Import the email address.
 | 
			
		||||
@@ -258,3 +266,56 @@ basicConstraints = CA:true
 | 
			
		||||
 | 
			
		||||
# issuerAltName=issuer:copy
 | 
			
		||||
authorityKeyIdentifier=keyid:always,issuer:always
 | 
			
		||||
 | 
			
		||||
[ proxy_cert_ext ]
 | 
			
		||||
# These extensions should be added when creating a proxy certificate
 | 
			
		||||
 | 
			
		||||
# This goes against PKIX guidelines but some CAs do it and some software
 | 
			
		||||
# requires this to avoid interpreting an end user certificate as a CA.
 | 
			
		||||
 | 
			
		||||
basicConstraints=CA:FALSE
 | 
			
		||||
 | 
			
		||||
# Here are some examples of the usage of nsCertType. If it is omitted
 | 
			
		||||
# the certificate can be used for anything *except* object signing.
 | 
			
		||||
 | 
			
		||||
# This is OK for an SSL server.
 | 
			
		||||
# nsCertType			= server
 | 
			
		||||
 | 
			
		||||
# For an object signing certificate this would be used.
 | 
			
		||||
# nsCertType = objsign
 | 
			
		||||
 | 
			
		||||
# For normal client use this is typical
 | 
			
		||||
# nsCertType = client, email
 | 
			
		||||
 | 
			
		||||
# and for everything including object signing:
 | 
			
		||||
# nsCertType = client, email, objsign
 | 
			
		||||
 | 
			
		||||
# This is typical in keyUsage for a client certificate.
 | 
			
		||||
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
 | 
			
		||||
 | 
			
		||||
# This will be displayed in Netscape's comment listbox.
 | 
			
		||||
nsComment			= "OpenSSL Generated Certificate"
 | 
			
		||||
 | 
			
		||||
# PKIX recommendations harmless if included in all certificates.
 | 
			
		||||
subjectKeyIdentifier=hash
 | 
			
		||||
authorityKeyIdentifier=keyid,issuer:always
 | 
			
		||||
 | 
			
		||||
# This stuff is for subjectAltName and issuerAltname.
 | 
			
		||||
# Import the email address.
 | 
			
		||||
# subjectAltName=email:copy
 | 
			
		||||
# An alternative to produce certificates that aren't
 | 
			
		||||
# deprecated according to PKIX.
 | 
			
		||||
# subjectAltName=email:move
 | 
			
		||||
 | 
			
		||||
# Copy subject details
 | 
			
		||||
# issuerAltName=issuer:copy
 | 
			
		||||
 | 
			
		||||
#nsCaRevocationUrl		= http://www.domain.dom/ca-crl.pem
 | 
			
		||||
#nsBaseUrl
 | 
			
		||||
#nsRevocationUrl
 | 
			
		||||
#nsRenewalUrl
 | 
			
		||||
#nsCaPolicyUrl
 | 
			
		||||
#nsSslServerName
 | 
			
		||||
 | 
			
		||||
# This really needs to be in place for it to be a proxy certificate.
 | 
			
		||||
proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 1998-2001 The OpenSSL Project.  All rights reserved.
 | 
			
		||||
 * Copyright (c) 1998-2006 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
 | 
			
		||||
@@ -147,6 +147,7 @@ char *default_config_file=NULL;
 | 
			
		||||
#ifdef MONOLITH
 | 
			
		||||
CONF *config=NULL;
 | 
			
		||||
BIO *bio_err=NULL;
 | 
			
		||||
int in_FIPS_mode=0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -220,7 +221,8 @@ int main(int Argc, char *Argv[])
 | 
			
		||||
#define PROG_NAME_SIZE	39
 | 
			
		||||
	char pname[PROG_NAME_SIZE+1];
 | 
			
		||||
	FUNCTION f,*fp;
 | 
			
		||||
	MS_STATIC char *prompt,buf[1024];
 | 
			
		||||
	MS_STATIC const char *prompt;
 | 
			
		||||
	MS_STATIC char buf[1024];
 | 
			
		||||
	char *to_free=NULL;
 | 
			
		||||
	int n,i,ret=0;
 | 
			
		||||
	int argc;
 | 
			
		||||
@@ -231,6 +233,19 @@ int main(int Argc, char *Argv[])
 | 
			
		||||
	arg.data=NULL;
 | 
			
		||||
	arg.count=0;
 | 
			
		||||
 | 
			
		||||
	in_FIPS_mode = 0;
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_FIPS
 | 
			
		||||
	if(getenv("OPENSSL_FIPS")) {
 | 
			
		||||
		if (!FIPS_mode_set(1)) {
 | 
			
		||||
			ERR_load_crypto_strings();
 | 
			
		||||
			ERR_print_errors(BIO_new_fp(stderr,BIO_NOCLOSE));
 | 
			
		||||
			EXIT(1);
 | 
			
		||||
		}
 | 
			
		||||
		in_FIPS_mode = 1;
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (bio_err == NULL)
 | 
			
		||||
		if ((bio_err=BIO_new(BIO_s_file())) != NULL)
 | 
			
		||||
			BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 | 
			
		||||
@@ -444,7 +459,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
 | 
			
		||||
		for (fp=functions; fp->name != NULL; fp++)
 | 
			
		||||
			{
 | 
			
		||||
			nl=0;
 | 
			
		||||
#ifdef OPENSSL_NO_CAMELLIA
 | 
			
		||||
			if (((i++) % 5) == 0)
 | 
			
		||||
#else
 | 
			
		||||
			if (((i++) % 4) == 0)
 | 
			
		||||
#endif
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err,"\n");
 | 
			
		||||
				nl=1;
 | 
			
		||||
@@ -465,7 +484,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
 | 
			
		||||
					BIO_printf(bio_err,"\nCipher commands (see the `enc' command for more details)\n");
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
#ifdef OPENSSL_NO_CAMELLIA
 | 
			
		||||
			BIO_printf(bio_err,"%-15s",fp->name);
 | 
			
		||||
#else
 | 
			
		||||
			BIO_printf(bio_err,"%-18s",fp->name);
 | 
			
		||||
#endif
 | 
			
		||||
			}
 | 
			
		||||
		BIO_printf(bio_err,"\n\n");
 | 
			
		||||
		ret=0;
 | 
			
		||||
@@ -488,7 +511,7 @@ static LHASH *prog_init(void)
 | 
			
		||||
	{
 | 
			
		||||
	LHASH *ret;
 | 
			
		||||
	FUNCTION *f;
 | 
			
		||||
	int i;
 | 
			
		||||
	size_t i;
 | 
			
		||||
 | 
			
		||||
	/* Purely so it looks nice when the user hits ? */
 | 
			
		||||
	for(i=0,f=functions ; f->name != NULL ; ++f,++i)
 | 
			
		||||
@@ -506,12 +529,12 @@ static LHASH *prog_init(void)
 | 
			
		||||
/* static int MS_CALLBACK cmp(FUNCTION *a, FUNCTION *b) */
 | 
			
		||||
static int MS_CALLBACK cmp(const void *a_void, const void *b_void)
 | 
			
		||||
	{
 | 
			
		||||
	return(strncmp(((FUNCTION *)a_void)->name,
 | 
			
		||||
			((FUNCTION *)b_void)->name,8));
 | 
			
		||||
	return(strncmp(((const FUNCTION *)a_void)->name,
 | 
			
		||||
			((const FUNCTION *)b_void)->name,8));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* static unsigned long MS_CALLBACK hash(FUNCTION *a) */
 | 
			
		||||
static unsigned long MS_CALLBACK hash(const void *a_void)
 | 
			
		||||
	{
 | 
			
		||||
	return(lh_strhash(((FUNCTION *)a_void)->name));
 | 
			
		||||
	return(lh_strhash(((const FUNCTION *)a_void)->name));
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,9 +8,8 @@
 | 
			
		||||
HOME			= .
 | 
			
		||||
RANDFILE		= $ENV::HOME/.rnd
 | 
			
		||||
 | 
			
		||||
# Extra OBJECT IDENTIFIER info:
 | 
			
		||||
#oid_file		= $ENV::HOME/.oid
 | 
			
		||||
oid_section		= new_oids
 | 
			
		||||
# Uncomment out to enable OpenSSL configuration see config(3)
 | 
			
		||||
# openssl_conf = openssl_init
 | 
			
		||||
 | 
			
		||||
# To use this configuration file with the "-extfile" option of the
 | 
			
		||||
# "openssl x509" utility, name here the section containing the
 | 
			
		||||
@@ -19,13 +18,22 @@ oid_section		= new_oids
 | 
			
		||||
# (Alternatively, use a configuration file that has only
 | 
			
		||||
# X.509v3 extensions in its main [= default] section.)
 | 
			
		||||
 | 
			
		||||
[openssl_init]
 | 
			
		||||
# Extra OBJECT IDENTIFIER info:
 | 
			
		||||
oid_section = new_oids
 | 
			
		||||
alg_section = algs
 | 
			
		||||
 | 
			
		||||
[ new_oids ]
 | 
			
		||||
 | 
			
		||||
# We can add new OIDs in here for use by 'ca' and 'req'.
 | 
			
		||||
# We can add new OIDs in here for use by any config aware application
 | 
			
		||||
# Add a simple OID like this:
 | 
			
		||||
# testoid1=1.2.3.4
 | 
			
		||||
# shortname=Long Object Identifier Name, 1.2.3.4
 | 
			
		||||
# Or use config file substitution like this:
 | 
			
		||||
# testoid2=${testoid1}.5.6
 | 
			
		||||
# testoid2=OID2 LONG NAME, ${testoid1}.5.6, OTHER OID
 | 
			
		||||
 | 
			
		||||
[ algs ]
 | 
			
		||||
# Algorithm configuration options. Currently just fips_mode
 | 
			
		||||
fips_mode = no
 | 
			
		||||
 | 
			
		||||
####################################################################
 | 
			
		||||
[ ca ]
 | 
			
		||||
@@ -67,7 +75,7 @@ cert_opt 	= ca_default		# Certificate field options
 | 
			
		||||
 | 
			
		||||
default_days	= 365			# how long to certify for
 | 
			
		||||
default_crl_days= 30			# how long before next CRL
 | 
			
		||||
default_md	= md5			# which md to use.
 | 
			
		||||
default_md	= sha1			# which md to use.
 | 
			
		||||
preserve	= no			# keep passed DN ordering
 | 
			
		||||
 | 
			
		||||
# A few difference way of specifying how similar the request should look
 | 
			
		||||
@@ -188,7 +196,7 @@ nsComment			= "OpenSSL Generated Certificate"
 | 
			
		||||
 | 
			
		||||
# PKIX recommendations harmless if included in all certificates.
 | 
			
		||||
subjectKeyIdentifier=hash
 | 
			
		||||
authorityKeyIdentifier=keyid,issuer:always
 | 
			
		||||
authorityKeyIdentifier=keyid,issuer
 | 
			
		||||
 | 
			
		||||
# This stuff is for subjectAltName and issuerAltname.
 | 
			
		||||
# Import the email address.
 | 
			
		||||
@@ -258,3 +266,56 @@ basicConstraints = CA:true
 | 
			
		||||
 | 
			
		||||
# issuerAltName=issuer:copy
 | 
			
		||||
authorityKeyIdentifier=keyid:always,issuer:always
 | 
			
		||||
 | 
			
		||||
[ proxy_cert_ext ]
 | 
			
		||||
# These extensions should be added when creating a proxy certificate
 | 
			
		||||
 | 
			
		||||
# This goes against PKIX guidelines but some CAs do it and some software
 | 
			
		||||
# requires this to avoid interpreting an end user certificate as a CA.
 | 
			
		||||
 | 
			
		||||
basicConstraints=CA:FALSE
 | 
			
		||||
 | 
			
		||||
# Here are some examples of the usage of nsCertType. If it is omitted
 | 
			
		||||
# the certificate can be used for anything *except* object signing.
 | 
			
		||||
 | 
			
		||||
# This is OK for an SSL server.
 | 
			
		||||
# nsCertType			= server
 | 
			
		||||
 | 
			
		||||
# For an object signing certificate this would be used.
 | 
			
		||||
# nsCertType = objsign
 | 
			
		||||
 | 
			
		||||
# For normal client use this is typical
 | 
			
		||||
# nsCertType = client, email
 | 
			
		||||
 | 
			
		||||
# and for everything including object signing:
 | 
			
		||||
# nsCertType = client, email, objsign
 | 
			
		||||
 | 
			
		||||
# This is typical in keyUsage for a client certificate.
 | 
			
		||||
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
 | 
			
		||||
 | 
			
		||||
# This will be displayed in Netscape's comment listbox.
 | 
			
		||||
nsComment			= "OpenSSL Generated Certificate"
 | 
			
		||||
 | 
			
		||||
# PKIX recommendations harmless if included in all certificates.
 | 
			
		||||
subjectKeyIdentifier=hash
 | 
			
		||||
authorityKeyIdentifier=keyid,issuer:always
 | 
			
		||||
 | 
			
		||||
# This stuff is for subjectAltName and issuerAltname.
 | 
			
		||||
# Import the email address.
 | 
			
		||||
# subjectAltName=email:copy
 | 
			
		||||
# An alternative to produce certificates that aren't
 | 
			
		||||
# deprecated according to PKIX.
 | 
			
		||||
# subjectAltName=email:move
 | 
			
		||||
 | 
			
		||||
# Copy subject details
 | 
			
		||||
# issuerAltName=issuer:copy
 | 
			
		||||
 | 
			
		||||
#nsCaRevocationUrl		= http://www.domain.dom/ca-crl.pem
 | 
			
		||||
#nsBaseUrl
 | 
			
		||||
#nsRevocationUrl
 | 
			
		||||
#nsRenewalUrl
 | 
			
		||||
#nsCaPolicyUrl
 | 
			
		||||
#nsSslServerName
 | 
			
		||||
 | 
			
		||||
# This really needs to be in place for it to be a proxy certificate.
 | 
			
		||||
proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
 | 
			
		||||
 
 | 
			
		||||
@@ -359,13 +359,13 @@ static char *md5crypt(const char *passwd, const char *magic, const char *salt)
 | 
			
		||||
	for (i = 0; i < 1000; i++)
 | 
			
		||||
		{
 | 
			
		||||
		EVP_DigestInit_ex(&md2,EVP_md5(), NULL);
 | 
			
		||||
		EVP_DigestUpdate(&md2, (i & 1) ? (unsigned char *) passwd : buf,
 | 
			
		||||
		EVP_DigestUpdate(&md2, (i & 1) ? (unsigned const char *) passwd : buf,
 | 
			
		||||
		                       (i & 1) ? passwd_len : sizeof buf);
 | 
			
		||||
		if (i % 3)
 | 
			
		||||
			EVP_DigestUpdate(&md2, salt_out, salt_len);
 | 
			
		||||
		if (i % 7)
 | 
			
		||||
			EVP_DigestUpdate(&md2, passwd, passwd_len);
 | 
			
		||||
		EVP_DigestUpdate(&md2, (i & 1) ? buf : (unsigned char *) passwd,
 | 
			
		||||
		EVP_DigestUpdate(&md2, (i & 1) ? buf : (unsigned const char *) passwd,
 | 
			
		||||
		                       (i & 1) ? sizeof buf : passwd_len);
 | 
			
		||||
		EVP_DigestFinal_ex(&md2, buf, NULL);
 | 
			
		||||
		}
 | 
			
		||||
@@ -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,11 +1,9 @@
 | 
			
		||||
/* pkcs12.c */
 | 
			
		||||
#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
 | 
			
		||||
 | 
			
		||||
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
 | 
			
		||||
 * project.
 | 
			
		||||
 */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 1999-2002 The OpenSSL Project.  All rights reserved.
 | 
			
		||||
 * Copyright (c) 1999-2006 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
 | 
			
		||||
@@ -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>
 | 
			
		||||
@@ -83,7 +84,7 @@ int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass, int passlen, int opti
 | 
			
		||||
int dump_certs_pkeys_bags(BIO *out, STACK_OF(PKCS12_SAFEBAG) *bags, char *pass,
 | 
			
		||||
			  int passlen, int options, char *pempass);
 | 
			
		||||
int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bags, char *pass, int passlen, int options, char *pempass);
 | 
			
		||||
int print_attribs(BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst, char *name);
 | 
			
		||||
int print_attribs(BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst,const char *name);
 | 
			
		||||
void hex_prin(BIO *out, unsigned char *buf, int len);
 | 
			
		||||
int alg_print(BIO *x, X509_ALGOR *alg);
 | 
			
		||||
int cert_load(BIO *in, STACK_OF(X509) *sk);
 | 
			
		||||
@@ -109,7 +110,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
    int maciter = PKCS12_DEFAULT_ITER;
 | 
			
		||||
    int twopass = 0;
 | 
			
		||||
    int keytype = 0;
 | 
			
		||||
    int cert_pbe = NID_pbe_WithSHA1And40BitRC2_CBC;
 | 
			
		||||
    int cert_pbe;
 | 
			
		||||
    int key_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
 | 
			
		||||
    int ret = 1;
 | 
			
		||||
    int macver = 1;
 | 
			
		||||
@@ -126,6 +127,13 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
    apps_startup();
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_FIPS
 | 
			
		||||
    if (FIPS_mode())
 | 
			
		||||
	cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
 | 
			
		||||
    else
 | 
			
		||||
#endif
 | 
			
		||||
    cert_pbe = NID_pbe_WithSHA1And40BitRC2_CBC;
 | 
			
		||||
 | 
			
		||||
    enc = EVP_des_ede3_cbc();
 | 
			
		||||
    if (bio_err == NULL ) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
@@ -152,14 +160,22 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
    			cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
 | 
			
		||||
		else if (!strcmp (*args, "-export")) export_cert = 1;
 | 
			
		||||
		else if (!strcmp (*args, "-des")) enc=EVP_des_cbc();
 | 
			
		||||
		else if (!strcmp (*args, "-des3")) enc = EVP_des_ede3_cbc();
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
		else if (!strcmp (*args, "-idea")) enc=EVP_idea_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
		else if (!strcmp (*args, "-des3")) enc = EVP_des_ede3_cbc();
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		else if (!strcmp(*args, "-seed")) enc=EVP_seed_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		else if (!strcmp(*args,"-aes128")) enc=EVP_aes_128_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-aes192")) enc=EVP_aes_192_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-aes256")) enc=EVP_aes_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		else if (!strcmp(*args,"-camellia128")) enc=EVP_camellia_128_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-camellia192")) enc=EVP_camellia_192_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-camellia256")) enc=EVP_camellia_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
		else if (!strcmp (*args, "-noiter")) iter = 1;
 | 
			
		||||
		else if (!strcmp (*args, "-maciter"))
 | 
			
		||||
@@ -174,7 +190,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				args++;
 | 
			
		||||
				if (!strcmp(*args, "NONE"))
 | 
			
		||||
					cert_pbe = -1;
 | 
			
		||||
				cert_pbe=OBJ_txt2nid(*args);
 | 
			
		||||
				else
 | 
			
		||||
					cert_pbe=OBJ_txt2nid(*args);
 | 
			
		||||
				if(cert_pbe == NID_undef) {
 | 
			
		||||
					BIO_printf(bio_err,
 | 
			
		||||
						 "Unknown PBE algorithm %s\n", *args);
 | 
			
		||||
@@ -299,9 +316,16 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
	BIO_printf (bio_err, "-idea         encrypt private keys with idea\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	BIO_printf (bio_err, "-seed         encrypt private keys with seed\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
	BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
 | 
			
		||||
	BIO_printf (bio_err, "              encrypt PEM output with cbc aes\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n");
 | 
			
		||||
	BIO_printf (bio_err, "              encrypt PEM output with cbc camellia\n");
 | 
			
		||||
#endif
 | 
			
		||||
	BIO_printf (bio_err, "-nodes        don't encrypt private keys\n");
 | 
			
		||||
	BIO_printf (bio_err, "-noiter       don't use encryption iteration\n");
 | 
			
		||||
@@ -525,8 +549,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		    X509_free(sk_X509_value(chain2, 0));
 | 
			
		||||
		    sk_X509_free(chain2);
 | 
			
		||||
		} else {
 | 
			
		||||
			BIO_printf (bio_err, "Error %s getting chain.\n",
 | 
			
		||||
			if (vret >= 0)
 | 
			
		||||
				BIO_printf (bio_err, "Error %s getting chain.\n",
 | 
			
		||||
					X509_verify_cert_error_string(vret));
 | 
			
		||||
			else
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
			goto export_end;
 | 
			
		||||
		}			
 | 
			
		||||
    	}
 | 
			
		||||
@@ -538,6 +565,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		catmp = (unsigned char *)sk_value(canames, i);
 | 
			
		||||
		X509_alias_set1(sk_X509_value(certs, i), catmp, -1);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (csp_name && key)
 | 
			
		||||
		EVP_PKEY_add1_attr_by_NID(key, NID_ms_csp_name,
 | 
			
		||||
				MBSTRING_ASC, (unsigned char *)csp_name, -1);
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
#ifdef CRYPTO_MDEBUG
 | 
			
		||||
@@ -796,7 +827,7 @@ int get_cert_chain (X509 *cert, X509_STORE *store, STACK_OF(X509) **chain)
 | 
			
		||||
{
 | 
			
		||||
	X509_STORE_CTX store_ctx;
 | 
			
		||||
	STACK_OF(X509) *chn;
 | 
			
		||||
	int i;
 | 
			
		||||
	int i = 0;
 | 
			
		||||
 | 
			
		||||
	/* FIXME: Should really check the return status of X509_STORE_CTX_init
 | 
			
		||||
	 * for an error, but how that fits into the return value of this
 | 
			
		||||
@@ -804,13 +835,17 @@ int get_cert_chain (X509 *cert, X509_STORE *store, STACK_OF(X509) **chain)
 | 
			
		||||
	X509_STORE_CTX_init(&store_ctx, store, cert, NULL);
 | 
			
		||||
	if (X509_verify_cert(&store_ctx) <= 0) {
 | 
			
		||||
		i = X509_STORE_CTX_get_error (&store_ctx);
 | 
			
		||||
		if (i == 0)
 | 
			
		||||
			/* avoid returning 0 if X509_verify_cert() did not
 | 
			
		||||
			 * set an appropriate error value in the context */
 | 
			
		||||
			i = -1;
 | 
			
		||||
		chn = NULL;
 | 
			
		||||
		goto err;
 | 
			
		||||
	}
 | 
			
		||||
	chn =  X509_STORE_CTX_get1_chain(&store_ctx);
 | 
			
		||||
	i = 0;
 | 
			
		||||
	*chain = chn;
 | 
			
		||||
	} else
 | 
			
		||||
		chn = X509_STORE_CTX_get1_chain(&store_ctx);
 | 
			
		||||
err:
 | 
			
		||||
	X509_STORE_CTX_cleanup(&store_ctx);
 | 
			
		||||
	*chain = chn;
 | 
			
		||||
	
 | 
			
		||||
	return i;
 | 
			
		||||
}	
 | 
			
		||||
@@ -820,12 +855,14 @@ int alg_print (BIO *x, X509_ALGOR *alg)
 | 
			
		||||
	PBEPARAM *pbe;
 | 
			
		||||
	const unsigned char *p;
 | 
			
		||||
	p = alg->parameter->value.sequence->data;
 | 
			
		||||
	pbe = d2i_PBEPARAM (NULL, &p, alg->parameter->value.sequence->length);
 | 
			
		||||
	pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length);
 | 
			
		||||
	if (!pbe)
 | 
			
		||||
		return 1;
 | 
			
		||||
	BIO_printf (bio_err, "%s, Iteration %ld\n", 
 | 
			
		||||
		OBJ_nid2ln(OBJ_obj2nid(alg->algorithm)),
 | 
			
		||||
		ASN1_INTEGER_get(pbe->iter));
 | 
			
		||||
	PBEPARAM_free (pbe);
 | 
			
		||||
	return 0;
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Load all certificates from a given file */
 | 
			
		||||
@@ -857,7 +894,7 @@ int cert_load(BIO *in, STACK_OF(X509) *sk)
 | 
			
		||||
 | 
			
		||||
/* Generalised attribute print: handle PKCS#8 and bag attributes */
 | 
			
		||||
 | 
			
		||||
int print_attribs (BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst, char *name)
 | 
			
		||||
int print_attribs (BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst,const char *name)
 | 
			
		||||
{
 | 
			
		||||
	X509_ATTRIBUTE *attr;
 | 
			
		||||
	ASN1_TYPE *av;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										130
									
								
								apps/prime.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								apps/prime.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 2004 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.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include "apps.h"
 | 
			
		||||
#include <openssl/bn.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#undef PROG
 | 
			
		||||
#define PROG prime_main
 | 
			
		||||
 | 
			
		||||
int MAIN(int, char **);
 | 
			
		||||
 | 
			
		||||
int MAIN(int argc, char **argv)
 | 
			
		||||
    {
 | 
			
		||||
    int hex=0;
 | 
			
		||||
    int checks=20;
 | 
			
		||||
    BIGNUM *bn=NULL;
 | 
			
		||||
    BIO *bio_out;
 | 
			
		||||
 | 
			
		||||
    apps_startup();
 | 
			
		||||
 | 
			
		||||
    if (bio_err == NULL)
 | 
			
		||||
	if ((bio_err=BIO_new(BIO_s_file())) != NULL)
 | 
			
		||||
	    BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 | 
			
		||||
 | 
			
		||||
    --argc;
 | 
			
		||||
    ++argv;
 | 
			
		||||
    while (argc >= 1 && **argv == '-')
 | 
			
		||||
	{
 | 
			
		||||
	if(!strcmp(*argv,"-hex"))
 | 
			
		||||
	    hex=1;
 | 
			
		||||
	else if(!strcmp(*argv,"-checks"))
 | 
			
		||||
	    if(--argc < 1)
 | 
			
		||||
		goto bad;
 | 
			
		||||
	    else
 | 
			
		||||
		checks=atoi(*++argv);
 | 
			
		||||
	else
 | 
			
		||||
	    {
 | 
			
		||||
	    BIO_printf(bio_err,"Unknown option '%s'\n",*argv);
 | 
			
		||||
	    goto bad;
 | 
			
		||||
	    }
 | 
			
		||||
	--argc;
 | 
			
		||||
	++argv;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    if (argv[0] == NULL)
 | 
			
		||||
	{
 | 
			
		||||
	BIO_printf(bio_err,"No prime specified\n");
 | 
			
		||||
	goto bad;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
   if ((bio_out=BIO_new(BIO_s_file())) != NULL)
 | 
			
		||||
	{
 | 
			
		||||
	BIO_set_fp(bio_out,stdout,BIO_NOCLOSE);
 | 
			
		||||
#ifdef OPENSSL_SYS_VMS
 | 
			
		||||
	    {
 | 
			
		||||
	    BIO *tmpbio = BIO_new(BIO_f_linebuffer());
 | 
			
		||||
	    bio_out = BIO_push(tmpbio, bio_out);
 | 
			
		||||
	    }
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    if(hex)
 | 
			
		||||
	BN_hex2bn(&bn,argv[0]);
 | 
			
		||||
    else
 | 
			
		||||
	BN_dec2bn(&bn,argv[0]);
 | 
			
		||||
 | 
			
		||||
    BN_print(bio_out,bn);
 | 
			
		||||
    BIO_printf(bio_out," is %sprime\n",
 | 
			
		||||
	       BN_is_prime_ex(bn,checks,NULL,NULL) ? "" : "not ");
 | 
			
		||||
 | 
			
		||||
    BN_free(bn);
 | 
			
		||||
    BIO_free_all(bio_out);
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
 | 
			
		||||
    bad:
 | 
			
		||||
    BIO_printf(bio_err,"options are\n");
 | 
			
		||||
    BIO_printf(bio_err,"%-14s hex\n","-hex");
 | 
			
		||||
    BIO_printf(bio_err,"%-14s number of checks\n","-checks <n>");
 | 
			
		||||
    return 1;
 | 
			
		||||
    }
 | 
			
		||||
							
								
								
									
										41
									
								
								apps/progs.h
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								apps/progs.h
									
									
									
									
									
								
							@@ -37,10 +37,9 @@ extern int pkcs8_main(int argc,char *argv[]);
 | 
			
		||||
extern int spkac_main(int argc,char *argv[]);
 | 
			
		||||
extern int smime_main(int argc,char *argv[]);
 | 
			
		||||
extern int rand_main(int argc,char *argv[]);
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
extern int engine_main(int argc,char *argv[]);
 | 
			
		||||
#endif
 | 
			
		||||
extern int ocsp_main(int argc,char *argv[]);
 | 
			
		||||
extern int prime_main(int argc,char *argv[]);
 | 
			
		||||
 | 
			
		||||
#define FUNC_TYPE_GENERAL	1
 | 
			
		||||
#define FUNC_TYPE_MD		2
 | 
			
		||||
@@ -48,8 +47,8 @@ extern int ocsp_main(int argc,char *argv[]);
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
	int type;
 | 
			
		||||
	char *name;
 | 
			
		||||
	int (*func)();
 | 
			
		||||
	const char *name;
 | 
			
		||||
	int (*func)(int argc,char *argv[]);
 | 
			
		||||
	} FUNCTION;
 | 
			
		||||
 | 
			
		||||
FUNCTION functions[] = {
 | 
			
		||||
@@ -127,6 +126,7 @@ FUNCTION functions[] = {
 | 
			
		||||
	{FUNC_TYPE_GENERAL,"engine",engine_main},
 | 
			
		||||
#endif
 | 
			
		||||
	{FUNC_TYPE_GENERAL,"ocsp",ocsp_main},
 | 
			
		||||
	{FUNC_TYPE_GENERAL,"prime",prime_main},
 | 
			
		||||
#ifndef OPENSSL_NO_MD2
 | 
			
		||||
	{FUNC_TYPE_MD,"md2",dgst_main},
 | 
			
		||||
#endif
 | 
			
		||||
@@ -165,6 +165,24 @@ FUNCTION functions[] = {
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"aes-256-ecb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"camellia-128-cbc",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"camellia-128-ecb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"camellia-192-cbc",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"camellia-192-ecb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"camellia-256-cbc",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"camellia-256-ecb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"base64",enc_main},
 | 
			
		||||
#ifndef OPENSSL_NO_DES
 | 
			
		||||
@@ -179,6 +197,9 @@ FUNCTION functions[] = {
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"idea",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"seed",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC4
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"rc4",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
@@ -245,6 +266,18 @@ FUNCTION functions[] = {
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"idea-ofb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"seed-cbc",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"seed-ecb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"seed-cfb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"seed-ofb",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC2
 | 
			
		||||
	{FUNC_TYPE_CIPHER,"rc2-cbc",enc_main},
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -16,8 +16,8 @@ print <<'EOF';
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
	int type;
 | 
			
		||||
	char *name;
 | 
			
		||||
	int (*func)();
 | 
			
		||||
	const char *name;
 | 
			
		||||
	int (*func)(int argc,char *argv[]);
 | 
			
		||||
	} FUNCTION;
 | 
			
		||||
 | 
			
		||||
FUNCTION functions[] = {
 | 
			
		||||
@@ -29,6 +29,10 @@ foreach (@ARGV)
 | 
			
		||||
	$str="\t{FUNC_TYPE_GENERAL,\"$_\",${_}_main},\n";
 | 
			
		||||
	if (($_ =~ /^s_/) || ($_ =~ /^ciphers$/))
 | 
			
		||||
		{ print "#if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3))\n${str}#endif\n"; } 
 | 
			
		||||
	elsif ( ($_ =~ /^speed$/))
 | 
			
		||||
		{ print "#ifndef OPENSSL_NO_SPEED\n${str}#endif\n"; }
 | 
			
		||||
	elsif ( ($_ =~ /^engine$/))
 | 
			
		||||
		{ print "#ifndef OPENSSL_NO_ENGINE\n${str}#endif\n"; }
 | 
			
		||||
	elsif ( ($_ =~ /^rsa$/) || ($_ =~ /^genrsa$/) || ($_ =~ /^rsautl$/)) 
 | 
			
		||||
		{ print "#ifndef OPENSSL_NO_RSA\n${str}#endif\n";  }
 | 
			
		||||
	elsif ( ($_ =~ /^dsa$/) || ($_ =~ /^gendsa$/) || ($_ =~ /^dsaparam$/))
 | 
			
		||||
@@ -53,14 +57,18 @@ foreach (
 | 
			
		||||
	"aes-128-cbc", "aes-128-ecb",
 | 
			
		||||
	"aes-192-cbc", "aes-192-ecb",
 | 
			
		||||
	"aes-256-cbc", "aes-256-ecb",
 | 
			
		||||
	"camellia-128-cbc", "camellia-128-ecb",
 | 
			
		||||
	"camellia-192-cbc", "camellia-192-ecb",
 | 
			
		||||
	"camellia-256-cbc", "camellia-256-ecb",
 | 
			
		||||
	"base64",
 | 
			
		||||
	"des", "des3", "desx", "idea", "rc4", "rc4-40",
 | 
			
		||||
	"des", "des3", "desx", "idea", "seed", "rc4", "rc4-40",
 | 
			
		||||
	"rc2", "bf", "cast", "rc5",
 | 
			
		||||
	"des-ecb", "des-ede",    "des-ede3",
 | 
			
		||||
	"des-cbc", "des-ede-cbc","des-ede3-cbc",
 | 
			
		||||
	"des-cfb", "des-ede-cfb","des-ede3-cfb",
 | 
			
		||||
	"des-ofb", "des-ede-ofb","des-ede3-ofb",
 | 
			
		||||
	"idea-cbc","idea-ecb",   "idea-cfb", "idea-ofb",
 | 
			
		||||
	"idea-cbc","idea-ecb",    "idea-cfb", "idea-ofb",
 | 
			
		||||
	"seed-cbc","seed-ecb",    "seed-cfb", "seed-ofb",
 | 
			
		||||
	"rc2-cbc", "rc2-ecb", "rc2-cfb","rc2-ofb", "rc2-64-cbc", "rc2-40-cbc",
 | 
			
		||||
	"bf-cbc",  "bf-ecb",     "bf-cfb",   "bf-ofb",
 | 
			
		||||
	"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
 | 
			
		||||
@@ -71,7 +79,9 @@ foreach (
 | 
			
		||||
	$t=sprintf("\t{FUNC_TYPE_CIPHER,\"%s\",enc_main},\n",$_);
 | 
			
		||||
	if    ($_ =~ /des/)  { $t="#ifndef OPENSSL_NO_DES\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /aes/)  { $t="#ifndef OPENSSL_NO_AES\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /camellia/)  { $t="#ifndef OPENSSL_NO_CAMELLIA\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /idea/) { $t="#ifndef OPENSSL_NO_IDEA\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /seed/) { $t="#ifndef OPENSSL_NO_SEED\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /rc4/)  { $t="#ifndef OPENSSL_NO_RC4\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /rc2/)  { $t="#ifndef OPENSSL_NO_RC2\n${t}#endif\n"; }
 | 
			
		||||
	elsif ($_ =~ /bf/)   { $t="#ifndef OPENSSL_NO_BF\n${t}#endif\n"; }
 | 
			
		||||
 
 | 
			
		||||
@@ -213,7 +213,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		BIO_write(out, buf, chunk);
 | 
			
		||||
		num -= chunk;
 | 
			
		||||
		}
 | 
			
		||||
	BIO_flush(out);
 | 
			
		||||
	(void)BIO_flush(out);
 | 
			
		||||
 | 
			
		||||
	app_RAND_write_file(NULL, bio_err);
 | 
			
		||||
	ret = 0;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										52
									
								
								apps/req.c
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								apps/req.c
									
									
									
									
									
								
							@@ -79,7 +79,13 @@
 | 
			
		||||
#include <openssl/x509v3.h>
 | 
			
		||||
#include <openssl/objects.h>
 | 
			
		||||
#include <openssl/pem.h>
 | 
			
		||||
#include "../crypto/cryptlib.h"
 | 
			
		||||
#include <openssl/bn.h>
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
#include <openssl/rsa.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_DSA
 | 
			
		||||
#include <openssl/dsa.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define SECTION		"req"
 | 
			
		||||
 | 
			
		||||
@@ -130,16 +136,16 @@ static int prompt_info(X509_REQ *req,
 | 
			
		||||
static int auto_info(X509_REQ *req, STACK_OF(CONF_VALUE) *sk,
 | 
			
		||||
				STACK_OF(CONF_VALUE) *attr, int attribs,
 | 
			
		||||
				unsigned long chtype);
 | 
			
		||||
static int add_attribute_object(X509_REQ *req, char *text,
 | 
			
		||||
				char *def, char *value, int nid, int n_min,
 | 
			
		||||
static int add_attribute_object(X509_REQ *req, char *text, const char *def,
 | 
			
		||||
				char *value, int nid, int n_min,
 | 
			
		||||
				int n_max, unsigned long chtype);
 | 
			
		||||
static int add_DN_object(X509_NAME *n, char *text, char *def, char *value,
 | 
			
		||||
static int add_DN_object(X509_NAME *n, char *text, const char *def, char *value,
 | 
			
		||||
	int nid,int n_min,int n_max, unsigned long chtype, int mval);
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
static int MS_CALLBACK req_cb(int p, int n, BN_GENCB *cb);
 | 
			
		||||
#endif
 | 
			
		||||
static int req_check_len(int len,int n_min,int n_max);
 | 
			
		||||
static int check_end(char *str, char *end);
 | 
			
		||||
static int check_end(const char *str, const char *end);
 | 
			
		||||
#ifndef MONOLITH
 | 
			
		||||
static char *default_config_file=NULL;
 | 
			
		||||
#endif
 | 
			
		||||
@@ -187,7 +193,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	char *p;
 | 
			
		||||
	char *subj = NULL;
 | 
			
		||||
	int multirdn = 0;
 | 
			
		||||
	const EVP_MD *md_alg=NULL,*digest=EVP_md5();
 | 
			
		||||
	const EVP_MD *md_alg=NULL,*digest=EVP_sha1();
 | 
			
		||||
	unsigned long chtype = MBSTRING_ASC;
 | 
			
		||||
#ifndef MONOLITH
 | 
			
		||||
	char *to_free;
 | 
			
		||||
@@ -344,6 +350,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				{
 | 
			
		||||
				X509 *xtmp=NULL;
 | 
			
		||||
				EVP_PKEY *dtmp;
 | 
			
		||||
				EC_GROUP *group;
 | 
			
		||||
 | 
			
		||||
				pkey_type=TYPE_EC;
 | 
			
		||||
				p+=3;
 | 
			
		||||
@@ -354,10 +361,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
					}
 | 
			
		||||
				if ((ec_params = EC_KEY_new()) == NULL)
 | 
			
		||||
					goto end;
 | 
			
		||||
				if ((ec_params->group = PEM_read_bio_ECPKParameters(in, NULL, NULL, NULL)) == NULL)
 | 
			
		||||
				group = PEM_read_bio_ECPKParameters(in, NULL, NULL, NULL);
 | 
			
		||||
				if (group == NULL)
 | 
			
		||||
					{
 | 
			
		||||
					if (ec_params)
 | 
			
		||||
						EC_KEY_free(ec_params);
 | 
			
		||||
					EC_KEY_free(ec_params);
 | 
			
		||||
					ERR_clear_error();
 | 
			
		||||
					(void)BIO_reset(in);
 | 
			
		||||
					if ((xtmp=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL)
 | 
			
		||||
@@ -369,7 +376,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
					if ((dtmp=X509_get_pubkey(xtmp))==NULL)
 | 
			
		||||
						goto end;
 | 
			
		||||
					if (dtmp->type == EVP_PKEY_EC)
 | 
			
		||||
						ec_params = ECParameters_dup(dtmp->pkey.eckey);
 | 
			
		||||
						ec_params = EC_KEY_dup(dtmp->pkey.ec);
 | 
			
		||||
					EVP_PKEY_free(dtmp);
 | 
			
		||||
					X509_free(xtmp);
 | 
			
		||||
					if (ec_params == NULL)
 | 
			
		||||
@@ -378,12 +385,16 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
						goto end;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				else
 | 
			
		||||
					{
 | 
			
		||||
					if (EC_KEY_set_group(ec_params, group) == 0)
 | 
			
		||||
						goto end;
 | 
			
		||||
					EC_GROUP_free(group);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				BIO_free(in);
 | 
			
		||||
				in=NULL;
 | 
			
		||||
				
 | 
			
		||||
				newkey = EC_GROUP_get_degree(ec_params->group);
 | 
			
		||||
 | 
			
		||||
				newkey = EC_GROUP_get_degree(EC_KEY_get0_group(ec_params));
 | 
			
		||||
				}
 | 
			
		||||
			else
 | 
			
		||||
#endif
 | 
			
		||||
@@ -720,7 +731,9 @@ bad:
 | 
			
		||||
 | 
			
		||||
	if (newreq && (pkey == NULL))
 | 
			
		||||
		{
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
		BN_GENCB cb;
 | 
			
		||||
#endif
 | 
			
		||||
		char *randfile = NCONF_get_string(req_conf,SECTION,"RANDFILE");
 | 
			
		||||
		if (randfile == NULL)
 | 
			
		||||
			ERR_clear_error();
 | 
			
		||||
@@ -1280,7 +1293,8 @@ static int prompt_info(X509_REQ *req,
 | 
			
		||||
	char buf[100];
 | 
			
		||||
	int nid, mval;
 | 
			
		||||
	long n_min,n_max;
 | 
			
		||||
	char *type,*def,*value;
 | 
			
		||||
	char *type, *value;
 | 
			
		||||
	const char *def;
 | 
			
		||||
	CONF_VALUE *v;
 | 
			
		||||
	X509_NAME *subj;
 | 
			
		||||
	subj = X509_REQ_get_subject_name(req);
 | 
			
		||||
@@ -1506,7 +1520,7 @@ static int auto_info(X509_REQ *req, STACK_OF(CONF_VALUE) *dn_sk,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static int add_DN_object(X509_NAME *n, char *text, char *def, char *value,
 | 
			
		||||
static int add_DN_object(X509_NAME *n, char *text, const char *def, char *value,
 | 
			
		||||
	     int nid, int n_min, int n_max, unsigned long chtype, int mval)
 | 
			
		||||
	{
 | 
			
		||||
	int i,ret=0;
 | 
			
		||||
@@ -1562,8 +1576,8 @@ err:
 | 
			
		||||
	return(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int add_attribute_object(X509_REQ *req, char *text,
 | 
			
		||||
				char *def, char *value, int nid, int n_min,
 | 
			
		||||
static int add_attribute_object(X509_REQ *req, char *text, const char *def,
 | 
			
		||||
				char *value, int nid, int n_min,
 | 
			
		||||
				int n_max, unsigned long chtype)
 | 
			
		||||
	{
 | 
			
		||||
	int i;
 | 
			
		||||
@@ -1660,10 +1674,10 @@ static int req_check_len(int len, int n_min, int n_max)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/* Check if the end of a string matches 'end' */
 | 
			
		||||
static int check_end(char *str, char *end)
 | 
			
		||||
static int check_end(const char *str, const char *end)
 | 
			
		||||
{
 | 
			
		||||
	int elen, slen;	
 | 
			
		||||
	char *tmp;
 | 
			
		||||
	const char *tmp;
 | 
			
		||||
	elen = strlen(end);
 | 
			
		||||
	slen = strlen(str);
 | 
			
		||||
	if(elen > slen) return 1;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								apps/rsa.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								apps/rsa.c
									
									
									
									
									
								
							@@ -56,6 +56,7 @@
 | 
			
		||||
 * [including the GNU Public Licence.]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
@@ -80,9 +81,13 @@
 | 
			
		||||
 * -des		- encrypt output if PEM format with DES in cbc mode
 | 
			
		||||
 * -des3	- encrypt output if PEM format
 | 
			
		||||
 * -idea	- encrypt output if PEM format
 | 
			
		||||
 * -seed	- encrypt output if PEM format
 | 
			
		||||
 * -aes128	- encrypt output if PEM format
 | 
			
		||||
 * -aes192	- encrypt output if PEM format
 | 
			
		||||
 * -aes256	- encrypt output if PEM format
 | 
			
		||||
 * -camellia128 - encrypt output if PEM format
 | 
			
		||||
 * -camellia192 - encrypt output if PEM format
 | 
			
		||||
 * -camellia256 - encrypt output if PEM format
 | 
			
		||||
 * -text	- print a text version
 | 
			
		||||
 * -modulus	- print the RSA key modulus
 | 
			
		||||
 * -check	- verify key consistency
 | 
			
		||||
@@ -207,9 +212,16 @@ bad:
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
		BIO_printf(bio_err," -idea           encrypt PEM output with cbc idea\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		BIO_printf(bio_err," -seed           encrypt PEM output with cbc seed\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
 | 
			
		||||
		BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 | 
			
		||||
#endif
 | 
			
		||||
		BIO_printf(bio_err," -text           print the key in text\n");
 | 
			
		||||
		BIO_printf(bio_err," -noout          don't print key out\n");
 | 
			
		||||
@@ -308,7 +320,7 @@ bad:
 | 
			
		||||
			BIO_printf(out,"RSA key ok\n");
 | 
			
		||||
		else if (r == 0)
 | 
			
		||||
			{
 | 
			
		||||
			long err;
 | 
			
		||||
			unsigned long err;
 | 
			
		||||
 | 
			
		||||
			while ((err = ERR_peek_error()) != 0 &&
 | 
			
		||||
				ERR_GET_LIB(err) == ERR_LIB_RSA &&
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <openssl/opensslconf.h>
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
 | 
			
		||||
#include "apps.h"
 | 
			
		||||
@@ -148,6 +149,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if(!strcmp(*argv, "-oaep")) pad = RSA_PKCS1_OAEP_PADDING;
 | 
			
		||||
		else if(!strcmp(*argv, "-ssl")) pad = RSA_SSLV23_PADDING;
 | 
			
		||||
		else if(!strcmp(*argv, "-pkcs")) pad = RSA_PKCS1_PADDING;
 | 
			
		||||
		else if(!strcmp(*argv, "-x931")) pad = RSA_X931_PADDING;
 | 
			
		||||
		else if(!strcmp(*argv, "-sign")) {
 | 
			
		||||
			rsa_mode = RSA_SIGN;
 | 
			
		||||
			need_priv = 1;
 | 
			
		||||
 
 | 
			
		||||
@@ -148,7 +148,7 @@ typedef fd_mask fd_set;
 | 
			
		||||
#define PORT_STR        "4433"
 | 
			
		||||
#define PROTOCOL        "tcp"
 | 
			
		||||
 | 
			
		||||
int do_server(int port, int *ret, int (*cb) (), char *context);
 | 
			
		||||
int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context);
 | 
			
		||||
#ifdef HEADER_X509_H
 | 
			
		||||
int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
 | 
			
		||||
#endif
 | 
			
		||||
@@ -156,7 +156,7 @@ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
 | 
			
		||||
int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file);
 | 
			
		||||
int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key);
 | 
			
		||||
#endif
 | 
			
		||||
int init_client(int *sock, char *server, int port);
 | 
			
		||||
int init_client(int *sock, char *server, int port, int type);
 | 
			
		||||
int should_retry(int i);
 | 
			
		||||
int extract_port(char *str, short *port_ptr);
 | 
			
		||||
int extract_host_port(char *str,char **host_ptr,unsigned char *ip,short *p);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								apps/s_cb.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								apps/s_cb.c
									
									
									
									
									
								
							@@ -231,6 +231,8 @@ int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file)
 | 
			
		||||
 | 
			
		||||
int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key)
 | 
			
		||||
	{
 | 
			
		||||
	if (cert ==  NULL)
 | 
			
		||||
		return 1;
 | 
			
		||||
	if (SSL_CTX_use_certificate(ctx,cert) <= 0)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_printf(bio_err,"error setting certificate\n");
 | 
			
		||||
@@ -281,7 +283,7 @@ long MS_CALLBACK bio_dump_callback(BIO *bio, int cmd, const char *argp,
 | 
			
		||||
 | 
			
		||||
void MS_CALLBACK apps_ssl_info_callback(const SSL *s, int where, int ret)
 | 
			
		||||
	{
 | 
			
		||||
	char *str;
 | 
			
		||||
	const char *str;
 | 
			
		||||
	int w;
 | 
			
		||||
 | 
			
		||||
	w=where& ~SSL_ST_MASK;
 | 
			
		||||
@@ -344,14 +346,14 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *
 | 
			
		||||
 | 
			
		||||
		if (len > 0)
 | 
			
		||||
			{
 | 
			
		||||
			switch (((unsigned char*)buf)[0])
 | 
			
		||||
			switch (((const unsigned char*)buf)[0])
 | 
			
		||||
				{
 | 
			
		||||
				case 0:
 | 
			
		||||
					str_details1 = ", ERROR:";
 | 
			
		||||
					str_details2 = " ???";
 | 
			
		||||
					if (len >= 3)
 | 
			
		||||
						{
 | 
			
		||||
						unsigned err = (((unsigned char*)buf)[1]<<8) + ((unsigned char*)buf)[2];
 | 
			
		||||
						unsigned err = (((const unsigned char*)buf)[1]<<8) + ((const unsigned char*)buf)[2];
 | 
			
		||||
						
 | 
			
		||||
						switch (err)
 | 
			
		||||
							{
 | 
			
		||||
@@ -420,7 +422,7 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *
 | 
			
		||||
			
 | 
			
		||||
			if (len == 2)
 | 
			
		||||
				{
 | 
			
		||||
				switch (((unsigned char*)buf)[0])
 | 
			
		||||
				switch (((const unsigned char*)buf)[0])
 | 
			
		||||
					{
 | 
			
		||||
				case 1:
 | 
			
		||||
					str_details1 = ", warning";
 | 
			
		||||
@@ -431,7 +433,7 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				str_details2 = " ???";
 | 
			
		||||
				switch (((unsigned char*)buf)[1])
 | 
			
		||||
				switch (((const unsigned char*)buf)[1])
 | 
			
		||||
					{
 | 
			
		||||
				case 0:
 | 
			
		||||
					str_details2 = " close_notify";
 | 
			
		||||
@@ -512,7 +514,7 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *
 | 
			
		||||
 | 
			
		||||
			if (len > 0)
 | 
			
		||||
				{
 | 
			
		||||
				switch (((unsigned char*)buf)[0])
 | 
			
		||||
				switch (((const unsigned char*)buf)[0])
 | 
			
		||||
					{
 | 
			
		||||
				case 0:
 | 
			
		||||
					str_details1 = ", HelloRequest";
 | 
			
		||||
@@ -565,11 +567,11 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *
 | 
			
		||||
			{
 | 
			
		||||
			if (i % 16 == 0 && i > 0)
 | 
			
		||||
				BIO_printf(bio, "\n   ");
 | 
			
		||||
			BIO_printf(bio, " %02x", ((unsigned char*)buf)[i]);
 | 
			
		||||
			BIO_printf(bio, " %02x", ((const unsigned char*)buf)[i]);
 | 
			
		||||
			}
 | 
			
		||||
		if (i < len)
 | 
			
		||||
			BIO_printf(bio, " ...");
 | 
			
		||||
		BIO_printf(bio, "\n");
 | 
			
		||||
		}
 | 
			
		||||
	BIO_flush(bio);
 | 
			
		||||
	(void)BIO_flush(bio);
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										228
									
								
								apps/s_client.c
									
									
									
									
									
								
							
							
						
						
									
										228
									
								
								apps/s_client.c
									
									
									
									
									
								
							@@ -135,6 +135,7 @@ typedef unsigned int u_int;
 | 
			
		||||
#include <openssl/pem.h>
 | 
			
		||||
#include <openssl/rand.h>
 | 
			
		||||
#include "s_apps.h"
 | 
			
		||||
#include "timeouts.h"
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_SYS_WINCE
 | 
			
		||||
/* Windows CE incorrectly defines fileno as returning void*, so to avoid problems below... */
 | 
			
		||||
@@ -187,7 +188,7 @@ static void sc_usage(void)
 | 
			
		||||
	BIO_printf(bio_err," -port port     - use -connect instead\n");
 | 
			
		||||
	BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR);
 | 
			
		||||
 | 
			
		||||
	BIO_printf(bio_err," -verify arg   - turn on peer certificate verification\n");
 | 
			
		||||
	BIO_printf(bio_err," -verify depth - turn on peer certificate verification\n");
 | 
			
		||||
	BIO_printf(bio_err," -cert arg     - certificate file to use, PEM format assumed\n");
 | 
			
		||||
	BIO_printf(bio_err," -certform arg - certificate format (PEM or DER) PEM default\n");
 | 
			
		||||
	BIO_printf(bio_err," -key arg      - Private key file to use, in cert file if\n");
 | 
			
		||||
@@ -200,6 +201,9 @@ static void sc_usage(void)
 | 
			
		||||
	BIO_printf(bio_err," -pause        - sleep(1) after each read(2) and write(2) system call\n");
 | 
			
		||||
	BIO_printf(bio_err," -showcerts    - show all certificates in the chain\n");
 | 
			
		||||
	BIO_printf(bio_err," -debug        - extra output\n");
 | 
			
		||||
#ifdef WATT32
 | 
			
		||||
	BIO_printf(bio_err," -wdebug       - WATT-32 tcp debugging\n");
 | 
			
		||||
#endif
 | 
			
		||||
	BIO_printf(bio_err," -msg          - Show protocol messages\n");
 | 
			
		||||
	BIO_printf(bio_err," -nbio_test    - more ssl protocol testing\n");
 | 
			
		||||
	BIO_printf(bio_err," -state        - print the 'ssl' states\n");
 | 
			
		||||
@@ -212,6 +216,8 @@ static void sc_usage(void)
 | 
			
		||||
	BIO_printf(bio_err," -ssl2         - just use SSLv2\n");
 | 
			
		||||
	BIO_printf(bio_err," -ssl3         - just use SSLv3\n");
 | 
			
		||||
	BIO_printf(bio_err," -tls1         - just use TLSv1\n");
 | 
			
		||||
	BIO_printf(bio_err," -dtls1        - just use DTLSv1\n");    
 | 
			
		||||
	BIO_printf(bio_err," -mtu          - set the MTU\n");
 | 
			
		||||
	BIO_printf(bio_err," -no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol\n");
 | 
			
		||||
	BIO_printf(bio_err," -bugs         - Switch on all SSL implementation bug workarounds\n");
 | 
			
		||||
	BIO_printf(bio_err," -serverpref   - Use server's cipher preferences (only SSLv2)\n");
 | 
			
		||||
@@ -220,7 +226,7 @@ static void sc_usage(void)
 | 
			
		||||
	BIO_printf(bio_err," -starttls prot - use the STARTTLS command before starting TLS\n");
 | 
			
		||||
	BIO_printf(bio_err,"                 for those protocols that support it, where\n");
 | 
			
		||||
	BIO_printf(bio_err,"                 'prot' defines which one to assume.  Currently,\n");
 | 
			
		||||
	BIO_printf(bio_err,"                 only \"smtp\" and \"pop3\" are supported.\n");
 | 
			
		||||
	BIO_printf(bio_err,"                 only \"smtp\", \"pop3\", \"imap\", and \"ftp\" are supported.\n");
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
	BIO_printf(bio_err," -engine id    - Initialise and use the specified engine\n");
 | 
			
		||||
#endif
 | 
			
		||||
@@ -228,6 +234,15 @@ static void sc_usage(void)
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
enum
 | 
			
		||||
{
 | 
			
		||||
	PROTO_OFF	= 0,
 | 
			
		||||
	PROTO_SMTP,
 | 
			
		||||
	PROTO_POP3,
 | 
			
		||||
	PROTO_IMAP,
 | 
			
		||||
	PROTO_FTP
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
int MAIN(int, char **);
 | 
			
		||||
 | 
			
		||||
int MAIN(int argc, char **argv)
 | 
			
		||||
@@ -254,11 +269,16 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int write_tty,read_tty,write_ssl,read_ssl,tty_on,ssl_pending;
 | 
			
		||||
	SSL_CTX *ctx=NULL;
 | 
			
		||||
	int ret=1,in_init=1,i,nbio_test=0;
 | 
			
		||||
	int starttls_proto = 0;
 | 
			
		||||
	int starttls_proto = PROTO_OFF;
 | 
			
		||||
	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;
 | 
			
		||||
	int mbuf_len=0;
 | 
			
		||||
#ifndef OPENSSL_NO_ENGINE
 | 
			
		||||
	char *engine_id=NULL;
 | 
			
		||||
	ENGINE *e=NULL;
 | 
			
		||||
@@ -267,6 +287,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	struct timeval tv;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	struct sockaddr peer;
 | 
			
		||||
	int peerlen = sizeof(peer);
 | 
			
		||||
	int enable_timeouts = 0 ;
 | 
			
		||||
	long mtu = 0;
 | 
			
		||||
 | 
			
		||||
#if !defined(OPENSSL_NO_SSL2) && !defined(OPENSSL_NO_SSL3)
 | 
			
		||||
	meth=SSLv23_client_method();
 | 
			
		||||
#elif !defined(OPENSSL_NO_SSL3)
 | 
			
		||||
@@ -360,6 +385,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			c_Pause=1;
 | 
			
		||||
		else if	(strcmp(*argv,"-debug") == 0)
 | 
			
		||||
			c_debug=1;
 | 
			
		||||
#ifdef WATT32
 | 
			
		||||
		else if (strcmp(*argv,"-wdebug") == 0)
 | 
			
		||||
			dbug_init();
 | 
			
		||||
#endif
 | 
			
		||||
		else if	(strcmp(*argv,"-msg") == 0)
 | 
			
		||||
			c_msg=1;
 | 
			
		||||
		else if	(strcmp(*argv,"-showcerts") == 0)
 | 
			
		||||
@@ -379,6 +408,20 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_TLS1
 | 
			
		||||
		else if	(strcmp(*argv,"-tls1") == 0)
 | 
			
		||||
			meth=TLSv1_client_method();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_DTLS1
 | 
			
		||||
		else if	(strcmp(*argv,"-dtls1") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			meth=DTLSv1_client_method();
 | 
			
		||||
			sock_type=SOCK_DGRAM;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-timeout") == 0)
 | 
			
		||||
			enable_timeouts=1;
 | 
			
		||||
		else if (strcmp(*argv,"-mtu") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			mtu = atol(*(++argv));
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
		else if (strcmp(*argv,"-bugs") == 0)
 | 
			
		||||
			bugs=1;
 | 
			
		||||
@@ -433,9 +476,13 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			++argv;
 | 
			
		||||
			if (strcmp(*argv,"smtp") == 0)
 | 
			
		||||
				starttls_proto = 1;
 | 
			
		||||
				starttls_proto = PROTO_SMTP;
 | 
			
		||||
			else if (strcmp(*argv,"pop3") == 0)
 | 
			
		||||
				starttls_proto = 2;
 | 
			
		||||
				starttls_proto = PROTO_POP3;
 | 
			
		||||
			else if (strcmp(*argv,"imap") == 0)
 | 
			
		||||
				starttls_proto = PROTO_IMAP;
 | 
			
		||||
			else if (strcmp(*argv,"ftp") == 0)
 | 
			
		||||
				starttls_proto = PROTO_FTP;
 | 
			
		||||
			else
 | 
			
		||||
				goto bad;
 | 
			
		||||
			}
 | 
			
		||||
@@ -482,21 +529,32 @@ bad:
 | 
			
		||||
	if (key_file == NULL)
 | 
			
		||||
		key_file = cert_file;
 | 
			
		||||
 | 
			
		||||
	key = load_key(bio_err, key_file, key_format, 0, pass, e,
 | 
			
		||||
		       "client certificate private key file");
 | 
			
		||||
	if (!key)
 | 
			
		||||
 | 
			
		||||
	if (key_file)
 | 
			
		||||
 | 
			
		||||
		{
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
		goto end;
 | 
			
		||||
 | 
			
		||||
		key = load_key(bio_err, key_file, key_format, 0, pass, e,
 | 
			
		||||
			       "client certificate private key file");
 | 
			
		||||
		if (!key)
 | 
			
		||||
			{
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	cert = load_cert(bio_err,cert_file,cert_format,
 | 
			
		||||
			NULL, e, "client certificate file");
 | 
			
		||||
	if (cert_file)
 | 
			
		||||
 | 
			
		||||
	if (!cert)
 | 
			
		||||
		{
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
		goto end;
 | 
			
		||||
		cert = load_cert(bio_err,cert_file,cert_format,
 | 
			
		||||
				NULL, e, "client certificate file");
 | 
			
		||||
 | 
			
		||||
		if (!cert)
 | 
			
		||||
			{
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (!app_RAND_load_file(NULL, bio_err, 1) && inrand == NULL
 | 
			
		||||
@@ -532,6 +590,10 @@ bad:
 | 
			
		||||
		SSL_CTX_set_options(ctx,SSL_OP_ALL|off);
 | 
			
		||||
	else
 | 
			
		||||
		SSL_CTX_set_options(ctx,off);
 | 
			
		||||
	/* DTLS: partial reads end up discarding unread UDP bytes :-( 
 | 
			
		||||
	 * Setting read ahead solves this problem.
 | 
			
		||||
	 */
 | 
			
		||||
	if (sock_type == SOCK_DGRAM) SSL_CTX_set_read_ahead(ctx, 1);
 | 
			
		||||
 | 
			
		||||
	if (state) SSL_CTX_set_info_callback(ctx,apps_ssl_info_callback);
 | 
			
		||||
	if (cipher != NULL)
 | 
			
		||||
@@ -571,7 +633,7 @@ bad:
 | 
			
		||||
 | 
			
		||||
re_start:
 | 
			
		||||
 | 
			
		||||
	if (init_client(&s,host,port) == 0)
 | 
			
		||||
	if (init_client(&s,host,port,sock_type) == 0)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_printf(bio_err,"connect:errno=%d\n",get_last_socket_error());
 | 
			
		||||
		SHUTDOWN(s);
 | 
			
		||||
@@ -592,7 +654,46 @@ re_start:
 | 
			
		||||
		}
 | 
			
		||||
#endif                                              
 | 
			
		||||
	if (c_Pause & 0x01) con->debug=1;
 | 
			
		||||
	sbio=BIO_new_socket(s,BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if ( SSL_version(con) == DTLS1_VERSION)
 | 
			
		||||
		{
 | 
			
		||||
		struct timeval timeout;
 | 
			
		||||
 | 
			
		||||
		sbio=BIO_new_dgram(s,BIO_NOCLOSE);
 | 
			
		||||
		if (getsockname(s, &peer, (void *)&peerlen) < 0)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err, "getsockname:errno=%d\n",
 | 
			
		||||
				get_last_socket_error());
 | 
			
		||||
			SHUTDOWN(s);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		(void)BIO_ctrl_set_connected(sbio, 1, &peer);
 | 
			
		||||
 | 
			
		||||
		if ( enable_timeouts)
 | 
			
		||||
			{
 | 
			
		||||
			timeout.tv_sec = 0;
 | 
			
		||||
			timeout.tv_usec = DGRAM_RCV_TIMEOUT;
 | 
			
		||||
			BIO_ctrl(sbio, BIO_CTRL_DGRAM_SET_RECV_TIMEOUT, 0, &timeout);
 | 
			
		||||
			
 | 
			
		||||
			timeout.tv_sec = 0;
 | 
			
		||||
			timeout.tv_usec = DGRAM_SND_TIMEOUT;
 | 
			
		||||
			BIO_ctrl(sbio, BIO_CTRL_DGRAM_SET_SEND_TIMEOUT, 0, &timeout);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if ( mtu > 0)
 | 
			
		||||
			{
 | 
			
		||||
			SSL_set_options(con, SSL_OP_NO_QUERY_MTU);
 | 
			
		||||
			SSL_set_mtu(con, mtu);
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			/* want to do MTU discovery */
 | 
			
		||||
			BIO_ctrl(sbio, BIO_CTRL_DGRAM_MTU_DISCOVER, 0, NULL);
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		sbio=BIO_new_socket(s,BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if (nbio_test)
 | 
			
		||||
		{
 | 
			
		||||
@@ -606,7 +707,7 @@ re_start:
 | 
			
		||||
		{
 | 
			
		||||
		con->debug=1;
 | 
			
		||||
		BIO_set_callback(sbio,bio_dump_callback);
 | 
			
		||||
		BIO_set_callback_arg(sbio,bio_c_out);
 | 
			
		||||
		BIO_set_callback_arg(sbio,(char *)bio_c_out);
 | 
			
		||||
		}
 | 
			
		||||
	if (c_msg)
 | 
			
		||||
		{
 | 
			
		||||
@@ -632,18 +733,93 @@ re_start:
 | 
			
		||||
	sbuf_off=0;
 | 
			
		||||
 | 
			
		||||
	/* This is an ugly hack that does a lot of assumptions */
 | 
			
		||||
	if (starttls_proto == 1)
 | 
			
		||||
	/* We do have to handle multi-line responses which may come
 | 
			
		||||
 	   in a single packet or not. We therefore have to use
 | 
			
		||||
	   BIO_gets() which does need a buffering BIO. So during
 | 
			
		||||
	   the initial chitchat we do push a buffering BIO into the
 | 
			
		||||
	   chain that is removed again later on to not disturb the
 | 
			
		||||
	   rest of the s_client operation. */
 | 
			
		||||
	if (starttls_proto == PROTO_SMTP)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_read(sbio,mbuf,BUFSIZZ);
 | 
			
		||||
		int foundit=0;
 | 
			
		||||
		BIO *fbio = BIO_new(BIO_f_buffer());
 | 
			
		||||
		BIO_push(fbio, sbio);
 | 
			
		||||
		/* wait for multi-line response to end from SMTP */
 | 
			
		||||
		do
 | 
			
		||||
			{
 | 
			
		||||
			mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
 | 
			
		||||
			}
 | 
			
		||||
		while (mbuf_len>3 && mbuf[3]=='-');
 | 
			
		||||
		/* STARTTLS command requires EHLO... */
 | 
			
		||||
		BIO_printf(fbio,"EHLO openssl.client.net\r\n");
 | 
			
		||||
		(void)BIO_flush(fbio);
 | 
			
		||||
		/* wait for multi-line response to end EHLO SMTP response */
 | 
			
		||||
		do
 | 
			
		||||
			{
 | 
			
		||||
			mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
 | 
			
		||||
			if (strstr(mbuf,"STARTTLS"))
 | 
			
		||||
				foundit=1;
 | 
			
		||||
			}
 | 
			
		||||
		while (mbuf_len>3 && mbuf[3]=='-');
 | 
			
		||||
		(void)BIO_flush(fbio);
 | 
			
		||||
		BIO_pop(fbio);
 | 
			
		||||
		BIO_free(fbio);
 | 
			
		||||
		if (!foundit)
 | 
			
		||||
			BIO_printf(bio_err,
 | 
			
		||||
				   "didn't found starttls in server response,"
 | 
			
		||||
				   " try anyway...\n");
 | 
			
		||||
		BIO_printf(sbio,"STARTTLS\r\n");
 | 
			
		||||
		BIO_read(sbio,sbuf,BUFSIZZ);
 | 
			
		||||
		}
 | 
			
		||||
	if (starttls_proto == 2)
 | 
			
		||||
	else if (starttls_proto == PROTO_POP3)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_read(sbio,mbuf,BUFSIZZ);
 | 
			
		||||
		BIO_printf(sbio,"STLS\r\n");
 | 
			
		||||
		BIO_read(sbio,sbuf,BUFSIZZ);
 | 
			
		||||
		}
 | 
			
		||||
	else if (starttls_proto == PROTO_IMAP)
 | 
			
		||||
		{
 | 
			
		||||
		int foundit=0;
 | 
			
		||||
		BIO *fbio = BIO_new(BIO_f_buffer());
 | 
			
		||||
		BIO_push(fbio, sbio);
 | 
			
		||||
		BIO_gets(fbio,mbuf,BUFSIZZ);
 | 
			
		||||
		/* STARTTLS command requires CAPABILITY... */
 | 
			
		||||
		BIO_printf(fbio,". CAPABILITY\r\n");
 | 
			
		||||
		(void)BIO_flush(fbio);
 | 
			
		||||
		/* wait for multi-line CAPABILITY response */
 | 
			
		||||
		do
 | 
			
		||||
			{
 | 
			
		||||
			mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
 | 
			
		||||
			if (strstr(mbuf,"STARTTLS"))
 | 
			
		||||
				foundit=1;
 | 
			
		||||
			}
 | 
			
		||||
		while (mbuf_len>3 && mbuf[0]!='.');
 | 
			
		||||
		(void)BIO_flush(fbio);
 | 
			
		||||
		BIO_pop(fbio);
 | 
			
		||||
		BIO_free(fbio);
 | 
			
		||||
		if (!foundit)
 | 
			
		||||
			BIO_printf(bio_err,
 | 
			
		||||
				   "didn't found STARTTLS in server response,"
 | 
			
		||||
				   " try anyway...\n");
 | 
			
		||||
		BIO_printf(sbio,". STARTTLS\r\n");
 | 
			
		||||
		BIO_read(sbio,sbuf,BUFSIZZ);
 | 
			
		||||
		}
 | 
			
		||||
	else if (starttls_proto == PROTO_FTP)
 | 
			
		||||
		{
 | 
			
		||||
		BIO *fbio = BIO_new(BIO_f_buffer());
 | 
			
		||||
		BIO_push(fbio, sbio);
 | 
			
		||||
		/* wait for multi-line response to end from FTP */
 | 
			
		||||
		do
 | 
			
		||||
			{
 | 
			
		||||
			mbuf_len = BIO_gets(fbio,mbuf,BUFSIZZ);
 | 
			
		||||
			}
 | 
			
		||||
		while (mbuf_len>3 && mbuf[3]=='-');
 | 
			
		||||
		(void)BIO_flush(fbio);
 | 
			
		||||
		BIO_pop(fbio);
 | 
			
		||||
		BIO_free(fbio);
 | 
			
		||||
		BIO_printf(sbio,"AUTH TLS\r\n");
 | 
			
		||||
		BIO_read(sbio,sbuf,BUFSIZZ);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	for (;;)
 | 
			
		||||
		{
 | 
			
		||||
@@ -668,7 +844,7 @@ re_start:
 | 
			
		||||
					{
 | 
			
		||||
					BIO_printf(bio_err,"%s",mbuf);
 | 
			
		||||
					/* We don't need to know any more */
 | 
			
		||||
					starttls_proto = 0;
 | 
			
		||||
					starttls_proto = PROTO_OFF;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				if (reconnect)
 | 
			
		||||
@@ -1002,14 +1178,16 @@ static void print_stuff(BIO *bio, SSL *s, int full)
 | 
			
		||||
	{
 | 
			
		||||
	X509 *peer=NULL;
 | 
			
		||||
	char *p;
 | 
			
		||||
	static char *space="                ";
 | 
			
		||||
	static const char *space="                ";
 | 
			
		||||
	char buf[BUFSIZ];
 | 
			
		||||
	STACK_OF(X509) *sk;
 | 
			
		||||
	STACK_OF(X509_NAME) *sk2;
 | 
			
		||||
	SSL_CIPHER *c;
 | 
			
		||||
	X509_NAME *xn;
 | 
			
		||||
	int j,i;
 | 
			
		||||
#ifndef OPENSSL_NO_COMP
 | 
			
		||||
	const COMP_METHOD *comp, *expansion;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (full)
 | 
			
		||||
		{
 | 
			
		||||
@@ -1112,17 +1290,19 @@ static void print_stuff(BIO *bio, SSL *s, int full)
 | 
			
		||||
							 EVP_PKEY_bits(pktmp));
 | 
			
		||||
		EVP_PKEY_free(pktmp);
 | 
			
		||||
	}
 | 
			
		||||
#ifndef OPENSSL_NO_COMP
 | 
			
		||||
	comp=SSL_get_current_compression(s);
 | 
			
		||||
	expansion=SSL_get_current_expansion(s);
 | 
			
		||||
	BIO_printf(bio,"Compression: %s\n",
 | 
			
		||||
		comp ? SSL_COMP_get_name(comp) : "NONE");
 | 
			
		||||
	BIO_printf(bio,"Expansion: %s\n",
 | 
			
		||||
		expansion ? SSL_COMP_get_name(expansion) : "NONE");
 | 
			
		||||
#endif
 | 
			
		||||
	SSL_SESSION_print(bio,SSL_get_session(s));
 | 
			
		||||
	BIO_printf(bio,"---\n");
 | 
			
		||||
	if (peer != NULL)
 | 
			
		||||
		X509_free(peer);
 | 
			
		||||
	/* flush, or debugging output gets mixed with http response */
 | 
			
		||||
	BIO_flush(bio);
 | 
			
		||||
	(void)BIO_flush(bio);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										151
									
								
								apps/s_server.c
									
									
									
									
									
								
							
							
						
						
									
										151
									
								
								apps/s_server.c
									
									
									
									
									
								
							@@ -153,7 +153,14 @@ typedef unsigned int u_int;
 | 
			
		||||
#include <openssl/x509.h>
 | 
			
		||||
#include <openssl/ssl.h>
 | 
			
		||||
#include <openssl/rand.h>
 | 
			
		||||
#ifndef OPENSSL_NO_DH
 | 
			
		||||
#include <openssl/dh.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
#include <openssl/rsa.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "s_apps.h"
 | 
			
		||||
#include "timeouts.h"
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_SYS_WINCE
 | 
			
		||||
/* Windows CE incorrectly defines fileno as returning void*, so to avoid problems below... */
 | 
			
		||||
@@ -180,7 +187,7 @@ static void print_stats(BIO *bp,SSL_CTX *ctx);
 | 
			
		||||
static int generate_session_id(const SSL *ssl, unsigned char *id,
 | 
			
		||||
				unsigned int *id_len);
 | 
			
		||||
#ifndef OPENSSL_NO_DH
 | 
			
		||||
static DH *load_dh_param(char *dhfile);
 | 
			
		||||
static DH *load_dh_param(const char *dhfile);
 | 
			
		||||
static DH *get_dh512(void);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -239,7 +246,7 @@ extern int verify_depth;
 | 
			
		||||
static char *cipher=NULL;
 | 
			
		||||
static int s_server_verify=SSL_VERIFY_NONE;
 | 
			
		||||
static int s_server_session_id_context = 1; /* anything will do */
 | 
			
		||||
static char *s_cert_file=TEST_CERT,*s_key_file=NULL;
 | 
			
		||||
static const char *s_cert_file=TEST_CERT,*s_key_file=NULL;
 | 
			
		||||
static char *s_dcert_file=NULL,*s_dkey_file=NULL;
 | 
			
		||||
#ifdef FIONBIO
 | 
			
		||||
static int s_nbio=0;
 | 
			
		||||
@@ -260,6 +267,14 @@ static char *engine_id=NULL;
 | 
			
		||||
#endif
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef MONOLITH
 | 
			
		||||
static void s_server_init(void)
 | 
			
		||||
	{
 | 
			
		||||
@@ -333,6 +348,10 @@ static void sv_usage(void)
 | 
			
		||||
	BIO_printf(bio_err," -ssl2         - Just talk SSLv2\n");
 | 
			
		||||
	BIO_printf(bio_err," -ssl3         - Just talk SSLv3\n");
 | 
			
		||||
	BIO_printf(bio_err," -tls1         - Just talk TLSv1\n");
 | 
			
		||||
	BIO_printf(bio_err," -dtls1        - Just talk DTLSv1\n");
 | 
			
		||||
	BIO_printf(bio_err," -timeout      - Enable timeouts\n");
 | 
			
		||||
	BIO_printf(bio_err," -mtu          - Set MTU\n");
 | 
			
		||||
	BIO_printf(bio_err," -chain        - Read a certificate chain\n");
 | 
			
		||||
	BIO_printf(bio_err," -no_ssl2      - Just disable SSLv2\n");
 | 
			
		||||
	BIO_printf(bio_err," -no_ssl3      - Just disable SSLv3\n");
 | 
			
		||||
	BIO_printf(bio_err," -no_tls1      - Just disable TLSv1\n");
 | 
			
		||||
@@ -515,15 +534,21 @@ int MAIN(int argc, char *argv[])
 | 
			
		||||
	int vflags = 0;
 | 
			
		||||
	short port=PORT;
 | 
			
		||||
	char *CApath=NULL,*CAfile=NULL;
 | 
			
		||||
	char *context = NULL;
 | 
			
		||||
	unsigned char *context = NULL;
 | 
			
		||||
	char *dhfile = NULL;
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
	char *named_curve = NULL;
 | 
			
		||||
#endif
 | 
			
		||||
	int badop=0,bugs=0;
 | 
			
		||||
	int ret=1;
 | 
			
		||||
	int off=0;
 | 
			
		||||
	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;
 | 
			
		||||
#endif
 | 
			
		||||
@@ -593,7 +618,7 @@ int MAIN(int argc, char *argv[])
 | 
			
		||||
		else if	(strcmp(*argv,"-context") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			context= *(++argv);
 | 
			
		||||
			context= (unsigned char *)*(++argv);
 | 
			
		||||
			}
 | 
			
		||||
		else if	(strcmp(*argv,"-cert") == 0)
 | 
			
		||||
			{
 | 
			
		||||
@@ -740,6 +765,22 @@ int MAIN(int argc, char *argv[])
 | 
			
		||||
#ifndef OPENSSL_NO_TLS1
 | 
			
		||||
		else if	(strcmp(*argv,"-tls1") == 0)
 | 
			
		||||
			{ meth=TLSv1_server_method(); }
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_DTLS1
 | 
			
		||||
		else if	(strcmp(*argv,"-dtls1") == 0)
 | 
			
		||||
			{ 
 | 
			
		||||
			meth=DTLSv1_server_method();
 | 
			
		||||
			sock_type = SOCK_DGRAM;
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv,"-timeout") == 0)
 | 
			
		||||
			enable_timeouts = 1;
 | 
			
		||||
		else if (strcmp(*argv,"-mtu") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			if (--argc < 1) goto bad;
 | 
			
		||||
			mtu = atol(*(++argv));
 | 
			
		||||
			}
 | 
			
		||||
		else if (strcmp(*argv, "-chain") == 0)
 | 
			
		||||
			cert_chain = 1;
 | 
			
		||||
#endif
 | 
			
		||||
		else if (strcmp(*argv, "-id_prefix") == 0)
 | 
			
		||||
			{
 | 
			
		||||
@@ -791,21 +832,24 @@ bad:
 | 
			
		||||
	if (s_key_file == NULL)
 | 
			
		||||
		s_key_file = s_cert_file;
 | 
			
		||||
 | 
			
		||||
	s_key = load_key(bio_err, s_key_file, s_key_format, 0, pass, e,
 | 
			
		||||
		       "server certificate private key file");
 | 
			
		||||
	if (!s_key)
 | 
			
		||||
	if (nocert == 0)
 | 
			
		||||
		{
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
		goto end;
 | 
			
		||||
		}
 | 
			
		||||
		s_key = load_key(bio_err, s_key_file, s_key_format, 0, pass, e,
 | 
			
		||||
		       "server certificate private key file");
 | 
			
		||||
		if (!s_key)
 | 
			
		||||
			{
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
	s_cert = load_cert(bio_err,s_cert_file,s_cert_format,
 | 
			
		||||
		s_cert = load_cert(bio_err,s_cert_file,s_cert_format,
 | 
			
		||||
			NULL, e, "server certificate file");
 | 
			
		||||
 | 
			
		||||
	if (!s_cert)
 | 
			
		||||
		{
 | 
			
		||||
		ERR_print_errors(bio_err);
 | 
			
		||||
		goto end;
 | 
			
		||||
		if (!s_cert)
 | 
			
		||||
			{
 | 
			
		||||
			ERR_print_errors(bio_err);
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (s_dcert_file)
 | 
			
		||||
@@ -892,6 +936,10 @@ bad:
 | 
			
		||||
	if (bugs) SSL_CTX_set_options(ctx,SSL_OP_ALL);
 | 
			
		||||
	if (hack) SSL_CTX_set_options(ctx,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
 | 
			
		||||
	SSL_CTX_set_options(ctx,off);
 | 
			
		||||
	/* DTLS: partial reads end up discarding unread UDP bytes :-( 
 | 
			
		||||
	 * Setting read ahead solves this problem.
 | 
			
		||||
	 */
 | 
			
		||||
	if (sock_type == SOCK_DGRAM) SSL_CTX_set_read_ahead(ctx, 1);
 | 
			
		||||
 | 
			
		||||
	if (state) SSL_CTX_set_info_callback(ctx,apps_ssl_info_callback);
 | 
			
		||||
 | 
			
		||||
@@ -950,13 +998,6 @@ bad:
 | 
			
		||||
		{
 | 
			
		||||
		EC_KEY *ecdh=NULL;
 | 
			
		||||
 | 
			
		||||
		ecdh = EC_KEY_new();
 | 
			
		||||
		if (ecdh == NULL)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"Could not create ECDH struct.\n");
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (named_curve)
 | 
			
		||||
			{
 | 
			
		||||
			int nid = OBJ_sn2nid(named_curve);
 | 
			
		||||
@@ -967,9 +1008,8 @@ bad:
 | 
			
		||||
					named_curve);
 | 
			
		||||
				goto end;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
			ecdh->group = EC_GROUP_new_by_nid(nid);
 | 
			
		||||
			if (ecdh->group == NULL)
 | 
			
		||||
			ecdh = EC_KEY_new_by_curve_name(nid);
 | 
			
		||||
			if (ecdh == NULL)
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err, "unable to create curve (%s)\n", 
 | 
			
		||||
					named_curve);
 | 
			
		||||
@@ -977,15 +1017,15 @@ bad:
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if (ecdh->group != NULL)
 | 
			
		||||
		if (ecdh != NULL)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_s_out,"Setting temp ECDH parameters\n");
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_s_out,"Using default temp ECDH parameters\n");
 | 
			
		||||
			ecdh->group=EC_GROUP_new_by_nid(NID_sect163r2);
 | 
			
		||||
			if (ecdh->group == NULL) 
 | 
			
		||||
			ecdh = EC_KEY_new_by_curve_name(NID_sect163r2);
 | 
			
		||||
			if (ecdh == NULL) 
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err, "unable to create curve (sect163r2)\n");
 | 
			
		||||
				goto end;
 | 
			
		||||
@@ -1046,9 +1086,9 @@ bad:
 | 
			
		||||
 | 
			
		||||
	BIO_printf(bio_s_out,"ACCEPT\n");
 | 
			
		||||
	if (www)
 | 
			
		||||
		do_server(port,&accept_socket,www_body, context);
 | 
			
		||||
		do_server(port,sock_type,&accept_socket,www_body, context);
 | 
			
		||||
	else
 | 
			
		||||
		do_server(port,&accept_socket,sv_body, context);
 | 
			
		||||
		do_server(port,sock_type,&accept_socket,sv_body, context);
 | 
			
		||||
	print_stats(bio_s_out,ctx);
 | 
			
		||||
	ret=0;
 | 
			
		||||
end:
 | 
			
		||||
@@ -1067,7 +1107,7 @@ end:
 | 
			
		||||
		OPENSSL_free(dpass);
 | 
			
		||||
	if (bio_s_out != NULL)
 | 
			
		||||
		{
 | 
			
		||||
		BIO_free(bio_s_out);
 | 
			
		||||
        BIO_free(bio_s_out);
 | 
			
		||||
		bio_s_out=NULL;
 | 
			
		||||
		}
 | 
			
		||||
	apps_shutdown();
 | 
			
		||||
@@ -1146,7 +1186,39 @@ static int sv_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
	}
 | 
			
		||||
	SSL_clear(con);
 | 
			
		||||
 | 
			
		||||
	sbio=BIO_new_socket(s,BIO_NOCLOSE);
 | 
			
		||||
	if (SSL_version(con) == DTLS1_VERSION)
 | 
			
		||||
		{
 | 
			
		||||
		struct timeval timeout;
 | 
			
		||||
 | 
			
		||||
		sbio=BIO_new_dgram(s,BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
		if ( enable_timeouts)
 | 
			
		||||
			{
 | 
			
		||||
			timeout.tv_sec = 0;
 | 
			
		||||
			timeout.tv_usec = DGRAM_RCV_TIMEOUT;
 | 
			
		||||
			BIO_ctrl(sbio, BIO_CTRL_DGRAM_SET_RECV_TIMEOUT, 0, &timeout);
 | 
			
		||||
			
 | 
			
		||||
			timeout.tv_sec = 0;
 | 
			
		||||
			timeout.tv_usec = DGRAM_SND_TIMEOUT;
 | 
			
		||||
			BIO_ctrl(sbio, BIO_CTRL_DGRAM_SET_SEND_TIMEOUT, 0, &timeout);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		
 | 
			
		||||
		if ( mtu > 0)
 | 
			
		||||
			{
 | 
			
		||||
			SSL_set_options(con, SSL_OP_NO_QUERY_MTU);
 | 
			
		||||
			SSL_set_mtu(con, mtu);
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			/* want to do MTU discovery */
 | 
			
		||||
			BIO_ctrl(sbio, BIO_CTRL_DGRAM_MTU_DISCOVER, 0, NULL);
 | 
			
		||||
 | 
			
		||||
        /* turn on cookie exchange */
 | 
			
		||||
        SSL_set_options(con, SSL_OP_COOKIE_EXCHANGE);
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		sbio=BIO_new_socket(s,BIO_NOCLOSE);
 | 
			
		||||
 | 
			
		||||
	if (s_nbio_test)
 | 
			
		||||
		{
 | 
			
		||||
		BIO *test;
 | 
			
		||||
@@ -1162,7 +1234,7 @@ static int sv_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
		{
 | 
			
		||||
		con->debug=1;
 | 
			
		||||
		BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
 | 
			
		||||
		BIO_set_callback_arg(SSL_get_rbio(con),bio_s_out);
 | 
			
		||||
		BIO_set_callback_arg(SSL_get_rbio(con),(char *)bio_s_out);
 | 
			
		||||
		}
 | 
			
		||||
	if (s_msg)
 | 
			
		||||
		{
 | 
			
		||||
@@ -1252,7 +1324,8 @@ static int sv_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
				if ((i <= 0) || (buf[0] == 'q'))
 | 
			
		||||
					{
 | 
			
		||||
					BIO_printf(bio_s_out,"DONE\n");
 | 
			
		||||
					SHUTDOWN(s);
 | 
			
		||||
					if (SSL_version(con) != DTLS1_VERSION)
 | 
			
		||||
                        SHUTDOWN(s);
 | 
			
		||||
	/*				close_accept_socket();
 | 
			
		||||
					ret= -11;*/
 | 
			
		||||
					goto err;
 | 
			
		||||
@@ -1281,7 +1354,7 @@ static int sv_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
					}
 | 
			
		||||
				if (buf[0] == 'P')
 | 
			
		||||
					{
 | 
			
		||||
					static char *str="Lets print some clear text\n";
 | 
			
		||||
					static const char *str="Lets print some clear text\n";
 | 
			
		||||
					BIO_write(SSL_get_wbio(con),str,strlen(str));
 | 
			
		||||
					}
 | 
			
		||||
				if (buf[0] == 'S')
 | 
			
		||||
@@ -1465,7 +1538,7 @@ static int init_ssl_connection(SSL *con)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_DH
 | 
			
		||||
static DH *load_dh_param(char *dhfile)
 | 
			
		||||
static DH *load_dh_param(const char *dhfile)
 | 
			
		||||
	{
 | 
			
		||||
	DH *ret=NULL;
 | 
			
		||||
	BIO *bio;
 | 
			
		||||
@@ -1565,7 +1638,7 @@ static int www_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
		{
 | 
			
		||||
		con->debug=1;
 | 
			
		||||
		BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
 | 
			
		||||
		BIO_set_callback_arg(SSL_get_rbio(con),bio_s_out);
 | 
			
		||||
		BIO_set_callback_arg(SSL_get_rbio(con),(char *)bio_s_out);
 | 
			
		||||
		}
 | 
			
		||||
	if (s_msg)
 | 
			
		||||
		{
 | 
			
		||||
@@ -1633,7 +1706,7 @@ static int www_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
			char *p;
 | 
			
		||||
			X509 *peer;
 | 
			
		||||
			STACK_OF(SSL_CIPHER) *sk;
 | 
			
		||||
			static char *space="                          ";
 | 
			
		||||
			static const char *space="                          ";
 | 
			
		||||
 | 
			
		||||
			BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/html\r\n\r\n");
 | 
			
		||||
			BIO_puts(io,"<HTML><BODY BGCOLOR=\"#ffffff\">\n");
 | 
			
		||||
@@ -1713,7 +1786,7 @@ static int www_body(char *hostname, int s, unsigned char *context)
 | 
			
		||||
			{
 | 
			
		||||
			BIO *file;
 | 
			
		||||
			char *p,*e;
 | 
			
		||||
			static char *text="HTTP/1.0 200 ok\r\nContent-type: text/plain\r\n\r\n";
 | 
			
		||||
			static const char *text="HTTP/1.0 200 ok\r\nContent-type: text/plain\r\n\r\n";
 | 
			
		||||
 | 
			
		||||
			/* skip the '/' */
 | 
			
		||||
			p= &(buf[5]);
 | 
			
		||||
 
 | 
			
		||||
@@ -87,14 +87,18 @@ 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);
 | 
			
		||||
static int init_client_ip(int *sock,unsigned char ip[4], int port);
 | 
			
		||||
static int init_server(int *sock, int port);
 | 
			
		||||
static int init_server_long(int *sock, int port,char *ip);
 | 
			
		||||
static int init_client_ip(int *sock,unsigned char ip[4], int port, int type);
 | 
			
		||||
static int init_server(int *sock, int port, int type);
 | 
			
		||||
static int init_server_long(int *sock, int port,char *ip, int type);
 | 
			
		||||
static int do_accept(int acc_sock, int *sock, char **host);
 | 
			
		||||
static int host_ip(char *str, unsigned char ip[4]);
 | 
			
		||||
 | 
			
		||||
@@ -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)
 | 
			
		||||
@@ -172,7 +176,6 @@ static int ssl_sock_init(void)
 | 
			
		||||
#ifdef WATT32
 | 
			
		||||
	extern int _watt_do_exit;
 | 
			
		||||
	_watt_do_exit = 0;
 | 
			
		||||
	dbug_init();
 | 
			
		||||
	if (sock_init())
 | 
			
		||||
		return (0);
 | 
			
		||||
#elif defined(OPENSSL_SYS_WINDOWS)
 | 
			
		||||
@@ -200,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;
 | 
			
		||||
@@ -225,7 +228,7 @@ static int ssl_sock_init(void)
 | 
			
		||||
	return(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int init_client(int *sock, char *host, int port)
 | 
			
		||||
int init_client(int *sock, char *host, int port, int type)
 | 
			
		||||
	{
 | 
			
		||||
	unsigned char ip[4];
 | 
			
		||||
	short p=0;
 | 
			
		||||
@@ -235,10 +238,10 @@ int init_client(int *sock, char *host, int port)
 | 
			
		||||
		return(0);
 | 
			
		||||
		}
 | 
			
		||||
	if (p != 0) port=p;
 | 
			
		||||
	return(init_client_ip(sock,ip,port));
 | 
			
		||||
	return(init_client_ip(sock,ip,port,type));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int init_client_ip(int *sock, unsigned char ip[4], int port)
 | 
			
		||||
static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
 | 
			
		||||
	{
 | 
			
		||||
	unsigned long addr;
 | 
			
		||||
	struct sockaddr_in them;
 | 
			
		||||
@@ -256,13 +259,20 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port)
 | 
			
		||||
		((unsigned long)ip[3]);
 | 
			
		||||
	them.sin_addr.s_addr=htonl(addr);
 | 
			
		||||
 | 
			
		||||
	s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
 | 
			
		||||
	if (type == SOCK_STREAM)
 | 
			
		||||
		s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
 | 
			
		||||
	else /* ( type == SOCK_DGRAM) */
 | 
			
		||||
		s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
 | 
			
		||||
			
 | 
			
		||||
	if (s == INVALID_SOCKET) { perror("socket"); return(0); }
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_SYS_MPE
 | 
			
		||||
	i=0;
 | 
			
		||||
	i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
 | 
			
		||||
	if (i < 0) { perror("keepalive"); return(0); }
 | 
			
		||||
	if (type == SOCK_STREAM)
 | 
			
		||||
		{
 | 
			
		||||
		i=0;
 | 
			
		||||
		i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
 | 
			
		||||
		if (i < 0) { perror("keepalive"); return(0); }
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (connect(s,(struct sockaddr *)&them,sizeof(them)) == -1)
 | 
			
		||||
@@ -271,30 +281,36 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port)
 | 
			
		||||
	return(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
int do_server(int port, int *ret, int (*cb)(), char *context)
 | 
			
		||||
int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context)
 | 
			
		||||
	{
 | 
			
		||||
	int sock;
 | 
			
		||||
	char *name;
 | 
			
		||||
	char *name = NULL;
 | 
			
		||||
	int accept_socket;
 | 
			
		||||
	int i;
 | 
			
		||||
 | 
			
		||||
	if (!init_server(&accept_socket,port)) return(0);
 | 
			
		||||
	if (!init_server(&accept_socket,port,type)) return(0);
 | 
			
		||||
 | 
			
		||||
	if (ret != NULL)
 | 
			
		||||
		{
 | 
			
		||||
		*ret=accept_socket;
 | 
			
		||||
		/* return(1);*/
 | 
			
		||||
		}
 | 
			
		||||
	for (;;)
 | 
			
		||||
		{
 | 
			
		||||
		if (do_accept(accept_socket,&sock,&name) == 0)
 | 
			
		||||
  	for (;;)
 | 
			
		||||
  		{
 | 
			
		||||
		if (type==SOCK_STREAM)
 | 
			
		||||
			{
 | 
			
		||||
			SHUTDOWN(accept_socket);
 | 
			
		||||
			return(0);
 | 
			
		||||
			if (do_accept(accept_socket,&sock,&name) == 0)
 | 
			
		||||
				{
 | 
			
		||||
				SHUTDOWN(accept_socket);
 | 
			
		||||
				return(0);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			sock = accept_socket;
 | 
			
		||||
		i=(*cb)(name,sock, context);
 | 
			
		||||
		if (name != NULL) OPENSSL_free(name);
 | 
			
		||||
		SHUTDOWN2(sock);
 | 
			
		||||
		if (type==SOCK_STREAM)
 | 
			
		||||
			SHUTDOWN2(sock);
 | 
			
		||||
		if (i < 0)
 | 
			
		||||
			{
 | 
			
		||||
			SHUTDOWN2(accept_socket);
 | 
			
		||||
@@ -303,7 +319,7 @@ int do_server(int port, int *ret, int (*cb)(), char *context)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int init_server_long(int *sock, int port, char *ip)
 | 
			
		||||
static int init_server_long(int *sock, int port, char *ip, int type)
 | 
			
		||||
	{
 | 
			
		||||
	int ret=0;
 | 
			
		||||
	struct sockaddr_in server;
 | 
			
		||||
@@ -323,7 +339,11 @@ static int init_server_long(int *sock, int port, char *ip)
 | 
			
		||||
#else
 | 
			
		||||
		memcpy(&server.sin_addr,ip,4);
 | 
			
		||||
#endif
 | 
			
		||||
	s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
 | 
			
		||||
	
 | 
			
		||||
		if (type == SOCK_STREAM)
 | 
			
		||||
			s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
 | 
			
		||||
		else /* type == SOCK_DGRAM */
 | 
			
		||||
			s=socket(AF_INET, SOCK_DGRAM,IPPROTO_UDP);
 | 
			
		||||
 | 
			
		||||
	if (s == INVALID_SOCKET) goto err;
 | 
			
		||||
#if defined SOL_SOCKET && defined SO_REUSEADDR
 | 
			
		||||
@@ -341,7 +361,7 @@ static int init_server_long(int *sock, int port, char *ip)
 | 
			
		||||
		goto err;
 | 
			
		||||
		}
 | 
			
		||||
	/* Make it 128 for linux */
 | 
			
		||||
	if (listen(s,128) == -1) goto err;
 | 
			
		||||
	if (type==SOCK_STREAM && listen(s,128) == -1) goto err;
 | 
			
		||||
	i=0;
 | 
			
		||||
	*sock=s;
 | 
			
		||||
	ret=1;
 | 
			
		||||
@@ -353,9 +373,9 @@ err:
 | 
			
		||||
	return(ret);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int init_server(int *sock, int port)
 | 
			
		||||
static int init_server(int *sock, int port, int type)
 | 
			
		||||
	{
 | 
			
		||||
	return(init_server_long(sock, port, NULL));
 | 
			
		||||
	return(init_server_long(sock, port, NULL, type));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static int do_accept(int acc_sock, int *sock, char **host)
 | 
			
		||||
@@ -382,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
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@
 | 
			
		||||
#undef PROG
 | 
			
		||||
#define PROG	sess_id_main
 | 
			
		||||
 | 
			
		||||
static char *sess_id_usage[]={
 | 
			
		||||
static const char *sess_id_usage[]={
 | 
			
		||||
"usage: sess_id args\n",
 | 
			
		||||
"\n",
 | 
			
		||||
" -inform arg     - input format - default PEM (DER or PEM)\n",
 | 
			
		||||
@@ -95,7 +95,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int informat,outformat;
 | 
			
		||||
	char *infile=NULL,*outfile=NULL,*context=NULL;
 | 
			
		||||
	int cert=0,noout=0,text=0;
 | 
			
		||||
	char **pp;
 | 
			
		||||
	const char **pp;
 | 
			
		||||
 | 
			
		||||
	apps_startup();
 | 
			
		||||
 | 
			
		||||
@@ -241,7 +241,7 @@ bad:
 | 
			
		||||
	if (!noout && !cert)
 | 
			
		||||
		{
 | 
			
		||||
		if 	(outformat == FORMAT_ASN1)
 | 
			
		||||
			i=(int)i2d_SSL_SESSION_bio(out,x);
 | 
			
		||||
			i=i2d_SSL_SESSION_bio(out,x);
 | 
			
		||||
		else if (outformat == FORMAT_PEM)
 | 
			
		||||
			i=PEM_write_bio_SSL_SESSION(out,x);
 | 
			
		||||
		else	{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								apps/smime.c
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								apps/smime.c
									
									
									
									
									
								
							@@ -87,7 +87,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int operation = 0;
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	char **args;
 | 
			
		||||
	char *inmode = "r", *outmode = "w";
 | 
			
		||||
	const char *inmode = "r", *outmode = "w";
 | 
			
		||||
	char *infile = NULL, *outfile = NULL;
 | 
			
		||||
	char *signerfile = NULL, *recipfile = NULL;
 | 
			
		||||
	char *certfile = NULL, *keyfile = NULL, *contfile=NULL;
 | 
			
		||||
@@ -145,6 +145,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if (!strcmp (*args, "-des")) 
 | 
			
		||||
				cipher = EVP_des_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		else if (!strcmp (*args, "-seed")) 
 | 
			
		||||
				cipher = EVP_seed_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC2
 | 
			
		||||
		else if (!strcmp (*args, "-rc2-40")) 
 | 
			
		||||
				cipher = EVP_rc2_40_cbc();
 | 
			
		||||
@@ -160,6 +164,14 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
				cipher = EVP_aes_192_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-aes256"))
 | 
			
		||||
				cipher = EVP_aes_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		else if (!strcmp(*args,"-camellia128"))
 | 
			
		||||
				cipher = EVP_camellia_128_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-camellia192"))
 | 
			
		||||
				cipher = EVP_camellia_192_cbc();
 | 
			
		||||
		else if (!strcmp(*args,"-camellia256"))
 | 
			
		||||
				cipher = EVP_camellia_256_cbc();
 | 
			
		||||
#endif
 | 
			
		||||
		else if (!strcmp (*args, "-text")) 
 | 
			
		||||
				flags |= PKCS7_TEXT;
 | 
			
		||||
@@ -384,9 +396,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		}
 | 
			
		||||
	else if (operation == SMIME_DECRYPT)
 | 
			
		||||
		{
 | 
			
		||||
		if (!recipfile)
 | 
			
		||||
		if (!recipfile && !keyfile)
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err, "No recipient certificate and key specified\n");
 | 
			
		||||
			BIO_printf(bio_err, "No recipient certificate or key specified\n");
 | 
			
		||||
			badarg = 1;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -415,6 +427,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		BIO_printf (bio_err, "-des3          encrypt with triple DES\n");
 | 
			
		||||
		BIO_printf (bio_err, "-des           encrypt with DES\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		BIO_printf (bio_err, "-seed          encrypt with SEED\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC2
 | 
			
		||||
		BIO_printf (bio_err, "-rc2-40        encrypt with RC2-40 (default)\n");
 | 
			
		||||
		BIO_printf (bio_err, "-rc2-64        encrypt with RC2-64\n");
 | 
			
		||||
@@ -423,6 +438,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
		BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
 | 
			
		||||
		BIO_printf (bio_err, "               encrypt PEM output with cbc aes\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
		BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n");
 | 
			
		||||
		BIO_printf (bio_err, "               encrypt PEM output with cbc camellia\n");
 | 
			
		||||
#endif
 | 
			
		||||
		BIO_printf (bio_err, "-nointern      don't search certificates in message for signer\n");
 | 
			
		||||
		BIO_printf (bio_err, "-nosigs        don't verify message signature\n");
 | 
			
		||||
@@ -638,12 +657,6 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		if ((flags & PKCS7_DETACHED) && (outformat == FORMAT_SMIME))
 | 
			
		||||
			flags |= PKCS7_STREAM;
 | 
			
		||||
		p7 = PKCS7_sign(signer, key, other, in, flags);
 | 
			
		||||
		/* Don't need to rewind for partial signing */
 | 
			
		||||
		if (!(flags & PKCS7_STREAM) && (BIO_reset(in) != 0))
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err, "Can't rewind input file\n");
 | 
			
		||||
			goto end;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										610
									
								
								apps/speed.c
									
									
									
									
									
								
							
							
						
						
									
										610
									
								
								apps/speed.c
									
									
									
									
									
								
							@@ -164,6 +164,9 @@
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
#include <openssl/aes.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
#include <openssl/camellia.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_MD2
 | 
			
		||||
#include <openssl/md2.h>
 | 
			
		||||
#endif
 | 
			
		||||
@@ -198,6 +201,9 @@
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
#include <openssl/idea.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
#include <openssl/seed.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_BF
 | 
			
		||||
#include <openssl/blowfish.h>
 | 
			
		||||
#endif
 | 
			
		||||
@@ -262,13 +268,14 @@ static int usertime=1;
 | 
			
		||||
 | 
			
		||||
static double Time_F(int s);
 | 
			
		||||
static void print_message(const char *s,long num,int length);
 | 
			
		||||
static void pkey_print_message(char *str,char *str2,long num,int bits,int sec);
 | 
			
		||||
static void pkey_print_message(const char *str, const char *str2,
 | 
			
		||||
	long num, int bits, int sec);
 | 
			
		||||
static void print_result(int alg,int run_no,int count,double time_used);
 | 
			
		||||
#ifdef HAVE_FORK
 | 
			
		||||
static int do_multi(int multi);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ALGOR_NUM	21
 | 
			
		||||
#define ALGOR_NUM	28
 | 
			
		||||
#define SIZE_NUM	5
 | 
			
		||||
#define RSA_NUM		4
 | 
			
		||||
#define DSA_NUM		3
 | 
			
		||||
@@ -278,16 +285,27 @@ static int do_multi(int multi);
 | 
			
		||||
 | 
			
		||||
static const char *names[ALGOR_NUM]={
 | 
			
		||||
  "md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4",
 | 
			
		||||
  "des cbc","des ede3","idea cbc",
 | 
			
		||||
  "des cbc","des ede3","idea cbc","seed cbc",
 | 
			
		||||
  "rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc",
 | 
			
		||||
  "aes-128 cbc","aes-192 cbc","aes-256 cbc","evp","sha256","sha512"};
 | 
			
		||||
  "aes-128 cbc","aes-192 cbc","aes-256 cbc",
 | 
			
		||||
  "camellia-128 cbc","camellia-192 cbc","camellia-256 cbc",
 | 
			
		||||
  "evp","sha256","sha512",
 | 
			
		||||
  "aes-128 ige","aes-192 ige","aes-256 ige"};
 | 
			
		||||
static double results[ALGOR_NUM][SIZE_NUM];
 | 
			
		||||
static int lengths[SIZE_NUM]={16,64,256,1024,8*1024};
 | 
			
		||||
static double rsa_results[RSA_NUM][2];
 | 
			
		||||
static double dsa_results[DSA_NUM][2];
 | 
			
		||||
#ifndef OPENSSL_NO_ECDSA
 | 
			
		||||
static double ecdsa_results[EC_NUM][2];
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
static double ecdh_results[EC_NUM][1];
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(OPENSSL_NO_DSA) && !(defined(OPENSSL_NO_ECDSA) && defined(OPENSSL_NO_ECDH))
 | 
			
		||||
static const char rnd_seed[] = "string to make the random number generator think it has entropy";
 | 
			
		||||
static int rnd_fake = 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef SIGALRM
 | 
			
		||||
#if defined(__STDC__) || defined(sgi) || defined(_AIX)
 | 
			
		||||
@@ -447,17 +465,21 @@ static double Time_F(int s)
 | 
			
		||||
#endif /* if defined(OPENSSL_SYS_NETWARE) */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
static const int KDF1_SHA1_len = 20;
 | 
			
		||||
static void *KDF1_SHA1(void *in, size_t inlen, void *out, size_t outlen)
 | 
			
		||||
static void *KDF1_SHA1(const void *in, size_t inlen, void *out, size_t *outlen)
 | 
			
		||||
	{
 | 
			
		||||
#ifndef OPENSSL_NO_SHA
 | 
			
		||||
	if (outlen != SHA_DIGEST_LENGTH)
 | 
			
		||||
	if (*outlen < SHA_DIGEST_LENGTH)
 | 
			
		||||
		return NULL;
 | 
			
		||||
	else
 | 
			
		||||
		*outlen = SHA_DIGEST_LENGTH;
 | 
			
		||||
	return SHA1(in, inlen, out);
 | 
			
		||||
#else
 | 
			
		||||
	return NULL;
 | 
			
		||||
#endif
 | 
			
		||||
#endif	/* OPENSSL_NO_SHA */
 | 
			
		||||
	}
 | 
			
		||||
#endif	/* OPENSSL_NO_ECDH */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int MAIN(int, char **);
 | 
			
		||||
@@ -493,9 +515,13 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA
 | 
			
		||||
	unsigned char sha[SHA_DIGEST_LENGTH];
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
	unsigned char sha256[SHA256_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
	unsigned char sha512[SHA512_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RIPEMD
 | 
			
		||||
	unsigned char rmd160[RIPEMD160_DIGEST_LENGTH];
 | 
			
		||||
#endif
 | 
			
		||||
@@ -511,6 +537,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
	IDEA_KEY_SCHEDULE idea_ks;
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	SEED_KEY_SCHEDULE seed_ks;
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_BF
 | 
			
		||||
	BF_KEY bf_ks;
 | 
			
		||||
#endif
 | 
			
		||||
@@ -520,6 +549,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,
 | 
			
		||||
@@ -529,6 +559,18 @@ 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_CAMELLIA
 | 
			
		||||
	static const unsigned char ckey24[24]=
 | 
			
		||||
		{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
 | 
			
		||||
		 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
 | 
			
		||||
		 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};
 | 
			
		||||
	static const unsigned char ckey32[32]=
 | 
			
		||||
		{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
 | 
			
		||||
		 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
 | 
			
		||||
@@ -548,6 +590,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
	AES_KEY aes_ks1, aes_ks2, aes_ks3;
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	CAMELLIA_KEY camellia_ks1, camellia_ks2, camellia_ks3;
 | 
			
		||||
#endif
 | 
			
		||||
#define	D_MD2		0
 | 
			
		||||
#define	D_MDC2		1
 | 
			
		||||
#define	D_MD4		2
 | 
			
		||||
@@ -559,16 +604,23 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#define	D_CBC_DES	8
 | 
			
		||||
#define	D_EDE3_DES	9
 | 
			
		||||
#define	D_CBC_IDEA	10
 | 
			
		||||
#define	D_CBC_RC2	11
 | 
			
		||||
#define	D_CBC_RC5	12
 | 
			
		||||
#define	D_CBC_BF	13
 | 
			
		||||
#define	D_CBC_CAST	14
 | 
			
		||||
#define D_CBC_128_AES	15
 | 
			
		||||
#define D_CBC_192_AES	16
 | 
			
		||||
#define D_CBC_256_AES	17
 | 
			
		||||
#define D_EVP		18
 | 
			
		||||
#define D_SHA256	19
 | 
			
		||||
#define D_SHA512	20
 | 
			
		||||
#define	D_CBC_SEED	11
 | 
			
		||||
#define	D_CBC_RC2	12
 | 
			
		||||
#define	D_CBC_RC5	13
 | 
			
		||||
#define	D_CBC_BF	14
 | 
			
		||||
#define	D_CBC_CAST	15
 | 
			
		||||
#define D_CBC_128_AES	16
 | 
			
		||||
#define D_CBC_192_AES	17
 | 
			
		||||
#define D_CBC_256_AES	18
 | 
			
		||||
#define D_CBC_128_CML   19 
 | 
			
		||||
#define D_CBC_192_CML   20
 | 
			
		||||
#define D_CBC_256_CML   21 
 | 
			
		||||
#define D_EVP		22
 | 
			
		||||
#define D_SHA256	23	
 | 
			
		||||
#define D_SHA512	24
 | 
			
		||||
#define D_IGE_128_AES   25
 | 
			
		||||
#define D_IGE_192_AES   26
 | 
			
		||||
#define D_IGE_256_AES   27
 | 
			
		||||
	double d=0.0;
 | 
			
		||||
	long c[ALGOR_NUM][SIZE_NUM];
 | 
			
		||||
#define	R_DSA_512	0
 | 
			
		||||
@@ -638,7 +690,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	NID_sect409r1,
 | 
			
		||||
	NID_sect571r1
 | 
			
		||||
	}; 
 | 
			
		||||
	static char * test_curves_names[EC_NUM] = 
 | 
			
		||||
	static const char * test_curves_names[EC_NUM] = 
 | 
			
		||||
	{
 | 
			
		||||
	/* Prime Curves */
 | 
			
		||||
	"secp160r1",
 | 
			
		||||
@@ -669,25 +721,29 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_ECDSA
 | 
			
		||||
        unsigned char ecdsasig[256];
 | 
			
		||||
        unsigned int ecdsasiglen;
 | 
			
		||||
        EC_KEY *ecdsa[EC_NUM];
 | 
			
		||||
        long ecdsa_c[EC_NUM][2];
 | 
			
		||||
	unsigned char ecdsasig[256];
 | 
			
		||||
	unsigned int ecdsasiglen;
 | 
			
		||||
	EC_KEY *ecdsa[EC_NUM];
 | 
			
		||||
	long ecdsa_c[EC_NUM][2];
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
        EC_KEY *ecdh_a[EC_NUM], *ecdh_b[EC_NUM];
 | 
			
		||||
        unsigned char secret_a[MAX_ECDH_SIZE], secret_b[MAX_ECDH_SIZE];
 | 
			
		||||
        int secret_size_a, secret_size_b;
 | 
			
		||||
        int ecdh_checks = 0;
 | 
			
		||||
        int secret_idx = 0;
 | 
			
		||||
        long ecdh_c[EC_NUM][2];
 | 
			
		||||
	EC_KEY *ecdh_a[EC_NUM], *ecdh_b[EC_NUM];
 | 
			
		||||
	unsigned char secret_a[MAX_ECDH_SIZE], secret_b[MAX_ECDH_SIZE];
 | 
			
		||||
	int secret_size_a, secret_size_b;
 | 
			
		||||
	int ecdh_checks = 0;
 | 
			
		||||
	int secret_idx = 0;
 | 
			
		||||
	long ecdh_c[EC_NUM][2];
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	int rsa_doit[RSA_NUM];
 | 
			
		||||
	int dsa_doit[DSA_NUM];
 | 
			
		||||
#ifndef OPENSSL_NO_ECDSA
 | 
			
		||||
	int ecdsa_doit[EC_NUM];
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
        int ecdh_doit[EC_NUM];
 | 
			
		||||
#endif
 | 
			
		||||
	int doit[ALGOR_NUM];
 | 
			
		||||
	int pr_header=0;
 | 
			
		||||
	const EVP_CIPHER *evp_cipher=NULL;
 | 
			
		||||
@@ -875,11 +931,15 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
							doit[D_SHA256]=1,
 | 
			
		||||
							doit[D_SHA512]=1;
 | 
			
		||||
		else
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
			if (strcmp(*argv,"sha256") == 0) doit[D_SHA256]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
			if (strcmp(*argv,"sha512") == 0) doit[D_SHA512]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RIPEMD
 | 
			
		||||
			if (strcmp(*argv,"ripemd") == 0) doit[D_RMD160]=1;
 | 
			
		||||
		else
 | 
			
		||||
@@ -901,6 +961,15 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			if (strcmp(*argv,"aes-128-cbc") == 0) doit[D_CBC_128_AES]=1;
 | 
			
		||||
		else	if (strcmp(*argv,"aes-192-cbc") == 0) doit[D_CBC_192_AES]=1;
 | 
			
		||||
		else	if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1;
 | 
			
		||||
		else    if (strcmp(*argv,"aes-128-ige") == 0) doit[D_IGE_128_AES]=1;
 | 
			
		||||
		else	if (strcmp(*argv,"aes-192-ige") == 0) doit[D_IGE_192_AES]=1;
 | 
			
		||||
		else	if (strcmp(*argv,"aes-256-ige") == 0) doit[D_IGE_256_AES]=1;
 | 
			
		||||
                else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
			if (strcmp(*argv,"camellia-128-cbc") == 0) doit[D_CBC_128_CML]=1;
 | 
			
		||||
		else    if (strcmp(*argv,"camellia-192-cbc") == 0) doit[D_CBC_192_CML]=1;
 | 
			
		||||
		else    if (strcmp(*argv,"camellia-256-cbc") == 0) doit[D_CBC_256_CML]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
@@ -944,6 +1013,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
		     if (strcmp(*argv,"seed-cbc") == 0) doit[D_CBC_SEED]=1;
 | 
			
		||||
		else if (strcmp(*argv,"seed") == 0) doit[D_CBC_SEED]=1;
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_BF
 | 
			
		||||
		     if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1;
 | 
			
		||||
		else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1;
 | 
			
		||||
@@ -973,6 +1047,15 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
			if (strcmp(*argv,"camellia") == 0)
 | 
			
		||||
			{
 | 
			
		||||
			doit[D_CBC_128_CML]=1;
 | 
			
		||||
			doit[D_CBC_192_CML]=1;
 | 
			
		||||
			doit[D_CBC_256_CML]=1;
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
			if (strcmp(*argv,"rsa") == 0)
 | 
			
		||||
			{
 | 
			
		||||
@@ -994,6 +1077,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ECDSA
 | 
			
		||||
		     if (strcmp(*argv,"ecdsap160") == 0) ecdsa_doit[R_EC_P160]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdsap192") == 0) ecdsa_doit[R_EC_P192]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdsap224") == 0) ecdsa_doit[R_EC_P224]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdsap256") == 0) ecdsa_doit[R_EC_P256]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdsap384") == 0) ecdsa_doit[R_EC_P384]=2;
 | 
			
		||||
@@ -1017,6 +1101,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
		     if (strcmp(*argv,"ecdhp160") == 0) ecdh_doit[R_EC_P160]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdhp192") == 0) ecdh_doit[R_EC_P192]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdhp224") == 0) ecdh_doit[R_EC_P224]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdhp256") == 0) ecdh_doit[R_EC_P256]=2;
 | 
			
		||||
		else if (strcmp(*argv,"ecdhp384") == 0) ecdh_doit[R_EC_P384]=2;
 | 
			
		||||
@@ -1059,8 +1144,12 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA1
 | 
			
		||||
			BIO_printf(bio_err,"sha1     ");
 | 
			
		||||
			BIO_printf(bio_err,"sha256  ");
 | 
			
		||||
			BIO_printf(bio_err,"sha512  ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA256
 | 
			
		||||
			BIO_printf(bio_err,"sha256   ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SHA512
 | 
			
		||||
			BIO_printf(bio_err,"sha512   ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RIPEMD160
 | 
			
		||||
			BIO_printf(bio_err,"rmd160");
 | 
			
		||||
@@ -1074,6 +1163,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
			BIO_printf(bio_err,"idea-cbc ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
			BIO_printf(bio_err,"seed-cbc ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC2
 | 
			
		||||
			BIO_printf(bio_err,"rc2-cbc  ");
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1083,7 +1175,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_BF
 | 
			
		||||
			BIO_printf(bio_err,"bf-cbc");
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \
 | 
			
		||||
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_SEED) || !defined(OPENSSL_NO_RC2) || \
 | 
			
		||||
    !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_RC5)
 | 
			
		||||
			BIO_printf(bio_err,"\n");
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1092,6 +1184,11 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
			BIO_printf(bio_err,"aes-128-cbc aes-192-cbc aes-256-cbc ");
 | 
			
		||||
			BIO_printf(bio_err,"aes-128-ige aes-192-ige aes-256-ige ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
			BIO_printf(bio_err,"\n");
 | 
			
		||||
			BIO_printf(bio_err,"camellia-128-cbc camellia-192-cbc camellia-256-cbc ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC4
 | 
			
		||||
			BIO_printf(bio_err,"rc4");
 | 
			
		||||
@@ -1106,13 +1203,13 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			BIO_printf(bio_err,"dsa512   dsa1024  dsa2048\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ECDSA
 | 
			
		||||
			BIO_printf(bio_err,"ecdsap160 ecdsap224 ecdsap256 ecdsap384 ecdsap521\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdsap160 ecdsap192 ecdsap224 ecdsap256 ecdsap384 ecdsap521\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdsak163 ecdsak233 ecdsak283 ecdsak409 ecdsak571\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdsab163 ecdsab233 ecdsab283 ecdsab409 ecdsab571\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdsa\n");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
			BIO_printf(bio_err,"ecdhp160  ecdhp224  ecdhp256  ecdhp384  ecdhp521\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdhp160  ecdhp192  ecdhp224  ecdhp256  ecdhp384  ecdhp521\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdhk163  ecdhk233  ecdhk283  ecdhk409  ecdhk571\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdhb163  ecdhb233  ecdhb283  ecdhb409  ecdhb571\n");
 | 
			
		||||
			BIO_printf(bio_err,"ecdh\n");
 | 
			
		||||
@@ -1121,6 +1218,9 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
			BIO_printf(bio_err,"idea     ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
			BIO_printf(bio_err,"seed     ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC2
 | 
			
		||||
			BIO_printf(bio_err,"rc2      ");
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1130,15 +1230,19 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_AES
 | 
			
		||||
			BIO_printf(bio_err,"aes      ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
			BIO_printf(bio_err,"camellia ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
			BIO_printf(bio_err,"rsa      ");
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_BF
 | 
			
		||||
			BIO_printf(bio_err,"blowfish");
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \
 | 
			
		||||
    !defined(OPENSSL_NO_DES) || !defined(OPENSSL_NO_RSA) || \
 | 
			
		||||
    !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES)
 | 
			
		||||
#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_SEED) || \
 | 
			
		||||
    !defined(OPENSSL_NO_RC2) || !defined(OPENSSL_NO_DES) || \
 | 
			
		||||
    !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_BF) || \
 | 
			
		||||
    !defined(OPENSSL_NO_AES) || !defined(OPENSSL_NO_CAMELLIA)
 | 
			
		||||
			BIO_printf(bio_err,"\n");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -1232,9 +1336,17 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	AES_set_encrypt_key(key24,192,&aes_ks2);
 | 
			
		||||
	AES_set_encrypt_key(key32,256,&aes_ks3);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	Camellia_set_key(key16,128,&camellia_ks1);
 | 
			
		||||
	Camellia_set_key(ckey24,192,&camellia_ks2);
 | 
			
		||||
	Camellia_set_key(ckey32,256,&camellia_ks3);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
	idea_set_encrypt_key(key16,&idea_ks);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	SEED_set_key(key16,&seed_ks);
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC4
 | 
			
		||||
	RC4_set_key(&rc4_ks,16,key16);
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1258,10 +1370,10 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	BIO_printf(bio_err,"First we calculate the approximate speed ...\n");
 | 
			
		||||
	count=10;
 | 
			
		||||
	do	{
 | 
			
		||||
		long i;
 | 
			
		||||
		long it;
 | 
			
		||||
		count*=2;
 | 
			
		||||
		Time_F(START);
 | 
			
		||||
		for (i=count; i; i--)
 | 
			
		||||
		for (it=count; it; it--)
 | 
			
		||||
			DES_ecb_encrypt(buf_as_des_cblock,buf_as_des_cblock,
 | 
			
		||||
				&sch,DES_ENCRYPT);
 | 
			
		||||
		d=Time_F(STOP);
 | 
			
		||||
@@ -1278,6 +1390,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	c[D_CBC_DES][0]=count;
 | 
			
		||||
	c[D_EDE3_DES][0]=count/3;
 | 
			
		||||
	c[D_CBC_IDEA][0]=count;
 | 
			
		||||
	c[D_CBC_SEED][0]=count;
 | 
			
		||||
	c[D_CBC_RC2][0]=count;
 | 
			
		||||
	c[D_CBC_RC5][0]=count;
 | 
			
		||||
	c[D_CBC_BF][0]=count;
 | 
			
		||||
@@ -1285,8 +1398,14 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	c[D_CBC_128_AES][0]=count;
 | 
			
		||||
	c[D_CBC_192_AES][0]=count;
 | 
			
		||||
	c[D_CBC_256_AES][0]=count;
 | 
			
		||||
	c[D_CBC_128_CML][0]=count;
 | 
			
		||||
	c[D_CBC_192_CML][0]=count;
 | 
			
		||||
	c[D_CBC_256_CML][0]=count;
 | 
			
		||||
	c[D_SHA256][0]=count;
 | 
			
		||||
	c[D_SHA512][0]=count;
 | 
			
		||||
	c[D_IGE_128_AES][0]=count;
 | 
			
		||||
	c[D_IGE_192_AES][0]=count;
 | 
			
		||||
	c[D_IGE_256_AES][0]=count;
 | 
			
		||||
 | 
			
		||||
	for (i=1; i<SIZE_NUM; i++)
 | 
			
		||||
		{
 | 
			
		||||
@@ -1310,6 +1429,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		c[D_CBC_DES][i]=c[D_CBC_DES][i-1]*l0/l1;
 | 
			
		||||
		c[D_EDE3_DES][i]=c[D_EDE3_DES][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_IDEA][i]=c[D_CBC_IDEA][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_SEED][i]=c[D_CBC_SEED][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_RC2][i]=c[D_CBC_RC2][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_RC5][i]=c[D_CBC_RC5][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;
 | 
			
		||||
@@ -1317,6 +1437,12 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1;
 | 
			
		||||
 		c[D_CBC_128_CML][i]=c[D_CBC_128_CML][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_192_CML][i]=c[D_CBC_192_CML][i-1]*l0/l1;
 | 
			
		||||
		c[D_CBC_256_CML][i]=c[D_CBC_256_CML][i-1]*l0/l1;
 | 
			
		||||
		c[D_IGE_128_AES][i]=c[D_IGE_128_AES][i-1]*l0/l1;
 | 
			
		||||
		c[D_IGE_192_AES][i]=c[D_IGE_192_AES][i-1]*l0/l1;
 | 
			
		||||
		c[D_IGE_256_AES][i]=c[D_IGE_256_AES][i-1]*l0/l1;
 | 
			
		||||
		}
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
	rsa_c[R_RSA_512][0]=count/2000;
 | 
			
		||||
@@ -1361,7 +1487,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_ECDSA
 | 
			
		||||
	ecdsa_c[R_EC_P160][0]=count/1000;
 | 
			
		||||
	ecdsa_c[R_EC_P160][1]=count/1000/2;
 | 
			
		||||
	for (i=R_EC_P224; i<=R_EC_P521; i++)
 | 
			
		||||
	for (i=R_EC_P192; i<=R_EC_P521; i++)
 | 
			
		||||
		{
 | 
			
		||||
		ecdsa_c[i][0]=ecdsa_c[i-1][0]/2;
 | 
			
		||||
		ecdsa_c[i][1]=ecdsa_c[i-1][1]/2;
 | 
			
		||||
@@ -1415,7 +1541,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
#ifndef OPENSSL_NO_ECDH
 | 
			
		||||
	ecdh_c[R_EC_P160][0]=count/1000;
 | 
			
		||||
	ecdh_c[R_EC_P160][1]=count/1000;
 | 
			
		||||
	for (i=R_EC_P224; i<=R_EC_P521; i++)
 | 
			
		||||
	for (i=R_EC_P192; i<=R_EC_P521; i++)
 | 
			
		||||
		{
 | 
			
		||||
		ecdh_c[i][0]=ecdh_c[i-1][0]/2;
 | 
			
		||||
		ecdh_c[i][1]=ecdh_c[i-1][1]/2;
 | 
			
		||||
@@ -1710,6 +1836,93 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (doit[D_IGE_128_AES])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_IGE_128_AES],c[D_IGE_128_AES][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_IGE_128_AES][j]); count++)
 | 
			
		||||
				AES_ige_encrypt(buf,buf2,
 | 
			
		||||
					(unsigned long)lengths[j],&aes_ks1,
 | 
			
		||||
					iv,AES_ENCRYPT);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_IGE_128_AES,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	if (doit[D_IGE_192_AES])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_IGE_192_AES],c[D_IGE_192_AES][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_IGE_192_AES][j]); count++)
 | 
			
		||||
				AES_ige_encrypt(buf,buf2,
 | 
			
		||||
					(unsigned long)lengths[j],&aes_ks2,
 | 
			
		||||
					iv,AES_ENCRYPT);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_IGE_192_AES,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	if (doit[D_IGE_256_AES])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_IGE_256_AES],c[D_IGE_256_AES][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_IGE_256_AES][j]); count++)
 | 
			
		||||
				AES_ige_encrypt(buf,buf2,
 | 
			
		||||
					(unsigned long)lengths[j],&aes_ks3,
 | 
			
		||||
					iv,AES_ENCRYPT);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_IGE_256_AES,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_CAMELLIA
 | 
			
		||||
	if (doit[D_CBC_128_CML])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_CBC_128_CML],c[D_CBC_128_CML][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_CBC_128_CML][j]); count++)
 | 
			
		||||
				Camellia_cbc_encrypt(buf,buf,
 | 
			
		||||
				        (unsigned long)lengths[j],&camellia_ks1,
 | 
			
		||||
				        iv,CAMELLIA_ENCRYPT);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_CBC_128_CML,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	if (doit[D_CBC_192_CML])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_CBC_192_CML],c[D_CBC_192_CML][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_CBC_192_CML][j]); count++)
 | 
			
		||||
				Camellia_cbc_encrypt(buf,buf,
 | 
			
		||||
				        (unsigned long)lengths[j],&camellia_ks2,
 | 
			
		||||
				        iv,CAMELLIA_ENCRYPT);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_CBC_192_CML,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	if (doit[D_CBC_256_CML])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_CBC_256_CML],c[D_CBC_256_CML][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_CBC_256_CML][j]); count++)
 | 
			
		||||
				Camellia_cbc_encrypt(buf,buf,
 | 
			
		||||
				        (unsigned long)lengths[j],&camellia_ks3,
 | 
			
		||||
				        iv,CAMELLIA_ENCRYPT);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_CBC_256_CML,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_IDEA
 | 
			
		||||
	if (doit[D_CBC_IDEA])
 | 
			
		||||
@@ -1727,6 +1940,21 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_SEED
 | 
			
		||||
	if (doit[D_CBC_SEED])
 | 
			
		||||
		{
 | 
			
		||||
		for (j=0; j<SIZE_NUM; j++)
 | 
			
		||||
			{
 | 
			
		||||
			print_message(names[D_CBC_SEED],c[D_CBC_SEED][j],lengths[j]);
 | 
			
		||||
			Time_F(START);
 | 
			
		||||
			for (count=0,run=1; COND(c[D_CBC_SEED][j]); count++)
 | 
			
		||||
				SEED_cbc_encrypt(buf,buf,
 | 
			
		||||
					(unsigned long)lengths[j],&seed_ks,iv,1);
 | 
			
		||||
			d=Time_F(STOP);
 | 
			
		||||
			print_result(D_CBC_SEED,j,count,d);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_RC2
 | 
			
		||||
	if (doit[D_CBC_RC2])
 | 
			
		||||
		{
 | 
			
		||||
@@ -2035,7 +2263,7 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
		int ret;
 | 
			
		||||
 | 
			
		||||
		if (!ecdsa_doit[j]) continue; /* Ignore Curve */ 
 | 
			
		||||
		ecdsa[j] = EC_KEY_new();
 | 
			
		||||
		ecdsa[j] = EC_KEY_new_by_curve_name(test_curves[j]);
 | 
			
		||||
		if (ecdsa[j] == NULL) 
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"ECDSA failure.\n");
 | 
			
		||||
@@ -2044,100 +2272,89 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			} 
 | 
			
		||||
		else 
 | 
			
		||||
			{
 | 
			
		||||
			ecdsa[j]->group = EC_GROUP_new_by_nid(test_curves[j]);
 | 
			
		||||
			/* Could not obtain group information */
 | 
			
		||||
			if (ecdsa[j]->group == NULL) 
 | 
			
		||||
#if 1
 | 
			
		||||
			EC_KEY_precompute_mult(ecdsa[j], NULL);
 | 
			
		||||
#endif
 | 
			
		||||
			/* Perform ECDSA signature test */
 | 
			
		||||
			EC_KEY_generate_key(ecdsa[j]);
 | 
			
		||||
			ret = ECDSA_sign(0, buf, 20, ecdsasig, 
 | 
			
		||||
				&ecdsasiglen, ecdsa[j]);
 | 
			
		||||
			if (ret == 0) 
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err,"ECDSA failure.Could not obtain group information\n");
 | 
			
		||||
				BIO_printf(bio_err,"ECDSA sign failure.  No ECDSA sign will be done.\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				rsa_count=1;
 | 
			
		||||
				} 
 | 
			
		||||
			else 
 | 
			
		||||
				{
 | 
			
		||||
#if 1
 | 
			
		||||
				EC_GROUP_precompute_mult(ecdsa[j]->group, NULL);
 | 
			
		||||
#endif
 | 
			
		||||
				/* Perform ECDSA signature test */
 | 
			
		||||
				EC_KEY_generate_key(ecdsa[j]);
 | 
			
		||||
				ret = ECDSA_sign(0, buf, 20, ecdsasig, 
 | 
			
		||||
					&ecdsasiglen, ecdsa[j]);
 | 
			
		||||
				if (ret == 0) 
 | 
			
		||||
					{
 | 
			
		||||
					BIO_printf(bio_err,"ECDSA sign failure.  No ECDSA sign will be done.\n");
 | 
			
		||||
					ERR_print_errors(bio_err);
 | 
			
		||||
					rsa_count=1;
 | 
			
		||||
					} 
 | 
			
		||||
				else 
 | 
			
		||||
					{
 | 
			
		||||
					pkey_print_message("sign","ecdsa",
 | 
			
		||||
						ecdsa_c[j][0], 
 | 
			
		||||
						test_curves_bits[j],
 | 
			
		||||
						ECDSA_SECONDS);
 | 
			
		||||
 | 
			
		||||
					Time_F(START);
 | 
			
		||||
					for (count=0,run=1; COND(ecdsa_c[j][0]);
 | 
			
		||||
						count++) 
 | 
			
		||||
						{
 | 
			
		||||
						ret=ECDSA_sign(0, buf, 20, 
 | 
			
		||||
							ecdsasig, &ecdsasiglen,
 | 
			
		||||
							ecdsa[j]);
 | 
			
		||||
						if (ret == 0) 
 | 
			
		||||
							{
 | 
			
		||||
							BIO_printf(bio_err, "ECDSA sign failure\n");
 | 
			
		||||
							ERR_print_errors(bio_err);
 | 
			
		||||
							count=1;
 | 
			
		||||
							break;
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
						d=Time_F(STOP);
 | 
			
		||||
 | 
			
		||||
						BIO_printf(bio_err, mr ? "+R5:%ld:%d:%.2f\n" :
 | 
			
		||||
						"%ld %d bit ECDSA signs in %.2fs \n", 
 | 
			
		||||
						count, test_curves_bits[j], d);
 | 
			
		||||
						ecdsa_results[j][0]=d/(double)count;
 | 
			
		||||
						rsa_count=count;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				/* Perform ECDSA verification test */
 | 
			
		||||
				ret=ECDSA_verify(0, buf, 20, ecdsasig, 
 | 
			
		||||
					ecdsasiglen, ecdsa[j]);
 | 
			
		||||
				if (ret != 1) 
 | 
			
		||||
					{
 | 
			
		||||
					BIO_printf(bio_err,"ECDSA verify failure.  No ECDSA verify will be done.\n");
 | 
			
		||||
					ERR_print_errors(bio_err);
 | 
			
		||||
					ecdsa_doit[j] = 0;
 | 
			
		||||
					} 
 | 
			
		||||
				else 
 | 
			
		||||
					{
 | 
			
		||||
					pkey_print_message("verify","ecdsa",
 | 
			
		||||
					ecdsa_c[j][1],
 | 
			
		||||
				pkey_print_message("sign","ecdsa",
 | 
			
		||||
					ecdsa_c[j][0], 
 | 
			
		||||
					test_curves_bits[j],
 | 
			
		||||
					ECDSA_SECONDS);
 | 
			
		||||
					Time_F(START);
 | 
			
		||||
					for (count=0,run=1; COND(ecdsa_c[j][1]); count++) 
 | 
			
		||||
						{
 | 
			
		||||
						ret=ECDSA_verify(0, buf, 20, ecdsasig, ecdsasiglen, ecdsa[j]);
 | 
			
		||||
						if (ret != 1) 
 | 
			
		||||
							{
 | 
			
		||||
							BIO_printf(bio_err, "ECDSA verify failure\n");
 | 
			
		||||
							ERR_print_errors(bio_err);
 | 
			
		||||
							count=1;
 | 
			
		||||
							break;
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
						d=Time_F(STOP);
 | 
			
		||||
						BIO_printf(bio_err, mr? "+R6:%ld:%d:%.2f\n"
 | 
			
		||||
							: "%ld %d bit ECDSA verify in %.2fs\n",
 | 
			
		||||
						count, test_curves_bits[j], d);
 | 
			
		||||
						ecdsa_results[j][1]=d/(double)count;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				if (rsa_count <= 1) 
 | 
			
		||||
				Time_F(START);
 | 
			
		||||
				for (count=0,run=1; COND(ecdsa_c[j][0]);
 | 
			
		||||
					count++) 
 | 
			
		||||
					{
 | 
			
		||||
					/* if longer than 10s, don't do any more */
 | 
			
		||||
					for (j++; j<EC_NUM; j++)
 | 
			
		||||
					ecdsa_doit[j]=0;
 | 
			
		||||
					ret=ECDSA_sign(0, buf, 20, 
 | 
			
		||||
						ecdsasig, &ecdsasiglen,
 | 
			
		||||
						ecdsa[j]);
 | 
			
		||||
					if (ret == 0) 
 | 
			
		||||
						{
 | 
			
		||||
						BIO_printf(bio_err, "ECDSA sign failure\n");
 | 
			
		||||
						ERR_print_errors(bio_err);
 | 
			
		||||
						count=1;
 | 
			
		||||
						break;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				d=Time_F(STOP);
 | 
			
		||||
 | 
			
		||||
				BIO_printf(bio_err, mr ? "+R5:%ld:%d:%.2f\n" :
 | 
			
		||||
					"%ld %d bit ECDSA signs in %.2fs \n", 
 | 
			
		||||
					count, test_curves_bits[j], d);
 | 
			
		||||
				ecdsa_results[j][0]=d/(double)count;
 | 
			
		||||
				rsa_count=count;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
			/* Perform ECDSA verification test */
 | 
			
		||||
			ret=ECDSA_verify(0, buf, 20, ecdsasig, 
 | 
			
		||||
				ecdsasiglen, ecdsa[j]);
 | 
			
		||||
			if (ret != 1) 
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err,"ECDSA verify failure.  No ECDSA verify will be done.\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				ecdsa_doit[j] = 0;
 | 
			
		||||
				} 
 | 
			
		||||
			else 
 | 
			
		||||
				{
 | 
			
		||||
				pkey_print_message("verify","ecdsa",
 | 
			
		||||
				ecdsa_c[j][1],
 | 
			
		||||
				test_curves_bits[j],
 | 
			
		||||
				ECDSA_SECONDS);
 | 
			
		||||
				Time_F(START);
 | 
			
		||||
				for (count=0,run=1; COND(ecdsa_c[j][1]); count++) 
 | 
			
		||||
					{
 | 
			
		||||
					ret=ECDSA_verify(0, buf, 20, ecdsasig, ecdsasiglen, ecdsa[j]);
 | 
			
		||||
					if (ret != 1) 
 | 
			
		||||
						{
 | 
			
		||||
						BIO_printf(bio_err, "ECDSA verify failure\n");
 | 
			
		||||
						ERR_print_errors(bio_err);
 | 
			
		||||
						count=1;
 | 
			
		||||
						break;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				d=Time_F(STOP);
 | 
			
		||||
				BIO_printf(bio_err, mr? "+R6:%ld:%d:%.2f\n"
 | 
			
		||||
						: "%ld %d bit ECDSA verify in %.2fs\n",
 | 
			
		||||
				count, test_curves_bits[j], d);
 | 
			
		||||
				ecdsa_results[j][1]=d/(double)count;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
			if (rsa_count <= 1) 
 | 
			
		||||
				{
 | 
			
		||||
				/* if longer than 10s, don't do any more */
 | 
			
		||||
				for (j++; j<EC_NUM; j++)
 | 
			
		||||
				ecdsa_doit[j]=0;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -2153,8 +2370,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	for (j=0; j<EC_NUM; j++)
 | 
			
		||||
		{
 | 
			
		||||
		if (!ecdh_doit[j]) continue;
 | 
			
		||||
		ecdh_a[j] = EC_KEY_new();
 | 
			
		||||
		ecdh_b[j] = EC_KEY_new();
 | 
			
		||||
		ecdh_a[j] = EC_KEY_new_by_curve_name(test_curves[j]);
 | 
			
		||||
		ecdh_b[j] = EC_KEY_new_by_curve_name(test_curves[j]);
 | 
			
		||||
		if ((ecdh_a[j] == NULL) || (ecdh_b[j] == NULL))
 | 
			
		||||
			{
 | 
			
		||||
			BIO_printf(bio_err,"ECDH failure.\n");
 | 
			
		||||
@@ -2163,90 +2380,79 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			ecdh_a[j]->group = EC_GROUP_new_by_nid(test_curves[j]);
 | 
			
		||||
			if (ecdh_a[j]->group == NULL)
 | 
			
		||||
			/* generate two ECDH key pairs */
 | 
			
		||||
			if (!EC_KEY_generate_key(ecdh_a[j]) ||
 | 
			
		||||
				!EC_KEY_generate_key(ecdh_b[j]))
 | 
			
		||||
				{
 | 
			
		||||
				BIO_printf(bio_err,"ECDH failure.\n");
 | 
			
		||||
				BIO_printf(bio_err,"ECDH key generation failure.\n");
 | 
			
		||||
				ERR_print_errors(bio_err);
 | 
			
		||||
				rsa_count=1;
 | 
			
		||||
				rsa_count=1;		
 | 
			
		||||
				}
 | 
			
		||||
			else
 | 
			
		||||
				{
 | 
			
		||||
				ecdh_b[j]->group = EC_GROUP_dup(ecdh_a[j]->group);
 | 
			
		||||
 | 
			
		||||
				/* generate two ECDH key pairs */
 | 
			
		||||
				if (!EC_KEY_generate_key(ecdh_a[j]) ||
 | 
			
		||||
					!EC_KEY_generate_key(ecdh_b[j]))
 | 
			
		||||
				/* If field size is not more than 24 octets, then use SHA-1 hash of result;
 | 
			
		||||
				 * otherwise, use result (see section 4.8 of draft-ietf-tls-ecc-03.txt).
 | 
			
		||||
				 */
 | 
			
		||||
				int field_size, outlen;
 | 
			
		||||
				void *(*kdf)(const void *in, size_t inlen, void *out, size_t *xoutlen);
 | 
			
		||||
				field_size = EC_GROUP_get_degree(EC_KEY_get0_group(ecdh_a[j]));
 | 
			
		||||
				if (field_size <= 24 * 8)
 | 
			
		||||
					{
 | 
			
		||||
					BIO_printf(bio_err,"ECDH key generation failure.\n");
 | 
			
		||||
					ERR_print_errors(bio_err);
 | 
			
		||||
					rsa_count=1;		
 | 
			
		||||
					outlen = KDF1_SHA1_len;
 | 
			
		||||
					kdf = KDF1_SHA1;
 | 
			
		||||
					}
 | 
			
		||||
				else
 | 
			
		||||
					{
 | 
			
		||||
					/* If field size is not more than 24 octets, then use SHA-1 hash of result;
 | 
			
		||||
					 * otherwise, use result (see section 4.8 of draft-ietf-tls-ecc-03.txt).
 | 
			
		||||
					 */
 | 
			
		||||
					int field_size, outlen;
 | 
			
		||||
					void *(*kdf)(void *in, size_t inlen, void *out, size_t xoutlen);
 | 
			
		||||
					field_size = EC_GROUP_get_degree(ecdh_a[j]->group);
 | 
			
		||||
					if (field_size <= 24 * 8)
 | 
			
		||||
						{
 | 
			
		||||
						outlen = KDF1_SHA1_len;
 | 
			
		||||
						kdf = KDF1_SHA1;
 | 
			
		||||
						}
 | 
			
		||||
					else
 | 
			
		||||
						{
 | 
			
		||||
						outlen = (field_size+7)/8;
 | 
			
		||||
						kdf = NULL;
 | 
			
		||||
						}
 | 
			
		||||
					secret_size_a = ECDH_compute_key(secret_a, outlen,
 | 
			
		||||
						ecdh_b[j]->pub_key,
 | 
			
		||||
						ecdh_a[j], kdf);
 | 
			
		||||
					secret_size_b = ECDH_compute_key(secret_b, outlen,
 | 
			
		||||
						ecdh_a[j]->pub_key,
 | 
			
		||||
						ecdh_b[j], kdf);
 | 
			
		||||
					if (secret_size_a != secret_size_b) 
 | 
			
		||||
						ecdh_checks = 0;
 | 
			
		||||
					else
 | 
			
		||||
						ecdh_checks = 1;
 | 
			
		||||
 | 
			
		||||
					for (secret_idx = 0; 
 | 
			
		||||
					    (secret_idx < secret_size_a)
 | 
			
		||||
						&& (ecdh_checks == 1);
 | 
			
		||||
					    secret_idx++)
 | 
			
		||||
						{
 | 
			
		||||
						if (secret_a[secret_idx] != secret_b[secret_idx])
 | 
			
		||||
						ecdh_checks = 0;
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
					if (ecdh_checks == 0)
 | 
			
		||||
						{
 | 
			
		||||
						BIO_printf(bio_err,"ECDH computations don't match.\n");
 | 
			
		||||
						ERR_print_errors(bio_err);
 | 
			
		||||
						rsa_count=1;		
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
					pkey_print_message("","ecdh",
 | 
			
		||||
					ecdh_c[j][0], 
 | 
			
		||||
					test_curves_bits[j],
 | 
			
		||||
					ECDH_SECONDS);
 | 
			
		||||
					Time_F(START);
 | 
			
		||||
					for (count=0,run=1; COND(ecdh_c[j][0]); count++)
 | 
			
		||||
						{
 | 
			
		||||
						ECDH_compute_key(secret_a, outlen,
 | 
			
		||||
						ecdh_b[j]->pub_key,
 | 
			
		||||
						ecdh_a[j], kdf);
 | 
			
		||||
						}
 | 
			
		||||
					d=Time_F(STOP);
 | 
			
		||||
					BIO_printf(bio_err, mr ? "+R7:%ld:%d:%.2f\n" :"%ld %d-bit ECDH ops in %.2fs\n",
 | 
			
		||||
					count, test_curves_bits[j], d);
 | 
			
		||||
					ecdh_results[j][0]=d/(double)count;
 | 
			
		||||
					rsa_count=count;
 | 
			
		||||
					outlen = (field_size+7)/8;
 | 
			
		||||
					kdf = NULL;
 | 
			
		||||
					}
 | 
			
		||||
				secret_size_a = ECDH_compute_key(secret_a, outlen,
 | 
			
		||||
					EC_KEY_get0_public_key(ecdh_b[j]),
 | 
			
		||||
					ecdh_a[j], kdf);
 | 
			
		||||
				secret_size_b = ECDH_compute_key(secret_b, outlen,
 | 
			
		||||
					EC_KEY_get0_public_key(ecdh_a[j]),
 | 
			
		||||
					ecdh_b[j], kdf);
 | 
			
		||||
				if (secret_size_a != secret_size_b) 
 | 
			
		||||
					ecdh_checks = 0;
 | 
			
		||||
				else
 | 
			
		||||
					ecdh_checks = 1;
 | 
			
		||||
 | 
			
		||||
				for (secret_idx = 0; 
 | 
			
		||||
				    (secret_idx < secret_size_a)
 | 
			
		||||
					&& (ecdh_checks == 1);
 | 
			
		||||
				    secret_idx++)
 | 
			
		||||
					{
 | 
			
		||||
					if (secret_a[secret_idx] != secret_b[secret_idx])
 | 
			
		||||
					ecdh_checks = 0;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				if (ecdh_checks == 0)
 | 
			
		||||
					{
 | 
			
		||||
					BIO_printf(bio_err,"ECDH computations don't match.\n");
 | 
			
		||||
					ERR_print_errors(bio_err);
 | 
			
		||||
					rsa_count=1;		
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				pkey_print_message("","ecdh",
 | 
			
		||||
				ecdh_c[j][0], 
 | 
			
		||||
				test_curves_bits[j],
 | 
			
		||||
				ECDH_SECONDS);
 | 
			
		||||
				Time_F(START);
 | 
			
		||||
				for (count=0,run=1; COND(ecdh_c[j][0]); count++)
 | 
			
		||||
					{
 | 
			
		||||
					ECDH_compute_key(secret_a, outlen,
 | 
			
		||||
					EC_KEY_get0_public_key(ecdh_b[j]),
 | 
			
		||||
					ecdh_a[j], kdf);
 | 
			
		||||
					}
 | 
			
		||||
				d=Time_F(STOP);
 | 
			
		||||
				BIO_printf(bio_err, mr ? "+R7:%ld:%d:%.2f\n" :"%ld %d-bit ECDH ops in %.2fs\n",
 | 
			
		||||
				count, test_curves_bits[j], d);
 | 
			
		||||
				ecdh_results[j][0]=d/(double)count;
 | 
			
		||||
				rsa_count=count;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		if (rsa_count <= 1)
 | 
			
		||||
			{
 | 
			
		||||
			/* if longer than 10s, don't do any more */
 | 
			
		||||
@@ -2360,7 +2566,7 @@ show_res:
 | 
			
		||||
				k,rsa_bits[k],rsa_results[k][0],
 | 
			
		||||
				rsa_results[k][1]);
 | 
			
		||||
		else
 | 
			
		||||
			fprintf(stdout,"rsa %4u bits %8.4fs %8.4fs %8.1f %8.1f\n",
 | 
			
		||||
			fprintf(stdout,"rsa %4u bits %8.6fs %8.6fs %8.1f %8.1f\n",
 | 
			
		||||
				rsa_bits[k],rsa_results[k][0],rsa_results[k][1],
 | 
			
		||||
				1.0/rsa_results[k][0],1.0/rsa_results[k][1]);
 | 
			
		||||
		}
 | 
			
		||||
@@ -2379,7 +2585,7 @@ show_res:
 | 
			
		||||
			fprintf(stdout,"+F3:%u:%u:%f:%f\n",
 | 
			
		||||
				k,dsa_bits[k],dsa_results[k][0],dsa_results[k][1]);
 | 
			
		||||
		else
 | 
			
		||||
			fprintf(stdout,"dsa %4u bits %8.4fs %8.4fs %8.1f %8.1f\n",
 | 
			
		||||
			fprintf(stdout,"dsa %4u bits %8.6fs %8.6fs %8.1f %8.1f\n",
 | 
			
		||||
				dsa_bits[k],dsa_results[k][0],dsa_results[k][1],
 | 
			
		||||
				1.0/dsa_results[k][0],1.0/dsa_results[k][1]);
 | 
			
		||||
		}
 | 
			
		||||
@@ -2486,8 +2692,8 @@ static void print_message(const char *s, long num, int length)
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
static void pkey_print_message(char *str, char *str2, long num, int bits,
 | 
			
		||||
	     int tm)
 | 
			
		||||
static void pkey_print_message(const char *str, const char *str2, long num,
 | 
			
		||||
	int bits, int tm)
 | 
			
		||||
	{
 | 
			
		||||
#ifdef SIGALRM
 | 
			
		||||
	BIO_printf(bio_err,mr ? "+DTP:%d:%s:%s:%d\n"
 | 
			
		||||
@@ -2511,6 +2717,7 @@ static void print_result(int alg,int run_no,int count,double time_used)
 | 
			
		||||
	results[alg][run_no]=((double)count)/time_used*lengths[run_no];
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_FORK
 | 
			
		||||
static char *sstrsep(char **string, const char *delim)
 | 
			
		||||
    {
 | 
			
		||||
    char isdelim[256];
 | 
			
		||||
@@ -2542,7 +2749,6 @@ static char *sstrsep(char **string, const char *delim)
 | 
			
		||||
    return token;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_FORK
 | 
			
		||||
static int do_multi(int multi)
 | 
			
		||||
	{
 | 
			
		||||
	int n;
 | 
			
		||||
 
 | 
			
		||||
@@ -87,7 +87,8 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int verify=0,noout=0,pubkey=0;
 | 
			
		||||
	char *infile = NULL,*outfile = NULL,*prog;
 | 
			
		||||
	char *passargin = NULL, *passin = NULL;
 | 
			
		||||
	char *spkac = "SPKAC", *spksect = "default", *spkstr = NULL;
 | 
			
		||||
	const char *spkac = "SPKAC", *spksect = "default";
 | 
			
		||||
	char *spkstr = NULL;
 | 
			
		||||
	char *challenge = NULL, *keyfile = NULL;
 | 
			
		||||
	CONF *conf = NULL;
 | 
			
		||||
	NETSCAPE_SPKI *spki = NULL;
 | 
			
		||||
@@ -200,7 +201,7 @@ bad:
 | 
			
		||||
		}
 | 
			
		||||
		spki = NETSCAPE_SPKI_new();
 | 
			
		||||
		if(challenge) ASN1_STRING_set(spki->spkac->challenge,
 | 
			
		||||
						 challenge, strlen(challenge));
 | 
			
		||||
						 challenge, (int)strlen(challenge));
 | 
			
		||||
		NETSCAPE_SPKI_set_pubkey(spki, pkey);
 | 
			
		||||
		NETSCAPE_SPKI_sign(spki, pkey, EVP_md5());
 | 
			
		||||
		spkstr = NETSCAPE_SPKI_b64_encode(spki);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										67
									
								
								apps/timeouts.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								apps/timeouts.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
/* apps/timeouts.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).
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef INCLUDED_TIMEOUTS_H
 | 
			
		||||
#define INCLUDED_TIMEOUTS_H
 | 
			
		||||
 | 
			
		||||
/* numbers in us */
 | 
			
		||||
#define DGRAM_RCV_TIMEOUT         250000
 | 
			
		||||
#define DGRAM_SND_TIMEOUT         250000
 | 
			
		||||
 | 
			
		||||
#endif /* ! INCLUDED_TIMEOUTS_H */
 | 
			
		||||
							
								
								
									
										13
									
								
								apps/x509.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								apps/x509.c
									
									
									
									
									
								
							@@ -73,8 +73,12 @@
 | 
			
		||||
#include <openssl/x509v3.h>
 | 
			
		||||
#include <openssl/objects.h>
 | 
			
		||||
#include <openssl/pem.h>
 | 
			
		||||
#ifndef OPENSSL_NO_RSA
 | 
			
		||||
#include <openssl/rsa.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef OPENSSL_NO_DSA
 | 
			
		||||
#include <openssl/dsa.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#undef PROG
 | 
			
		||||
#define PROG x509_main
 | 
			
		||||
@@ -83,7 +87,7 @@
 | 
			
		||||
#define	POSTFIX	".srl"
 | 
			
		||||
#define DEF_DAYS	30
 | 
			
		||||
 | 
			
		||||
static char *x509_usage[]={
 | 
			
		||||
static const char *x509_usage[]={
 | 
			
		||||
"usage: x509 args\n",
 | 
			
		||||
" -inform arg     - input format - default PEM (one of DER, NET or PEM)\n",
 | 
			
		||||
" -outform arg    - output format - default PEM (one of DER, NET or PEM)\n",
 | 
			
		||||
@@ -179,12 +183,12 @@ int MAIN(int argc, char **argv)
 | 
			
		||||
	int C=0;
 | 
			
		||||
	int x509req=0,days=DEF_DAYS,modulus=0,pubkey=0;
 | 
			
		||||
	int pprint = 0;
 | 
			
		||||
	char **pp;
 | 
			
		||||
	const char **pp;
 | 
			
		||||
	X509_STORE *ctx=NULL;
 | 
			
		||||
	X509_REQ *rq=NULL;
 | 
			
		||||
	int fingerprint=0;
 | 
			
		||||
	char buf[256];
 | 
			
		||||
	const EVP_MD *md_alg,*digest=EVP_md5();
 | 
			
		||||
	const EVP_MD *md_alg,*digest=EVP_sha1();
 | 
			
		||||
	CONF *extconf = NULL;
 | 
			
		||||
	char *extsect = NULL, *extfile = NULL, *passin = NULL, *passargin = NULL;
 | 
			
		||||
	int need_rand = 0;
 | 
			
		||||
@@ -1038,8 +1042,7 @@ bad:
 | 
			
		||||
		ah.data=(char *)x;
 | 
			
		||||
		ah.meth=X509_asn1_meth();
 | 
			
		||||
 | 
			
		||||
		/* no macro for this one yet */
 | 
			
		||||
		i=ASN1_i2d_bio(i2d_ASN1_HEADER,out,(unsigned char *)&ah);
 | 
			
		||||
		i=ASN1_i2d_bio_of(ASN1_HEADER,i2d_ASN1_HEADER,out,&ah);
 | 
			
		||||
		}
 | 
			
		||||
	else	{
 | 
			
		||||
		BIO_printf(bio_err,"bad output format specified for outfile\n");
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +0,0 @@
 | 
			
		||||
Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
 | 
			
		||||
 | 
			
		||||
Compile with /O2 chokes the compiler on these files
 | 
			
		||||
 | 
			
		||||
crypto\md\md5_dgst.c		warning '@(#)reg86.c:1.26', line 1110
 | 
			
		||||
crypto\des\ofb64ede.c		warning '@(#)grammar.c:1.147', line 168
 | 
			
		||||
crypto\des\ofb64enc.c		warning '@(#)grammar.c:1.147', line 168
 | 
			
		||||
crypto\des\qud_cksm.c		warning '@(#)grammar.c:1.147', line 168
 | 
			
		||||
crypto\rc2\rc2ofb64.c		warning '@(#)grammar.c:1.147', line 168
 | 
			
		||||
crypto\objects\obj_dat.c	warning	'@(#)grammar.c:1.147', line 168
 | 
			
		||||
				fatal	'@(#)grammar.c:1.147', line 168
 | 
			
		||||
crypto\objects\obj_lib.c	warning	'@(#)grammar.c:1.147', line 168
 | 
			
		||||
				fatal	'@(#)grammar.c:1.147', line 168
 | 
			
		||||
ssl\ssl_auth.c			warning	'@(#)grammar.c:1.147', line 168
 | 
			
		||||
				fatal	'@(#)grammar.c:1.147', line 168
 | 
			
		||||
 | 
			
		||||
Turning on /G3 with build flags that worked fine for /G2 came up with
 | 
			
		||||
divide by zero errors in 'normal' code in speed.c :-(
 | 
			
		||||
							
								
								
									
										22
									
								
								certs/aol1.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								certs/aol1.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
 | 
			
		||||
MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
 | 
			
		||||
bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2
 | 
			
		||||
MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
 | 
			
		||||
ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
 | 
			
		||||
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
 | 
			
		||||
ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk
 | 
			
		||||
hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym
 | 
			
		||||
1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW
 | 
			
		||||
OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb
 | 
			
		||||
2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko
 | 
			
		||||
O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
 | 
			
		||||
AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU
 | 
			
		||||
AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
 | 
			
		||||
BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF
 | 
			
		||||
Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb
 | 
			
		||||
LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir
 | 
			
		||||
oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C
 | 
			
		||||
MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
 | 
			
		||||
sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										33
									
								
								certs/aol2.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								certs/aol2.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
 | 
			
		||||
MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
 | 
			
		||||
bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2
 | 
			
		||||
MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
 | 
			
		||||
ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
 | 
			
		||||
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
 | 
			
		||||
ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC
 | 
			
		||||
206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci
 | 
			
		||||
KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2
 | 
			
		||||
JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9
 | 
			
		||||
BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e
 | 
			
		||||
Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B
 | 
			
		||||
PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67
 | 
			
		||||
Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq
 | 
			
		||||
Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ
 | 
			
		||||
o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3
 | 
			
		||||
+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj
 | 
			
		||||
YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj
 | 
			
		||||
FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
 | 
			
		||||
AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn
 | 
			
		||||
xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2
 | 
			
		||||
LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc
 | 
			
		||||
obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8
 | 
			
		||||
CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe
 | 
			
		||||
IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA
 | 
			
		||||
DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F
 | 
			
		||||
AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX
 | 
			
		||||
Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb
 | 
			
		||||
AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl
 | 
			
		||||
Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw
 | 
			
		||||
RY8mkaKO/qk=
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										23
									
								
								certs/aoltw1.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								certs/aoltw1.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx
 | 
			
		||||
HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh
 | 
			
		||||
IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0
 | 
			
		||||
aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyOTA2MDAwMFoXDTM3MTEyMDE1
 | 
			
		||||
MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg
 | 
			
		||||
SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M
 | 
			
		||||
IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIw
 | 
			
		||||
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U
 | 
			
		||||
0pPlLYnKhHw/EEMbjIt8hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItI
 | 
			
		||||
TuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkGIBKOQuHfD5YQUqjPnF+VFNivO3ULMSAf
 | 
			
		||||
RC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93f7DKeHEMXRZxcKLXwjqF
 | 
			
		||||
zQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQIfHNlIAqh
 | 
			
		||||
BC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEA
 | 
			
		||||
AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jY
 | 
			
		||||
PXy+XxIwHwYDVR0jBBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/
 | 
			
		||||
BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn
 | 
			
		||||
9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u0FIy2VkyvNp5ctZ7CegCgTXT
 | 
			
		||||
Ct8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77BfWgDrvq2g+EQF
 | 
			
		||||
Z7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX
 | 
			
		||||
n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoW
 | 
			
		||||
H1iCC+GWaQVLjuyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										34
									
								
								certs/aoltw2.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								certs/aoltw2.pem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx
 | 
			
		||||
HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh
 | 
			
		||||
IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0
 | 
			
		||||
aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyOTA2MDAwMFoXDTM3MDkyODIz
 | 
			
		||||
NDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg
 | 
			
		||||
SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M
 | 
			
		||||
IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIw
 | 
			
		||||
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ
 | 
			
		||||
7ouZzU9AhqS2TcnZsdw8TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilb
 | 
			
		||||
m2BPJoPRYxJWSXakFsKlnUWsi4SVqBax7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOY
 | 
			
		||||
xFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17nOirYlxcwfACtCJ0zr7iZ
 | 
			
		||||
YYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2wTPDaRrbq
 | 
			
		||||
JS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fx
 | 
			
		||||
I2rSAG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETz
 | 
			
		||||
kxmlJ85per5n0/xQpCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFh
 | 
			
		||||
EVsVS6kkUfykXPcXnbDS+gfpj1bkGoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/S
 | 
			
		||||
Btc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuWCpTehTacyH+BCQJJKg71ZDIM
 | 
			
		||||
gtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1ExMVCgyhwn2RAu
 | 
			
		||||
rda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
 | 
			
		||||
FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO
 | 
			
		||||
1b+pxCAoMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyugu
 | 
			
		||||
h4X7ZVnnrREUpVe8WJ8kEle7+z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdP
 | 
			
		||||
yXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI5Rq8NEQh3q0l/HYWdyGQgJhXnU7q
 | 
			
		||||
7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcCtQVBynlQboIOcXKT
 | 
			
		||||
RuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ68W/
 | 
			
		||||
ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyB
 | 
			
		||||
M5kYJRF3p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQ
 | 
			
		||||
my8YJPamTQr5O8t1wswvziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xO
 | 
			
		||||
AU++CrYD062KRffaJ00psUjf5BHklka9bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT
 | 
			
		||||
9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4oGKQWDzH9OmwjkyB24f0H
 | 
			
		||||
hdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2uBOLZ8/5
 | 
			
		||||
fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg=
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										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-----
 | 
			
		||||
							
								
								
									
										298
									
								
								config
									
									
									
									
									
								
							
							
						
						
									
										298
									
								
								config
									
									
									
									
									
								
							@@ -48,10 +48,10 @@ done
 | 
			
		||||
 | 
			
		||||
# First get uname entries that we use below
 | 
			
		||||
 | 
			
		||||
MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
 | 
			
		||||
RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
 | 
			
		||||
SYSTEM=`(uname -s) 2>/dev/null`  || SYSTEM="unknown"
 | 
			
		||||
VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
 | 
			
		||||
[ "$MACHINE" ] || MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
 | 
			
		||||
[ "$RELEASE" ] || RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
 | 
			
		||||
[ "$SYSTEM" ] || SYSTEM=`(uname -s) 2>/dev/null`  || SYSTEM="unknown"
 | 
			
		||||
[ "$BUILD" ] || VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Now test for ISC and SCO, since it is has a braindamaged uname.
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -111,12 +110,16 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
 | 
			
		||||
	echo "m68k-apple-aux3"; exit 0
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    AIX:[3-9]:4:*)
 | 
			
		||||
	echo "${MACHINE}-ibm-aix"; exit 0
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    AIX:*:[5-9]:*)
 | 
			
		||||
	echo "${MACHINE}-ibm-aix5"; exit 0
 | 
			
		||||
	echo "${MACHINE}-ibm-aix"; exit 0
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    AIX:*)
 | 
			
		||||
	echo "${MACHINE}-ibm-aix"; exit 0
 | 
			
		||||
	echo "${MACHINE}-ibm-aix3"; exit 0
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    dgux:*)
 | 
			
		||||
@@ -333,6 +336,9 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
 | 
			
		||||
	echo "mips-sony-newsos4"; exit 0;
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    MINGW*)
 | 
			
		||||
	echo "${MACHINE}-whatever-mingw"; exit 0;
 | 
			
		||||
	;;
 | 
			
		||||
    CYGWIN*)
 | 
			
		||||
	case "$RELEASE" in
 | 
			
		||||
	    [bB]*|1.0|1.[12].*)
 | 
			
		||||
@@ -400,7 +406,7 @@ if [ "$GCCVER" != "" ]; then
 | 
			
		||||
  CC=gcc
 | 
			
		||||
  # then strip off whatever prefix egcs prepends the number with...
 | 
			
		||||
  # Hopefully, this will work for any future prefixes as well.
 | 
			
		||||
  GCCVER=`echo $GCCVER | sed 's/^[a-zA-Z]*\-//'`
 | 
			
		||||
  GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
 | 
			
		||||
  # Since gcc 3.1 gcc --version behaviour has changed.  gcc -dumpversion
 | 
			
		||||
  # does give us what we want though, so we use that.  We just just the
 | 
			
		||||
  # major and minor version numbers.
 | 
			
		||||
@@ -438,15 +444,13 @@ if [ "$SYSTEM" = "SunOS" ]; then
 | 
			
		||||
  	egrep -e '^cc: .* C [0-9]\.[0-9]' | \
 | 
			
		||||
	sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
 | 
			
		||||
  CCVER=${CCVER:-0}
 | 
			
		||||
  if [ $CCVER -gt 40 ]; then
 | 
			
		||||
  if [ $MACHINE != i86pc -a $CCVER -gt 40 ]; then
 | 
			
		||||
    CC=cc	# overrides gcc!!!
 | 
			
		||||
    if [ $CCVER -eq 50 ]; then
 | 
			
		||||
      echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
 | 
			
		||||
      echo "         patch #107357-01 or later applied."
 | 
			
		||||
      sleep 5
 | 
			
		||||
    fi
 | 
			
		||||
  elif [ "$CC" = "cc" -a $CCVER -gt 0 ]; then
 | 
			
		||||
    CC=sc3
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@@ -487,88 +491,55 @@ case "$GUESSOS" in
 | 
			
		||||
	OUT="irix-$CC"
 | 
			
		||||
	;;
 | 
			
		||||
  mips3-sgi-irix)
 | 
			
		||||
	CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
 | 
			
		||||
	CPU=${CPU:-0}
 | 
			
		||||
	if [ $CPU -ge 5000 ]; then
 | 
			
		||||
		options="$options -mips4"
 | 
			
		||||
	else
 | 
			
		||||
		options="$options -mips3"
 | 
			
		||||
	fi
 | 
			
		||||
	#CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
 | 
			
		||||
	#CPU=${CPU:-0}
 | 
			
		||||
	#if [ $CPU -ge 5000 ]; then
 | 
			
		||||
	#	options="$options -mips4"
 | 
			
		||||
	#else
 | 
			
		||||
	#	options="$options -mips3"
 | 
			
		||||
	#fi
 | 
			
		||||
	OUT="irix-mips3-$CC"
 | 
			
		||||
	;;
 | 
			
		||||
  mips4-sgi-irix64)
 | 
			
		||||
	echo "WARNING! If you wish to build 64-bit library, then you have to"
 | 
			
		||||
	echo "         invoke './Configure irix64-mips4-$CC' *manually*."
 | 
			
		||||
	if [ "$TEST" = "false" ]; then
 | 
			
		||||
	  echo "         You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
	  (stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
	fi
 | 
			
		||||
        CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
 | 
			
		||||
        CPU=${CPU:-0}
 | 
			
		||||
        if [ $CPU -ge 5000 ]; then
 | 
			
		||||
                options="$options -mips4"
 | 
			
		||||
        else
 | 
			
		||||
                options="$options -mips3"
 | 
			
		||||
        fi
 | 
			
		||||
	OUT="irix-mips3-$CC"
 | 
			
		||||
	OUT="irix64-mips4-$CC"
 | 
			
		||||
	;;
 | 
			
		||||
  ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
 | 
			
		||||
  ppc-apple-darwin*) OUT="darwin-ppc-cc" ;;
 | 
			
		||||
  i386-apple-darwin*) OUT="darwin-i386-cc" ;;
 | 
			
		||||
  alpha-*-linux2)
 | 
			
		||||
        ISA=`awk '/cpu model/{print$4}' /proc/cpuinfo`
 | 
			
		||||
        ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
 | 
			
		||||
	case ${ISA:-generic} in
 | 
			
		||||
	*[67])	OUT="linux-alpha+bwx-$CC" ;;
 | 
			
		||||
	*[678])	OUT="linux-alpha+bwx-$CC" ;;
 | 
			
		||||
	*)	OUT="linux-alpha-$CC" ;;
 | 
			
		||||
	esac
 | 
			
		||||
	if [ "$CC" = "gcc" ]; then
 | 
			
		||||
	    case ${ISA:-generic} in
 | 
			
		||||
	    EV5|EV45)		options="$options -mcpu=ev5";;
 | 
			
		||||
	    EV56|PCA56)		options="$options -mcpu=ev56";;
 | 
			
		||||
	    EV6|EV67|PCA57)	options="$options -mcpu=ev6";;
 | 
			
		||||
	    *)			options="$options -mcpu=ev6";;
 | 
			
		||||
	    esac
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  mips-*-linux?)
 | 
			
		||||
          cat >dummy.c <<EOF
 | 
			
		||||
#include <stdio.h>  /* for printf() prototype */
 | 
			
		||||
        int main (argc, argv) int argc; char *argv[]; {
 | 
			
		||||
#ifdef __MIPSEB__
 | 
			
		||||
  printf ("linux-%s\n", argv[1]);
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __MIPSEL__
 | 
			
		||||
  printf ("linux-%sel\n", argv[1]);
 | 
			
		||||
#endif
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
	${CC} -o dummy dummy.c && OUT=`./dummy ${MACHINE}`
 | 
			
		||||
	rm dummy dummy.c
 | 
			
		||||
  ppc64-*-linux2)
 | 
			
		||||
	OUT="linux-ppc64"
 | 
			
		||||
	;;
 | 
			
		||||
  ppc64-*-linux2) OUT="linux-ppc64" ;;
 | 
			
		||||
  ppc-*-linux2) OUT="linux-ppc" ;;
 | 
			
		||||
  m68k-*-linux*) OUT="linux-m68k" ;;
 | 
			
		||||
  ia64-*-linux?) OUT="linux-ia64" ;;
 | 
			
		||||
  ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
 | 
			
		||||
  ppc-apple-darwin*) OUT="darwin-ppc-cc" ;;
 | 
			
		||||
  i386-apple-darwin*) OUT="darwin-i386-cc" ;;
 | 
			
		||||
  sparc64-*-linux2)
 | 
			
		||||
	echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI"
 | 
			
		||||
	echo "         and wish to build 64-bit library, then you have to"
 | 
			
		||||
	echo "         invoke './Configure linux64-sparcv9' *manually*."
 | 
			
		||||
	if [ "$TEST" = "false" ]; then
 | 
			
		||||
	  echo "          You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
	  (stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
	fi
 | 
			
		||||
	OUT="linux-sparcv9" ;;
 | 
			
		||||
	OUT="linux64-sparcv9" ;;
 | 
			
		||||
  sparc-*-linux2)
 | 
			
		||||
	KARCH=`awk '/^type/{print$3}' /proc/cpuinfo`
 | 
			
		||||
	KARCH=`awk '/^type/{print$3;exit(0);}' /proc/cpuinfo`
 | 
			
		||||
	case ${KARCH:-sun4} in
 | 
			
		||||
	sun4u*)	OUT="linux-sparcv9" ;;
 | 
			
		||||
	sun4m)	OUT="linux-sparcv8" ;;
 | 
			
		||||
	sun4d)	OUT="linux-sparcv8" ;;
 | 
			
		||||
	*)	OUT="linux-sparcv7" ;;
 | 
			
		||||
	*)	OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
 | 
			
		||||
	esac ;;
 | 
			
		||||
  parisc-*-linux2)
 | 
			
		||||
        CPUARCH=`awk '/cpu family/{print substr($5,1,3)}' /proc/cpuinfo`
 | 
			
		||||
	CPUSCHEDULE=`awk '/^cpu.[ 	]: PA/{print substr($3,3)}' /proc/cpuinfo`
 | 
			
		||||
  parisc*-*-linux2)
 | 
			
		||||
	# 64-bit builds under parisc64 linux are not supported and
 | 
			
		||||
	# compiler is expected to generate 32-bit objects...
 | 
			
		||||
	CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo`
 | 
			
		||||
	CPUSCHEDULE=`awk '/^cpu.[ 	]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo`
 | 
			
		||||
 | 
			
		||||
	# ??TODO ??  Model transformations
 | 
			
		||||
	# 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off
 | 
			
		||||
@@ -581,106 +552,94 @@ EOF
 | 
			
		||||
	#         PA8500   -> 8000   (2.0)
 | 
			
		||||
	#         PA8600   -> 8000   (2.0)
 | 
			
		||||
 | 
			
		||||
	CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8?00/8000/'`
 | 
			
		||||
	CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8.00/8000/'`
 | 
			
		||||
	# Finish Model transformations
 | 
			
		||||
 | 
			
		||||
	options="$options -mschedule=$CPUSCHEDULE -march=$CPUARCH"
 | 
			
		||||
	OUT="linux-parisc" ;;
 | 
			
		||||
  arm*-*-linux2) OUT="linux-elf-arm" ;;
 | 
			
		||||
  s390-*-linux2) OUT="linux-s390" ;;
 | 
			
		||||
  s390x-*-linux?) OUT="linux-s390x" ;;
 | 
			
		||||
	options="$options -DB_ENDIAN -mschedule=$CPUSCHEDULE -march=$CPUARCH"
 | 
			
		||||
	OUT="linux-generic32" ;;
 | 
			
		||||
  arm*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
 | 
			
		||||
  arm*l-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
 | 
			
		||||
  sh*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
 | 
			
		||||
  sh*-*-linux2)  OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
 | 
			
		||||
  m68k*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
 | 
			
		||||
  s390-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN -DNO_ASM" ;;
 | 
			
		||||
  s390x-*-linux2) OUT="linux-s390x" ;;
 | 
			
		||||
  x86_64-*-linux?) OUT="linux-x86_64" ;;
 | 
			
		||||
  *-*-linux2) OUT="linux-elf"
 | 
			
		||||
  *86-*-linux2) OUT="linux-elf"
 | 
			
		||||
	if [ "$GCCVER" -gt 28 ]; then
 | 
			
		||||
          if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
 | 
			
		||||
            OUT="linux-pentium"
 | 
			
		||||
	    options="$options -march=pentium"
 | 
			
		||||
          fi
 | 
			
		||||
          if grep '^model.*Pentium Pro' /proc/cpuinfo >/dev/null ; then
 | 
			
		||||
            OUT="linux-ppro"
 | 
			
		||||
	    options="$options -march=pentiumpro"
 | 
			
		||||
          fi
 | 
			
		||||
          if grep '^model.*K6' /proc/cpuinfo >/dev/null ; then
 | 
			
		||||
            OUT="linux-k6"
 | 
			
		||||
	    options="$options -march=k6"
 | 
			
		||||
          fi
 | 
			
		||||
        fi ;;
 | 
			
		||||
  *-*-linux1) OUT="linux-aout" ;;
 | 
			
		||||
  sun4u*-*-solaris2)
 | 
			
		||||
  *-*-linux2) OUT="linux-generic32" ;;
 | 
			
		||||
  sun4[uv]*-*-solaris2)
 | 
			
		||||
	OUT="solaris-sparcv9-$CC"
 | 
			
		||||
	ISA64=`(isalist) 2>/dev/null | grep sparcv9`
 | 
			
		||||
	if [ "$ISA64" != "" ]; then
 | 
			
		||||
	    if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
 | 
			
		||||
		echo "WARNING! If you wish to build 64-bit library, then you have to"
 | 
			
		||||
		echo "         invoke './Configure solaris64-sparcv9-cc' *manually*."
 | 
			
		||||
		if [ "$TEST" = "false" ]; then
 | 
			
		||||
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
		  (stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
		fi
 | 
			
		||||
		OUT="solaris64-sparcv9-cc"
 | 
			
		||||
	    elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
 | 
			
		||||
		# $GCC_ARCH denotes default ABI chosen by compiler driver
 | 
			
		||||
		# (first one found on the $PATH). I assume that user
 | 
			
		||||
		# expects certain consistency with the rest of his builds
 | 
			
		||||
		# and therefore switch over to 64-bit. <appro>
 | 
			
		||||
		OUT="solaris64-sparcv9-gcc"
 | 
			
		||||
		echo "WARNING! If you wish to build 32-bit library, then you have to"
 | 
			
		||||
		echo "         invoke './Configure solaris-sparcv9-gcc' *manually*."
 | 
			
		||||
		if [ "$TEST" = "false" ]; then
 | 
			
		||||
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
		  (stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
		fi
 | 
			
		||||
	    elif [ "$GCC_ARCH" = "-m32" ]; then
 | 
			
		||||
		echo "NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI"
 | 
			
		||||
		echo "        and wish to build 64-bit library, then you have to"
 | 
			
		||||
		echo "        invoke './Configure solaris64-sparcv9-gcc' *manually*."
 | 
			
		||||
		if [ "$TEST" = "false" ]; then
 | 
			
		||||
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
		  (stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
		fi
 | 
			
		||||
	    fi
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  sun4m-*-solaris2)	OUT="solaris-sparcv8-$CC" ;;
 | 
			
		||||
  sun4d-*-solaris2)	OUT="solaris-sparcv8-$CC" ;;
 | 
			
		||||
  sun4*-*-solaris2)	OUT="solaris-sparcv7-$CC" ;;
 | 
			
		||||
  *86*-*-solaris2) OUT="solaris-x86-$CC" ;;
 | 
			
		||||
  *-*-sunos4) OUT="sunos-$CC" ;;
 | 
			
		||||
  alpha*-*-freebsd*) OUT="FreeBSD-alpha" ;;
 | 
			
		||||
  sparc64-*-freebsd*) OUT="FreeBSD-sparc64" ;;
 | 
			
		||||
  ia64-*-freebsd*) OUT="FreeBSD-ia64" ;;
 | 
			
		||||
  *-freebsd[3-9]*) OUT="FreeBSD-elf" ;;
 | 
			
		||||
  *-freebsd[1-2]*) OUT="FreeBSD" ;;
 | 
			
		||||
  *86*-*-netbsd) OUT="NetBSD-x86" ;;
 | 
			
		||||
  sun3*-*-netbsd) OUT="NetBSD-m68" ;;
 | 
			
		||||
  *-*-netbsd) OUT="NetBSD-sparc" ;;
 | 
			
		||||
  alpha*-*-openbsd) OUT="OpenBSD-alpha" ;;
 | 
			
		||||
  *86*-*-openbsd) OUT="OpenBSD-i386" ;;
 | 
			
		||||
  m68k*-*-openbsd) OUT="OpenBSD-m68k" ;;
 | 
			
		||||
  m88k*-*-openbsd) OUT="OpenBSD-m88k" ;;
 | 
			
		||||
  mips*-*-openbsd) OUT="OpenBSD-mips" ;;
 | 
			
		||||
  pmax*-*-openbsd) OUT="OpenBSD-mips" ;;
 | 
			
		||||
  powerpc*-*-openbsd) OUT="OpenBSD-powerpc" ;;
 | 
			
		||||
  sparc64*-*-openbsd) OUT="OpenBSD-sparc64" ;;
 | 
			
		||||
  sparc*-*-openbsd) OUT="OpenBSD-sparc" ;;
 | 
			
		||||
  vax*-*-openbsd) OUT="OpenBSD-vax" ;;
 | 
			
		||||
  hppa*-*-openbsd) OUT="OpenBSD-hppa" ;;
 | 
			
		||||
  *-*-openbsd) OUT="OpenBSD" ;;
 | 
			
		||||
  *86*-*-bsdi4) OUT="bsdi-elf-gcc" ;;
 | 
			
		||||
  *-*-osf) OUT="osf1-alpha-cc" ;;
 | 
			
		||||
  *-*-tru64) OUT="tru64-alpha-cc" ;;
 | 
			
		||||
  *-*-OpenUNIX*)
 | 
			
		||||
	if [ "$CC" = "gcc" ]; then
 | 
			
		||||
	  OUT="OpenUNIX-8-gcc" 
 | 
			
		||||
	else    
 | 
			
		||||
	  OUT="OpenUNIX-8" 
 | 
			
		||||
  *86*-*-solaris2)
 | 
			
		||||
	ISA64=`(isalist) 2>/dev/null | grep amd64`
 | 
			
		||||
	if [ "$ISA64" != "" ]; then
 | 
			
		||||
	    OUT="solaris64-x86_64-$CC"
 | 
			
		||||
	else
 | 
			
		||||
	    OUT="solaris-x86-$CC"
 | 
			
		||||
	    if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
 | 
			
		||||
		options="$options no-sse2"
 | 
			
		||||
	    fi
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  *-*-unixware7) OUT="unixware-7" ;;
 | 
			
		||||
  *-*-UnixWare7) OUT="unixware-7" ;;
 | 
			
		||||
  *-*-Unixware7) OUT="unixware-7" ;;
 | 
			
		||||
  *-*-unixware20*) OUT="unixware-2.0" ;;
 | 
			
		||||
  *-*-unixware21*) OUT="unixware-2.1" ;;
 | 
			
		||||
  *-*-UnixWare20*) OUT="unixware-2.0" ;;
 | 
			
		||||
  *-*-UnixWare21*) OUT="unixware-2.1" ;;
 | 
			
		||||
  *-*-Unixware20*) OUT="unixware-2.0" ;;
 | 
			
		||||
  *-*-Unixware21*) OUT="unixware-2.1" ;;
 | 
			
		||||
  *-*-sunos4)		OUT="sunos-$CC" ;;
 | 
			
		||||
 | 
			
		||||
  *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*)		# 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 ;;
 | 
			
		||||
  *-*-*bsd*)		OUT="BSD-generic32" ;;
 | 
			
		||||
 | 
			
		||||
  *-*-osf)		OUT="osf1-alpha-cc" ;;
 | 
			
		||||
  *-*-tru64)		OUT="tru64-alpha-cc" ;;
 | 
			
		||||
  *-*-[Uu]nix[Ww]are7)
 | 
			
		||||
	if [ "$CC" = "gcc" ]; then
 | 
			
		||||
	  OUT="unixware-7-gcc" ; options="$options no-sse2"
 | 
			
		||||
	else    
 | 
			
		||||
	  OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  *-*-[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"
 | 
			
		||||
@@ -698,64 +657,43 @@ EOF
 | 
			
		||||
	CPU_VERSION=${CPU_VERSION:-0}
 | 
			
		||||
	# See <sys/unistd.h> for further info on CPU_VERSION.
 | 
			
		||||
	if   [ $CPU_VERSION -ge 768 ]; then	# IA-64 CPU
 | 
			
		||||
	     echo "WARNING! 64-bit ABI is the default configured ABI on HP-UXi."
 | 
			
		||||
	     echo "         If you wish to build 32-bit library, the you have to"
 | 
			
		||||
	     echo "         invoke './Configure hpux-ia64-cc' *manually*."
 | 
			
		||||
	     if [ "$TEST" = "false" ]; then
 | 
			
		||||
		echo "         You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
		(stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
	     fi
 | 
			
		||||
	     OUT="hpux64-ia64-cc"
 | 
			
		||||
	elif [ $CPU_VERSION -ge 532 ]; then	# PA-RISC 2.x CPU
 | 
			
		||||
	     OUT=${OUT:-"hpux-parisc2-${CC}"}
 | 
			
		||||
	     if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
 | 
			
		||||
		echo "WARNING! If you wish to build 64-bit library then you have to"
 | 
			
		||||
		echo "         invoke './Configure hpux64-parisc2-cc' *manually*."
 | 
			
		||||
		if [ "$TEST" = "false" ]; then
 | 
			
		||||
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
 | 
			
		||||
		  (stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
		fi
 | 
			
		||||
		OUT="hpux64-parisc2-${CC}"
 | 
			
		||||
	     fi
 | 
			
		||||
	elif [ $CPU_VERSION -ge 528 ]; then	# PA-RISC 1.1+ CPU
 | 
			
		||||
	     OUT="hpux-parisc-${CC}
 | 
			
		||||
	     OUT="hpux-parisc-${CC}"
 | 
			
		||||
	elif [ $CPU_VERSION -ge 523 ]; then	# PA-RISC 1.0 CPU
 | 
			
		||||
	     OUT="hpux-parisc-${CC}
 | 
			
		||||
	     OUT="hpux-parisc-${CC}"
 | 
			
		||||
	else					# Motorola(?) CPU
 | 
			
		||||
	     OUT="hpux-$CC"
 | 
			
		||||
	fi
 | 
			
		||||
	options="$options -D_REENTRANT" ;;
 | 
			
		||||
  *-hpux)	OUT="hpux-parisc-$CC" ;;
 | 
			
		||||
  *-aix5)
 | 
			
		||||
  *-aix)
 | 
			
		||||
	KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
 | 
			
		||||
	KERNEL_BITS=${KERNEL_BITS:-32}
 | 
			
		||||
	if [ $KERNEL_BITS -eq 64 ]; then
 | 
			
		||||
	    # we default to 64-bit because PKI performance is >3x better...
 | 
			
		||||
	    OBJECT_MODE=${OBJECT_MODE:-$KERNEL_BITS}
 | 
			
		||||
	else
 | 
			
		||||
	    OBJECT_MODE=32
 | 
			
		||||
	fi
 | 
			
		||||
	OUT="aix-cc"
 | 
			
		||||
	if [ "$CC" = "cc" -a $OBJECT_MODE -eq 64 ]; then
 | 
			
		||||
	    OUT="aix64-cc"
 | 
			
		||||
	    echo "WARNING! If you wish to build 32-bit kit, then you have to"
 | 
			
		||||
	    echo "         invoke './Configure aix-cc' *manually*."
 | 
			
		||||
	    if [ "$TEST" = "false" ]; then
 | 
			
		||||
		echo "         You have ~5 seconds to press Ctrl-C to abort."
 | 
			
		||||
		(stty -icanon min 0 time 50; read waste) < /dev/tty
 | 
			
		||||
	    fi
 | 
			
		||||
	elif [ "$CC" = "gcc" ]; then
 | 
			
		||||
	    OUT="aix-gcc"
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  *-aix)
 | 
			
		||||
	OBJECT_MODE=${OBJECT_MODE:-32}
 | 
			
		||||
	if [ "$CC" = "gcc" ]; then
 | 
			
		||||
	    OUT="aix-gcc"
 | 
			
		||||
	elif [ $OBJECT_MODE -eq 64 ]; then
 | 
			
		||||
	    echo 'Your $OBJECT_MODE was found to be set to 64' 
 | 
			
		||||
	    OUT="aix64-cc"
 | 
			
		||||
	else
 | 
			
		||||
	    OUT="aix43-cc"
 | 
			
		||||
	    OUT="aix-cc"
 | 
			
		||||
	    if [ $KERNEL_BITS -eq 64 ]; then
 | 
			
		||||
		OUT="aix64-cc"
 | 
			
		||||
	    fi
 | 
			
		||||
	fi
 | 
			
		||||
	if (lsattr -E -O -l `lsdev -c processor|awk '{print$1;exit}'` | grep -i powerpc) >/dev/null 2>&1; then
 | 
			
		||||
	    :	# this applies even to Power3 and later, as they return PowerPC_POWER[345]
 | 
			
		||||
	else
 | 
			
		||||
	    options="$options no-asm"
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
  # these are all covered by the catchall below
 | 
			
		||||
  # *-aix) OUT="aix-$CC" ;;
 | 
			
		||||
  # *-dgux) OUT="dgux" ;;
 | 
			
		||||
  mips-sony-newsos4) OUT="newsos4-gcc" ;;
 | 
			
		||||
  *-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;;
 | 
			
		||||
@@ -778,7 +716,7 @@ esac
 | 
			
		||||
#  options="$options -DATALLA"
 | 
			
		||||
#fi
 | 
			
		||||
 | 
			
		||||
# gcc < 2.8 does not support -mcpu=ultrasparc
 | 
			
		||||
# gcc < 2.8 does not support -march=ultrasparc
 | 
			
		||||
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
 | 
			
		||||
then
 | 
			
		||||
  echo "WARNING! Falling down to 'solaris-sparcv8-gcc'."
 | 
			
		||||
@@ -798,7 +736,7 @@ case "$GUESSOS" in
 | 
			
		||||
  i386-*) options="$options 386" ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
for i in bf cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 aes ripemd rsa sha
 | 
			
		||||
for i in aes bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sha
 | 
			
		||||
do
 | 
			
		||||
  if [ ! -d crypto/$i ]
 | 
			
		||||
  then
 | 
			
		||||
 
 | 
			
		||||
@@ -2,3 +2,5 @@ lib
 | 
			
		||||
buildinf.h
 | 
			
		||||
opensslconf.h
 | 
			
		||||
Makefile.save
 | 
			
		||||
*.flc
 | 
			
		||||
semantic.cache
 | 
			
		||||
 
 | 
			
		||||
@@ -1,23 +1,25 @@
 | 
			
		||||
#
 | 
			
		||||
# SSLeay/crypto/Makefile
 | 
			
		||||
# OpenSSL/crypto/Makefile
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
DIR=		crypto
 | 
			
		||||
TOP=		..
 | 
			
		||||
CC=		cc
 | 
			
		||||
INCLUDE=	-I. -I$(TOP) -I../include
 | 
			
		||||
# INCLUDES targets sudbirs!
 | 
			
		||||
INCLUDES=	-I.. -I../.. -I../../include
 | 
			
		||||
CFLAG=		-g
 | 
			
		||||
INSTALL_PREFIX=
 | 
			
		||||
OPENSSLDIR=     /usr/local/ssl
 | 
			
		||||
INSTALLTOP=	/usr/local/ssl
 | 
			
		||||
MAKE=           make -f Makefile.ssl
 | 
			
		||||
MAKEDEPPROG=	makedepend
 | 
			
		||||
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 | 
			
		||||
MAKEFILE=       Makefile.ssl
 | 
			
		||||
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=
 | 
			
		||||
 
 | 
			
		||||
@@ -27,20 +29,12 @@ 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
 | 
			
		||||
 | 
			
		||||
GENERAL=Makefile README crypto-lib.com install.com
 | 
			
		||||
 | 
			
		||||
LIB= $(TOP)/libcrypto.a
 | 
			
		||||
SHARED_LIB= libcrypto$(SHLIB_EXT)
 | 
			
		||||
LIBSRC=	cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c
 | 
			
		||||
LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o $(CPUID_OBJ)
 | 
			
		||||
LIBSRC=	cryptlib.c dyn_lck.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_init.c fips_err.c 
 | 
			
		||||
LIBOBJ= cryptlib.o dyn_lck.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_init.o fips_err.o $(CPUID_OBJ)
 | 
			
		||||
 | 
			
		||||
SRC= $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
@@ -53,11 +47,11 @@ ALL=    $(GENERAL) $(SRC) $(HEADER)
 | 
			
		||||
top:
 | 
			
		||||
	@(cd ..; $(MAKE) DIRS=$(DIR) all)
 | 
			
		||||
 | 
			
		||||
all: shared
 | 
			
		||||
all: lib
 | 
			
		||||
 | 
			
		||||
buildinf.h: ../Makefile.ssl
 | 
			
		||||
buildinf.h: ../Makefile
 | 
			
		||||
	( echo "#ifndef MK1MF_BUILD"; \
 | 
			
		||||
	echo '  /* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */'; \
 | 
			
		||||
	echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
 | 
			
		||||
	echo '  #define CFLAGS "$(CC) $(CFLAG)"'; \
 | 
			
		||||
	echo '  #define PLATFORM "$(PLATFORM)"'; \
 | 
			
		||||
	echo "  #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
 | 
			
		||||
@@ -70,47 +64,42 @@ x86cpuid-cof.s: x86cpuid.pl perlasm/x86asm.pl
 | 
			
		||||
x86cpuid-out.s: x86cpuid.pl perlasm/x86asm.pl
 | 
			
		||||
	$(PERL) x86cpuid.pl a.out $(CFLAGS) $(PROCESSOR) > $@
 | 
			
		||||
 | 
			
		||||
amd64cpuid.s: amd64cpuid.pl
 | 
			
		||||
	$(PERL) amd64cpuid.pl $@
 | 
			
		||||
uplink.o:	../ms/uplink.c
 | 
			
		||||
	$(CC) $(CFLAGS) -c -o $@ ../ms/uplink.c
 | 
			
		||||
 | 
			
		||||
uplink-cof.s:	../ms/uplink.pl
 | 
			
		||||
	$(PERL) ../ms/uplink.pl coff > $@
 | 
			
		||||
 | 
			
		||||
x86_64cpuid.s: x86_64cpuid.pl
 | 
			
		||||
	$(PERL) x86_64cpuid.pl $@
 | 
			
		||||
ia64cpuid.s: ia64cpuid.S
 | 
			
		||||
	$(CC) $(CFLAGS) -E ia64cpuid.S > $@
 | 
			
		||||
 | 
			
		||||
testapps:
 | 
			
		||||
	if echo ${SDIRS} | fgrep ' des '; \
 | 
			
		||||
	then cd des && $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' des; fi
 | 
			
		||||
	if echo ${SDIRS} | fgrep ' pkcs7 '; \
 | 
			
		||||
	then cd pkcs7 && $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' testapps; fi
 | 
			
		||||
	[ -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) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=all; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making 'files' in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) PERL='${PERL}' files ); \
 | 
			
		||||
	done;
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 | 
			
		||||
	@target=files; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@sh $(TOP)/util/point.sh Makefile.ssl Makefile
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
 | 
			
		||||
	@sh $(TOP)/util/point.sh Makefile.ssl Makefile
 | 
			
		||||
	@for i in $(SDIRS); do \
 | 
			
		||||
	(cd $$i && echo "making links in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PERL='${PERL}' links ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=links; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	$(RANLIB) $(LIB) || echo Never mind.
 | 
			
		||||
# lib: and $(LIB): are splitted to avoid end-less loop
 | 
			
		||||
lib:	buildinf.h $(LIB) subdirs
 | 
			
		||||
	@touch lib
 | 
			
		||||
$(LIB):	$(LIBOBJ)
 | 
			
		||||
	$(ARX) $(LIB) $(LIBOBJ)
 | 
			
		||||
	$(RANLIB) $(LIB) || echo Never mind.
 | 
			
		||||
 | 
			
		||||
shared: buildinf.h lib subdirs
 | 
			
		||||
	if [ -n "$(SHARED_LIBS)" ]; then \
 | 
			
		||||
@@ -118,64 +107,35 @@ shared: buildinf.h lib subdirs
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
libs:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making libs in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' lib ); \
 | 
			
		||||
	done;
 | 
			
		||||
 | 
			
		||||
tests:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making tests in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' tests ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=lib; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
 | 
			
		||||
	@headerlist="$(EXHEADER)"; for i in $$headerlist ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(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) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}'  INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' install ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=install; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
lint:
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making lint in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' lint ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=lint; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
 | 
			
		||||
	$(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
 | 
			
		||||
	if [ ! -s buildinf.h ]; then rm buildinf.h; fi
 | 
			
		||||
	@for i in $(SDIRS) ;\
 | 
			
		||||
	do \
 | 
			
		||||
	(cd $$i && echo "making depend in crypto/$$i..." && \
 | 
			
		||||
	$(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' 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) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' 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) PERL='${PERL}' CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' dclean ); \
 | 
			
		||||
	done;
 | 
			
		||||
	@target=dclean; $(RECURSIVE_MAKE)
 | 
			
		||||
 | 
			
		||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
 | 
			
		||||
 | 
			
		||||
@@ -199,6 +159,13 @@ cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
cversion.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 | 
			
		||||
cversion.o: ../include/openssl/stack.h ../include/openssl/symhacks.h buildinf.h
 | 
			
		||||
cversion.o: cryptlib.h cversion.c
 | 
			
		||||
dyn_lck.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
 | 
			
		||||
dyn_lck.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
dyn_lck.o: ../include/openssl/err.h ../include/openssl/lhash.h
 | 
			
		||||
dyn_lck.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
dyn_lck.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 | 
			
		||||
dyn_lck.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
 | 
			
		||||
dyn_lck.o: dyn_lck.c
 | 
			
		||||
ebcdic.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h ebcdic.c
 | 
			
		||||
ex_data.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
 | 
			
		||||
ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
@@ -207,6 +174,13 @@ ex_data.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 | 
			
		||||
ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
 | 
			
		||||
ex_data.o: ex_data.c
 | 
			
		||||
fips_err.o: ../include/openssl/bio.h ../include/openssl/crypto.h
 | 
			
		||||
fips_err.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
fips_err.o: ../include/openssl/fips.h ../include/openssl/lhash.h
 | 
			
		||||
fips_err.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 | 
			
		||||
fips_err.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 | 
			
		||||
fips_err.o: ../include/openssl/stack.h ../include/openssl/symhacks.h fips_err.c
 | 
			
		||||
fips_err.o: fips_err.h
 | 
			
		||||
mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
 | 
			
		||||
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 | 
			
		||||
mem.o: ../include/openssl/err.h ../include/openssl/lhash.h
 | 
			
		||||
@@ -227,8 +201,14 @@ mem_dbg.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
 | 
			
		||||
mem_dbg.o: mem_dbg.c
 | 
			
		||||
o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
 | 
			
		||||
o_dir.o: LPdir_unix.c o_dir.c o_dir.h
 | 
			
		||||
o_str.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_str.c
 | 
			
		||||
o_str.o: o_str.h
 | 
			
		||||
o_init.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/crypto.h
 | 
			
		||||
o_init.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 | 
			
		||||
o_init.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
 | 
			
		||||
o_init.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 | 
			
		||||
o_init.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 | 
			
		||||
o_init.o: ../include/openssl/symhacks.h o_init.c
 | 
			
		||||
o_str.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
 | 
			
		||||
o_str.o: o_str.c o_str.h
 | 
			
		||||
o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c
 | 
			
		||||
o_time.o: o_time.h
 | 
			
		||||
tmdiff.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
 | 
			
		||||
@@ -1,2 +1,5 @@
 | 
			
		||||
lib
 | 
			
		||||
Makefile.save
 | 
			
		||||
*.flc
 | 
			
		||||
semantic.cache
 | 
			
		||||
ax86-elf.s
 | 
			
		||||
 
 | 
			
		||||
@@ -8,19 +8,14 @@ CC=	cc
 | 
			
		||||
CPP=	$(CC) -E
 | 
			
		||||
INCLUDES=
 | 
			
		||||
CFLAG=-g
 | 
			
		||||
INSTALL_PREFIX=
 | 
			
		||||
OPENSSLDIR=     /usr/local/ssl
 | 
			
		||||
INSTALLTOP=	/usr/local/ssl
 | 
			
		||||
MAKE=		make -f Makefile.ssl
 | 
			
		||||
MAKEDEPPROG=	makedepend
 | 
			
		||||
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 | 
			
		||||
MAKEFILE=	Makefile.ssl
 | 
			
		||||
MAKEFILE=	Makefile
 | 
			
		||||
AR=		ar r
 | 
			
		||||
 | 
			
		||||
AES_ASM_OBJ=
 | 
			
		||||
AES_ASM_OBJ=aes_core.o aes_cbc.o
 | 
			
		||||
 | 
			
		||||
CFLAGS= $(INCLUDES) $(CFLAG)
 | 
			
		||||
ASFLAGS= $(INCLUDES) $(ASFLAG)
 | 
			
		||||
AFLAGS= $(ASFLAGS)
 | 
			
		||||
 | 
			
		||||
GENERAL=Makefile
 | 
			
		||||
#TEST=aestest.c
 | 
			
		||||
@@ -28,8 +23,10 @@ TEST=
 | 
			
		||||
APPS=
 | 
			
		||||
 | 
			
		||||
LIB=$(TOP)/libcrypto.a
 | 
			
		||||
LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c
 | 
			
		||||
LIBOBJ=aes_core.o aes_misc.o aes_ecb.o aes_cbc.o aes_cfb.o aes_ofb.o aes_ctr.o $(AES_ASM_OBJ)
 | 
			
		||||
LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c \
 | 
			
		||||
       aes_ctr.c aes_ige.c
 | 
			
		||||
LIBOBJ=aes_misc.o aes_ecb.o aes_cfb.o aes_ofb.o aes_ctr.o aes_ige.o \
 | 
			
		||||
       $(AES_ASM_OBJ)
 | 
			
		||||
 | 
			
		||||
SRC= $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
@@ -44,27 +41,37 @@ top:
 | 
			
		||||
all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	$(ARX) $(LIB) $(LIBOBJ)
 | 
			
		||||
	$(RANLIB) $(LIB) || echo Never mind.
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
$(LIBOBJ): $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
asm/aes-ia64.s: asm/aes-ia64.S
 | 
			
		||||
aes-ia64.s: asm/aes-ia64.S
 | 
			
		||||
	$(CC) $(CFLAGS) -E asm/aes-ia64.S > $@
 | 
			
		||||
 | 
			
		||||
ax86-elf.s: asm/aes-586.pl ../perlasm/x86asm.pl
 | 
			
		||||
	(cd asm; $(PERL) aes-586.pl elf $(CFLAGS) $(PROCESSOR) > ../$@)
 | 
			
		||||
ax86-cof.s: asm/aes-586.pl ../perlasm/x86asm.pl
 | 
			
		||||
	(cd asm; $(PERL) aes-586.pl coff $(CFLAGS) $(PROCESSOR) > ../$@)
 | 
			
		||||
ax86-out.s: asm/aes-586.pl ../perlasm/x86asm.pl
 | 
			
		||||
	(cd asm; $(PERL) aes-586.pl a.out $(CFLAGS) $(PROCESSOR) > ../$@)
 | 
			
		||||
 | 
			
		||||
aes-x86_64.s: asm/aes-x86_64.pl
 | 
			
		||||
	$(PERL) asm/aes-x86_64.pl $@
 | 
			
		||||
# GNU make "catch all"
 | 
			
		||||
aes-%.s:	asm/aes-%.pl;	$(PERL) $< $(CFLAGS) > $@
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@sh $(TOP)/util/point.sh Makefile.ssl Makefile
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
 | 
			
		||||
 | 
			
		||||
install: installs
 | 
			
		||||
 | 
			
		||||
installs:
 | 
			
		||||
install:
 | 
			
		||||
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
 | 
			
		||||
	@headerlist="$(EXHEADER)"; for i in $$headerlist ; \
 | 
			
		||||
	do  \
 | 
			
		||||
	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
 | 
			
		||||
@@ -80,6 +87,7 @@ lint:
 | 
			
		||||
	lint -DLINT $(INCLUDES) $(SRC)>fluff
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	@[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile...
 | 
			
		||||
	$(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
dclean:
 | 
			
		||||
@@ -87,20 +95,28 @@ dclean:
 | 
			
		||||
	mv -f Makefile.new $(MAKEFILE)
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -f asm/*.[so] *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
 | 
			
		||||
	rm -f *.s *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
 | 
			
		||||
 | 
			
		||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
 | 
			
		||||
 | 
			
		||||
aes_cbc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
 | 
			
		||||
aes_cbc.o: ../../include/openssl/opensslconf.h aes_cbc.c aes_locl.h
 | 
			
		||||
aes_cfb.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
 | 
			
		||||
aes_cfb.o: ../../include/openssl/opensslconf.h aes_cfb.c aes_locl.h
 | 
			
		||||
aes_cfb.o: ../../e_os.h ../../include/openssl/aes.h
 | 
			
		||||
aes_cfb.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
 | 
			
		||||
aes_cfb.o: aes_cfb.c aes_locl.h
 | 
			
		||||
aes_core.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
 | 
			
		||||
aes_core.o: ../../include/openssl/opensslconf.h aes_core.c aes_locl.h
 | 
			
		||||
aes_ctr.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
 | 
			
		||||
aes_ctr.o: ../../include/openssl/opensslconf.h aes_ctr.c aes_locl.h
 | 
			
		||||
aes_ecb.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
 | 
			
		||||
aes_ecb.o: ../../include/openssl/opensslconf.h aes_ecb.c aes_locl.h
 | 
			
		||||
aes_ige.o: ../../e_os.h ../../include/openssl/aes.h ../../include/openssl/bio.h
 | 
			
		||||
aes_ige.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
aes_ige.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
aes_ige.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 | 
			
		||||
aes_ige.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
aes_ige.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
aes_ige.o: ../../include/openssl/symhacks.h ../cryptlib.h aes_ige.c aes_locl.h
 | 
			
		||||
aes_misc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
 | 
			
		||||
aes_misc.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
aes_misc.o: ../../include/openssl/opensslv.h aes_locl.h aes_misc.c
 | 
			
		||||
@@ -66,13 +66,21 @@
 | 
			
		||||
#define AES_MAXNR 14
 | 
			
		||||
#define AES_BLOCK_SIZE 16
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_FIPS
 | 
			
		||||
#define FIPS_AES_SIZE_T	int
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* This should be a hidden type, but EVP requires that the size be known */
 | 
			
		||||
struct aes_key_st {
 | 
			
		||||
#ifdef AES_LONG
 | 
			
		||||
    unsigned long rd_key[4 *(AES_MAXNR + 1)];
 | 
			
		||||
#else
 | 
			
		||||
    unsigned int rd_key[4 *(AES_MAXNR + 1)];
 | 
			
		||||
#endif
 | 
			
		||||
    int rounds;
 | 
			
		||||
};
 | 
			
		||||
typedef struct aes_key_st AES_KEY;
 | 
			
		||||
@@ -115,6 +123,17 @@ void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
	unsigned char ecount_buf[AES_BLOCK_SIZE],
 | 
			
		||||
	unsigned int *num);
 | 
			
		||||
 | 
			
		||||
/* For IGE, see also http://www.links.org/files/openssl-ige.pdf */
 | 
			
		||||
/* NB: the IV is _two_ blocks long */
 | 
			
		||||
void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
		     const unsigned long length, const AES_KEY *key,
 | 
			
		||||
		     unsigned char *ivec, const int enc);
 | 
			
		||||
/* NB: the IV is _four_ blocks long */
 | 
			
		||||
void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
			const unsigned long length, const AES_KEY *key,
 | 
			
		||||
			const AES_KEY *key2, const unsigned char *ivec,
 | 
			
		||||
			const int enc);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef  __cplusplus
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,6 +59,7 @@
 | 
			
		||||
#include <openssl/aes.h>
 | 
			
		||||
#include "aes_locl.h"
 | 
			
		||||
 | 
			
		||||
#if !defined(OPENSSL_FIPS_AES_ASM)
 | 
			
		||||
void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
		     const unsigned long length, const AES_KEY *key,
 | 
			
		||||
		     unsigned char *ivec, const int enc) {
 | 
			
		||||
@@ -66,6 +67,7 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
	unsigned long n;
 | 
			
		||||
	unsigned long len = length;
 | 
			
		||||
	unsigned char tmp[AES_BLOCK_SIZE];
 | 
			
		||||
	const unsigned char *iv = ivec;
 | 
			
		||||
 | 
			
		||||
	assert(in && out && key && ivec);
 | 
			
		||||
	assert((AES_ENCRYPT == enc)||(AES_DECRYPT == enc));
 | 
			
		||||
@@ -73,22 +75,39 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
	if (AES_ENCRYPT == enc) {
 | 
			
		||||
		while (len >= AES_BLOCK_SIZE) {
 | 
			
		||||
			for(n=0; n < AES_BLOCK_SIZE; ++n)
 | 
			
		||||
				tmp[n] = in[n] ^ ivec[n];
 | 
			
		||||
			AES_encrypt(tmp, out, key);
 | 
			
		||||
			memcpy(ivec, out, AES_BLOCK_SIZE);
 | 
			
		||||
				out[n] = in[n] ^ iv[n];
 | 
			
		||||
			AES_encrypt(out, out, key);
 | 
			
		||||
			iv = out;
 | 
			
		||||
			len -= AES_BLOCK_SIZE;
 | 
			
		||||
			in += AES_BLOCK_SIZE;
 | 
			
		||||
			out += AES_BLOCK_SIZE;
 | 
			
		||||
		}
 | 
			
		||||
		if (len) {
 | 
			
		||||
			for(n=0; n < len; ++n)
 | 
			
		||||
				tmp[n] = in[n] ^ ivec[n];
 | 
			
		||||
				out[n] = in[n] ^ iv[n];
 | 
			
		||||
			for(n=len; n < AES_BLOCK_SIZE; ++n)
 | 
			
		||||
				tmp[n] = ivec[n];
 | 
			
		||||
			AES_encrypt(tmp, tmp, key);
 | 
			
		||||
			memcpy(out, tmp, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(ivec, tmp, AES_BLOCK_SIZE);
 | 
			
		||||
		}			
 | 
			
		||||
				out[n] = iv[n];
 | 
			
		||||
			AES_encrypt(out, out, key);
 | 
			
		||||
			iv = out;
 | 
			
		||||
		}
 | 
			
		||||
		memcpy(ivec,iv,AES_BLOCK_SIZE);
 | 
			
		||||
	} else if (in != out) {
 | 
			
		||||
		while (len >= AES_BLOCK_SIZE) {
 | 
			
		||||
			AES_decrypt(in, out, key);
 | 
			
		||||
			for(n=0; n < AES_BLOCK_SIZE; ++n)
 | 
			
		||||
				out[n] ^= iv[n];
 | 
			
		||||
			iv = in;
 | 
			
		||||
			len -= AES_BLOCK_SIZE;
 | 
			
		||||
			in  += AES_BLOCK_SIZE;
 | 
			
		||||
			out += AES_BLOCK_SIZE;
 | 
			
		||||
		}
 | 
			
		||||
		if (len) {
 | 
			
		||||
			AES_decrypt(in,tmp,key);
 | 
			
		||||
			for(n=0; n < len; ++n)
 | 
			
		||||
				out[n] = tmp[n] ^ iv[n];
 | 
			
		||||
			iv = in;
 | 
			
		||||
		}
 | 
			
		||||
		memcpy(ivec,iv,AES_BLOCK_SIZE);
 | 
			
		||||
	} else {
 | 
			
		||||
		while (len >= AES_BLOCK_SIZE) {
 | 
			
		||||
			memcpy(tmp, in, AES_BLOCK_SIZE);
 | 
			
		||||
@@ -102,10 +121,13 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
		}
 | 
			
		||||
		if (len) {
 | 
			
		||||
			memcpy(tmp, in, AES_BLOCK_SIZE);
 | 
			
		||||
			AES_decrypt(tmp, tmp, key);
 | 
			
		||||
			AES_decrypt(tmp, out, key);
 | 
			
		||||
			for(n=0; n < len; ++n)
 | 
			
		||||
				out[n] = tmp[n] ^ ivec[n];
 | 
			
		||||
				out[n] ^= ivec[n];
 | 
			
		||||
			for(n=len; n < AES_BLOCK_SIZE; ++n)
 | 
			
		||||
				out[n] = tmp[n];
 | 
			
		||||
			memcpy(ivec, tmp, AES_BLOCK_SIZE);
 | 
			
		||||
		}			
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -158,61 +158,35 @@ void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
 | 
			
		||||
/* This expects a single block of size nbits for both in and out. Note that
 | 
			
		||||
   it corrupts any extra bits in the last byte of out */
 | 
			
		||||
/* Untested, once it is working, it will be optimised */
 | 
			
		||||
void AES_cfbr_encrypt_block(const unsigned char *in,unsigned char *out,
 | 
			
		||||
			    const int nbits,const AES_KEY *key,
 | 
			
		||||
			    unsigned char *ivec,const int enc)
 | 
			
		||||
    {
 | 
			
		||||
    int n;
 | 
			
		||||
    int n,rem,num;
 | 
			
		||||
    unsigned char ovec[AES_BLOCK_SIZE*2];
 | 
			
		||||
 | 
			
		||||
    assert(in && out && key && ivec);
 | 
			
		||||
    if(enc)
 | 
			
		||||
	{
 | 
			
		||||
    if (nbits<=0 || nbits>128) return;
 | 
			
		||||
 | 
			
		||||
	/* fill in the first half of the new IV with the current IV */
 | 
			
		||||
	memcpy(ovec,ivec,AES_BLOCK_SIZE);
 | 
			
		||||
	/* construct the new IV */
 | 
			
		||||
	AES_encrypt(ivec,ovec,key);
 | 
			
		||||
	/* encrypt the input */
 | 
			
		||||
	for(n=0 ; n < (nbits+7)/8 ; ++n)
 | 
			
		||||
	    out[n]=in[n]^ovec[n];
 | 
			
		||||
	/* fill in the first half of the new IV with the current IV */
 | 
			
		||||
	memcpy(ovec,ivec,AES_BLOCK_SIZE);
 | 
			
		||||
	/* and put the ciphertext in the second half */
 | 
			
		||||
	memcpy(ovec+AES_BLOCK_SIZE,out,(nbits+7)/8);
 | 
			
		||||
	/* shift ovec left most of the bits... */
 | 
			
		||||
	memmove(ovec,ovec+nbits/8,AES_BLOCK_SIZE+(nbits%8 ? 1 : 0));
 | 
			
		||||
	/* now the remaining bits */
 | 
			
		||||
	if(nbits%8 != 0)
 | 
			
		||||
	AES_encrypt(ivec,ivec,key);
 | 
			
		||||
	num = (nbits+7)/8;
 | 
			
		||||
	if (enc)	/* encrypt the input */
 | 
			
		||||
	    for(n=0 ; n < num ; ++n)
 | 
			
		||||
		out[n] = (ovec[AES_BLOCK_SIZE+n] = in[n] ^ ivec[n]);
 | 
			
		||||
	else		/* decrypt the input */
 | 
			
		||||
	    for(n=0 ; n < num ; ++n)
 | 
			
		||||
		out[n] = (ovec[AES_BLOCK_SIZE+n] = in[n]) ^ ivec[n];
 | 
			
		||||
	/* shift ovec left... */
 | 
			
		||||
	rem = nbits%8;
 | 
			
		||||
	num = nbits/8;
 | 
			
		||||
	if(rem==0)
 | 
			
		||||
	    memcpy(ivec,ovec+num,AES_BLOCK_SIZE);
 | 
			
		||||
	else
 | 
			
		||||
	    for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
		{
 | 
			
		||||
		ovec[n]<<=nbits%8;
 | 
			
		||||
		ovec[n]|=ovec[n+1]>>(8-nbits%8);
 | 
			
		||||
		}
 | 
			
		||||
	/* finally, move it back into place */
 | 
			
		||||
	memcpy(ivec,ovec,AES_BLOCK_SIZE);
 | 
			
		||||
	}
 | 
			
		||||
    else
 | 
			
		||||
	{
 | 
			
		||||
	/* construct the new IV in the first half of ovec */
 | 
			
		||||
	AES_encrypt(ivec,ovec,key);
 | 
			
		||||
	/* decrypt the input */
 | 
			
		||||
	for(n=0 ; n < (nbits+7)/8 ; ++n)
 | 
			
		||||
	    out[n]=in[n]^ovec[n];
 | 
			
		||||
	/* fill in the first half of the new IV with the current IV */
 | 
			
		||||
	memcpy(ovec,ivec,AES_BLOCK_SIZE);
 | 
			
		||||
	/* append the ciphertext */
 | 
			
		||||
	memcpy(ovec+AES_BLOCK_SIZE,in,(nbits+7)/8);
 | 
			
		||||
	/* shift ovec left most of the bits... */
 | 
			
		||||
	memmove(ovec,ovec+nbits/8,AES_BLOCK_SIZE+(nbits%8 ? 1 : 0));
 | 
			
		||||
	/* now the remaining bits */
 | 
			
		||||
	if(nbits%8 != 0)
 | 
			
		||||
	    for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
		{
 | 
			
		||||
		ovec[n]<<=nbits%8;
 | 
			
		||||
		ovec[n]|=ovec[n+1]>>(8-nbits%8);
 | 
			
		||||
		}
 | 
			
		||||
	/* finally, move it back into place */
 | 
			
		||||
	memcpy(ivec,ovec,AES_BLOCK_SIZE);
 | 
			
		||||
	}
 | 
			
		||||
		ivec[n] = ovec[n+num]<<rem | ovec[n+num+1]>>(8-rem);
 | 
			
		||||
 | 
			
		||||
    /* it is not necessary to cleanse ovec, since the IV is not secret */
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -37,6 +37,7 @@
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <openssl/aes.h>
 | 
			
		||||
#include <openssl/fips.h>
 | 
			
		||||
#include "aes_locl.h"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -44,13 +45,12 @@ Te0[x] = S [x].[02, 01, 01, 03];
 | 
			
		||||
Te1[x] = S [x].[03, 02, 01, 01];
 | 
			
		||||
Te2[x] = S [x].[01, 03, 02, 01];
 | 
			
		||||
Te3[x] = S [x].[01, 01, 03, 02];
 | 
			
		||||
Te4[x] = S [x].[01, 01, 01, 01];
 | 
			
		||||
 | 
			
		||||
Td0[x] = Si[x].[0e, 09, 0d, 0b];
 | 
			
		||||
Td1[x] = Si[x].[0b, 0e, 09, 0d];
 | 
			
		||||
Td2[x] = Si[x].[0d, 0b, 0e, 09];
 | 
			
		||||
Td3[x] = Si[x].[09, 0d, 0b, 0e];
 | 
			
		||||
Td4[x] = Si[x].[01, 01, 01, 01];
 | 
			
		||||
Td4[x] = Si[x].[01];
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
static const u32 Te0[256] = {
 | 
			
		||||
@@ -252,7 +252,6 @@ static const u32 Te2[256] = {
 | 
			
		||||
    0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U,
 | 
			
		||||
};
 | 
			
		||||
static const u32 Te3[256] = {
 | 
			
		||||
 | 
			
		||||
    0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U,
 | 
			
		||||
    0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U,
 | 
			
		||||
    0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U,
 | 
			
		||||
@@ -318,72 +317,7 @@ static const u32 Te3[256] = {
 | 
			
		||||
    0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,
 | 
			
		||||
    0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,
 | 
			
		||||
};
 | 
			
		||||
static const u32 Te4[256] = {
 | 
			
		||||
    0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU,
 | 
			
		||||
    0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U,
 | 
			
		||||
    0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU,
 | 
			
		||||
    0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U,
 | 
			
		||||
    0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU,
 | 
			
		||||
    0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U,
 | 
			
		||||
    0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU,
 | 
			
		||||
    0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U,
 | 
			
		||||
    0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U,
 | 
			
		||||
    0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU,
 | 
			
		||||
    0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U,
 | 
			
		||||
    0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U,
 | 
			
		||||
    0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U,
 | 
			
		||||
    0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU,
 | 
			
		||||
    0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U,
 | 
			
		||||
    0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U,
 | 
			
		||||
    0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU,
 | 
			
		||||
    0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U,
 | 
			
		||||
    0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U,
 | 
			
		||||
    0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U,
 | 
			
		||||
    0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU,
 | 
			
		||||
    0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU,
 | 
			
		||||
    0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U,
 | 
			
		||||
    0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU,
 | 
			
		||||
    0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU,
 | 
			
		||||
    0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U,
 | 
			
		||||
    0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU,
 | 
			
		||||
    0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U,
 | 
			
		||||
    0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU,
 | 
			
		||||
    0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U,
 | 
			
		||||
    0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U,
 | 
			
		||||
    0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U,
 | 
			
		||||
    0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU,
 | 
			
		||||
    0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U,
 | 
			
		||||
    0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU,
 | 
			
		||||
    0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U,
 | 
			
		||||
    0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU,
 | 
			
		||||
    0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U,
 | 
			
		||||
    0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U,
 | 
			
		||||
    0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU,
 | 
			
		||||
    0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU,
 | 
			
		||||
    0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU,
 | 
			
		||||
    0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U,
 | 
			
		||||
    0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U,
 | 
			
		||||
    0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU,
 | 
			
		||||
    0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U,
 | 
			
		||||
    0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU,
 | 
			
		||||
    0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U,
 | 
			
		||||
    0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU,
 | 
			
		||||
    0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U,
 | 
			
		||||
    0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU,
 | 
			
		||||
    0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU,
 | 
			
		||||
    0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U,
 | 
			
		||||
    0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU,
 | 
			
		||||
    0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U,
 | 
			
		||||
    0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU,
 | 
			
		||||
    0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U,
 | 
			
		||||
    0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U,
 | 
			
		||||
    0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U,
 | 
			
		||||
    0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU,
 | 
			
		||||
    0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU,
 | 
			
		||||
    0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U,
 | 
			
		||||
    0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU,
 | 
			
		||||
    0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const u32 Td0[256] = {
 | 
			
		||||
    0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U,
 | 
			
		||||
    0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U,
 | 
			
		||||
@@ -537,7 +471,6 @@ static const u32 Td2[256] = {
 | 
			
		||||
    0xf4cd65daU, 0xbed50605U, 0x621fd134U, 0xfe8ac4a6U,
 | 
			
		||||
    0x539d342eU, 0x55a0a2f3U, 0xe132058aU, 0xeb75a4f6U,
 | 
			
		||||
    0xec390b83U, 0xefaa4060U, 0x9f065e71U, 0x1051bd6eU,
 | 
			
		||||
 | 
			
		||||
    0x8af93e21U, 0x063d96ddU, 0x05aedd3eU, 0xbd464de6U,
 | 
			
		||||
    0x8db59154U, 0x5d0571c4U, 0xd46f0406U, 0x15ff6050U,
 | 
			
		||||
    0xfb241998U, 0xe997d6bdU, 0x43cc8940U, 0x9e7767d9U,
 | 
			
		||||
@@ -649,71 +582,39 @@ static const u32 Td3[256] = {
 | 
			
		||||
    0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U,
 | 
			
		||||
    0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U,
 | 
			
		||||
};
 | 
			
		||||
static const u32 Td4[256] = {
 | 
			
		||||
    0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U,
 | 
			
		||||
    0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U,
 | 
			
		||||
    0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU,
 | 
			
		||||
    0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU,
 | 
			
		||||
    0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U,
 | 
			
		||||
    0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U,
 | 
			
		||||
    0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U,
 | 
			
		||||
    0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU,
 | 
			
		||||
    0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U,
 | 
			
		||||
    0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU,
 | 
			
		||||
    0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU,
 | 
			
		||||
    0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU,
 | 
			
		||||
    0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U,
 | 
			
		||||
    0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U,
 | 
			
		||||
    0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U,
 | 
			
		||||
    0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U,
 | 
			
		||||
    0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U,
 | 
			
		||||
    0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U,
 | 
			
		||||
    0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU,
 | 
			
		||||
    0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U,
 | 
			
		||||
    0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U,
 | 
			
		||||
    0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU,
 | 
			
		||||
    0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U,
 | 
			
		||||
    0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U,
 | 
			
		||||
    0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U,
 | 
			
		||||
    0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU,
 | 
			
		||||
    0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U,
 | 
			
		||||
    0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U,
 | 
			
		||||
    0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU,
 | 
			
		||||
    0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U,
 | 
			
		||||
    0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U,
 | 
			
		||||
    0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU,
 | 
			
		||||
    0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U,
 | 
			
		||||
    0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU,
 | 
			
		||||
    0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU,
 | 
			
		||||
    0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U,
 | 
			
		||||
    0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U,
 | 
			
		||||
    0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U,
 | 
			
		||||
    0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U,
 | 
			
		||||
    0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU,
 | 
			
		||||
    0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U,
 | 
			
		||||
    0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U,
 | 
			
		||||
    0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU,
 | 
			
		||||
    0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU,
 | 
			
		||||
    0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU,
 | 
			
		||||
    0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U,
 | 
			
		||||
    0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU,
 | 
			
		||||
    0x78787878U, 0xcdcdcdcdU, 0x5a5a5a5aU, 0xf4f4f4f4U,
 | 
			
		||||
    0x1f1f1f1fU, 0xddddddddU, 0xa8a8a8a8U, 0x33333333U,
 | 
			
		||||
    0x88888888U, 0x07070707U, 0xc7c7c7c7U, 0x31313131U,
 | 
			
		||||
    0xb1b1b1b1U, 0x12121212U, 0x10101010U, 0x59595959U,
 | 
			
		||||
    0x27272727U, 0x80808080U, 0xececececU, 0x5f5f5f5fU,
 | 
			
		||||
    0x60606060U, 0x51515151U, 0x7f7f7f7fU, 0xa9a9a9a9U,
 | 
			
		||||
    0x19191919U, 0xb5b5b5b5U, 0x4a4a4a4aU, 0x0d0d0d0dU,
 | 
			
		||||
    0x2d2d2d2dU, 0xe5e5e5e5U, 0x7a7a7a7aU, 0x9f9f9f9fU,
 | 
			
		||||
    0x93939393U, 0xc9c9c9c9U, 0x9c9c9c9cU, 0xefefefefU,
 | 
			
		||||
    0xa0a0a0a0U, 0xe0e0e0e0U, 0x3b3b3b3bU, 0x4d4d4d4dU,
 | 
			
		||||
    0xaeaeaeaeU, 0x2a2a2a2aU, 0xf5f5f5f5U, 0xb0b0b0b0U,
 | 
			
		||||
    0xc8c8c8c8U, 0xebebebebU, 0xbbbbbbbbU, 0x3c3c3c3cU,
 | 
			
		||||
    0x83838383U, 0x53535353U, 0x99999999U, 0x61616161U,
 | 
			
		||||
    0x17171717U, 0x2b2b2b2bU, 0x04040404U, 0x7e7e7e7eU,
 | 
			
		||||
    0xbabababaU, 0x77777777U, 0xd6d6d6d6U, 0x26262626U,
 | 
			
		||||
    0xe1e1e1e1U, 0x69696969U, 0x14141414U, 0x63636363U,
 | 
			
		||||
    0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU,
 | 
			
		||||
static const u8 Td4[256] = {
 | 
			
		||||
    0x52U, 0x09U, 0x6aU, 0xd5U, 0x30U, 0x36U, 0xa5U, 0x38U,
 | 
			
		||||
    0xbfU, 0x40U, 0xa3U, 0x9eU, 0x81U, 0xf3U, 0xd7U, 0xfbU,
 | 
			
		||||
    0x7cU, 0xe3U, 0x39U, 0x82U, 0x9bU, 0x2fU, 0xffU, 0x87U,
 | 
			
		||||
    0x34U, 0x8eU, 0x43U, 0x44U, 0xc4U, 0xdeU, 0xe9U, 0xcbU,
 | 
			
		||||
    0x54U, 0x7bU, 0x94U, 0x32U, 0xa6U, 0xc2U, 0x23U, 0x3dU,
 | 
			
		||||
    0xeeU, 0x4cU, 0x95U, 0x0bU, 0x42U, 0xfaU, 0xc3U, 0x4eU,
 | 
			
		||||
    0x08U, 0x2eU, 0xa1U, 0x66U, 0x28U, 0xd9U, 0x24U, 0xb2U,
 | 
			
		||||
    0x76U, 0x5bU, 0xa2U, 0x49U, 0x6dU, 0x8bU, 0xd1U, 0x25U,
 | 
			
		||||
    0x72U, 0xf8U, 0xf6U, 0x64U, 0x86U, 0x68U, 0x98U, 0x16U,
 | 
			
		||||
    0xd4U, 0xa4U, 0x5cU, 0xccU, 0x5dU, 0x65U, 0xb6U, 0x92U,
 | 
			
		||||
    0x6cU, 0x70U, 0x48U, 0x50U, 0xfdU, 0xedU, 0xb9U, 0xdaU,
 | 
			
		||||
    0x5eU, 0x15U, 0x46U, 0x57U, 0xa7U, 0x8dU, 0x9dU, 0x84U,
 | 
			
		||||
    0x90U, 0xd8U, 0xabU, 0x00U, 0x8cU, 0xbcU, 0xd3U, 0x0aU,
 | 
			
		||||
    0xf7U, 0xe4U, 0x58U, 0x05U, 0xb8U, 0xb3U, 0x45U, 0x06U,
 | 
			
		||||
    0xd0U, 0x2cU, 0x1eU, 0x8fU, 0xcaU, 0x3fU, 0x0fU, 0x02U,
 | 
			
		||||
    0xc1U, 0xafU, 0xbdU, 0x03U, 0x01U, 0x13U, 0x8aU, 0x6bU,
 | 
			
		||||
    0x3aU, 0x91U, 0x11U, 0x41U, 0x4fU, 0x67U, 0xdcU, 0xeaU,
 | 
			
		||||
    0x97U, 0xf2U, 0xcfU, 0xceU, 0xf0U, 0xb4U, 0xe6U, 0x73U,
 | 
			
		||||
    0x96U, 0xacU, 0x74U, 0x22U, 0xe7U, 0xadU, 0x35U, 0x85U,
 | 
			
		||||
    0xe2U, 0xf9U, 0x37U, 0xe8U, 0x1cU, 0x75U, 0xdfU, 0x6eU,
 | 
			
		||||
    0x47U, 0xf1U, 0x1aU, 0x71U, 0x1dU, 0x29U, 0xc5U, 0x89U,
 | 
			
		||||
    0x6fU, 0xb7U, 0x62U, 0x0eU, 0xaaU, 0x18U, 0xbeU, 0x1bU,
 | 
			
		||||
    0xfcU, 0x56U, 0x3eU, 0x4bU, 0xc6U, 0xd2U, 0x79U, 0x20U,
 | 
			
		||||
    0x9aU, 0xdbU, 0xc0U, 0xfeU, 0x78U, 0xcdU, 0x5aU, 0xf4U,
 | 
			
		||||
    0x1fU, 0xddU, 0xa8U, 0x33U, 0x88U, 0x07U, 0xc7U, 0x31U,
 | 
			
		||||
    0xb1U, 0x12U, 0x10U, 0x59U, 0x27U, 0x80U, 0xecU, 0x5fU,
 | 
			
		||||
    0x60U, 0x51U, 0x7fU, 0xa9U, 0x19U, 0xb5U, 0x4aU, 0x0dU,
 | 
			
		||||
    0x2dU, 0xe5U, 0x7aU, 0x9fU, 0x93U, 0xc9U, 0x9cU, 0xefU,
 | 
			
		||||
    0xa0U, 0xe0U, 0x3bU, 0x4dU, 0xaeU, 0x2aU, 0xf5U, 0xb0U,
 | 
			
		||||
    0xc8U, 0xebU, 0xbbU, 0x3cU, 0x83U, 0x53U, 0x99U, 0x61U,
 | 
			
		||||
    0x17U, 0x2bU, 0x04U, 0x7eU, 0xbaU, 0x77U, 0xd6U, 0x26U,
 | 
			
		||||
    0xe1U, 0x69U, 0x14U, 0x63U, 0x55U, 0x21U, 0x0cU, 0x7dU,
 | 
			
		||||
};
 | 
			
		||||
static const u32 rcon[] = {
 | 
			
		||||
	0x01000000, 0x02000000, 0x04000000, 0x08000000,
 | 
			
		||||
@@ -731,6 +632,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
 | 
			
		||||
   	int i = 0;
 | 
			
		||||
	u32 temp;
 | 
			
		||||
 | 
			
		||||
#ifdef OPENSSL_FIPS
 | 
			
		||||
	FIPS_selftest_check();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (!userKey || !key)
 | 
			
		||||
		return -1;
 | 
			
		||||
	if (bits != 128 && bits != 192 && bits != 256)
 | 
			
		||||
@@ -753,10 +658,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
 | 
			
		||||
		while (1) {
 | 
			
		||||
			temp  = rk[3];
 | 
			
		||||
			rk[4] = rk[0] ^
 | 
			
		||||
				(Te4[(temp >> 16) & 0xff] & 0xff000000) ^
 | 
			
		||||
				(Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te4[(temp      ) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te4[(temp >> 24)       ] & 0x000000ff) ^
 | 
			
		||||
				(Te2[(temp >> 16) & 0xff] & 0xff000000) ^
 | 
			
		||||
				(Te3[(temp >>  8) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te0[(temp      ) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te1[(temp >> 24)       ] & 0x000000ff) ^
 | 
			
		||||
				rcon[i];
 | 
			
		||||
			rk[5] = rk[1] ^ rk[4];
 | 
			
		||||
			rk[6] = rk[2] ^ rk[5];
 | 
			
		||||
@@ -773,10 +678,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
 | 
			
		||||
		while (1) {
 | 
			
		||||
			temp = rk[ 5];
 | 
			
		||||
			rk[ 6] = rk[ 0] ^
 | 
			
		||||
				(Te4[(temp >> 16) & 0xff] & 0xff000000) ^
 | 
			
		||||
				(Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te4[(temp      ) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te4[(temp >> 24)       ] & 0x000000ff) ^
 | 
			
		||||
				(Te2[(temp >> 16) & 0xff] & 0xff000000) ^
 | 
			
		||||
				(Te3[(temp >>  8) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te0[(temp      ) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te1[(temp >> 24)       ] & 0x000000ff) ^
 | 
			
		||||
				rcon[i];
 | 
			
		||||
			rk[ 7] = rk[ 1] ^ rk[ 6];
 | 
			
		||||
			rk[ 8] = rk[ 2] ^ rk[ 7];
 | 
			
		||||
@@ -795,10 +700,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
 | 
			
		||||
		while (1) {
 | 
			
		||||
			temp = rk[ 7];
 | 
			
		||||
			rk[ 8] = rk[ 0] ^
 | 
			
		||||
				(Te4[(temp >> 16) & 0xff] & 0xff000000) ^
 | 
			
		||||
				(Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te4[(temp      ) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te4[(temp >> 24)       ] & 0x000000ff) ^
 | 
			
		||||
				(Te2[(temp >> 16) & 0xff] & 0xff000000) ^
 | 
			
		||||
				(Te3[(temp >>  8) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te0[(temp      ) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te1[(temp >> 24)       ] & 0x000000ff) ^
 | 
			
		||||
				rcon[i];
 | 
			
		||||
			rk[ 9] = rk[ 1] ^ rk[ 8];
 | 
			
		||||
			rk[10] = rk[ 2] ^ rk[ 9];
 | 
			
		||||
@@ -808,10 +713,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
 | 
			
		||||
			}
 | 
			
		||||
			temp = rk[11];
 | 
			
		||||
			rk[12] = rk[ 4] ^
 | 
			
		||||
				(Te4[(temp >> 24)       ] & 0xff000000) ^
 | 
			
		||||
				(Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te4[(temp >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te4[(temp      ) & 0xff] & 0x000000ff);
 | 
			
		||||
				(Te2[(temp >> 24)       ] & 0xff000000) ^
 | 
			
		||||
				(Te3[(temp >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
				(Te0[(temp >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
				(Te1[(temp      ) & 0xff] & 0x000000ff);
 | 
			
		||||
			rk[13] = rk[ 5] ^ rk[12];
 | 
			
		||||
			rk[14] = rk[ 6] ^ rk[13];
 | 
			
		||||
			rk[15] = rk[ 7] ^ rk[14];
 | 
			
		||||
@@ -850,25 +755,25 @@ int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
 | 
			
		||||
	for (i = 1; i < (key->rounds); i++) {
 | 
			
		||||
		rk += 4;
 | 
			
		||||
		rk[0] =
 | 
			
		||||
			Td0[Te4[(rk[0] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te4[(rk[0] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te4[(rk[0] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te4[(rk[0]      ) & 0xff] & 0xff];
 | 
			
		||||
			Td0[Te1[(rk[0] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te1[(rk[0] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te1[(rk[0] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te1[(rk[0]      ) & 0xff] & 0xff];
 | 
			
		||||
		rk[1] =
 | 
			
		||||
			Td0[Te4[(rk[1] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te4[(rk[1] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te4[(rk[1] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te4[(rk[1]      ) & 0xff] & 0xff];
 | 
			
		||||
			Td0[Te1[(rk[1] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te1[(rk[1] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te1[(rk[1] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te1[(rk[1]      ) & 0xff] & 0xff];
 | 
			
		||||
		rk[2] =
 | 
			
		||||
			Td0[Te4[(rk[2] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te4[(rk[2] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te4[(rk[2] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te4[(rk[2]      ) & 0xff] & 0xff];
 | 
			
		||||
			Td0[Te1[(rk[2] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te1[(rk[2] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te1[(rk[2] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te1[(rk[2]      ) & 0xff] & 0xff];
 | 
			
		||||
		rk[3] =
 | 
			
		||||
			Td0[Te4[(rk[3] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te4[(rk[3] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te4[(rk[3] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te4[(rk[3]      ) & 0xff] & 0xff];
 | 
			
		||||
			Td0[Te1[(rk[3] >> 24)       ] & 0xff] ^
 | 
			
		||||
			Td1[Te1[(rk[3] >> 16) & 0xff] & 0xff] ^
 | 
			
		||||
			Td2[Te1[(rk[3] >>  8) & 0xff] & 0xff] ^
 | 
			
		||||
			Td3[Te1[(rk[3]      ) & 0xff] & 0xff];
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
@@ -1036,31 +941,31 @@ void AES_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
	 * map cipher state to byte array block:
 | 
			
		||||
	 */
 | 
			
		||||
	s0 =
 | 
			
		||||
		(Te4[(t0 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te4[(t2 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te4[(t3      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		(Te2[(t0 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te3[(t1 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te0[(t2 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te1[(t3      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		rk[0];
 | 
			
		||||
	PUTU32(out     , s0);
 | 
			
		||||
	s1 =
 | 
			
		||||
		(Te4[(t1 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te4[(t3 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te4[(t0      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		(Te2[(t1 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te3[(t2 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te0[(t3 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te1[(t0      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		rk[1];
 | 
			
		||||
	PUTU32(out +  4, s1);
 | 
			
		||||
	s2 =
 | 
			
		||||
		(Te4[(t2 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te4[(t0 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te4[(t1      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		(Te2[(t2 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te3[(t3 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te0[(t0 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te1[(t1      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		rk[2];
 | 
			
		||||
	PUTU32(out +  8, s2);
 | 
			
		||||
	s3 =
 | 
			
		||||
		(Te4[(t3 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te4[(t1 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te4[(t2      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		(Te2[(t3 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
		(Te3[(t0 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
		(Te0[(t1 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
		(Te1[(t2      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
		rk[3];
 | 
			
		||||
	PUTU32(out + 12, s3);
 | 
			
		||||
}
 | 
			
		||||
@@ -1227,31 +1132,31 @@ void AES_decrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
	 * map cipher state to byte array block:
 | 
			
		||||
	 */
 | 
			
		||||
   	s0 =
 | 
			
		||||
   		(Td4[(t0 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
   		(Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
   		(Td4[(t2 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
   		(Td4[(t1      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
   		(Td4[(t0 >> 24)       ] << 24) ^
 | 
			
		||||
   		(Td4[(t3 >> 16) & 0xff] << 16) ^
 | 
			
		||||
   		(Td4[(t2 >>  8) & 0xff] <<  8) ^
 | 
			
		||||
   		(Td4[(t1      ) & 0xff])       ^
 | 
			
		||||
   		rk[0];
 | 
			
		||||
	PUTU32(out     , s0);
 | 
			
		||||
   	s1 =
 | 
			
		||||
   		(Td4[(t1 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
   		(Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
   		(Td4[(t3 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
   		(Td4[(t2      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
   		(Td4[(t1 >> 24)       ] << 24) ^
 | 
			
		||||
   		(Td4[(t0 >> 16) & 0xff] << 16) ^
 | 
			
		||||
   		(Td4[(t3 >>  8) & 0xff] <<  8) ^
 | 
			
		||||
   		(Td4[(t2      ) & 0xff])       ^
 | 
			
		||||
   		rk[1];
 | 
			
		||||
	PUTU32(out +  4, s1);
 | 
			
		||||
   	s2 =
 | 
			
		||||
   		(Td4[(t2 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
   		(Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
   		(Td4[(t0 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
   		(Td4[(t3      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
   		(Td4[(t2 >> 24)       ] << 24) ^
 | 
			
		||||
   		(Td4[(t1 >> 16) & 0xff] << 16) ^
 | 
			
		||||
   		(Td4[(t0 >>  8) & 0xff] <<  8) ^
 | 
			
		||||
   		(Td4[(t3      ) & 0xff])       ^
 | 
			
		||||
   		rk[2];
 | 
			
		||||
	PUTU32(out +  8, s2);
 | 
			
		||||
   	s3 =
 | 
			
		||||
   		(Td4[(t3 >> 24)       ] & 0xff000000) ^
 | 
			
		||||
   		(Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
 | 
			
		||||
   		(Td4[(t1 >>  8) & 0xff] & 0x0000ff00) ^
 | 
			
		||||
   		(Td4[(t0      ) & 0xff] & 0x000000ff) ^
 | 
			
		||||
   		(Td4[(t3 >> 24)       ] << 24) ^
 | 
			
		||||
   		(Td4[(t2 >> 16) & 0xff] << 16) ^
 | 
			
		||||
   		(Td4[(t1 >>  8) & 0xff] <<  8) ^
 | 
			
		||||
   		(Td4[(t0      ) & 0xff])       ^
 | 
			
		||||
   		rk[3];
 | 
			
		||||
	PUTU32(out + 12, s3);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										323
									
								
								crypto/aes/aes_ige.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										323
									
								
								crypto/aes/aes_ige.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,323 @@
 | 
			
		||||
/* crypto/aes/aes_ige.c -*- mode:C; c-file-style: "eay" -*- */
 | 
			
		||||
/* ====================================================================
 | 
			
		||||
 * Copyright (c) 2006 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.
 | 
			
		||||
 * ====================================================================
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "cryptlib.h"
 | 
			
		||||
 | 
			
		||||
#include <openssl/aes.h>
 | 
			
		||||
#include "aes_locl.h"
 | 
			
		||||
 | 
			
		||||
#define N_WORDS (AES_BLOCK_SIZE / sizeof(unsigned long))
 | 
			
		||||
typedef struct {
 | 
			
		||||
        unsigned long data[N_WORDS];
 | 
			
		||||
} aes_block_t;
 | 
			
		||||
 | 
			
		||||
/* XXX: probably some better way to do this */
 | 
			
		||||
#if defined(__i386__) || defined(__x86_64__)
 | 
			
		||||
#define UNALIGNED_MEMOPS_ARE_FAST 1
 | 
			
		||||
#else
 | 
			
		||||
#define UNALIGNED_MEMOPS_ARE_FAST 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if UNALIGNED_MEMOPS_ARE_FAST
 | 
			
		||||
#define load_block(d, s)        (d) = *(const aes_block_t *)(s)
 | 
			
		||||
#define store_block(d, s)       *(aes_block_t *)(d) = (s)
 | 
			
		||||
#else
 | 
			
		||||
#define load_block(d, s)        memcpy((d).data, (s), AES_BLOCK_SIZE)
 | 
			
		||||
#define store_block(d, s)       memcpy((d), (s).data, AES_BLOCK_SIZE)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* N.B. The IV for this mode is _twice_ the block size */
 | 
			
		||||
 | 
			
		||||
void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
					 const unsigned long length, const AES_KEY *key,
 | 
			
		||||
					 unsigned char *ivec, const int enc)
 | 
			
		||||
	{
 | 
			
		||||
	unsigned long n;
 | 
			
		||||
	unsigned long len;
 | 
			
		||||
 | 
			
		||||
	OPENSSL_assert(in && out && key && ivec);
 | 
			
		||||
	OPENSSL_assert((AES_ENCRYPT == enc)||(AES_DECRYPT == enc));
 | 
			
		||||
	OPENSSL_assert((length%AES_BLOCK_SIZE) == 0);
 | 
			
		||||
 | 
			
		||||
	len = length / AES_BLOCK_SIZE;
 | 
			
		||||
 | 
			
		||||
	if (AES_ENCRYPT == enc)
 | 
			
		||||
		{
 | 
			
		||||
		if (in != out &&
 | 
			
		||||
		    (UNALIGNED_MEMOPS_ARE_FAST || ((size_t)in|(size_t)out|(size_t)ivec)%sizeof(long)==0))
 | 
			
		||||
			{
 | 
			
		||||
			aes_block_t *ivp = (aes_block_t *)ivec;
 | 
			
		||||
			aes_block_t *iv2p = (aes_block_t *)(ivec + AES_BLOCK_SIZE);
 | 
			
		||||
 | 
			
		||||
			while (len)
 | 
			
		||||
				{
 | 
			
		||||
				aes_block_t *inp = (aes_block_t *)in;
 | 
			
		||||
				aes_block_t *outp = (aes_block_t *)out;
 | 
			
		||||
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					outp->data[n] = inp->data[n] ^ ivp->data[n];
 | 
			
		||||
				AES_encrypt((unsigned char *)outp->data, (unsigned char *)outp->data, key);
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					outp->data[n] ^= iv2p->data[n];
 | 
			
		||||
				ivp = outp;
 | 
			
		||||
				iv2p = inp;
 | 
			
		||||
				--len;
 | 
			
		||||
				in += AES_BLOCK_SIZE;
 | 
			
		||||
				out += AES_BLOCK_SIZE;
 | 
			
		||||
				}
 | 
			
		||||
			memcpy(ivec, ivp->data, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(ivec + AES_BLOCK_SIZE, iv2p->data, AES_BLOCK_SIZE);
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			aes_block_t tmp, tmp2;
 | 
			
		||||
			aes_block_t iv;
 | 
			
		||||
			aes_block_t iv2;
 | 
			
		||||
 | 
			
		||||
			load_block(iv, ivec);
 | 
			
		||||
			load_block(iv2, ivec + AES_BLOCK_SIZE);
 | 
			
		||||
 | 
			
		||||
			while (len)
 | 
			
		||||
				{
 | 
			
		||||
				load_block(tmp, in);
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					tmp2.data[n] = tmp.data[n] ^ iv.data[n];
 | 
			
		||||
				AES_encrypt((unsigned char *)tmp2.data, (unsigned char *)tmp2.data, key);
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					tmp2.data[n] ^= iv2.data[n];
 | 
			
		||||
				store_block(out, tmp2);
 | 
			
		||||
				iv = tmp2;
 | 
			
		||||
				iv2 = tmp;
 | 
			
		||||
				--len;
 | 
			
		||||
				in += AES_BLOCK_SIZE;
 | 
			
		||||
				out += AES_BLOCK_SIZE;
 | 
			
		||||
				}
 | 
			
		||||
			memcpy(ivec, iv.data, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(ivec + AES_BLOCK_SIZE, iv2.data, AES_BLOCK_SIZE);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		if (in != out &&
 | 
			
		||||
		    (UNALIGNED_MEMOPS_ARE_FAST || ((size_t)in|(size_t)out|(size_t)ivec)%sizeof(long)==0))
 | 
			
		||||
			{
 | 
			
		||||
			aes_block_t *ivp = (aes_block_t *)ivec;
 | 
			
		||||
			aes_block_t *iv2p = (aes_block_t *)(ivec + AES_BLOCK_SIZE);
 | 
			
		||||
 | 
			
		||||
			while (len)
 | 
			
		||||
				{
 | 
			
		||||
				aes_block_t tmp;
 | 
			
		||||
				aes_block_t *inp = (aes_block_t *)in;
 | 
			
		||||
				aes_block_t *outp = (aes_block_t *)out;
 | 
			
		||||
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					tmp.data[n] = inp->data[n] ^ iv2p->data[n];
 | 
			
		||||
				AES_decrypt((unsigned char *)tmp.data, (unsigned char *)outp->data, key);
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					outp->data[n] ^= ivp->data[n];
 | 
			
		||||
				ivp = inp;
 | 
			
		||||
				iv2p = outp;
 | 
			
		||||
				--len;
 | 
			
		||||
				in += AES_BLOCK_SIZE;
 | 
			
		||||
				out += AES_BLOCK_SIZE;
 | 
			
		||||
				}
 | 
			
		||||
			memcpy(ivec, ivp->data, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(ivec + AES_BLOCK_SIZE, iv2p->data, AES_BLOCK_SIZE);
 | 
			
		||||
			}
 | 
			
		||||
		else
 | 
			
		||||
			{
 | 
			
		||||
			aes_block_t tmp, tmp2;
 | 
			
		||||
			aes_block_t iv;
 | 
			
		||||
			aes_block_t iv2;
 | 
			
		||||
 | 
			
		||||
			load_block(iv, ivec);
 | 
			
		||||
			load_block(iv2, ivec + AES_BLOCK_SIZE);
 | 
			
		||||
 | 
			
		||||
			while (len)
 | 
			
		||||
				{
 | 
			
		||||
				load_block(tmp, in);
 | 
			
		||||
				tmp2 = tmp;
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					tmp.data[n] ^= iv2.data[n];
 | 
			
		||||
				AES_decrypt((unsigned char *)tmp.data, (unsigned char *)tmp.data, key);
 | 
			
		||||
				for(n=0 ; n < N_WORDS; ++n)
 | 
			
		||||
					tmp.data[n] ^= iv.data[n];
 | 
			
		||||
				store_block(out, tmp);
 | 
			
		||||
				iv = tmp2;
 | 
			
		||||
				iv2 = tmp;
 | 
			
		||||
				--len;
 | 
			
		||||
				in += AES_BLOCK_SIZE;
 | 
			
		||||
				out += AES_BLOCK_SIZE;
 | 
			
		||||
				}
 | 
			
		||||
			memcpy(ivec, iv.data, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(ivec + AES_BLOCK_SIZE, iv2.data, AES_BLOCK_SIZE);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Note that its effectively impossible to do biIGE in anything other
 | 
			
		||||
 * than a single pass, so no provision is made for chaining.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* N.B. The IV for this mode is _four times_ the block size */
 | 
			
		||||
 | 
			
		||||
void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
 | 
			
		||||
						const unsigned long length, const AES_KEY *key,
 | 
			
		||||
						const AES_KEY *key2, const unsigned char *ivec,
 | 
			
		||||
						const int enc)
 | 
			
		||||
	{
 | 
			
		||||
	unsigned long n;
 | 
			
		||||
	unsigned long len = length;
 | 
			
		||||
	unsigned char tmp[AES_BLOCK_SIZE];
 | 
			
		||||
	unsigned char tmp2[AES_BLOCK_SIZE];
 | 
			
		||||
	unsigned char tmp3[AES_BLOCK_SIZE];
 | 
			
		||||
	unsigned char prev[AES_BLOCK_SIZE];
 | 
			
		||||
	const unsigned char *iv;
 | 
			
		||||
	const unsigned char *iv2;
 | 
			
		||||
 | 
			
		||||
	OPENSSL_assert(in && out && key && ivec);
 | 
			
		||||
	OPENSSL_assert((AES_ENCRYPT == enc)||(AES_DECRYPT == enc));
 | 
			
		||||
	OPENSSL_assert((length%AES_BLOCK_SIZE) == 0);
 | 
			
		||||
 | 
			
		||||
	if (AES_ENCRYPT == enc)
 | 
			
		||||
		{
 | 
			
		||||
		/* XXX: Do a separate case for when in != out (strictly should
 | 
			
		||||
		   check for overlap, too) */
 | 
			
		||||
 | 
			
		||||
		/* First the forward pass */ 
 | 
			
		||||
		iv = ivec;
 | 
			
		||||
		iv2 = ivec + AES_BLOCK_SIZE;
 | 
			
		||||
		while (len >= AES_BLOCK_SIZE)
 | 
			
		||||
			{
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				out[n] = in[n] ^ iv[n];
 | 
			
		||||
			AES_encrypt(out, out, key);
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				out[n] ^= iv2[n];
 | 
			
		||||
			iv = out;
 | 
			
		||||
			memcpy(prev, in, AES_BLOCK_SIZE);
 | 
			
		||||
			iv2 = prev;
 | 
			
		||||
			len -= AES_BLOCK_SIZE;
 | 
			
		||||
			in += AES_BLOCK_SIZE;
 | 
			
		||||
			out += AES_BLOCK_SIZE;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		/* And now backwards */
 | 
			
		||||
		iv = ivec + AES_BLOCK_SIZE*2;
 | 
			
		||||
		iv2 = ivec + AES_BLOCK_SIZE*3;
 | 
			
		||||
		len = length;
 | 
			
		||||
		while(len >= AES_BLOCK_SIZE)
 | 
			
		||||
			{
 | 
			
		||||
			out -= AES_BLOCK_SIZE;
 | 
			
		||||
			/* XXX: reduce copies by alternating between buffers */
 | 
			
		||||
			memcpy(tmp, out, AES_BLOCK_SIZE);
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				out[n] ^= iv[n];
 | 
			
		||||
			/*			hexdump(stdout, "out ^ iv", out, AES_BLOCK_SIZE); */
 | 
			
		||||
			AES_encrypt(out, out, key);
 | 
			
		||||
			/*			hexdump(stdout,"enc", out, AES_BLOCK_SIZE); */
 | 
			
		||||
			/*			hexdump(stdout,"iv2", iv2, AES_BLOCK_SIZE); */
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				out[n] ^= iv2[n];
 | 
			
		||||
			/*			hexdump(stdout,"out", out, AES_BLOCK_SIZE); */
 | 
			
		||||
			iv = out;
 | 
			
		||||
			memcpy(prev, tmp, AES_BLOCK_SIZE);
 | 
			
		||||
			iv2 = prev;
 | 
			
		||||
			len -= AES_BLOCK_SIZE;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	else
 | 
			
		||||
		{
 | 
			
		||||
		/* First backwards */
 | 
			
		||||
		iv = ivec + AES_BLOCK_SIZE*2;
 | 
			
		||||
		iv2 = ivec + AES_BLOCK_SIZE*3;
 | 
			
		||||
		in += length;
 | 
			
		||||
		out += length;
 | 
			
		||||
		while (len >= AES_BLOCK_SIZE)
 | 
			
		||||
			{
 | 
			
		||||
			in -= AES_BLOCK_SIZE;
 | 
			
		||||
			out -= AES_BLOCK_SIZE;
 | 
			
		||||
			memcpy(tmp, in, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(tmp2, in, AES_BLOCK_SIZE);
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				tmp[n] ^= iv2[n];
 | 
			
		||||
			AES_decrypt(tmp, out, key);
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				out[n] ^= iv[n];
 | 
			
		||||
			memcpy(tmp3, tmp2, AES_BLOCK_SIZE);
 | 
			
		||||
			iv = tmp3;
 | 
			
		||||
			iv2 = out;
 | 
			
		||||
			len -= AES_BLOCK_SIZE;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		/* And now forwards */
 | 
			
		||||
		iv = ivec;
 | 
			
		||||
		iv2 = ivec + AES_BLOCK_SIZE;
 | 
			
		||||
		len = length;
 | 
			
		||||
		while (len >= AES_BLOCK_SIZE)
 | 
			
		||||
			{
 | 
			
		||||
			memcpy(tmp, out, AES_BLOCK_SIZE);
 | 
			
		||||
			memcpy(tmp2, out, AES_BLOCK_SIZE);
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				tmp[n] ^= iv2[n];
 | 
			
		||||
			AES_decrypt(tmp, out, key);
 | 
			
		||||
			for(n=0 ; n < AES_BLOCK_SIZE ; ++n)
 | 
			
		||||
				out[n] ^= iv[n];
 | 
			
		||||
			memcpy(tmp3, tmp2, AES_BLOCK_SIZE);
 | 
			
		||||
			iv = tmp3;
 | 
			
		||||
			iv2 = out;
 | 
			
		||||
			len -= AES_BLOCK_SIZE;
 | 
			
		||||
			in += AES_BLOCK_SIZE;
 | 
			
		||||
			out += AES_BLOCK_SIZE;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -62,7 +62,7 @@
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER) && !defined(_M_IA64) && !defined(OPENSSL_SYS_WINCE)
 | 
			
		||||
#if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64))
 | 
			
		||||
# define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)
 | 
			
		||||
# define GETU32(p) SWAP(*((u32 *)(p)))
 | 
			
		||||
# define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }
 | 
			
		||||
@@ -71,7 +71,11 @@
 | 
			
		||||
# define PUTU32(ct, st) { (ct)[0] = (u8)((st) >> 24); (ct)[1] = (u8)((st) >> 16); (ct)[2] = (u8)((st) >>  8); (ct)[3] = (u8)(st); }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef AES_LONG
 | 
			
		||||
typedef unsigned long u32;
 | 
			
		||||
#else
 | 
			
		||||
typedef unsigned int u32;
 | 
			
		||||
#endif
 | 
			
		||||
typedef unsigned short u16;
 | 
			
		||||
typedef unsigned char u8;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@
 | 
			
		||||
#include <openssl/aes.h>
 | 
			
		||||
#include "aes_locl.h"
 | 
			
		||||
 | 
			
		||||
const char *AES_version="AES" OPENSSL_VERSION_PTEXT;
 | 
			
		||||
const char AES_version[]="AES" OPENSSL_VERSION_PTEXT;
 | 
			
		||||
 | 
			
		||||
const char *AES_options(void) {
 | 
			
		||||
#ifdef FULL_UNROLL
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2993
									
								
								crypto/aes/asm/aes-586.pl
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2993
									
								
								crypto/aes/asm/aes-586.pl
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1071
									
								
								crypto/aes/asm/aes-s390x.pl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1071
									
								
								crypto/aes/asm/aes-s390x.pl
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2498
									
								
								crypto/aes/asm/aes-x86_64.pl
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2498
									
								
								crypto/aes/asm/aes-x86_64.pl
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,2 +1,4 @@
 | 
			
		||||
lib
 | 
			
		||||
Makefile.save
 | 
			
		||||
*.flc
 | 
			
		||||
semantic.cache
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
#
 | 
			
		||||
# SSLeay/crypto/asn1/Makefile
 | 
			
		||||
# OpenSSL/crypto/asn1/Makefile
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
DIR=	asn1
 | 
			
		||||
@@ -7,13 +7,7 @@ TOP=	../..
 | 
			
		||||
CC=	cc
 | 
			
		||||
INCLUDES= -I.. -I$(TOP) -I../../include
 | 
			
		||||
CFLAG=-g
 | 
			
		||||
INSTALL_PREFIX=
 | 
			
		||||
OPENSSLDIR=     /usr/local/ssl
 | 
			
		||||
INSTALLTOP=/usr/local/ssl
 | 
			
		||||
MAKE=		make -f Makefile.ssl
 | 
			
		||||
MAKEDEPPROG=	makedepend
 | 
			
		||||
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 | 
			
		||||
MAKEFILE=	Makefile.ssl
 | 
			
		||||
MAKEFILE=	Makefile
 | 
			
		||||
AR=		ar r
 | 
			
		||||
 | 
			
		||||
CFLAGS= $(INCLUDES) $(CFLAG)
 | 
			
		||||
@@ -69,20 +63,20 @@ pk:	pk.c
 | 
			
		||||
all:	lib
 | 
			
		||||
 | 
			
		||||
lib:	$(LIBOBJ)
 | 
			
		||||
	$(AR) $(LIB) $(LIBOBJ)
 | 
			
		||||
	$(ARX) $(LIB) $(LIBOBJ)
 | 
			
		||||
	$(RANLIB) $(LIB) || echo Never mind.
 | 
			
		||||
	@touch lib
 | 
			
		||||
 | 
			
		||||
files:
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
 | 
			
		||||
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
 | 
			
		||||
 | 
			
		||||
links:
 | 
			
		||||
	@sh $(TOP)/util/point.sh Makefile.ssl Makefile
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
 | 
			
		||||
	@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
 | 
			
		||||
	@headerlist="$(EXHEADER)"; for i in $$headerlist ; \
 | 
			
		||||
	do  \
 | 
			
		||||
	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
 | 
			
		||||
@@ -98,6 +92,7 @@ lint:
 | 
			
		||||
	lint -DLINT $(INCLUDES) $(SRC)>fluff
 | 
			
		||||
 | 
			
		||||
depend:
 | 
			
		||||
	@[ -n "$(MAKEDEPEND)" ] # should be set by top Makefile...
 | 
			
		||||
	$(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
 | 
			
		||||
 | 
			
		||||
dclean:
 | 
			
		||||
@@ -147,9 +142,9 @@ a_digest.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
a_digest.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
a_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
a_digest.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
a_digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
a_digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
a_digest.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
a_digest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
a_digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
a_digest.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
a_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
a_digest.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
a_digest.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
@@ -255,27 +250,27 @@ a_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
a_sign.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
a_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
a_sign.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
a_sign.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
a_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
a_sign.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
a_sign.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
a_sign.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
a_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
a_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
a_sign.o: ../cryptlib.h a_sign.c
 | 
			
		||||
a_sign.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
a_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
a_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
a_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
a_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
a_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
a_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
a_sign.o: ../../include/openssl/x509_vfy.h ../cryptlib.h a_sign.c
 | 
			
		||||
a_strex.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
a_strex.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
a_strex.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
a_strex.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
a_strex.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
a_strex.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
a_strex.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
a_strex.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
a_strex.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
a_strex.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
a_strex.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
a_strex.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
a_strex.o: ../cryptlib.h a_strex.c charmap.h
 | 
			
		||||
a_strex.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
a_strex.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
a_strex.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
a_strex.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
a_strex.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
a_strex.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
a_strex.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
a_strex.o: ../../include/openssl/x509_vfy.h ../cryptlib.h a_strex.c charmap.h
 | 
			
		||||
a_strnid.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
a_strnid.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
a_strnid.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
@@ -322,8 +317,9 @@ a_verify.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
a_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
a_verify.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
a_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
a_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
a_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
a_verify.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
a_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
a_verify.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
a_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
a_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
a_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
@@ -342,8 +338,9 @@ asn1_gen.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
asn1_gen.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
@@ -373,9 +370,9 @@ asn_moid.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
asn_moid.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
@@ -394,23 +391,23 @@ d2i_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
d2i_pr.o: ../cryptlib.h d2i_pr.c
 | 
			
		||||
d2i_pr.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
d2i_pr.o: ../../include/openssl/symhacks.h ../cryptlib.h d2i_pr.c
 | 
			
		||||
d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
d2i_pu.o: ../cryptlib.h d2i_pu.c
 | 
			
		||||
d2i_pu.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
d2i_pu.o: ../../include/openssl/symhacks.h ../cryptlib.h d2i_pu.c
 | 
			
		||||
evp_asn1.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
evp_asn1.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
 | 
			
		||||
evp_asn1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
@@ -446,71 +443,73 @@ i2d_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
i2d_pr.o: ../cryptlib.h i2d_pr.c
 | 
			
		||||
i2d_pr.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
i2d_pr.o: ../../include/openssl/symhacks.h ../cryptlib.h i2d_pr.c
 | 
			
		||||
i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
i2d_pu.o: ../cryptlib.h i2d_pu.c
 | 
			
		||||
i2d_pu.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
i2d_pu.o: ../../include/openssl/symhacks.h ../cryptlib.h i2d_pu.c
 | 
			
		||||
n_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h n_pkey.c
 | 
			
		||||
n_pkey.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
n_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
n_pkey.o: ../cryptlib.h n_pkey.c
 | 
			
		||||
nsseq.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 | 
			
		||||
nsseq.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
nsseq.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
nsseq.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
nsseq.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
 | 
			
		||||
nsseq.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
nsseq.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
nsseq.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
nsseq.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
nsseq.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
nsseq.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
nsseq.o: ../../include/openssl/x509_vfy.h nsseq.c
 | 
			
		||||
nsseq.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
nsseq.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
nsseq.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
nsseq.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
nsseq.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
nsseq.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
nsseq.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h nsseq.c
 | 
			
		||||
p5_pbe.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
p5_pbe.o: ../cryptlib.h p5_pbe.c
 | 
			
		||||
p5_pbe.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
p5_pbe.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p5_pbe.c
 | 
			
		||||
p5_pbev2.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
 | 
			
		||||
p5_pbev2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
@@ -523,41 +522,42 @@ p8_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p8_pkey.c
 | 
			
		||||
p8_pkey.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
p8_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
p8_pkey.o: ../cryptlib.h p8_pkey.c
 | 
			
		||||
t_bitst.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 | 
			
		||||
t_bitst.o: ../cryptlib.h t_bitst.c
 | 
			
		||||
t_bitst.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
t_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h t_bitst.c
 | 
			
		||||
t_crl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
t_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
t_crl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 | 
			
		||||
t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
t_crl.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
t_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
t_crl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
t_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
t_crl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
t_crl.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
t_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
t_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
t_crl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 | 
			
		||||
t_crl.o: ../cryptlib.h t_crl.c
 | 
			
		||||
t_crl.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
t_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
t_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
t_crl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
t_crl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
t_crl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
t_crl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
t_crl.o: ../../include/openssl/x509v3.h ../cryptlib.h t_crl.c
 | 
			
		||||
t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
t_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
t_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 | 
			
		||||
@@ -575,57 +575,57 @@ t_req.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 | 
			
		||||
t_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
 | 
			
		||||
t_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
t_req.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
t_req.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
t_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
t_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
t_req.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
t_req.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
t_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
t_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
t_req.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 | 
			
		||||
t_req.o: ../cryptlib.h t_req.c
 | 
			
		||||
t_req.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
t_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
t_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
t_req.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
t_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 | 
			
		||||
t_req.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
t_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
t_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
t_req.o: ../../include/openssl/x509v3.h ../cryptlib.h t_req.c
 | 
			
		||||
t_spki.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
t_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
t_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
 | 
			
		||||
t_spki.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
t_spki.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
t_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
t_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
t_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
t_spki.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
t_spki.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 | 
			
		||||
t_spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
t_spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
t_spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
t_spki.o: ../cryptlib.h t_spki.c
 | 
			
		||||
t_spki.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
t_spki.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
t_spki.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
t_spki.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
t_spki.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
t_spki.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
t_spki.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
t_spki.o: ../../include/openssl/x509_vfy.h ../cryptlib.h t_spki.c
 | 
			
		||||
t_x509.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
t_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
t_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
 | 
			
		||||
t_x509.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
 | 
			
		||||
t_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
t_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
t_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
t_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
t_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
t_x509.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
t_x509.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
 | 
			
		||||
t_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
t_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
t_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 | 
			
		||||
t_x509.o: ../cryptlib.h t_x509.c
 | 
			
		||||
t_x509.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
t_x509.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
t_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
t_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
t_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 | 
			
		||||
t_x509.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
t_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
t_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
t_x509.o: ../../include/openssl/x509v3.h ../cryptlib.h t_x509.c
 | 
			
		||||
t_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
t_x509a.o: ../cryptlib.h t_x509a.c
 | 
			
		||||
t_x509a.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
t_x509a.o: ../../include/openssl/x509_vfy.h ../cryptlib.h t_x509a.c
 | 
			
		||||
tasn_dec.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 | 
			
		||||
tasn_dec.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
tasn_dec.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
@@ -635,13 +635,15 @@ tasn_dec.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
tasn_dec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
tasn_dec.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
tasn_dec.o: ../../include/openssl/symhacks.h tasn_dec.c
 | 
			
		||||
tasn_enc.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/obj_mac.h
 | 
			
		||||
tasn_enc.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 | 
			
		||||
tasn_enc.o: ../../include/openssl/symhacks.h tasn_enc.c
 | 
			
		||||
tasn_enc.o: ../../include/openssl/symhacks.h ../cryptlib.h tasn_enc.c
 | 
			
		||||
tasn_fre.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 | 
			
		||||
tasn_fre.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
 | 
			
		||||
tasn_fre.o: ../../include/openssl/e_os2.h ../../include/openssl/obj_mac.h
 | 
			
		||||
@@ -676,21 +678,23 @@ x_algor.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
x_algor.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
x_algor.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
x_algor.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
 | 
			
		||||
x_algor.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_algor.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_algor.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_algor.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_algor.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_algor.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_algor.o: ../../include/openssl/x509_vfy.h x_algor.c
 | 
			
		||||
x_algor.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_algor.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_algor.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_algor.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_algor.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_algor.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_algor.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_algor.o: x_algor.c
 | 
			
		||||
x_attrib.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_attrib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
@@ -711,37 +715,40 @@ x_crl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_crl.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_crl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_crl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_crl.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_crl.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_crl.c
 | 
			
		||||
x_crl.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_crl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_crl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_crl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_crl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_crl.o: ../cryptlib.h x_crl.c
 | 
			
		||||
x_exten.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 | 
			
		||||
x_exten.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 | 
			
		||||
x_exten.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
x_exten.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
x_exten.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h
 | 
			
		||||
x_exten.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_exten.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_exten.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_exten.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_exten.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_exten.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_exten.o: ../../include/openssl/x509_vfy.h x_exten.c
 | 
			
		||||
x_exten.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_exten.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_exten.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_exten.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_exten.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_exten.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_exten.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_exten.o: x_exten.c
 | 
			
		||||
x_info.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 | 
			
		||||
x_info.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_info.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_info.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_info.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_info.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_info.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_info.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_info.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_info.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_info.c
 | 
			
		||||
x_info.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_info.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_info.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_info.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_info.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_info.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_info.o: ../cryptlib.h x_info.c
 | 
			
		||||
x_long.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_long.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_long.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 | 
			
		||||
@@ -757,35 +764,37 @@ x_name.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_name.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_name.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_name.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_name.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_name.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_name.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_name.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_name.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_name.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_name.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_name.c
 | 
			
		||||
x_name.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_name.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_name.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_name.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_name.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_name.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_name.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_name.o: ../cryptlib.h x_name.c
 | 
			
		||||
x_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_pkey.c
 | 
			
		||||
x_pkey.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_pkey.o: ../cryptlib.h x_pkey.c
 | 
			
		||||
x_pubkey.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/opensslconf.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
 | 
			
		||||
x_pubkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
@@ -798,76 +807,82 @@ x_req.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_req.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_req.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_req.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_req.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_req.c
 | 
			
		||||
x_req.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_req.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_req.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_req.o: ../cryptlib.h x_req.c
 | 
			
		||||
x_sig.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_sig.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_sig.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_sig.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_sig.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_sig.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_sig.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_sig.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_sig.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_sig.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_sig.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_sig.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_sig.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_sig.c
 | 
			
		||||
x_sig.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_sig.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_sig.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_sig.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_sig.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_sig.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_sig.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_sig.o: ../cryptlib.h x_sig.c
 | 
			
		||||
x_spki.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_spki.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_spki.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_spki.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_spki.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_spki.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_spki.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_spki.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_spki.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_spki.c
 | 
			
		||||
x_spki.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_spki.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_spki.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_spki.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_spki.o: ../cryptlib.h x_spki.c
 | 
			
		||||
x_val.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_val.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_val.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_val.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_val.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_val.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_val.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_val.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_val.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_val.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_val.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_val.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_val.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_val.c
 | 
			
		||||
x_val.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_val.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_val.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_val.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_val.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_val.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_val.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_val.o: ../cryptlib.h x_val.c
 | 
			
		||||
x_x509.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_x509.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h
 | 
			
		||||
x_x509.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 | 
			
		||||
x_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
 | 
			
		||||
x_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
 | 
			
		||||
x_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
 | 
			
		||||
x_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_x509.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_x509.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_x509.o: ../../include/openssl/x509v3.h ../cryptlib.h x_x509.c
 | 
			
		||||
x_x509.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
 | 
			
		||||
x_x509.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
 | 
			
		||||
x_x509.o: ../cryptlib.h x_x509.c
 | 
			
		||||
x_x509a.o: ../../e_os.h ../../include/openssl/asn1.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_x509a.c
 | 
			
		||||
x_x509a.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
 | 
			
		||||
x_x509a.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 | 
			
		||||
x_x509a.o: ../cryptlib.h x_x509a.c
 | 
			
		||||
@@ -165,7 +165,7 @@ ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a,
 | 
			
		||||
	*pp=p;
 | 
			
		||||
	return(ret);
 | 
			
		||||
err:
 | 
			
		||||
	ASN1err(ASN1_F_D2I_ASN1_BIT_STRING,i);
 | 
			
		||||
	ASN1err(ASN1_F_C2I_ASN1_BIT_STRING,i);
 | 
			
		||||
	if ((ret != NULL) && ((a == NULL) || (*a != ret)))
 | 
			
		||||
		M_ASN1_BIT_STRING_free(ret);
 | 
			
		||||
	return(NULL);
 | 
			
		||||
@@ -183,9 +183,11 @@ int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
 | 
			
		||||
	iv= ~v;
 | 
			
		||||
	if (!value) v=0;
 | 
			
		||||
 | 
			
		||||
	if (a == NULL)
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */
 | 
			
		||||
 | 
			
		||||
	if (a == NULL) return(0);
 | 
			
		||||
	if ((a->length < (w+1)) || (a->data == NULL))
 | 
			
		||||
		{
 | 
			
		||||
		if (!value) return(1); /* Don't need to set */
 | 
			
		||||
@@ -201,7 +203,6 @@ int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
 | 
			
		||||
			return 0;
 | 
			
		||||
			}
 | 
			
		||||
  		if (w+1-a->length > 0) memset(c+a->length, 0, w+1-a->length);
 | 
			
		||||
		if (w+1-a->length > 0) memset(c+a->length, 0, w+1-a->length);
 | 
			
		||||
		a->data=c;
 | 
			
		||||
		a->length=w+1;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -66,11 +66,10 @@ static int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb);
 | 
			
		||||
#ifndef NO_OLD_ASN1
 | 
			
		||||
#ifndef OPENSSL_NO_FP_API
 | 
			
		||||
 | 
			
		||||
char *ASN1_d2i_fp(char *(*xnew)(), char *(*d2i)(), FILE *in,
 | 
			
		||||
	     unsigned char **x)
 | 
			
		||||
void *ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
 | 
			
		||||
        {
 | 
			
		||||
        BIO *b;
 | 
			
		||||
        char *ret;
 | 
			
		||||
        void *ret;
 | 
			
		||||
 | 
			
		||||
        if ((b=BIO_new(BIO_s_file())) == NULL)
 | 
			
		||||
		{
 | 
			
		||||
@@ -84,12 +83,11 @@ char *ASN1_d2i_fp(char *(*xnew)(), char *(*d2i)(), FILE *in,
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
char *ASN1_d2i_bio(char *(*xnew)(), char *(*d2i)(), BIO *in,
 | 
			
		||||
	     unsigned char **x)
 | 
			
		||||
void *ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x)
 | 
			
		||||
	{
 | 
			
		||||
	BUF_MEM *b = NULL;
 | 
			
		||||
	unsigned char *p;
 | 
			
		||||
	char *ret=NULL;
 | 
			
		||||
	const unsigned char *p;
 | 
			
		||||
	void *ret=NULL;
 | 
			
		||||
	int len;
 | 
			
		||||
 | 
			
		||||
	len = asn1_d2i_read_bio(in, &b);
 | 
			
		||||
@@ -129,7 +127,7 @@ void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
 | 
			
		||||
 | 
			
		||||
        if ((b=BIO_new(BIO_s_file())) == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		ASN1err(ASN1_F_ASN1_D2I_FP,ERR_R_BUF_LIB);
 | 
			
		||||
		ASN1err(ASN1_F_ASN1_ITEM_D2I_FP,ERR_R_BUF_LIB);
 | 
			
		||||
                return(NULL);
 | 
			
		||||
		}
 | 
			
		||||
        BIO_set_fp(b,in,BIO_NOCLOSE);
 | 
			
		||||
@@ -160,7 +158,7 @@ static int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
 | 
			
		||||
	b=BUF_MEM_new();
 | 
			
		||||
	if (b == NULL)
 | 
			
		||||
		{
 | 
			
		||||
		ASN1err(ASN1_F_ASN1_D2I_BIO,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
		ASN1err(ASN1_F_ASN1_D2I_READ_BIO,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
		return -1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@@ -173,13 +171,13 @@ static int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
 | 
			
		||||
 | 
			
		||||
			if (!BUF_MEM_grow_clean(b,len+want))
 | 
			
		||||
				{
 | 
			
		||||
				ASN1err(ASN1_F_ASN1_D2I_BIO,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
				ASN1err(ASN1_F_ASN1_D2I_READ_BIO,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
				goto err;
 | 
			
		||||
				}
 | 
			
		||||
			i=BIO_read(in,&(b->data[len]),want);
 | 
			
		||||
			if ((i < 0) && ((len-off) == 0))
 | 
			
		||||
				{
 | 
			
		||||
				ASN1err(ASN1_F_ASN1_D2I_BIO,ASN1_R_NOT_ENOUGH_DATA);
 | 
			
		||||
				ASN1err(ASN1_F_ASN1_D2I_READ_BIO,ASN1_R_NOT_ENOUGH_DATA);
 | 
			
		||||
				goto err;
 | 
			
		||||
				}
 | 
			
		||||
			if (i > 0)
 | 
			
		||||
@@ -199,7 +197,7 @@ static int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
 | 
			
		||||
			if (e != ASN1_R_TOO_LONG)
 | 
			
		||||
				goto err;
 | 
			
		||||
			else
 | 
			
		||||
				ERR_get_error(); /* clear error */
 | 
			
		||||
				ERR_clear_error(); /* clear error */
 | 
			
		||||
			}
 | 
			
		||||
		i=c.p-p;/* header length */
 | 
			
		||||
		off+=i;	/* end of data */
 | 
			
		||||
@@ -228,7 +226,7 @@ static int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
 | 
			
		||||
				want-=(len-off);
 | 
			
		||||
				if (!BUF_MEM_grow_clean(b,len+want))
 | 
			
		||||
					{
 | 
			
		||||
					ASN1err(ASN1_F_ASN1_D2I_BIO,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
					ASN1err(ASN1_F_ASN1_D2I_READ_BIO,ERR_R_MALLOC_FAILURE);
 | 
			
		||||
					goto err;
 | 
			
		||||
					}
 | 
			
		||||
				while (want > 0)
 | 
			
		||||
@@ -236,7 +234,7 @@ static int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
 | 
			
		||||
					i=BIO_read(in,&(b->data[len]),want);
 | 
			
		||||
					if (i <= 0)
 | 
			
		||||
						{
 | 
			
		||||
						ASN1err(ASN1_F_ASN1_D2I_BIO,
 | 
			
		||||
						ASN1err(ASN1_F_ASN1_D2I_READ_BIO,
 | 
			
		||||
						    ASN1_R_NOT_ENOUGH_DATA);
 | 
			
		||||
						goto err;
 | 
			
		||||
						}
 | 
			
		||||
 
 | 
			
		||||
@@ -72,7 +72,7 @@
 | 
			
		||||
 | 
			
		||||
#ifndef NO_ASN1_OLD
 | 
			
		||||
 | 
			
		||||
int ASN1_digest(int (*i2d)(), const EVP_MD *type, char *data,
 | 
			
		||||
int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data,
 | 
			
		||||
		unsigned char *md, unsigned int *len)
 | 
			
		||||
	{
 | 
			
		||||
	int i;
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user