remove old openssl
Hanno Böck

Hanno Böck commited on 2016-03-04 13:30:33
Zeige 29 geänderte Dateien mit 0 Einfügungen und 4949 Löschungen.

... ...
@@ -1,31 +0,0 @@
1
-AUX gentoo.config-1.0.1 4980 SHA256 e7dd01bc76f0262c91b0a3a56bbf0675feedd6d5c6e61f8dcb5e3c538b113424 SHA512 1900cf603954dc4213d84d2f1f10fb74310dd8134f9c1bcf5f633a45e2ab27398f51656ac2f4165f86be78b19283374689766e3a5d7b43e16afeff884f31a1a0 WHIRLPOOL 2fd9eb3e46a262509f46f5ee6cef963e0bf32ff2c2dc3acb2fdf890326b4db801c0c90814df6f206fc6bc8aaf1184eb68289beb33e36dcebd890bb9e2855545a
2
-AUX gentoo.config-1.0.2 4905 SHA256 98a4c1e2cef5a2378d5dcc61f661300333a6c5c0ba4e3c82590f688e33117604 SHA512 4c13371fb7d0c33f015ed559951c755dabc35279c91d7490578a008087f62c1a94d69e309d4a113bf23e5ad7085e2eec5692152b3d7b1c3130cb64dc2a002632 WHIRLPOOL 64d9cc378ff32bb78a8d0edea25b6519c65af5faf3a7b22713bf19881f61385271e352814460f16375effeccc743c82642e8175aa2590f352b2909748513e120
3
-AUX openssl-1.0.0a-ldflags.patch 1095 SHA256 2489ffbae4af11e1642d54992c404ca81b0c2a9c169032281f4f7778d945836f SHA512 d5a3f90ca0e9755940da525b8daba5b5d09b2b251863e9ca4f2b3b0a5db461e0aa25b2ae7a7d36d13a92ff64f2a37d4809b70aff9672c0f43398369bc7099979 WHIRLPOOL b7c2fbc833be856388110f2ac891976903e7c5dd4030249bcd79f915ae94fa93bff955ff3eaaf4a4bab306a09512bd861099c2738f5af7027174b79d023f7261
4
-AUX openssl-1.0.0d-windres.patch 2912 SHA256 e5dbfd6af69bc3f69b51787cf1f6245207be9824dfffbdd9b4e278772ed8ab32 SHA512 d7a0238edea29aac7d20dca0778c67f8ae4dc0da190e5277e1b3519ae536f2c44533ac5dc1cbcd138bc4277ad669b13fca316bd962f26e2cb387f2ad3fd0111b WHIRLPOOL d62156820e55898d0a0393473c6ad8e49c5aa7bb9d3fc7043795de7102c3003d5f8b874c751e03cf832e306ac290790e871e1318bb830b3558a43e09be5b45b4
5
-AUX openssl-1.0.0h-pkg-config.patch 1363 SHA256 dbbcc175f02e5edced01a13dd1e7d35dc4322c0970f78a7fd781a6c0766886af SHA512 c2f7a68c96098bd742235a40f27d6b1e5a0ebece53ca32dd0be74b85210479064efa1d5dc76e457b786067185768492fab2ed53762a22c511c2a2e3d43ed137b WHIRLPOOL 7f795dbed2124d8d2d126886d106675662f09b8e79c70fa2af3298486fdb75b7f1285dc17a53daf985bd4af1e58c36e13e49f46d18af860f0dabad1b3898c3b0
6
-AUX openssl-1.0.1-parallel-build.patch 10614 SHA256 f3aa674880ffa53a891d3f9054a1ff162c4461b3ec160a365990275907636259 SHA512 439015b3b007adfbab047a1e3e12a9700030779a593bba1a30e9554c7c02eb1cffe9acb089546954e87163847cf86b13130abf9646eb5d00a2ff725b534f84d5 WHIRLPOOL 673f6f045765effb9ded607bf8116a81e7bfeee78ba0e8a34892081c272239a2b75fbb14f4c48b61d93593fac8e1b1e8bef7223f4cc64e8443e19c8f337ab6bc
7
-AUX openssl-1.0.1-x32.patch 3273 SHA256 a4f05b8757e225a05a9c5a3ea485159066760d878c9ee54c4eaf61760e33c6cf SHA512 6bed57fe2fbe2d0ced1279b53804d94426a679d5d6b80ad7d0ed18523a7fda397e02038032c08cdd4e6034f9ff6e82cad365ff2a724d49d91467cf2b77f47752 WHIRLPOOL 1366632e7dc1c6e54efc5b9791bf24833d20e7a61ca29aa38d31b5b9629febf926a29742e370b7cd6767c810c0a1676100ca9169f0d836dfd19ff0b2c29e49c1
8
-AUX openssl-1.0.1e-s_client-verify.patch 592 SHA256 6f540fce663eefbe68cee16ad7d8d561d6c898eeb4180c2f4a4caa7e43c6d0c9 SHA512 117b1017e1259667078d3ccdcd9fd46357c6f85cf2702794f49c612b37acdc044fe88f871dbe46fcad9ed4cd8aaaaee800dddb5286203322802efd7549a43b68 WHIRLPOOL 70a4cc36b1dcb24d7e9bcef016684fb2394977f7f20aa332ebd0aa15e3f4c16c74563d2fc0ba8d70669f6cc9a13bf8a30cdb28ebafe2d102cd2859a4e32c38d7
9
-AUX openssl-1.0.1f-revert-alpha-perl-generation.patch 3102 SHA256 6e502275b32ac0eca80f28448ae1bb88506f9135258f420fd857ea0b9b485778 SHA512 c80439da3d268e70fd492d0ca73c0a17ddb088b9330610794a338d1921ee13dad9caca4c81ca103b82a7541c8712f77e51f352ec1b1b02789d9aed291acb0cdc WHIRLPOOL cb760366c8759b1c78c5307134bb48c4fc12b1556276c2ef55455ea54725d20cb433ade966a7453f512d2feb5ae89a9798078ab535e4605366633a8e003c7ac6
10
-AUX openssl-1.0.1h-ipv6.patch 17788 SHA256 7adeeb88cc544f8b210efbe2baff48fccf5029b582dff7010ae70e0e1f097d7b SHA512 0f0990d4294abcb5f3e51c84080883046a054c710b57a23f99b3323727d5e9aeb5ddeb6b6c2565b4be364f7c21419c90ce5288154e404cd663678f87e0d1c259 WHIRLPOOL cfe7a2e141a4a6252ffcfe215b16dd1082bc14a757dad7eb01bb9819de41ef0ee51a4b2dbf110c27b52e483341c337bf4d1f77f4f9f3172d2fee9e348c30af7e
11
-AUX openssl-1.0.1p-default-source.patch 861 SHA256 390b6857e76cd0513a089ff3eeed60097c3b30bec4b004bb6adbb8eaab02dc4a SHA512 cbd47ae5553ec0e683a92171cb1c2e68d7eb0cf2b1787e3fe332ca2df0aefa31a1a74d60345d5e42d00bdda439019d089560cf2f5464dfe19ff7a3d6a310d06b WHIRLPOOL d734c8776c2d4f17a562f580f676de08bf35e07b04005f1c2a6e7f2752e3a1b57f6d771195f84d7d9709bf2e669b119fe3ae37e473de192e9c10a8ffb1c8969f
12
-AUX openssl-1.0.2-CVE-2015-0209.patch 1282 SHA256 6be2b1fa0d440bc1c1b15da4a9d32811a04c3e7c701678eb8ee72454bbf87401 SHA512 db5b73c815582453d3231d49c9c24d60824e56f67a74f815818d0f90bccd485e98a98b449386aa297fa055b5fc27e2a058c03bc410478fb98051a729ac75b4db WHIRLPOOL 46ddfaff115622e2426c544e757bf882fc5069f35d169189cf277d90a5ad36c274beaf1ff89cdc593e2e5cd1593588c389262dce3bb6a166c5fd7eb908458fec
13
-AUX openssl-1.0.2-CVE-2015-0288.patch 800 SHA256 613acdc06a22ec5cbc274cc39022b1fa1fd73e409551493bcab6d4a273983484 SHA512 4785d9c4620492c4997cbe7c83a42a9804a9e8c3d94e35dd7d3e6bd16f607a9b294b77123686f24c953e6330f96907008dccf1379648d806fa85bbdd20b81ca0 WHIRLPOOL 738831379e3c117f260306e2f39aacd51b895ed4bcb7dd0189f14a7301c09ffd4fbd882fbd05d7e71cd6c9524fc289124909e5fd2dcc23607fa4ce71ba3a0df7
14
-AUX openssl-1.0.2-CVE-2015-0291.patch 16069 SHA256 be4f9fa463a027e7c77396a8d3ddc1d6ad6c0bbc8b07c2f7af0738621c619710 SHA512 2ee10f21ce02f1c46ee6c446c60d4e1e3af05366769603f38c971018ce07341369db87cb050432d0501f152cabf377c03848df501694ea46ef2f6578d19cf030 WHIRLPOOL 1ea004fe43633b18c91a8cf390285c274b1c05d3bed313ccc6f9bebb92e0b313504f17d4fe41a643feedc626a8851c6e568b34b2d5bf7d62683e170f5c3e5301
15
-AUX openssl-1.0.2-ipv6.patch 18811 SHA256 9ff3150c75f3f3e6a9773ffe54d90994cbf68cc919134aea68e09e7ed921763d SHA512 58e293f8f19a3fad08729b842dd977b73fedb0c49208d87a056bfea857c0e2b79a310d7d098c04429b65564fce64defeda6d1dcc3068ad5a80ef276db6421e54 WHIRLPOOL 36a0fffc7238011b93077bed94c9507f2ffc1cf199e6c06e94d01589cdc84a6568b9122e1a120b8262bd0a1c43f25169a29796c92a78338dd9f03b4cc2cdf0b8
16
-AUX openssl-1.0.2-parallel-build.patch 10661 SHA256 bc5622150a964dc2d9909f41557140b696ce1bdfa4e2b12cc3e0e51029ead32b SHA512 a4957304a4424016cd8a1c6552c422cd042d737e12f96235ec54d1e601ccbe8cb79d931ac8777d1a599bd4a70eac4e6700a24362f14fb04eb273df82f2de0d01 WHIRLPOOL 5b34e45dcb0db6649e26d275925ca008f5201afbc22184e15c5324513bc0ed40ee271a70686e10a20bb219b3c4bd2148323b317ead97cdc27a3c897c0a07d228
17
-AUX openssl-1.0.2-s_client-verify.patch 648 SHA256 b6ca2278dd9833f87a1d0037cb3cac8aee0f8326ff13ece1f08a536b8545eb77 SHA512 78b09ae700096205582785584a268776af46fc5bc94a0faa1ce6087ffcc945649e69269ff7fa88dedd5df1a5cdecc53e885de1e39506470f23b02028ca962104 WHIRLPOOL 8e7c90d37c1736b4b2f2c38d1c12dcfee4996a50a2a7dd07645a0c0b6616006d11232dd0f88ab735833e1c46aa171ceb5e1288c3d57296010bdda59295de7599
18
-AUX openssl-1.0.2a-malloc-typo.patch 1440 SHA256 f911737f715f8af87786cc46a196b78c7d9af0fbb4af77bff178dc817ee9d9c6 SHA512 5b4c9bcd24a80bcb17e21ffdd88b1a58f1794ae6069e773483ed1595022d212ace521aef3faa90df489b549fc60c0e871d5d711859a599b6373dc67af29a0c4b WHIRLPOOL 18d3e7b1df3b15b08aaa260081d54125c9f0cdc65c77ccc0ae5c642c5752fcb58e31e905bb1fb6c73736d1dee3f22dd1a7c399df8b3f6baeb47e9dbae5d26937
19
-AUX openssl-1.0.2a-parallel-build.patch 9573 SHA256 db2dcdb27062923d2818f988787bb802c292053d1d8a5bf032800e658c7bd196 SHA512 eef70d7662fe1c84ea8a998b1b394900805a91ae371a99e45ea07725ac218ffd6be5b75add647724e1a6b5556884bcb4a5be31b97254fd62b63aeead7ff701e3 WHIRLPOOL cbd5822db1da8e59b604f502856586c7251aa31594eefb3cfb4c0aa6bc33587df6298a245b8f733486d7a3f053bb33ff29066725dd4430dc9f9b2c54bb5464dc
20
-AUX openssl-1.0.2a-parallel-install-dirs.patch 2013 SHA256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 SHA512 c3b97fa318b9627bcaf4f39d1615c46322c1081cded135af5b5115beb2be74ead46084119fce5643b12c54b6851c33bfb624694ccf6f3d32060b6d56239d3674 WHIRLPOOL 59228ad2796e28edf7508a3b3bbdab36f7b678922566a1ed43a86727371c7b6b8c362431f49812e7c60a9aa72134d7fffaeb7be0efb6b5ca0f10e1c716b6a557
21
-AUX openssl-1.0.2a-parallel-obj-headers.patch 1359 SHA256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f SHA512 ac8224bc088099d72e7e6761303b8653766372bd027536951c458bd22fd0526163de22bf27675e0292a12ae7257a5c1edf26a92747e00cc139e13e1b624b4072 WHIRLPOOL 58b1de7c90ed96a077065ff6abfdeaffd98ce68cc9a2551dab7ff3d04e9b38be8d4bb94a6830f4e6c3d997747345c43f76c31f4c7b825f56fd488e85b9c6179e
22
-AUX openssl-1.0.2a-parallel-symlinking.patch 1967 SHA256 5be3c20d64cadaed7bc4e8e500e8a67faafded7fb326779620fdb29397c44d87 SHA512 ee6c057134b31a96af5ffc3558011f8f4ffda4a2ceb2967f32cd01b6ee0ce7b386fd195c19936923404da46c33eee38a2bab335da1a16b835ac9f9d02157bdf6 WHIRLPOOL daf64bf9d14b0516b4e9dd75d3b806b1e389defe604de9e0d19860ef10436b9a534d14cfec6422c85e9134998dfe9917d257730036daf813fce0ae7d1f6be284
23
-AUX openssl-1.0.2a-x32-asm.patch 1561 SHA256 8bcff04217c5ad82448e27d14f3559a157c2cad89b5fb2b6af701fff1664f86d SHA512 fbb23393e68776e9d34953f85ba3cbb285421d50f06bd297b485c7cffc8d89ca8caff6783f21038ae668b5c75056c89dc652217ac8609b5328e2c28e70ac294c WHIRLPOOL 70163beaed966de948562c3a633828846d12eda7b04526c7e33746c67af5a20ecf47e9e9e5cce33abf7444676f4b15b770204e95db75d0b91a9db13c46ff92bb
24
-AUX openssl-1.0.2d-parallel-build.patch 9504 SHA256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f SHA512 9d81b0dd260c0622eefea2bd33a8b19806b372c39fa6197af1b19ce263ddcd4554dd4fc4ebc23452ffc8d0144bb7b8d4aeb19fd479b14220c08c3c53b895a88c WHIRLPOOL 4b9b7c1aa5b2c3a867dc53e417453e0cd7414510fe32b0392915601ed5e4a1ea6b5deeb082d0fdfae1e8a23f481fe7551bb29303a752a8a27c4c11d80c4a320d
25
-AUX openssl-1.0.2e-parallel-build.patch 9620 SHA256 1200c48f8e209bce505bec23958afa4700681ee97f374064a5484623fe497269 SHA512 8aa64a78bc190a9c04f0093af2cdbcc0bed25be8c5f31c3a31e8b19954a58ba96ab05139d3ae6ecd7bc24e123536eec54fc98330167affcfd13cbd6d90626637 WHIRLPOOL 7ad5e275dce8f644deb3779900940cdbc625ecdcc984386502e1cb8dd7ead6bbd3a32fa41ae537a7ad5b2dc8308a2458ebbfcd3c05aedc4874e5d5a212677f88
26
-DIST openssl-1.0.2d.tar.gz 5295447 SHA256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 SHA512 68a051e92aaed0e7a8b218c185427c534c32f30f50c45f5d2c1f5b7a26d1416e83863d2953c77486acde3b636a148f39faf48246d28a207607ec069f62b13d75 WHIRLPOOL e3d8f0784903c8d6aa05ada7b8b410517c99157a3c2f4ac34c8a9d80c77408bd6ff9e820ded47f6223ccac4a77413174aa625303166ec28fdbf8374a7d4659ec
27
-DIST openssl-1.0.2e.tar.gz 5256555 SHA256 e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff SHA512 b73f114a117ccab284cf5891dac050e3016d28e0b1fc71639442cdb42accef676115af90a12deff4bcc1f599cc0cbdeb38142cbf4570bd7d03634786ad32c95f WHIRLPOOL 8e1c1800a66f57fa78dc391e717e4b2bdf0e6e37a837c5ac033d7a4b1a6437451c7e7540c4ec2f75f936a2d2ef4f9293b42c76f51b0c9c93706639589612f196
28
-DIST openssl-c_rehash.sh.1.7 4167 SHA256 4999ee79892f52bd6a4a7baba9fac62262454d573bbffd72685d3aae9e48cee0 SHA512 55e8c2e827750a4f375cb83c86bfe2d166c01ffa5d7e9b16657b72b38b747c8985dd2c98f854c911dfbbee2ff3e92aff39fdf089d979b2e3534b7685ee8b80da WHIRLPOOL c88f06a3b8651f76b6289552cccceb64e13f6697c5f0ce3ff114c781ce1c218912b8ee308af9d087cd76a9600fdacda1953175bff07d7d3eb21b0c0b7f4f1ce1
29
-EBUILD openssl-1.0.2d.ebuild 9005 SHA256 17cc24aca1c707d035be11265a88f28e88acee513ecae54e594ee4e9d17d4081 SHA512 303d86fb806b4c030e4f1d7f7620229d278f4ac32e3ef0dcf5cd37faeb20557c65d2d8ee21cb85661511901512dd12b1551a567d77941ad25c64c5c4b3183b9e WHIRLPOOL 6836dcf53117c04c1de231b2361b90b4eda0ed71360bc32ee75d84e9a5e6926f38100db6eaf48e8ddc3391bf6df1070ab8b3d27861a8fc0c4c80c44af4a5444a
30
-EBUILD openssl-1.0.2e.ebuild 8891 SHA256 ed137cfb8ae91f8cccf71406d1f47273089a6eb4222e1b1da302eeb056275080 SHA512 261d725e4893fd4e41749049b527196581221218b0bc45490e26dc91bd01c09759858f4e785584350acaeaf9c6c7c766e201ad1af3b784581dd249330375d7d0 WHIRLPOOL 204cade7616493dbf9e600ebd089728fdf8a29f4983c7ecbe1960860e4990686610699d9c34905278130f7fbfd0c60dcbaf7aed9300b45ccb9ff26ee9841fbaa
31
-MISC metadata.xml 826 SHA256 2f22f821be68740da19821e48de6246b57763cdd3a65c137550215be67e91506 SHA512 5f5ef56e7a5e73c0765ecdcbdc01cc06e52694e55882eae9abeee063879fd2f0acf198580c8bc7e9fcd8404c6ef1ecbd9b45dbd79361b712d38e008ba0b5c8fa WHIRLPOOL c1a33911a5609aa6cd18e69b5b6c4938a7b8304ca2f739a0502428c06d79d845a8cc9c85f2fc218d824dba62bb6b16ac9d8c5da1fa1f5578a96b1fc54dd827d2
... ...
@@ -1,164 +0,0 @@
1
-#!/usr/bin/env bash
2
-# Copyright 1999-2014 Gentoo Foundation
3
-# Distributed under the terms of the GNU General Public License v2
4
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-1.0.1,v 1.2 2014/01/17 04:27:03 vapier Exp $
5
-#
6
-# Openssl doesn't play along nicely with cross-compiling
7
-# like autotools based projects, so let's teach it new tricks.
8
-#
9
-# Review the bundled 'config' script to see why kind of targets
10
-# we can pass to the 'Configure' script.
11
-
12
-
13
-# Testing routines
14
-if [[ $1 == "test" ]] ; then
15
-	for c in \
16
-		"arm-gentoo-linux-uclibc      |linux-generic32 -DL_ENDIAN" \
17
-		"armv5b-linux-gnu             |linux-armv4 -DB_ENDIAN" \
18
-		"x86_64-pc-linux-gnu          |linux-x86_64" \
19
-		"alpha-linux-gnu              |linux-alpha-gcc" \
20
-		"alphaev56-unknown-linux-gnu  |linux-alpha+bwx-gcc" \
21
-		"i686-pc-linux-gnu            |linux-elf" \
22
-		"whatever-gentoo-freebsdX.Y   |BSD-generic32" \
23
-		"i686-gentoo-freebsdX.Y       |BSD-x86-elf" \
24
-		"sparc64-alpha-freebsdX.Y     |BSD-sparc64" \
25
-		"ia64-gentoo-freebsd5.99234   |BSD-ia64" \
26
-		"x86_64-gentoo-freebsdX.Y     |BSD-x86_64" \
27
-		"hppa64-aldsF-linux-gnu5.3    |linux-generic32 -DB_ENDIAN" \
28
-		"powerpc-gentOO-linux-uclibc  |linux-ppc" \
29
-		"powerpc64-unk-linux-gnu      |linux-ppc64" \
30
-		"x86_64-apple-darwinX         |darwin64-x86_64-cc" \
31
-		"powerpc64-apple-darwinX      |darwin64-ppc-cc" \
32
-		"i686-apple-darwinX           |darwin-i386-cc" \
33
-		"i386-apple-darwinX           |darwin-i386-cc" \
34
-		"powerpc-apple-darwinX        |darwin-ppc-cc" \
35
-		"i586-pc-winnt                |winnt-parity" \
36
-		"s390-ibm-linux-gnu           |linux-generic32 -DB_ENDIAN" \
37
-		"s390x-linux-gnu              |linux64-s390x" \
38
-	;do
39
-		CHOST=${c/|*}
40
-		ret_want=${c/*|}
41
-		ret_got=$(CHOST=${CHOST} "$0")
42
-
43
-		if [[ ${ret_want} == "${ret_got}" ]] ; then
44
-			echo "PASS: ${CHOST}"
45
-		else
46
-			echo "FAIL: ${CHOST}"
47
-			echo -e "\twanted: ${ret_want}"
48
-			echo -e "\twe got: ${ret_got}"
49
-		fi
50
-	done
51
-	exit 0
52
-fi
53
-[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
54
-
55
-
56
-# Detect the operating system
57
-case ${CHOST} in
58
-	*-aix*)          system="aix";;
59
-	*-darwin*)       system="darwin";;
60
-	*-freebsd*)      system="BSD";;
61
-	*-hpux*)         system="hpux";;
62
-	*-linux*)        system="linux";;
63
-	*-solaris*)      system="solaris";;
64
-	*-winnt*)        system="winnt";;
65
-	x86_64-*-mingw*) system="mingw64";;
66
-	*mingw*)         system="mingw";;
67
-	*)               exit 0;;
68
-esac
69
-
70
-
71
-# Compiler munging
72
-compiler="gcc"
73
-if [[ ${CC} == "ccc" ]] ; then
74
-	compiler=${CC}
75
-fi
76
-
77
-
78
-# Detect target arch
79
-machine=""
80
-chost_machine=${CHOST%%-*}
81
-case ${system} in
82
-linux)
83
-	case ${chost_machine}:${ABI} in
84
-		aarch64*be)   machine="generic64 -DB_ENDIAN";;
85
-		aarch64*)     machine="generic64 -DL_ENDIAN";;
86
-		alphaev56*|\
87
-		alphaev[678]*)machine=alpha+bwx-${compiler};;
88
-		alpha*)       machine=alpha-${compiler};;
89
-		armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
90
-		armv[4-9]*)   machine="armv4 -DL_ENDIAN";;
91
-		arm*b*)       machine="generic32 -DB_ENDIAN";;
92
-		arm*)         machine="generic32 -DL_ENDIAN";;
93
-		avr*)         machine="generic32 -DL_ENDIAN";;
94
-		bfin*)        machine="generic32 -DL_ENDIAN";;
95
-	#	hppa64*)      machine=parisc64;;
96
-		hppa*)        machine="generic32 -DB_ENDIAN";;
97
-		i[0-9]86*|\
98
-		x86_64*:x86)  machine=elf;;
99
-		ia64*)        machine=ia64;;
100
-		m68*)         machine="generic32 -DB_ENDIAN";;
101
-		mips*el*)     machine="generic32 -DL_ENDIAN";;
102
-		mips*)        machine="generic32 -DB_ENDIAN";;
103
-		powerpc64*le) machine="generic64 -DL_ENDIAN";;
104
-		powerpc64*)   machine=ppc64;;
105
-		powerpc*le)   machine="generic32 -DL_ENDIAN";;
106
-		powerpc*)     machine=ppc;;
107
-	#	sh64*)        machine=elf;;
108
-		sh*b*)        machine="generic32 -DB_ENDIAN";;
109
-		sh*)          machine="generic32 -DL_ENDIAN";;
110
-		sparc*v7*)    machine="generic32 -DB_ENDIAN";;
111
-		sparc64*)     machine=sparcv9;;
112
-		sparc*)       machine=sparcv8;;
113
-		s390x*)       machine=s390x system=linux64;;
114
-		s390*)        machine="generic32 -DB_ENDIAN";;
115
-		x86_64*:x32)  machine=x32;;
116
-		x86_64*)      machine=x86_64;;
117
-	esac
118
-	;;
119
-BSD)
120
-	case ${chost_machine} in
121
-		alpha*)       machine=generic64;;
122
-		i[6-9]86*)    machine=x86-elf;;
123
-		ia64*)        machine=ia64;;
124
-		sparc64*)     machine=sparc64;;
125
-		x86_64*)      machine=x86_64;;
126
-		*)            machine=generic32;;
127
-	esac
128
-	;;
129
-aix)
130
-	machine=${compiler}
131
-	;;
132
-darwin)
133
-	case ${chost_machine} in
134
-		powerpc64)    machine=ppc-cc; system=${system}64;;
135
-		powerpc)      machine=ppc-cc;;
136
-		i?86*)        machine=i386-cc;;
137
-		x86_64)       machine=x86_64-cc; system=${system}64;;
138
-	esac
139
-	;;
140
-hpux)
141
-	case ${chost_machine} in
142
-		ia64)	machine=ia64-${compiler} ;;
143
-	esac
144
-	;;
145
-solaris)
146
-	case ${chost_machine} in
147
-		i386)         machine=x86-${compiler} ;;
148
-		x86_64*)      machine=x86_64-${compiler}; system=${system}64;;
149
-		sparcv9*)     machine=sparcv9-${compiler}; system=${system}64;;
150
-		sparc*)       machine=sparcv8-${compiler};;
151
-	esac
152
-	;;
153
-winnt)
154
-	machine=parity
155
-	;;
156
-mingw*)
157
-	# special case ... no xxx-yyy style name
158
-	echo ${system}
159
-	;;
160
-esac
161
-
162
-
163
-# If we have something, show it
164
-[[ -n ${machine} ]] && echo ${system}-${machine}
... ...
@@ -1,165 +0,0 @@
1
-#!/usr/bin/env bash
2
-# Copyright 1999-2014 Gentoo Foundation
3
-# Distributed under the terms of the GNU General Public License v2
4
-# $Id$
5
-#
6
-# Openssl doesn't play along nicely with cross-compiling
7
-# like autotools based projects, so let's teach it new tricks.
8
-#
9
-# Review the bundled 'config' script to see why kind of targets
10
-# we can pass to the 'Configure' script.
11
-
12
-
13
-# Testing routines
14
-if [[ $1 == "test" ]] ; then
15
-	for c in \
16
-		"arm-gentoo-linux-uclibc      |linux-generic32 -DL_ENDIAN" \
17
-		"armv5b-linux-gnu             |linux-armv4 -DB_ENDIAN" \
18
-		"x86_64-pc-linux-gnu          |linux-x86_64" \
19
-		"alpha-linux-gnu              |linux-alpha-gcc" \
20
-		"alphaev56-unknown-linux-gnu  |linux-alpha+bwx-gcc" \
21
-		"i686-pc-linux-gnu            |linux-elf" \
22
-		"whatever-gentoo-freebsdX.Y   |BSD-generic32" \
23
-		"i686-gentoo-freebsdX.Y       |BSD-x86-elf" \
24
-		"sparc64-alpha-freebsdX.Y     |BSD-sparc64" \
25
-		"ia64-gentoo-freebsd5.99234   |BSD-ia64" \
26
-		"x86_64-gentoo-freebsdX.Y     |BSD-x86_64" \
27
-		"hppa64-aldsF-linux-gnu5.3    |linux-generic32 -DB_ENDIAN" \
28
-		"powerpc-gentOO-linux-uclibc  |linux-ppc" \
29
-		"powerpc64-unk-linux-gnu      |linux-ppc64" \
30
-		"powerpc64le-linux-gnu        |linux-ppc64le" \
31
-		"x86_64-apple-darwinX         |darwin64-x86_64-cc" \
32
-		"powerpc64-apple-darwinX      |darwin64-ppc-cc" \
33
-		"i686-apple-darwinX           |darwin-i386-cc" \
34
-		"i386-apple-darwinX           |darwin-i386-cc" \
35
-		"powerpc-apple-darwinX        |darwin-ppc-cc" \
36
-		"i586-pc-winnt                |winnt-parity" \
37
-		"s390-ibm-linux-gnu           |linux-generic32 -DB_ENDIAN" \
38
-		"s390x-linux-gnu              |linux64-s390x" \
39
-	;do
40
-		CHOST=${c/|*}
41
-		ret_want=${c/*|}
42
-		ret_got=$(CHOST=${CHOST} "$0")
43
-
44
-		if [[ ${ret_want} == "${ret_got}" ]] ; then
45
-			echo "PASS: ${CHOST}"
46
-		else
47
-			echo "FAIL: ${CHOST}"
48
-			echo -e "\twanted: ${ret_want}"
49
-			echo -e "\twe got: ${ret_got}"
50
-		fi
51
-	done
52
-	exit 0
53
-fi
54
-[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
55
-
56
-
57
-# Detect the operating system
58
-case ${CHOST} in
59
-	*-aix*)          system="aix";;
60
-	*-darwin*)       system="darwin";;
61
-	*-freebsd*)      system="BSD";;
62
-	*-hpux*)         system="hpux";;
63
-	*-linux*)        system="linux";;
64
-	*-solaris*)      system="solaris";;
65
-	*-winnt*)        system="winnt";;
66
-	x86_64-*-mingw*) system="mingw64";;
67
-	*mingw*)         system="mingw";;
68
-	*)               exit 0;;
69
-esac
70
-
71
-
72
-# Compiler munging
73
-compiler="gcc"
74
-if [[ ${CC} == "ccc" ]] ; then
75
-	compiler=${CC}
76
-fi
77
-
78
-
79
-# Detect target arch
80
-machine=""
81
-chost_machine=${CHOST%%-*}
82
-case ${system} in
83
-linux)
84
-	case ${chost_machine}:${ABI} in
85
-		aarch64*be*)  machine="generic64 -DB_ENDIAN";;
86
-		aarch64*)     machine="generic64 -DL_ENDIAN";;
87
-		alphaev56*|\
88
-		alphaev[678]*)machine=alpha+bwx-${compiler};;
89
-		alpha*)       machine=alpha-${compiler};;
90
-		armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
91
-		armv[4-9]*)   machine="armv4 -DL_ENDIAN";;
92
-		arm*b*)       machine="generic32 -DB_ENDIAN";;
93
-		arm*)         machine="generic32 -DL_ENDIAN";;
94
-		avr*)         machine="generic32 -DL_ENDIAN";;
95
-		bfin*)        machine="generic32 -DL_ENDIAN";;
96
-	#	hppa64*)      machine=parisc64;;
97
-		hppa*)        machine="generic32 -DB_ENDIAN";;
98
-		i[0-9]86*|\
99
-		x86_64*:x86)  machine=elf;;
100
-		ia64*)        machine=ia64;;
101
-		m68*)         machine="generic32 -DB_ENDIAN";;
102
-		mips*el*)     machine="generic32 -DL_ENDIAN";;
103
-		mips*)        machine="generic32 -DB_ENDIAN";;
104
-		powerpc64*le*)machine=ppc64le;;
105
-		powerpc64*)   machine=ppc64;;
106
-		powerpc*le*)  machine="generic32 -DL_ENDIAN";;
107
-		powerpc*)     machine=ppc;;
108
-	#	sh64*)        machine=elf;;
109
-		sh*b*)        machine="generic32 -DB_ENDIAN";;
110
-		sh*)          machine="generic32 -DL_ENDIAN";;
111
-		sparc*v7*)    machine="generic32 -DB_ENDIAN";;
112
-		sparc64*)     machine=sparcv9;;
113
-		sparc*)       machine=sparcv8;;
114
-		s390x*)       machine=s390x system=linux64;;
115
-		s390*)        machine="generic32 -DB_ENDIAN";;
116
-		x86_64*:x32)  machine=x32;;
117
-		x86_64*)      machine=x86_64;;
118
-	esac
119
-	;;
120
-BSD)
121
-	case ${chost_machine} in
122
-		alpha*)       machine=generic64;;
123
-		i[6-9]86*)    machine=x86-elf;;
124
-		ia64*)        machine=ia64;;
125
-		sparc64*)     machine=sparc64;;
126
-		x86_64*)      machine=x86_64;;
127
-		*)            machine=generic32;;
128
-	esac
129
-	;;
130
-aix)
131
-	machine=${compiler}
132
-	;;
133
-darwin)
134
-	case ${chost_machine} in
135
-		powerpc64)    machine=ppc-cc; system=${system}64;;
136
-		powerpc)      machine=ppc-cc;;
137
-		i?86*)        machine=i386-cc;;
138
-		x86_64)       machine=x86_64-cc; system=${system}64;;
139
-	esac
140
-	;;
141
-hpux)
142
-	case ${chost_machine} in
143
-		ia64)	machine=ia64-${compiler} ;;
144
-	esac
145
-	;;
146
-solaris)
147
-	case ${chost_machine} in
148
-		i386)         machine=x86-${compiler} ;;
149
-		x86_64*)      machine=x86_64-${compiler}; system=${system}64;;
150
-		sparcv9*)     machine=sparcv9-${compiler}; system=${system}64;;
151
-		sparc*)       machine=sparcv8-${compiler};;
152
-	esac
153
-	;;
154
-winnt)
155
-	machine=parity
156
-	;;
157
-mingw*)
158
-	# special case ... no xxx-yyy style name
159
-	echo ${system}
160
-	;;
161
-esac
162
-
163
-
164
-# If we have something, show it
165
-[[ -n ${machine} ]] && echo ${system}-${machine}
... ...
@@ -1,29 +0,0 @@
1
-http://bugs.gentoo.org/181438
2
-http://bugs.gentoo.org/327421
3
-https://rt.openssl.org/Ticket/Display.html?id=3332&user=guest&pass=guest
4
-
5
-make sure we respect LDFLAGS
6
-
7
-also make sure we don't add useless -rpath flags to the system libdir
8
-
9
---- Makefile.org
10
-+++ Makefile.org
11
-@@ -189,6 +189,7 @@
12
- 		MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
13
- 		DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)'	\
14
- 		MAKEDEPPROG='$(MAKEDEPPROG)'			\
15
-+		LDFLAGS='${LDFLAGS}'				\
16
- 		SHARED_LDFLAGS='$(SHARED_LDFLAGS)'		\
17
- 		KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)'	\
18
- 		ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)'	\
19
---- Makefile.shared
20
-+++ Makefile.shared
21
-@@ -153,7 +153,7 @@
22
- 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
23
- 	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
24
- 
25
--DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
26
-+DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS)"
27
- 
28
- #This is rather special.  It's a special target with which one can link
29
- #applications without bothering with any features that have anything to
... ...
@@ -1,76 +0,0 @@
1
-URL: http://rt.openssl.org/Ticket/Display.html?id=2558&user=guest&pass=guest
2
-Subject: make windres controllable via build env var settings
3
-
4
-atm, the windres code in openssl is only usable via the cross-compile prefix 
5
-option unlike all the other build tools. so add support for the standard $RC 
6
-/ $WINDRES env vars as well.
7
-
8
-Index: Configure
9
-===================================================================
10
-RCS file: /usr/local/src/openssl/CVSROOT/openssl/Configure,v
11
-retrieving revision 1.621.2.40
12
-diff -u -p -r1.621.2.40 Configure
13
---- Configure	30 Nov 2010 22:19:26 -0000	1.621.2.40
14
-+++ Configure	4 Jul 2011 23:12:32 -0000
15
-@@ -1094,6 +1094,7 @@ my $shared_extension = $fields[$idx_shar
16
- my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
17
- my $ar = $ENV{'AR'} || "ar";
18
- my $arflags = $fields[$idx_arflags];
19
-+my $windres = $ENV{'RC'} || $ENV{'WINDRES'} || "windres";
20
- my $multilib = $fields[$idx_multilib];
21
- 
22
- # if $prefix/lib$multilib is not an existing directory, then
23
-@@ -1511,12 +1512,14 @@ while (<IN>)
24
- 		s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/;
25
- 		s/^NM=\s*/NM= \$\(CROSS_COMPILE\)/;
26
- 		s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/;
27
-+		s/^WINDRES=\s*/WINDRES= \$\(CROSS_COMPILE\)/;
28
- 		s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE\)$cc/ if $cc eq "gcc";
29
- 		}
30
- 	else	{
31
- 		s/^CC=.*$/CC= $cc/;
32
- 		s/^AR=\s*ar/AR= $ar/;
33
- 		s/^RANLIB=.*/RANLIB= $ranlib/;
34
-+		s/^WINDRES=.*/WINDRES= $windres/;
35
- 		s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
36
- 		}
37
- 	s/^CFLAG=.*$/CFLAG= $cflags/;
38
-Index: Makefile.org
39
-===================================================================
40
-RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.org,v
41
-retrieving revision 1.295.2.10
42
-diff -u -p -r1.295.2.10 Makefile.org
43
---- Makefile.org	27 Jan 2010 16:06:58 -0000	1.295.2.10
44
-+++ Makefile.org	4 Jul 2011 23:13:08 -0000
45
-@@ -66,6 +66,7 @@ EXE_EXT= 
46
- ARFLAGS=
47
- AR=ar $(ARFLAGS) r
48
- RANLIB= ranlib
49
-+WINDRES= windres
50
- NM= nm
51
- PERL= perl
52
- TAR= tar
53
-@@ -180,6 +181,7 @@ BUILDENV=	PLATFORM='$(PLATFORM)' PROCESS
54
- 		CC='$(CC)' CFLAG='$(CFLAG)' 			\
55
- 		AS='$(CC)' ASFLAG='$(CFLAG) -c'			\
56
- 		AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)'	\
57
-+		WINDRES='$(WINDRES)'				\
58
- 		CROSS_COMPILE='$(CROSS_COMPILE)'	\
59
- 		PERL='$(PERL)' ENGDIRS='$(ENGDIRS)'		\
60
- 		SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)'	\
61
-Index: Makefile.shared
62
-===================================================================
63
-RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.shared,v
64
-retrieving revision 1.72.2.4
65
-diff -u -p -r1.72.2.4 Makefile.shared
66
---- Makefile.shared	21 Aug 2010 11:36:49 -0000	1.72.2.4
67
-+++ Makefile.shared	4 Jul 2011 23:13:52 -0000
68
-@@ -293,7 +293,7 @@ link_a.cygwin:
69
- 	fi; \
70
- 	dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
71
- 	$(PERL) util/mkrc.pl $$dll_name | \
72
--		$(CROSS_COMPILE)windres -o rc.o; \
73
-+		$(WINDRES) -o rc.o; \
74
- 	extras="$$extras rc.o"; \
75
- 	ALLSYMSFLAGS='-Wl,--whole-archive'; \
76
- 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
... ...
@@ -1,34 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=3332&user=guest&pass=guest
2
-
3
-depend on other pc files rather than encoding library info directly in
4
-every pkg-config file
5
-
6
---- a/Makefile.org
7
-+++ b/Makefile.org
8
-@@ -335,11 +335,11 @@ libssl.pc: Makefile
9
- 	    echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
10
- 	    echo 'includedir=$${prefix}/include'; \
11
- 	    echo ''; \
12
--	    echo 'Name: OpenSSL'; \
13
-+	    echo 'Name: OpenSSL-libssl'; \
14
- 	    echo 'Description: Secure Sockets Layer and cryptography libraries'; \
15
- 	    echo 'Version: '$(VERSION); \
16
--	    echo 'Requires: '; \
17
--	    echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
18
-+	    echo 'Requires.private: libcrypto'; \
19
-+	    echo 'Libs: -L$${libdir} -lssl'; \
20
- 	    echo 'Libs.private: $(EX_LIBS)'; \
21
- 	    echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
22
- 
23
-@@ -352,10 +353,7 @@ openssl.pc: Makefile
24
- 	    echo 'Name: OpenSSL'; \
25
- 	    echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
26
- 	    echo 'Version: '$(VERSION); \
27
--	    echo 'Requires: '; \
28
--	    echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
29
--	    echo 'Libs.private: $(EX_LIBS)'; \
30
--	    echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
31
-+	    echo 'Requires: libssl libcrypto' ) > openssl.pc
32
- 
33
- Makefile: Makefile.org Configure config
34
- 	@echo "Makefile is older than Makefile.org, Configure or config."
... ...
@@ -1,354 +0,0 @@
1
-http://rt.openssl.org/Ticket/Display.html?id=2084
2
-
3
---- a/Makefile.org
4
-+++ b/Makefile.org
5
-@@ -247,17 +247,17 @@
6
- build_libs: build_crypto build_ssl build_engines
7
- 
8
- build_crypto:
9
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
10
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
11
--build_ssl:
12
-+build_ssl: build_crypto
13
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
14
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
15
--build_engines:
16
-+build_engines: build_crypto
17
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
18
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
19
--build_apps:
20
-+build_apps: build_libs
21
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
22
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
23
--build_tests:
24
-+build_tests: build_libs
25
--	@dir=test; target=all; $(BUILD_ONE_CMD)
26
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
27
--build_tools:
28
-+build_tools: build_libs
29
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
30
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
31
- 
32
- all_testapps: build_libs build_testapps
33
- build_testapps:
34
-@@ -497,9 +497,9 @@
35
- dist_pem_h:
36
- 	(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
37
- 
38
--install: all install_docs install_sw
39
-+install: install_docs install_sw
40
- 
41
--install_sw:
42
-+install_dirs:
43
- 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
44
- 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
45
- 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
46
-@@ -508,6 +508,13 @@
47
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
48
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
49
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/private
50
-+	@$(PERL) $(TOP)/util/mkdir-p.pl \
51
-+		$(INSTALL_PREFIX)$(MANDIR)/man1 \
52
-+		$(INSTALL_PREFIX)$(MANDIR)/man3 \
53
-+		$(INSTALL_PREFIX)$(MANDIR)/man5 \
54
-+		$(INSTALL_PREFIX)$(MANDIR)/man7
55
-+
56
-+install_sw: install_dirs
57
- 	@set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
58
- 	do \
59
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
60
-@@ -511,7 +511,7 @@
61
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
62
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
63
- 	done;
64
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
65
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
66
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
67
- 	do \
68
- 		if [ -f "$$i" ]; then \
69
-@@ -593,12 +600,7 @@
70
- 		done; \
71
- 	done
72
- 
73
--install_docs:
74
--	@$(PERL) $(TOP)/util/mkdir-p.pl \
75
--		$(INSTALL_PREFIX)$(MANDIR)/man1 \
76
--		$(INSTALL_PREFIX)$(MANDIR)/man3 \
77
--		$(INSTALL_PREFIX)$(MANDIR)/man5 \
78
--		$(INSTALL_PREFIX)$(MANDIR)/man7
79
-+install_docs: install_dirs
80
- 	@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
81
- 	here="`pwd`"; \
82
- 	filecase=; \
83
---- a/Makefile.shared
84
-+++ b/Makefile.shared
85
-@@ -105,6 +105,7 @@ LINK_SO=	\
86
-     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
87
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
88
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
89
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
90
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
91
-     $${SHAREDCMD} $${SHAREDFLAGS} \
92
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
93
-@@ -122,6 +124,7 @@ SYMLINK_SO=	\
94
- 			done; \
95
- 		fi; \
96
- 		if [ -n "$$SHLIB_SOVER" ]; then \
97
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
98
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
99
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
100
- 		fi; \
101
---- a/crypto/Makefile
102
-+++ b/crypto/Makefile
103
-@@ -85,11 +85,11 @@
104
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
105
- 
106
- subdirs:
107
--	@target=all; $(RECURSIVE_MAKE)
108
-+	+@target=all; $(RECURSIVE_MAKE)
109
- 
110
- files:
111
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
112
--	@target=files; $(RECURSIVE_MAKE)
113
-+	+@target=files; $(RECURSIVE_MAKE)
114
- 
115
- links:
116
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
117
-@@ -100,7 +100,7 @@
118
- # lib: $(LIB): are splitted to avoid end-less loop
119
- lib:	$(LIB)
120
- 	@touch lib
121
--$(LIB):	$(LIBOBJ)
122
-+$(LIB):	$(LIBOBJ) | subdirs
123
- 	$(AR) $(LIB) $(LIBOBJ)
124
- 	$(RANLIB) $(LIB) || echo Never mind.
125
- 
126
-@@ -110,7 +110,7 @@
127
- 	fi
128
- 
129
- libs:
130
--	@target=lib; $(RECURSIVE_MAKE)
131
-+	+@target=lib; $(RECURSIVE_MAKE)
132
- 
133
- install:
134
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
135
-@@ -119,7 +119,7 @@
136
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
137
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
138
- 	done;
139
--	@target=install; $(RECURSIVE_MAKE)
140
-+	+@target=install; $(RECURSIVE_MAKE)
141
- 
142
- lint:
143
- 	@target=lint; $(RECURSIVE_MAKE)
144
---- a/engines/Makefile
145
-+++ b/engines/Makefile
146
-@@ -72,7 +72,7 @@
147
- 
148
- all:	lib subdirs
149
- 
150
--lib:	$(LIBOBJ)
151
-+lib:	$(LIBOBJ) | subdirs
152
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
153
- 		set -e; \
154
- 		for l in $(LIBNAMES); do \
155
-@@ -89,7 +89,7 @@
156
- 
157
- subdirs:
158
- 	echo $(EDIRS)
159
--	@target=all; $(RECURSIVE_MAKE)
160
-+	+@target=all; $(RECURSIVE_MAKE)
161
- 
162
- files:
163
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
164
-@@ -128,7 +128,7 @@
165
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
166
- 		done; \
167
- 	fi
168
--	@target=install; $(RECURSIVE_MAKE)
169
-+	+@target=install; $(RECURSIVE_MAKE)
170
- 
171
- tags:
172
- 	ctags $(SRC)
173
---- a/test/Makefile
174
-+++ b/test/Makefile
175
-@@ -123,7 +123,7 @@
176
- tags:
177
- 	ctags $(SRC)
178
- 
179
--tests:	exe apps $(TESTS)
180
-+tests:	exe $(TESTS)
181
- 
182
- apps:
183
- 	@(cd ..; $(MAKE) DIRS=apps all)
184
-@@ -365,109 +365,109 @@
185
- 		link_app.$${shlib_target}
186
- 
187
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
188
--	@target=$(RSATEST); $(BUILD_CMD)
189
-+	+@target=$(RSATEST); $(BUILD_CMD)
190
- 
191
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
192
--	@target=$(BNTEST); $(BUILD_CMD)
193
-+	+@target=$(BNTEST); $(BUILD_CMD)
194
- 
195
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
196
--	@target=$(ECTEST); $(BUILD_CMD)
197
-+	+@target=$(ECTEST); $(BUILD_CMD)
198
- 
199
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
200
--	@target=$(EXPTEST); $(BUILD_CMD)
201
-+	+@target=$(EXPTEST); $(BUILD_CMD)
202
- 
203
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
204
--	@target=$(IDEATEST); $(BUILD_CMD)
205
-+	+@target=$(IDEATEST); $(BUILD_CMD)
206
- 
207
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
208
--	@target=$(MD2TEST); $(BUILD_CMD)
209
-+	+@target=$(MD2TEST); $(BUILD_CMD)
210
- 
211
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
212
--	@target=$(SHATEST); $(BUILD_CMD)
213
-+	+@target=$(SHATEST); $(BUILD_CMD)
214
- 
215
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
216
--	@target=$(SHA1TEST); $(BUILD_CMD)
217
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
218
- 
219
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
220
--	@target=$(SHA256TEST); $(BUILD_CMD)
221
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
222
- 
223
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
224
--	@target=$(SHA512TEST); $(BUILD_CMD)
225
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
226
- 
227
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
228
--	@target=$(RMDTEST); $(BUILD_CMD)
229
-+	+@target=$(RMDTEST); $(BUILD_CMD)
230
- 
231
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
232
--	@target=$(MDC2TEST); $(BUILD_CMD)
233
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
234
- 
235
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
236
--	@target=$(MD4TEST); $(BUILD_CMD)
237
-+	+@target=$(MD4TEST); $(BUILD_CMD)
238
- 
239
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
240
--	@target=$(MD5TEST); $(BUILD_CMD)
241
-+	+@target=$(MD5TEST); $(BUILD_CMD)
242
- 
243
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
244
--	@target=$(HMACTEST); $(BUILD_CMD)
245
-+	+@target=$(HMACTEST); $(BUILD_CMD)
246
- 
247
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
248
--	@target=$(WPTEST); $(BUILD_CMD)
249
-+	+@target=$(WPTEST); $(BUILD_CMD)
250
- 
251
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
252
--	@target=$(RC2TEST); $(BUILD_CMD)
253
-+	+@target=$(RC2TEST); $(BUILD_CMD)
254
- 
255
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
256
--	@target=$(BFTEST); $(BUILD_CMD)
257
-+	+@target=$(BFTEST); $(BUILD_CMD)
258
- 
259
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
260
--	@target=$(CASTTEST); $(BUILD_CMD)
261
-+	+@target=$(CASTTEST); $(BUILD_CMD)
262
- 
263
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
264
--	@target=$(RC4TEST); $(BUILD_CMD)
265
-+	+@target=$(RC4TEST); $(BUILD_CMD)
266
- 
267
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
268
--	@target=$(RC5TEST); $(BUILD_CMD)
269
-+	+@target=$(RC5TEST); $(BUILD_CMD)
270
- 
271
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
272
--	@target=$(DESTEST); $(BUILD_CMD)
273
-+	+@target=$(DESTEST); $(BUILD_CMD)
274
- 
275
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
276
--	@target=$(RANDTEST); $(BUILD_CMD)
277
-+	+@target=$(RANDTEST); $(BUILD_CMD)
278
- 
279
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
280
--	@target=$(DHTEST); $(BUILD_CMD)
281
-+	+@target=$(DHTEST); $(BUILD_CMD)
282
- 
283
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
284
--	@target=$(DSATEST); $(BUILD_CMD)
285
-+	+@target=$(DSATEST); $(BUILD_CMD)
286
- 
287
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
288
--	@target=$(METHTEST); $(BUILD_CMD)
289
-+	+@target=$(METHTEST); $(BUILD_CMD)
290
- 
291
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
292
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
293
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
294
- 
295
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
296
--	@target=$(ENGINETEST); $(BUILD_CMD)
297
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
298
- 
299
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
300
--	@target=$(EVPTEST); $(BUILD_CMD)
301
-+	+@target=$(EVPTEST); $(BUILD_CMD)
302
- 
303
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
304
--	@target=$(ECDSATEST); $(BUILD_CMD)
305
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
306
- 
307
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
308
--	@target=$(ECDHTEST); $(BUILD_CMD)
309
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
310
- 
311
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
312
--	@target=$(IGETEST); $(BUILD_CMD)
313
-+	+@target=$(IGETEST); $(BUILD_CMD)
314
- 
315
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
316
--	@target=$(JPAKETEST); $(BUILD_CMD)
317
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
318
- 
319
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
320
--	@target=$(ASN1TEST); $(BUILD_CMD)
321
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
322
- 
323
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
324
--	@target=$(SRPTEST); $(BUILD_CMD)
325
-+	+@target=$(SRPTEST); $(BUILD_CMD)
326
- 
327
- #$(AESTEST).o: $(AESTEST).c
328
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
329
-@@ -480,7 +480,7 @@
330
- #	fi
331
- 
332
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
333
--	@target=dummytest; $(BUILD_CMD)
334
-+	+@target=dummytest; $(BUILD_CMD)
335
- 
336
- # DO NOT DELETE THIS LINE -- make depend depends on it.
337
- 
338
---- a/crypto/objects/Makefile
339
-+++ b/crypto/objects/Makefile
340
-@@ -44,11 +44,11 @@ obj_dat.h: obj_dat.pl obj_mac.h
341
- # objects.pl both reads and writes obj_mac.num
342
- obj_mac.h: objects.pl objects.txt obj_mac.num
343
- 	$(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
344
--	@sleep 1; touch obj_mac.h; sleep 1
345
- 
346
--obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
347
-+# This doesn't really need obj_mac.h, but since that rule reads & writes
348
-+# obj_mac.num, we can't run in parallel with it.
349
-+obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
350
- 	$(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
351
--	@sleep 1; touch obj_xref.h; sleep 1
352
- 
353
- files:
354
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
... ...
@@ -1,79 +0,0 @@
1
-http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=51bfed2e26fc13a66e8b5710aa2ce1d7a04af721
2
-
3
-UpstreamStatus: Pending
4
-
5
-Received from H J Liu @ Intel
6
-Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
7
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
8
-
9
-ported the patch to the 1.0.0e version
10
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
11
-Index: openssl-1.0.0e/Configure
12
-===================================================================
13
---- openssl-1.0.0e.orig/Configure
14
-+++ openssl-1.0.0e/Configure
15
-@@ -393,6 +393,7 @@ my %table=(
16
- "debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
17
- "debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
18
- "debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
19
-+"linux-x32",	"gcc:-DL_ENDIAN 	-DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
20
- "dist",		"cc:-O::(unknown)::::::",
21
- 
22
- # Basic configs that should work on any (32 and less bit) box
23
-Index: openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c
24
-===================================================================
25
---- openssl-1.0.0e.orig/crypto/bn/asm/x86_64-gcc.c
26
-+++ openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c
27
-@@ -55,7 +55,7 @@
28
-  *    machine.
29
-  */
30
- 
31
--#ifdef _WIN64
32
-+#if defined _WIN64 || !defined __LP64__
33
- #define BN_ULONG unsigned long long
34
- #else
35
- #define BN_ULONG unsigned long
36
-@@ -192,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con
37
- 	asm (
38
- 	"	subq	%2,%2		\n"
39
- 	".p2align 4			\n"
40
--	"1:	movq	(%4,%2,8),%0	\n"
41
--	"	adcq	(%5,%2,8),%0	\n"
42
--	"	movq	%0,(%3,%2,8)	\n"
43
-+	"1:	movq	(%q4,%2,8),%0	\n"
44
-+	"	adcq	(%q5,%2,8),%0	\n"
45
-+	"	movq	%0,(%q3,%2,8)	\n"
46
- 	"	leaq	1(%2),%2	\n"
47
- 	"	loop	1b		\n"
48
- 	"	sbbq	%0,%0		\n"
49
-@@ -215,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con
50
- 	asm (
51
- 	"	subq	%2,%2		\n"
52
- 	".p2align 4			\n"
53
--	"1:	movq	(%4,%2,8),%0	\n"
54
--	"	sbbq	(%5,%2,8),%0	\n"
55
--	"	movq	%0,(%3,%2,8)	\n"
56
-+	"1:	movq	(%q4,%2,8),%0	\n"
57
-+	"	sbbq	(%q5,%2,8),%0	\n"
58
-+	"	movq	%0,(%q3,%2,8)	\n"
59
- 	"	leaq	1(%2),%2	\n"
60
- 	"	loop	1b		\n"
61
- 	"	sbbq	%0,%0		\n"
62
-Index: openssl-1.0.0e/crypto/bn/bn.h
63
-===================================================================
64
---- openssl-1.0.0e.orig/crypto/bn/bn.h
65
-+++ openssl-1.0.0e/crypto/bn/bn.h
66
-@@ -172,6 +172,13 @@ extern "C" {
67
- # endif
68
- #endif
69
- 
70
-+/* Address type.  */
71
-+#ifdef _WIN64
72
-+#define BN_ADDR unsigned long long
73
-+#else
74
-+#define BN_ADDR unsigned long
75
-+#endif
76
-+
77
- /* assuming long is 64bit - this is the DEC Alpha
78
-  * unsigned long long is only 64 bits :-(, don't define
79
-  * BN_LLONG for the DEC Alpha */
... ...
@@ -1,18 +0,0 @@
1
-https://bugs.gentoo.org/472584
2
-http://rt.openssl.org/Ticket/Display.html?id=2387&user=guest&pass=guest
3
-
4
-fix verification handling in s_client.  when loading paths, make sure
5
-we properly fallback to setting the default paths.
6
-
7
---- a/apps/s_client.c
8
-+++ b/apps/s_client.c
9
-@@ -899,7 +899,7 @@
10
- 	if (!set_cert_key_stuff(ctx,cert,key))
11
- 		goto end;
12
- 
13
--	if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
14
-+	if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) &&
15
- 		(!SSL_CTX_set_default_verify_paths(ctx)))
16
- 		{
17
- 		/* BIO_printf(bio_err,"error setting default verify locations\n"); */
18
-
... ...
@@ -1,84 +0,0 @@
1
-https://bugs.gentoo.org/499086
2
-https://rt.openssl.org/Ticket/Display.html?id=3333&user=guest&pass=guest
3
-
4
-when gcc is given a .s file and told to preprocess it, it outputs nothing
5
-
6
-From a2976461784ce463fc7f336cd0dce607d21c2fad Mon Sep 17 00:00:00 2001
7
-From: Mike Frysinger <vapier@gentoo.org>
8
-Date: Sat, 25 Jan 2014 05:44:47 -0500
9
-Subject: [PATCH] Revert "Make Makefiles OSF-make-friendly."
10
-
11
-This reverts commit d1cf23ac86c05b22b8780e2c03b67230564d2d34.
12
----
13
- crypto/Makefile       | 4 +---
14
- crypto/bn/Makefile    | 4 +---
15
- crypto/evp/Makefile   | 2 +-
16
- crypto/modes/Makefile | 5 +----
17
- crypto/sha/Makefile   | 4 +---
18
- util/shlib_wrap.sh    | 6 +-----
19
- 6 files changed, 6 insertions(+), 19 deletions(-)
20
-
21
-diff --git a/crypto/Makefile b/crypto/Makefile
22
-index b253f50..1de9d5f 100644
23
---- a/crypto/Makefile
24
-+++ b/crypto/Makefile
25
-@@ -86,9 +86,7 @@ ia64cpuid.s:	ia64cpuid.S;	$(CC) $(CFLAGS) -E ia64cpuid.S > $@
26
- ppccpuid.s:	ppccpuid.pl;	$(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
27
- pariscid.s:	pariscid.pl;	$(PERL) pariscid.pl $(PERLASM_SCHEME) $@
28
- alphacpuid.s:	alphacpuid.pl
29
--	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
30
--	$(PERL) alphacpuid.pl > $$preproc && \
31
--	$(CC) -E $$preproc > $@ && rm $$preproc)
32
-+	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
33
- 
34
- subdirs:
35
- 	@target=all; $(RECURSIVE_MAKE)
36
-diff --git a/crypto/bn/Makefile b/crypto/bn/Makefile
37
-index b62b676..6c03363 100644
38
---- a/crypto/bn/Makefile
39
-+++ b/crypto/bn/Makefile
40
-@@ -136,9 +136,7 @@ ppc-mont.s:	asm/ppc-mont.pl;$(PERL) asm/ppc-mont.pl $(PERLASM_SCHEME) $@
41
- ppc64-mont.s:	asm/ppc64-mont.pl;$(PERL) asm/ppc64-mont.pl $(PERLASM_SCHEME) $@
42
- 
43
- alpha-mont.s:	asm/alpha-mont.pl
44
--	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
45
--	$(PERL) asm/alpha-mont.pl > $$preproc && \
46
--	$(CC) -E $$preproc > $@ && rm $$preproc)
47
-+	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
48
- 
49
- # GNU make "catch all"
50
- %-mont.S:	asm/%-mont.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
51
-diff --git a/crypto/modes/Makefile b/crypto/modes/Makefile
52
-index ce0dcd6..88ac65e 100644
53
---- a/crypto/modes/Makefile
54
-+++ b/crypto/modes/Makefile
55
-@@ -55,10 +55,7 @@ aesni-gcm-x86_64.s:	asm/aesni-gcm-x86_64.pl
56
- ghash-sparcv9.s:	asm/ghash-sparcv9.pl
57
- 	$(PERL) asm/ghash-sparcv9.pl $@ $(CFLAGS)
58
- ghash-alpha.s:	asm/ghash-alpha.pl
59
--	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
60
--	$(PERL) asm/ghash-alpha.pl > $$preproc && \
61
--	$(CC) -E $$preproc > $@ && rm $$preproc)
62
--
63
-+	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
64
- ghash-parisc.s:	asm/ghash-parisc.pl
65
- 	$(PERL) asm/ghash-parisc.pl $(PERLASM_SCHEME) $@
66
- 
67
-diff --git a/crypto/sha/Makefile b/crypto/sha/Makefile
68
-index 64eab6c..63fba69 100644
69
---- a/crypto/sha/Makefile
70
-+++ b/crypto/sha/Makefile
71
-@@ -60,9 +60,7 @@ sha256-armv4.S: asm/sha256-armv4.pl
72
- 	$(PERL) $< $(PERLASM_SCHEME) $@
73
- 
74
- sha1-alpha.s:	asm/sha1-alpha.pl
75
--	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
76
--	$(PERL) asm/sha1-alpha.pl > $$preproc && \
77
--	$(CC) -E $$preproc > $@ && rm $$preproc)
78
-+	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
79
- 
80
- # Solaris make has to be explicitly told
81
- sha1-x86_64.s:	asm/sha1-x86_64.pl;	$(PERL) asm/sha1-x86_64.pl $(PERLASM_SCHEME) > $@
82
-1.8.5.3
83
-
... ...
@@ -1,642 +0,0 @@
1
-http://rt.openssl.org/Ticket/Display.html?id=2051&user=guest&pass=guest
2
-
3
-Forward ported from openssl-1.0.1e-ipv6.patch
4
-
5
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
6
-
7
---- openssl-1.0.1h/apps/s_apps.h
8
-+++ openssl-1.0.1h/apps/s_apps.h
9
-@@ -148,7 +148,7 @@
10
- #define PORT_STR        "4433"
11
- #define PROTOCOL        "tcp"
12
- 
13
--int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context);
14
-+int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context, int use_ipv4, int use_ipv6);
15
- #ifdef HEADER_X509_H
16
- int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
17
- #endif
18
-@@ -156,7 +156,7 @@
19
- int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file);
20
- int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key);
21
- #endif
22
--int init_client(int *sock, char *server, int port, int type);
23
-+int init_client(int *sock, char *server, int port, int type, int use_ipv4, int use_ipv6);
24
- int should_retry(int i);
25
- int extract_port(char *str, short *port_ptr);
26
- int extract_host_port(char *str,char **host_ptr,unsigned char *ip,short *p);
27
---- openssl-1.0.1h/apps/s_client.c
28
-+++ openssl-1.0.1h/apps/s_client.c
29
-@@ -285,6 +285,10 @@
30
- 	{
31
- 	BIO_printf(bio_err,"usage: s_client args\n");
32
- 	BIO_printf(bio_err,"\n");
33
-+	BIO_printf(bio_err," -4             - use IPv4 only\n");
34
-+#if OPENSSL_USE_IPV6
35
-+	BIO_printf(bio_err," -6             - use IPv6 only\n");
36
-+#endif
37
- 	BIO_printf(bio_err," -host host     - use -connect instead\n");
38
- 	BIO_printf(bio_err," -port port     - use -connect instead\n");
39
- 	BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR);
40
-@@ -568,6 +572,7 @@
41
- 	int sbuf_len,sbuf_off;
42
- 	fd_set readfds,writefds;
43
- 	short port=PORT;
44
-+	int use_ipv4, use_ipv6;
45
- 	int full_log=1;
46
- 	char *host=SSL_HOST_NAME;
47
- 	char *cert_file=NULL,*key_file=NULL;
48
-@@ -613,7 +618,11 @@
49
- #endif
50
- 	char *sess_in = NULL;
51
- 	char *sess_out = NULL;
52
--	struct sockaddr peer;
53
-+#if OPENSSL_USE_IPV6
54
-+	struct sockaddr_storage peer;
55
-+#else
56
-+	struct sockaddr_in peer;
57
-+#endif
58
- 	int peerlen = sizeof(peer);
59
- 	int enable_timeouts = 0 ;
60
- 	long socket_mtu = 0;
61
-@@ -628,6 +637,12 @@
62
- 
63
- 	meth=SSLv23_client_method();
64
- 
65
-+	use_ipv4 = 1;
66
-+#if OPENSSL_USE_IPV6
67
-+	use_ipv6 = 1;
68
-+#else
69
-+	use_ipv6 = 0;
70
-+#endif
71
- 	apps_startup();
72
- 	c_Pause=0;
73
- 	c_quiet=0;
74
-@@ -949,6 +964,18 @@
75
- 			jpake_secret = *++argv;
76
- 			}
77
- #endif
78
-+		else if (strcmp(*argv,"-4") == 0)
79
-+			{
80
-+			use_ipv4 = 1;
81
-+			use_ipv6 = 0;
82
-+			}
83
-+#if OPENSSL_USE_IPV6
84
-+		else if (strcmp(*argv,"-6") == 0)
85
-+			{
86
-+			use_ipv4 = 0;
87
-+			use_ipv6 = 1;
88
-+			}
89
-+#endif
90
- #ifndef OPENSSL_NO_SRTP
91
- 		else if (strcmp(*argv,"-use_srtp") == 0)
92
- 			{
93
-@@ -1260,7 +1287,7 @@
94
- 
95
- re_start:
96
- 
97
--	if (init_client(&s,host,port,socket_type) == 0)
98
-+	if (init_client(&s,host,port,socket_type,use_ipv4,use_ipv6) == 0)
99
- 		{
100
- 		BIO_printf(bio_err,"connect:errno=%d\n",get_last_socket_error());
101
- 		SHUTDOWN(s);
102
-@@ -1286,7 +1313,7 @@
103
- 		{
104
- 
105
- 		sbio=BIO_new_dgram(s,BIO_NOCLOSE);
106
--		if (getsockname(s, &peer, (void *)&peerlen) < 0)
107
-+		if (getsockname(s, (struct sockaddr *)&peer, (void *)&peerlen) < 0)
108
- 			{
109
- 			BIO_printf(bio_err, "getsockname:errno=%d\n",
110
- 				get_last_socket_error());
111
---- openssl-1.0.1h/apps/s_server.c
112
-+++ openssl-1.0.1h/apps/s_server.c
113
-@@ -560,6 +560,10 @@
114
-         BIO_printf(bio_err," -use_srtp profiles - Offer SRTP key management with a colon-separated profile list\n");
115
- # endif
116
- #endif
117
-+	BIO_printf(bio_err," -4            - use IPv4 only\n");
118
-+#if OPENSSL_USE_IPV6
119
-+	BIO_printf(bio_err," -6            - use IPv6 only\n");
120
-+#endif
121
- 	BIO_printf(bio_err," -keymatexport label   - Export keying material using label\n");
122
- 	BIO_printf(bio_err," -keymatexportlen len  - Export len bytes of keying material (default 20)\n");
123
- 	}
124
-@@ -947,6 +951,7 @@
125
- 	int state=0;
126
- 	const SSL_METHOD *meth=NULL;
127
- 	int socket_type=SOCK_STREAM;
128
-+	int use_ipv4, use_ipv6;
129
- 	ENGINE *e=NULL;
130
- 	char *inrand=NULL;
131
- 	int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM;
132
-@@ -975,6 +980,12 @@
133
- #endif
134
- 	meth=SSLv23_server_method();
135
- 
136
-+	use_ipv4 = 1;
137
-+#if OPENSSL_USE_IPV6
138
-+	use_ipv6 = 1;
139
-+#else
140
-+	use_ipv6 = 0;
141
-+#endif
142
- 	local_argc=argc;
143
- 	local_argv=argv;
144
- 
145
-@@ -1323,6 +1334,18 @@
146
- 			jpake_secret = *(++argv);
147
- 			}
148
- #endif
149
-+		else if (strcmp(*argv,"-4") == 0)
150
-+			{
151
-+			use_ipv4 = 1;
152
-+			use_ipv6 = 0;
153
-+			}
154
-+#if OPENSSL_USE_IPV6
155
-+		else if (strcmp(*argv,"-6") == 0)
156
-+			{
157
-+			use_ipv4 = 0;
158
-+			use_ipv6 = 1;
159
-+			}
160
-+#endif
161
- #ifndef OPENSSL_NO_SRTP
162
- 		else if (strcmp(*argv,"-use_srtp") == 0)
163
- 			{
164
-@@ -1881,9 +1904,9 @@
165
- 	BIO_printf(bio_s_out,"ACCEPT\n");
166
- 	(void)BIO_flush(bio_s_out);
167
- 	if (www)
168
--		do_server(port,socket_type,&accept_socket,www_body, context);
169
-+		do_server(port,socket_type,&accept_socket,www_body, context, use_ipv4, use_ipv6);
170
- 	else
171
--		do_server(port,socket_type,&accept_socket,sv_body, context);
172
-+		do_server(port,socket_type,&accept_socket,sv_body, context, use_ipv4, use_ipv6);
173
- 	print_stats(bio_s_out,ctx);
174
- 	ret=0;
175
- end:
176
---- openssl-1.0.1h/apps/s_socket.c
177
-+++ openssl-1.0.1h/apps/s_socket.c
178
-@@ -97,16 +97,16 @@
179
- #include "netdb.h"
180
- #endif
181
- 
182
--static struct hostent *GetHostByName(char *name);
183
-+static struct hostent *GetHostByName(char *name, int domain);
184
- #if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
185
- static void ssl_sock_cleanup(void);
186
- #endif
187
- static int ssl_sock_init(void);
188
--static int init_client_ip(int *sock,unsigned char ip[4], int port, int type);
189
--static int init_server(int *sock, int port, int type);
190
--static int init_server_long(int *sock, int port,char *ip, int type);
191
-+static int init_client_ip(int *sock,unsigned char *ip, int port, int type, int domain);
192
-+static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6);
193
-+static int init_server_long(int *sock, int port,char *ip, int type, int use_ipv4, int use_ipv6);
194
- static int do_accept(int acc_sock, int *sock, char **host);
195
--static int host_ip(char *str, unsigned char ip[4]);
196
-+static int host_ip(char *str, unsigned char *ip, int domain);
197
- 
198
- #ifdef OPENSSL_SYS_WIN16
199
- #define SOCKET_PROTOCOL	0 /* more microsoft stupidity */
200
-@@ -234,38 +234,68 @@
201
- 	return(1);
202
- 	}
203
- 
204
--int init_client(int *sock, char *host, int port, int type)
205
-+int init_client(int *sock, char *host, int port, int type, int use_ipv4, int use_ipv6)
206
- 	{
207
-+#if OPENSSL_USE_IPV6
208
-+	unsigned char ip[16];
209
-+#else
210
- 	unsigned char ip[4];
211
-+#endif
212
- 
213
--	memset(ip, '\0', sizeof ip);
214
--	if (!host_ip(host,&(ip[0])))
215
--		return 0;
216
--	return init_client_ip(sock,ip,port,type);
217
--	}
218
--
219
--static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
220
--	{
221
--	unsigned long addr;
222
-+	if (use_ipv4)
223
-+		if (host_ip(host,ip,AF_INET))
224
-+			return(init_client_ip(sock,ip,port,type,AF_INET));
225
-+#if OPENSSL_USE_IPV6
226
-+	if (use_ipv6)
227
-+		if (host_ip(host,ip,AF_INET6))
228
-+			return(init_client_ip(sock,ip,port,type,AF_INET6));
229
-+#endif
230
-+	return 0;
231
-+	}
232
-+
233
-+static int init_client_ip(int *sock, unsigned char ip[4], int port, int type, int domain)
234
-+	{
235
-+#if OPENSSL_USE_IPV6
236
-+	struct sockaddr_storage them;
237
-+	struct sockaddr_in *them_in = (struct sockaddr_in *)&them;
238
-+	struct sockaddr_in6 *them_in6 = (struct sockaddr_in6 *)&them;
239
-+#else
240
- 	struct sockaddr_in them;
241
-+	struct sockaddr_in *them_in = &them;
242
-+#endif
243
-+	socklen_t addr_len;
244
- 	int s,i;
245
- 
246
- 	if (!ssl_sock_init()) return(0);
247
- 
248
- 	memset((char *)&them,0,sizeof(them));
249
--	them.sin_family=AF_INET;
250
--	them.sin_port=htons((unsigned short)port);
251
--	addr=(unsigned long)
252
--		((unsigned long)ip[0]<<24L)|
253
--		((unsigned long)ip[1]<<16L)|
254
--		((unsigned long)ip[2]<< 8L)|
255
--		((unsigned long)ip[3]);
256
--	them.sin_addr.s_addr=htonl(addr);
257
-+	if (domain == AF_INET)
258
-+		{
259
-+		addr_len = (socklen_t)sizeof(struct sockaddr_in);
260
-+		them_in->sin_family=AF_INET;
261
-+		them_in->sin_port=htons((unsigned short)port);
262
-+#ifndef BIT_FIELD_LIMITS
263
-+		memcpy(&them_in->sin_addr.s_addr, ip, 4);
264
-+#else
265
-+		memcpy(&them_in->sin_addr, ip, 4);
266
-+#endif
267
-+		}
268
-+	else
269
-+#if OPENSSL_USE_IPV6
270
-+		{
271
-+		addr_len = (socklen_t)sizeof(struct sockaddr_in6);
272
-+		them_in6->sin6_family=AF_INET6;
273
-+		them_in6->sin6_port=htons((unsigned short)port);
274
-+		memcpy(&(them_in6->sin6_addr), ip, sizeof(struct in6_addr));
275
-+		}
276
-+#else
277
-+		return(0);
278
-+#endif
279
- 
280
- 	if (type == SOCK_STREAM)
281
--		s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
282
-+		s=socket(domain,SOCK_STREAM,SOCKET_PROTOCOL);
283
- 	else /* ( type == SOCK_DGRAM) */
284
--		s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
285
-+		s=socket(domain,SOCK_DGRAM,IPPROTO_UDP);
286
- 			
287
- 	if (s == INVALID_SOCKET) { perror("socket"); return(0); }
288
- 
289
-@@ -277,29 +307,27 @@
290
- 		if (i < 0) { closesocket(s); perror("keepalive"); return(0); }
291
- 		}
292
- #endif
293
--
294
--	if (connect(s,(struct sockaddr *)&them,sizeof(them)) == -1)
295
-+	if (connect(s,(struct sockaddr *)&them,addr_len) == -1)
296
- 		{ closesocket(s); perror("connect"); return(0); }
297
- 	*sock=s;
298
- 	return(1);
299
- 	}
300
- 
301
--int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context)
302
-+int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context, int use_ipv4, int use_ipv6)
303
- 	{
304
- 	int sock;
305
- 	char *name = NULL;
306
- 	int accept_socket = 0;
307
- 	int i;
308
- 
309
--	if (!init_server(&accept_socket,port,type)) return(0);
310
--
311
-+	if (!init_server(&accept_socket,port,type, use_ipv4, use_ipv6)) return(0);
312
- 	if (ret != NULL)
313
- 		{
314
- 		*ret=accept_socket;
315
- 		/* return(1);*/
316
- 		}
317
--  	for (;;)
318
--  		{
319
-+	for (;;)
320
-+		{
321
- 		if (type==SOCK_STREAM)
322
- 			{
323
- 			if (do_accept(accept_socket,&sock,&name) == 0)
324
-@@ -322,41 +350,88 @@
325
- 		}
326
- 	}
327
- 
328
--static int init_server_long(int *sock, int port, char *ip, int type)
329
-+static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6)
330
- 	{
331
- 	int ret=0;
332
-+	int domain;
333
-+#if OPENSSL_USE_IPV6
334
-+	struct sockaddr_storage server;
335
-+	struct sockaddr_in *server_in = (struct sockaddr_in *)&server;
336
-+	struct sockaddr_in6 *server_in6 = (struct sockaddr_in6 *)&server;
337
-+#else
338
- 	struct sockaddr_in server;
339
-+	struct sockaddr_in *server_in = &server;
340
-+#endif
341
-+	socklen_t addr_len;
342
- 	int s= -1;
343
- 
344
-+	if (!use_ipv4 && !use_ipv6)
345
-+		goto err;
346
-+#if OPENSSL_USE_IPV6
347
-+	/* we are fine here */
348
-+#else
349
-+	if (use_ipv6)
350
-+		goto err;
351
-+#endif
352
- 	if (!ssl_sock_init()) return(0);
353
- 
354
--	memset((char *)&server,0,sizeof(server));
355
--	server.sin_family=AF_INET;
356
--	server.sin_port=htons((unsigned short)port);
357
--	if (ip == NULL)
358
--		server.sin_addr.s_addr=INADDR_ANY;
359
--	else
360
--/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
361
--#ifndef BIT_FIELD_LIMITS
362
--		memcpy(&server.sin_addr.s_addr,ip,4);
363
-+#if OPENSSL_USE_IPV6
364
-+	domain = use_ipv6 ? AF_INET6 : AF_INET;
365
- #else
366
--		memcpy(&server.sin_addr,ip,4);
367
-+	domain = AF_INET;
368
- #endif
369
--	
370
--		if (type == SOCK_STREAM)
371
--			s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
372
--		else /* type == SOCK_DGRAM */
373
--			s=socket(AF_INET, SOCK_DGRAM,IPPROTO_UDP);
374
-+	if (type == SOCK_STREAM)
375
-+		s=socket(domain,SOCK_STREAM,SOCKET_PROTOCOL);
376
-+	else /* type == SOCK_DGRAM */
377
-+		s=socket(domain, SOCK_DGRAM,IPPROTO_UDP);
378
- 
379
- 	if (s == INVALID_SOCKET) goto err;
380
- #if defined SOL_SOCKET && defined SO_REUSEADDR
381
-+	{
382
-+	int j = 1;
383
-+	setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
384
-+		   (void *) &j, sizeof j);
385
-+	}
386
-+#endif
387
-+#if OPENSSL_USE_IPV6
388
-+	if ((use_ipv4 == 0) && (use_ipv6 == 1))
389
-+		{
390
-+		const int on = 1;
391
-+
392
-+		setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
393
-+		           (const void *) &on, sizeof(int));
394
-+		}
395
-+#endif
396
-+	if (domain == AF_INET)
397
-+		{
398
-+		addr_len = (socklen_t)sizeof(struct sockaddr_in);
399
-+		memset(server_in, 0, sizeof(struct sockaddr_in));
400
-+		server_in->sin_family=AF_INET;
401
-+		server_in->sin_port = htons((unsigned short)port);
402
-+		if (ip == NULL)
403
-+			server_in->sin_addr.s_addr = htonl(INADDR_ANY);
404
-+		else
405
-+/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
406
-+#ifndef BIT_FIELD_LIMITS
407
-+			memcpy(&server_in->sin_addr.s_addr, ip, 4);
408
-+#else
409
-+			memcpy(&server_in->sin_addr, ip, 4);
410
-+#endif
411
-+		}
412
-+#if OPENSSL_USE_IPV6
413
-+	else
414
- 		{
415
--		int j = 1;
416
--		setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
417
--			   (void *) &j, sizeof j);
418
-+		addr_len = (socklen_t)sizeof(struct sockaddr_in6);
419
-+		memset(server_in6, 0, sizeof(struct sockaddr_in6));
420
-+		server_in6->sin6_family = AF_INET6;
421
-+		server_in6->sin6_port = htons((unsigned short)port);
422
-+		if (ip == NULL)
423
-+			server_in6->sin6_addr = in6addr_any;
424
-+		else
425
-+			memcpy(&server_in6->sin6_addr, ip, sizeof(struct in6_addr));
426
- 		}
427
- #endif
428
--	if (bind(s,(struct sockaddr *)&server,sizeof(server)) == -1)
429
-+	if (bind(s, (struct sockaddr *)&server, addr_len) == -1)
430
- 		{
431
- #ifndef OPENSSL_SYS_WINDOWS
432
- 		perror("bind");
433
-@@ -375,16 +450,23 @@
434
- 	return(ret);
435
- 	}
436
- 
437
--static int init_server(int *sock, int port, int type)
438
-+static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6)
439
- 	{
440
--	return(init_server_long(sock, port, NULL, type));
441
-+	return(init_server_long(sock, port, NULL, type, use_ipv4, use_ipv6));
442
- 	}
443
- 
444
- static int do_accept(int acc_sock, int *sock, char **host)
445
- 	{
446
- 	int ret;
447
- 	struct hostent *h1,*h2;
448
--	static struct sockaddr_in from;
449
-+#if OPENSSL_USE_IPV6
450
-+	struct sockaddr_storage from;
451
-+	struct sockaddr_in *from_in = (struct sockaddr_in *)&from;
452
-+	struct sockaddr_in6 *from_in6 = (struct sockaddr_in6 *)&from;
453
-+#else
454
-+	struct sockaddr_in from;
455
-+	struct sockaddr_in *from_in = &from;
456
-+#endif
457
- 	int len;
458
- /*	struct linger ling; */
459
- 
460
-@@ -431,13 +513,23 @@
461
- */
462
- 
463
- 	if (host == NULL) goto end;
464
-+#if OPENSSL_USE_IPV6
465
-+	if (from.ss_family == AF_INET)
466
-+#else
467
-+	if (from.sin_family == AF_INET)
468
-+#endif
469
- #ifndef BIT_FIELD_LIMITS
470
--	/* I should use WSAAsyncGetHostByName() under windows */
471
--	h1=gethostbyaddr((char *)&from.sin_addr.s_addr,
472
--		sizeof(from.sin_addr.s_addr),AF_INET);
473
-+		/* I should use WSAAsyncGetHostByName() under windows */
474
-+		h1=gethostbyaddr((char *)&from_in->sin_addr.s_addr,
475
-+		                 sizeof(from_in->sin_addr.s_addr), AF_INET);
476
- #else
477
--	h1=gethostbyaddr((char *)&from.sin_addr,
478
--		sizeof(struct in_addr),AF_INET);
479
-+		h1=gethostbyaddr((char *)&from_in->sin_addr,
480
-+		                 sizeof(struct in_addr), AF_INET);
481
-+#endif
482
-+#if OPENSSL_USE_IPV6
483
-+	else
484
-+		h1=gethostbyaddr((char *)&from_in6->sin6_addr,
485
-+		                 sizeof(struct in6_addr), AF_INET6);
486
- #endif
487
- 	if (h1 == NULL)
488
- 		{
489
-@@ -455,16 +547,25 @@
490
- 			}
491
- 		BUF_strlcpy(*host,h1->h_name,strlen(h1->h_name)+1);
492
- 
493
--		h2=GetHostByName(*host);
494
-+#if OPENSSL_USE_IPV6		
495
-+		h2=GetHostByName(*host, from.ss_family);
496
-+#else
497
-+		h2=GetHostByName(*host, from.sin_family);
498
-+#endif
499
-+
500
- 		if (h2 == NULL)
501
- 			{
502
- 			BIO_printf(bio_err,"gethostbyname failure\n");
503
- 			closesocket(ret);
504
- 			return(0);
505
- 			}
506
--		if (h2->h_addrtype != AF_INET)
507
-+#if OPENSSL_USE_IPV6
508
-+		if (h2->h_addrtype != from.ss_family)
509
-+#else
510
-+		if (h2->h_addrtype != from.sin_family)
511
-+#endif
512
- 			{
513
--			BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n");
514
-+			BIO_printf(bio_err,"gethostbyname addr address is not correct\n");
515
- 			closesocket(ret);
516
- 			return(0);
517
- 			}
518
-@@ -480,7 +581,7 @@
519
- 	char *h,*p;
520
- 
521
- 	h=str;
522
--	p=strchr(str,':');
523
-+	p=strrchr(str,':');
524
- 	if (p == NULL)
525
- 		{
526
- 		BIO_printf(bio_err,"no port defined\n");
527
-@@ -488,7 +589,7 @@
528
- 		}
529
- 	*(p++)='\0';
530
- 
531
--	if ((ip != NULL) && !host_ip(str,ip))
532
-+	if ((ip != NULL) && !host_ip(str,ip,AF_INET))
533
- 		goto err;
534
- 	if (host_ptr != NULL) *host_ptr=h;
535
- 
536
-@@ -499,48 +600,58 @@
537
- 	return(0);
538
- 	}
539
- 
540
--static int host_ip(char *str, unsigned char ip[4])
541
-+static int host_ip(char *str, unsigned char *ip, int domain)
542
- 	{
543
--	unsigned int in[4]; 
544
-+	unsigned int in[4];
545
-+	unsigned long l;
546
- 	int i;
547
- 
548
--	if (sscanf(str,"%u.%u.%u.%u",&(in[0]),&(in[1]),&(in[2]),&(in[3])) == 4)
549
-+	if ((domain == AF_INET) &&
550
-+	    (sscanf(str,"%u.%u.%u.%u",&(in[0]),&(in[1]),&(in[2]),&(in[3])) == 4))
551
- 		{
552
-+		
553
- 		for (i=0; i<4; i++)
554
- 			if (in[i] > 255)
555
- 				{
556
- 				BIO_printf(bio_err,"invalid IP address\n");
557
- 				goto err;
558
- 				}
559
--		ip[0]=in[0];
560
--		ip[1]=in[1];
561
--		ip[2]=in[2];
562
--		ip[3]=in[3];
563
--		}
564
-+		l=htonl((in[0]<<24L)|(in[1]<<16L)|(in[2]<<8L)|in[3]);
565
-+		memcpy(ip, &l, 4);
566
-+		return 1;
567
-+		}
568
-+#if OPENSSL_USE_IPV6
569
-+	else if ((domain == AF_INET6) &&
570
-+	         (inet_pton(AF_INET6, str, ip) == 1))
571
-+	         return 1;
572
-+#endif
573
- 	else
574
- 		{ /* do a gethostbyname */
575
- 		struct hostent *he;
576
- 
577
- 		if (!ssl_sock_init()) return(0);
578
- 
579
--		he=GetHostByName(str);
580
-+		he=GetHostByName(str,domain);
581
- 		if (he == NULL)
582
- 			{
583
- 			BIO_printf(bio_err,"gethostbyname failure\n");
584
- 			goto err;
585
- 			}
586
- 		/* cast to short because of win16 winsock definition */
587
--		if ((short)he->h_addrtype != AF_INET)
588
-+		if ((short)he->h_addrtype != domain)
589
- 			{
590
--			BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n");
591
-+			BIO_printf(bio_err,"gethostbyname addr family is not correct\n");
592
- 			return(0);
593
- 			}
594
--		ip[0]=he->h_addr_list[0][0];
595
--		ip[1]=he->h_addr_list[0][1];
596
--		ip[2]=he->h_addr_list[0][2];
597
--		ip[3]=he->h_addr_list[0][3];
598
-+		if (domain == AF_INET)
599
-+			memset(ip, 0, 4);
600
-+#if OPENSSL_USE_IPV6
601
-+		else
602
-+			memset(ip, 0, 16);
603
-+#endif
604
-+		memcpy(ip, he->h_addr_list[0], he->h_length);
605
-+		return 1;
606
- 		}
607
--	return(1);
608
- err:
609
- 	return(0);
610
- 	}
611
-@@ -577,7 +688,7 @@
612
- static unsigned long ghbn_hits=0L;
613
- static unsigned long ghbn_miss=0L;
614
- 
615
--static struct hostent *GetHostByName(char *name)
616
-+static struct hostent *GetHostByName(char *name, int domain)
617
- 	{
618
- 	struct hostent *ret;
619
- 	int i,lowi=0;
620
-@@ -592,14 +703,20 @@
621
- 			}
622
- 		if (ghbn_cache[i].order > 0)
623
- 			{
624
--			if (strncmp(name,ghbn_cache[i].name,128) == 0)
625
-+			if ((strncmp(name,ghbn_cache[i].name,128) == 0) &&
626
-+			    (ghbn_cache[i].ent.h_addrtype == domain))
627
- 				break;
628
- 			}
629
- 		}
630
- 	if (i == GHBN_NUM) /* no hit*/
631
- 		{
632
- 		ghbn_miss++;
633
--		ret=gethostbyname(name);
634
-+		if (domain == AF_INET)
635
-+			ret=gethostbyname(name);
636
-+#if OPENSSL_USE_IPV6
637
-+		else
638
-+			ret=gethostbyname2(name, AF_INET6);
639
-+#endif
640
- 		if (ret == NULL) return(NULL);
641
- 		/* else add to cache */
642
- 		if(strlen(name) < sizeof ghbn_cache[0].name)
... ...
@@ -1,30 +0,0 @@
1
-https://bugs.gentoo.org/554338
2
-https://rt.openssl.org/Ticket/Display.html?id=3934&user=guest&pass=guest
3
-
4
-From 7c2e97f8bbae517496fdc11f475b4ae54b2534f5 Mon Sep 17 00:00:00 2001
5
-From: Mike Frysinger <vapier@gentoo.org>
6
-Date: Fri, 10 Jul 2015 01:50:52 -0400
7
-Subject: [PATCH] test: use _DEFAULT_SOURCE with newer glibc versions
8
-
9
-The _BSD_SOURCE macro is replaced by the _DEFAULT_SOURCE macro.  Using
10
-just the former with newer versions leads to a build time warning, so
11
-make sure to use the new macro too.
12
----
13
- ssl/ssltest.c | 1 +
14
- 1 file changed, 1 insertion(+)
15
-
16
-diff --git a/ssl/ssltest.c b/ssl/ssltest.c
17
-index 26cf96c..b36f667 100644
18
---- a/ssl/ssltest.c
19
-+++ b/ssl/ssltest.c
20
-@@ -141,6 +141,7 @@
21
-  */
22
- 
23
- /* Or gethostname won't be declared properly on Linux and GNU platforms. */
24
-+#define _DEFAULT_SOURCE 1
25
- #define _BSD_SOURCE 1
26
- 
27
- #include <assert.h>
28
-2.4.4
29
-
... ...
@@ -1,49 +0,0 @@
1
-https://bugs.gentoo.org/541502
2
-
3
-From 1b4a8df38fc9ab3c089ca5765075ee53ec5bd66a Mon Sep 17 00:00:00 2001
4
-From: Matt Caswell <matt@openssl.org>
5
-Date: Mon, 9 Feb 2015 11:38:41 +0000
6
-Subject: [PATCH] Fix a failure to NULL a pointer freed on error.
7
-MIME-Version: 1.0
8
-Content-Type: text/plain; charset=UTF-8
9
-Content-Transfer-Encoding: 8bit
10
-
11
-Inspired by BoringSSL commit 517073cd4b by Eric Roman <eroman@chromium.org>
12
-
13
-CVE-2015-0209
14
-
15
-Reviewed-by: Emilia Käsper <emilia@openssl.org>
16
----
17
- crypto/ec/ec_asn1.c | 6 +++---
18
- 1 file changed, 3 insertions(+), 3 deletions(-)
19
-
20
-diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c
21
-index 30b7df4..d3e8316 100644
22
---- a/crypto/ec/ec_asn1.c
23
-+++ b/crypto/ec/ec_asn1.c
24
-@@ -1014,8 +1014,6 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long len)
25
-             ECerr(EC_F_D2I_ECPRIVATEKEY, ERR_R_MALLOC_FAILURE);
26
-             goto err;
27
-         }
28
--        if (a)
29
--            *a = ret;
30
-     } else
31
-         ret = *a;
32
- 
33
-@@ -1067,10 +1065,12 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long len)
34
-         }
35
-     }
36
- 
37
-+    if (a)
38
-+        *a = ret;
39
-     ok = 1;
40
-  err:
41
-     if (!ok) {
42
--        if (ret)
43
-+        if (ret && (a == NULL || *a != ret))
44
-             EC_KEY_free(ret);
45
-         ret = NULL;
46
-     }
47
-2.3.1
48
-
... ...
@@ -1,31 +0,0 @@
1
-https://bugs.gentoo.org/542038
2
-
3
-From 28a00bcd8e318da18031b2ac8778c64147cd54f9 Mon Sep 17 00:00:00 2001
4
-From: "Dr. Stephen Henson" <steve@openssl.org>
5
-Date: Wed, 18 Feb 2015 00:34:59 +0000
6
-Subject: [PATCH] Check public key is not NULL.
7
-
8
-CVE-2015-0288
9
-PR#3708
10
-
11
-Reviewed-by: Matt Caswell <matt@openssl.org>
12
----
13
- crypto/x509/x509_req.c | 2 ++
14
- 1 file changed, 2 insertions(+)
15
-
16
-diff --git a/crypto/x509/x509_req.c b/crypto/x509/x509_req.c
17
-index bc6e566..01795f4 100644
18
---- a/crypto/x509/x509_req.c
19
-+++ b/crypto/x509/x509_req.c
20
-@@ -92,6 +92,8 @@ X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
21
-         goto err;
22
- 
23
-     pktmp = X509_get_pubkey(x);
24
-+    if (pktmp == NULL)
25
-+        goto err;
26
-     i = X509_REQ_set_pubkey(ret, pktmp);
27
-     EVP_PKEY_free(pktmp);
28
-     if (!i)
29
-2.3.1
30
-
... ...
@@ -1,459 +0,0 @@
1
---- openssl-1.0.2/crypto/asn1/a_type.c
2
-+++ openssl-1.0.2/crypto/asn1/a_type.c
3
-@@ -119,6 +119,9 @@
4
-     case V_ASN1_OBJECT:
5
-         result = OBJ_cmp(a->value.object, b->value.object);
6
-         break;
7
-+    case V_ASN1_BOOLEAN:
8
-+        result = a->value.boolean - b->value.boolean;
9
-+        break;
10
-     case V_ASN1_NULL:
11
-         result = 0;             /* They do not have content. */
12
-         break;
13
---- openssl-1.0.2/crypto/asn1/tasn_dec.c
14
-+++ openssl-1.0.2/crypto/asn1/tasn_dec.c
15
-@@ -140,11 +140,17 @@
16
- {
17
-     ASN1_TLC c;
18
-     ASN1_VALUE *ptmpval = NULL;
19
--    if (!pval)
20
--        pval = &ptmpval;
21
-     asn1_tlc_clear_nc(&c);
22
--    if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0)
23
--        return *pval;
24
-+    if (pval && *pval && it->itype == ASN1_ITYPE_PRIMITIVE)
25
-+        ptmpval = *pval;
26
-+    if (ASN1_item_ex_d2i(&ptmpval, in, len, it, -1, 0, 0, &c) > 0) {
27
-+        if (pval && it->itype != ASN1_ITYPE_PRIMITIVE) {
28
-+            if (*pval)
29
-+                ASN1_item_free(*pval, it);
30
-+            *pval = ptmpval;
31
-+        }
32
-+        return ptmpval;
33
-+    }
34
-     return NULL;
35
- }
36
- 
37
-@@ -304,9 +310,16 @@
38
-     case ASN1_ITYPE_CHOICE:
39
-         if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it, NULL))
40
-             goto auxerr;
41
--
42
--        /* Allocate structure */
43
--        if (!*pval && !ASN1_item_ex_new(pval, it)) {
44
-+        if (*pval) {
45
-+            /* Free up and zero CHOICE value if initialised */
46
-+            i = asn1_get_choice_selector(pval, it);
47
-+            if ((i >= 0) && (i < it->tcount)) {
48
-+                tt = it->templates + i;
49
-+                pchptr = asn1_get_field_ptr(pval, tt);
50
-+                ASN1_template_free(pchptr, tt);
51
-+                asn1_set_choice_selector(pval, -1, it);
52
-+            }
53
-+        } else if (!ASN1_item_ex_new(pval, it)) {
54
-             ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ERR_R_NESTED_ASN1_ERROR);
55
-             goto err;
56
-         }
57
-@@ -386,6 +399,17 @@
58
-         if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it, NULL))
59
-             goto auxerr;
60
- 
61
-+        /* Free up and zero any ADB found */
62
-+        for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
63
-+            if (tt->flags & ASN1_TFLG_ADB_MASK) {
64
-+                const ASN1_TEMPLATE *seqtt;
65
-+                ASN1_VALUE **pseqval;
66
-+                seqtt = asn1_do_adb(pval, tt, 1);
67
-+                pseqval = asn1_get_field_ptr(pval, seqtt);
68
-+                ASN1_template_free(pseqval, seqtt);
69
-+            }
70
-+        }
71
-+
72
-         /* Get each field entry */
73
-         for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) {
74
-             const ASN1_TEMPLATE *seqtt;
75
---- openssl-1.0.2/crypto/pkcs7/pk7_doit.c
76
-+++ openssl-1.0.2/crypto/pkcs7/pk7_doit.c
77
-@@ -261,6 +261,25 @@
78
-     PKCS7_RECIP_INFO *ri = NULL;
79
-     ASN1_OCTET_STRING *os = NULL;
80
- 
81
-+    if (p7 == NULL) {
82
-+        PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_INVALID_NULL_POINTER);
83
-+        return NULL;
84
-+    }
85
-+    /*
86
-+     * The content field in the PKCS7 ContentInfo is optional, but that really
87
-+     * only applies to inner content (precisely, detached signatures).
88
-+     *
89
-+     * When reading content, missing outer content is therefore treated as an
90
-+     * error.
91
-+     *
92
-+     * When creating content, PKCS7_content_new() must be called before
93
-+     * calling this method, so a NULL p7->d is always an error.
94
-+     */
95
-+    if (p7->d.ptr == NULL) {
96
-+        PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_NO_CONTENT);
97
-+        return NULL;
98
-+    }
99
-+
100
-     i = OBJ_obj2nid(p7->type);
101
-     p7->state = PKCS7_S_HEADER;
102
- 
103
-@@ -411,6 +430,16 @@
104
-     unsigned char *ek = NULL, *tkey = NULL;
105
-     int eklen = 0, tkeylen = 0;
106
- 
107
-+    if (p7 == NULL) {
108
-+        PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_INVALID_NULL_POINTER);
109
-+        return NULL;
110
-+    }
111
-+
112
-+    if (p7->d.ptr == NULL) {
113
-+        PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_NO_CONTENT);
114
-+        return NULL;
115
-+    }
116
-+
117
-     i = OBJ_obj2nid(p7->type);
118
-     p7->state = PKCS7_S_HEADER;
119
- 
120
-@@ -707,6 +736,16 @@
121
-     STACK_OF(PKCS7_SIGNER_INFO) *si_sk = NULL;
122
-     ASN1_OCTET_STRING *os = NULL;
123
- 
124
-+    if (p7 == NULL) {
125
-+        PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_INVALID_NULL_POINTER);
126
-+        return 0;
127
-+    }
128
-+
129
-+    if (p7->d.ptr == NULL) {
130
-+        PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_NO_CONTENT);
131
-+        return 0;
132
-+    }
133
-+
134
-     EVP_MD_CTX_init(&ctx_tmp);
135
-     i = OBJ_obj2nid(p7->type);
136
-     p7->state = PKCS7_S_HEADER;
137
-@@ -746,6 +785,7 @@
138
-         /* If detached data then the content is excluded */
139
-         if (PKCS7_type_is_data(p7->d.sign->contents) && p7->detached) {
140
-             M_ASN1_OCTET_STRING_free(os);
141
-+            os = NULL;
142
-             p7->d.sign->contents->d.data = NULL;
143
-         }
144
-         break;
145
-@@ -755,6 +795,7 @@
146
-         /* If detached data then the content is excluded */
147
-         if (PKCS7_type_is_data(p7->d.digest->contents) && p7->detached) {
148
-             M_ASN1_OCTET_STRING_free(os);
149
-+            os = NULL;
150
-             p7->d.digest->contents->d.data = NULL;
151
-         }
152
-         break;
153
-@@ -820,22 +861,30 @@
154
-         M_ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
155
-     }
156
- 
157
--    if (!PKCS7_is_detached(p7) && !(os->flags & ASN1_STRING_FLAG_NDEF)) {
158
--        char *cont;
159
--        long contlen;
160
--        btmp = BIO_find_type(bio, BIO_TYPE_MEM);
161
--        if (btmp == NULL) {
162
--            PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_UNABLE_TO_FIND_MEM_BIO);
163
--            goto err;
164
--        }
165
--        contlen = BIO_get_mem_data(btmp, &cont);
166
-+    if (!PKCS7_is_detached(p7)) {
167
-         /*
168
--         * Mark the BIO read only then we can use its copy of the data
169
--         * instead of making an extra copy.
170
-+         * NOTE(emilia): I think we only reach os == NULL here because detached
171
-+         * digested data support is broken.
172
-          */
173
--        BIO_set_flags(btmp, BIO_FLAGS_MEM_RDONLY);
174
--        BIO_set_mem_eof_return(btmp, 0);
175
--        ASN1_STRING_set0(os, (unsigned char *)cont, contlen);
176
-+        if (os == NULL)
177
-+            goto err;
178
-+        if (!(os->flags & ASN1_STRING_FLAG_NDEF)) {
179
-+            char *cont;
180
-+            long contlen;
181
-+            btmp = BIO_find_type(bio, BIO_TYPE_MEM);
182
-+            if (btmp == NULL) {
183
-+                PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_UNABLE_TO_FIND_MEM_BIO);
184
-+                goto err;
185
-+            }
186
-+            contlen = BIO_get_mem_data(btmp, &cont);
187
-+            /*
188
-+             * Mark the BIO read only then we can use its copy of the data
189
-+             * instead of making an extra copy.
190
-+             */
191
-+            BIO_set_flags(btmp, BIO_FLAGS_MEM_RDONLY);
192
-+            BIO_set_mem_eof_return(btmp, 0);
193
-+            ASN1_STRING_set0(os, (unsigned char *)cont, contlen);
194
-+        }
195
-     }
196
-     ret = 1;
197
-  err:
198
-@@ -910,6 +959,16 @@
199
-     STACK_OF(X509) *cert;
200
-     X509 *x509;
201
- 
202
-+    if (p7 == NULL) {
203
-+        PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_INVALID_NULL_POINTER);
204
-+        return 0;
205
-+    }
206
-+
207
-+    if (p7->d.ptr == NULL) {
208
-+        PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_NO_CONTENT);
209
-+        return 0;
210
-+    }
211
-+
212
-     if (PKCS7_type_is_signed(p7)) {
213
-         cert = p7->d.sign->cert;
214
-     } else if (PKCS7_type_is_signedAndEnveloped(p7)) {
215
---- openssl-1.0.2/crypto/pkcs7/pk7_lib.c
216
-+++ openssl-1.0.2/crypto/pkcs7/pk7_lib.c
217
-@@ -70,6 +70,7 @@
218
-     nid = OBJ_obj2nid(p7->type);
219
- 
220
-     switch (cmd) {
221
-+    /* NOTE(emilia): does not support detached digested data. */
222
-     case PKCS7_OP_SET_DETACHED_SIGNATURE:
223
-         if (nid == NID_pkcs7_signed) {
224
-             ret = p7->detached = (int)larg;
225
-@@ -444,6 +445,8 @@
226
- 
227
- STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7)
228
- {
229
-+    if (p7 == NULL || p7->d.ptr == NULL)
230
-+        return NULL;
231
-     if (PKCS7_type_is_signed(p7)) {
232
-         return (p7->d.sign->signer_info);
233
-     } else if (PKCS7_type_is_signedAndEnveloped(p7)) {
234
---- openssl-1.0.2/crypto/rsa/rsa_ameth.c
235
-+++ openssl-1.0.2/crypto/rsa/rsa_ameth.c
236
-@@ -698,9 +698,10 @@
237
-         RSAerr(RSA_F_RSA_ITEM_VERIFY, RSA_R_UNSUPPORTED_SIGNATURE_TYPE);
238
-         return -1;
239
-     }
240
--    if (rsa_pss_to_ctx(ctx, NULL, sigalg, pkey))
241
-+    if (rsa_pss_to_ctx(ctx, NULL, sigalg, pkey) > 0) {
242
-         /* Carry on */
243
-         return 2;
244
-+    }
245
-     return -1;
246
- }
247
- 
248
---- openssl-1.0.2/doc/crypto/d2i_X509.pod
249
-+++ openssl-1.0.2/doc/crypto/d2i_X509.pod
250
-@@ -207,6 +207,12 @@
251
- persist if they are not present in the new one. As a result the use
252
- of this "reuse" behaviour is strongly discouraged.
253
- 
254
-+Current versions of OpenSSL will not modify B<*px> if an error occurs.
255
-+If parsing succeeds then B<*px> is freed (if it is not NULL) and then
256
-+set to the value of the newly decoded structure. As a result B<*px>
257
-+B<must not> be allocated on the stack or an attempt will be made to
258
-+free an invalid pointer.
259
-+
260
- i2d_X509() will not return an error in many versions of OpenSSL,
261
- if mandatory fields are not initialized due to a programming error
262
- then the encoded structure may contain invalid data or omit the
263
-@@ -233,7 +239,9 @@
264
- 
265
- d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> structure
266
- or B<NULL> if an error occurs. The error code that can be obtained by
267
--L<ERR_get_error(3)|ERR_get_error(3)>. 
268
-+L<ERR_get_error(3)|ERR_get_error(3)>. If the "reuse" capability has been used
269
-+with a valid X509 structure being passed in via B<px> then the object is not
270
-+modified in the event of error.
271
- 
272
- i2d_X509() returns the number of bytes successfully encoded or a negative
273
- value if an error occurs. The error code can be obtained by
274
---- openssl-1.0.2/ssl/d1_lib.c
275
-+++ openssl-1.0.2/ssl/d1_lib.c
276
-@@ -543,6 +543,9 @@
277
- {
278
-     int ret;
279
- 
280
-+    /* Ensure there is no state left over from a previous invocation */
281
-+    SSL_clear(s);
282
-+
283
-     SSL_set_options(s, SSL_OP_COOKIE_EXCHANGE);
284
-     s->d1->listen = 1;
285
- 
286
---- openssl-1.0.2/ssl/s2_lib.c
287
-+++ openssl-1.0.2/ssl/s2_lib.c
288
-@@ -493,7 +493,7 @@
289
- 
290
-         OPENSSL_assert(s->session->master_key_length >= 0
291
-                        && s->session->master_key_length
292
--                       < (int)sizeof(s->session->master_key));
293
-+                       <= (int)sizeof(s->session->master_key));
294
-         EVP_DigestUpdate(&ctx, s->session->master_key,
295
-                          s->session->master_key_length);
296
-         EVP_DigestUpdate(&ctx, &c, 1);
297
---- openssl-1.0.2/ssl/s2_srvr.c
298
-+++ openssl-1.0.2/ssl/s2_srvr.c
299
-@@ -454,11 +454,6 @@
300
-         SSLerr(SSL_F_GET_CLIENT_MASTER_KEY, SSL_R_NO_PRIVATEKEY);
301
-         return (-1);
302
-     }
303
--    i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc,
304
--                                &(p[s->s2->tmp.clear]),
305
--                                &(p[s->s2->tmp.clear]),
306
--                                (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING :
307
--                                RSA_PKCS1_PADDING);
308
- 
309
-     is_export = SSL_C_IS_EXPORT(s->session->cipher);
310
- 
311
-@@ -475,23 +470,61 @@
312
-     } else
313
-         ek = 5;
314
- 
315
-+    /*
316
-+     * The format of the CLIENT-MASTER-KEY message is
317
-+     * 1 byte message type
318
-+     * 3 bytes cipher
319
-+     * 2-byte clear key length (stored in s->s2->tmp.clear)
320
-+     * 2-byte encrypted key length (stored in s->s2->tmp.enc)
321
-+     * 2-byte key args length (IV etc)
322
-+     * clear key
323
-+     * encrypted key
324
-+     * key args
325
-+     *
326
-+     * If the cipher is an export cipher, then the encrypted key bytes
327
-+     * are a fixed portion of the total key (5 or 8 bytes). The size of
328
-+     * this portion is in |ek|. If the cipher is not an export cipher,
329
-+     * then the entire key material is encrypted (i.e., clear key length
330
-+     * must be zero).
331
-+     */
332
-+    if ((!is_export && s->s2->tmp.clear != 0) ||
333
-+        (is_export && s->s2->tmp.clear + ek != EVP_CIPHER_key_length(c))) {
334
-+        ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
335
-+        SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_BAD_LENGTH);
336
-+        return -1;
337
-+    }
338
-+    /*
339
-+     * The encrypted blob must decrypt to the encrypted portion of the key.
340
-+     * Decryption can't be expanding, so if we don't have enough encrypted
341
-+     * bytes to fit the key in the buffer, stop now.
342
-+     */
343
-+    if ((is_export && s->s2->tmp.enc < ek) ||
344
-+        (!is_export && s->s2->tmp.enc < EVP_CIPHER_key_length(c))) {
345
-+        ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR);
346
-+        SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_LENGTH_TOO_SHORT);
347
-+        return -1;
348
-+    }
349
-+
350
-+    i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc,
351
-+                                &(p[s->s2->tmp.clear]),
352
-+                                &(p[s->s2->tmp.clear]),
353
-+                                (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING :
354
-+                                RSA_PKCS1_PADDING);
355
-+
356
-     /* bad decrypt */
357
- # if 1
358
-     /*
359
-      * If a bad decrypt, continue with protocol but with a random master
360
-      * secret (Bleichenbacher attack)
361
-      */
362
--    if ((i < 0) || ((!is_export && (i != EVP_CIPHER_key_length(c)))
363
--                    || (is_export && ((i != ek)
364
--                                      || (s->s2->tmp.clear +
365
--                                          (unsigned int)i != (unsigned int)
366
--                                          EVP_CIPHER_key_length(c)))))) {
367
-+    if ((i < 0) || ((!is_export && i != EVP_CIPHER_key_length(c))
368
-+                    || (is_export && i != ek))) {
369
-         ERR_clear_error();
370
-         if (is_export)
371
-             i = ek;
372
-         else
373
-             i = EVP_CIPHER_key_length(c);
374
--        if (RAND_pseudo_bytes(p, i) <= 0)
375
-+        if (RAND_pseudo_bytes(&p[s->s2->tmp.clear], i) <= 0)
376
-             return 0;
377
-     }
378
- # else
379
-@@ -513,7 +546,7 @@
380
- # endif
381
- 
382
-     if (is_export)
383
--        i += s->s2->tmp.clear;
384
-+        i = EVP_CIPHER_key_length(c);
385
- 
386
-     if (i > SSL_MAX_MASTER_KEY_LENGTH) {
387
-         ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
388
---- openssl-1.0.2/ssl/s3_pkt.c
389
-+++ openssl-1.0.2/ssl/s3_pkt.c
390
-@@ -780,7 +780,7 @@
391
- 
392
-             i = ssl3_write_pending(s, type, &buf[tot], nw);
393
-             if (i <= 0) {
394
--                if (i < 0) {
395
-+                if (i < 0 && (!s->wbio || !BIO_should_retry(s->wbio))) {
396
-                     OPENSSL_free(wb->buf);
397
-                     wb->buf = NULL;
398
-                 }
399
---- openssl-1.0.2/ssl/s3_srvr.c
400
-+++ openssl-1.0.2/ssl/s3_srvr.c
401
-@@ -2251,10 +2251,17 @@
402
-     if (alg_k & (SSL_kEDH | SSL_kDHr | SSL_kDHd)) {
403
-         int idx = -1;
404
-         EVP_PKEY *skey = NULL;
405
--        if (n)
406
-+        if (n) {
407
-             n2s(p, i);
408
--        else
409
-+        } else {
410
-+            if (alg_k & SSL_kDHE) {
411
-+                al = SSL_AD_HANDSHAKE_FAILURE;
412
-+                SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
413
-+                       SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG);
414
-+                goto f_err;
415
-+            }
416
-             i = 0;
417
-+        }
418
-         if (n && n != i + 2) {
419
-             if (!(s->options & SSL_OP_SSLEAY_080_CLIENT_DH_BUG)) {
420
-                 SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
421
---- openssl-1.0.2/ssl/t1_lib.c
422
-+++ openssl-1.0.2/ssl/t1_lib.c
423
-@@ -2965,6 +2965,7 @@
424
-     if (s->cert->shared_sigalgs) {
425
-         OPENSSL_free(s->cert->shared_sigalgs);
426
-         s->cert->shared_sigalgs = NULL;
427
-+        s->cert->shared_sigalgslen = 0;
428
-     }
429
-     /* Clear certificate digests and validity flags */
430
-     for (i = 0; i < SSL_PKEY_NUM; i++) {
431
-@@ -3618,6 +3619,7 @@
432
-     if (c->shared_sigalgs) {
433
-         OPENSSL_free(c->shared_sigalgs);
434
-         c->shared_sigalgs = NULL;
435
-+        c->shared_sigalgslen = 0;
436
-     }
437
-     /* If client use client signature algorithms if not NULL */
438
-     if (!s->server && c->client_sigalgs && !is_suiteb) {
439
-@@ -3640,12 +3642,14 @@
440
-         preflen = c->peer_sigalgslen;
441
-     }
442
-     nmatch = tls12_do_shared_sigalgs(NULL, pref, preflen, allow, allowlen);
443
--    if (!nmatch)
444
--        return 1;
445
--    salgs = OPENSSL_malloc(nmatch * sizeof(TLS_SIGALGS));
446
--    if (!salgs)
447
--        return 0;
448
--    nmatch = tls12_do_shared_sigalgs(salgs, pref, preflen, allow, allowlen);
449
-+    if (nmatch) {
450
-+        salgs = OPENSSL_malloc(nmatch * sizeof(TLS_SIGALGS));
451
-+        if (!salgs)
452
-+            return 0;
453
-+        nmatch = tls12_do_shared_sigalgs(salgs, pref, preflen, allow, allowlen);
454
-+    } else {
455
-+        salgs = NULL;
456
-+    }
457
-     c->shared_sigalgs = salgs;
458
-     c->shared_sigalgslen = nmatch;
459
-     return 1;
... ...
@@ -1,611 +0,0 @@
1
-http://rt.openssl.org/Ticket/Display.html?id=2051&user=guest&pass=guest
2
-
3
---- openssl-1.0.2/apps/s_apps.h
4
-+++ openssl-1.0.2/apps/s_apps.h
5
-@@ -154,7 +154,7 @@
6
- int do_server(int port, int type, int *ret,
7
-               int (*cb) (char *hostname, int s, int stype,
8
-                          unsigned char *context), unsigned char *context,
9
--              int naccept);
10
-+              int naccept, int use_ipv4, int use_ipv6);
11
- #ifdef HEADER_X509_H
12
- int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
13
- #endif
14
-@@ -167,7 +167,8 @@
15
- int ssl_print_curves(BIO *out, SSL *s, int noshared);
16
- #endif
17
- int ssl_print_tmp_key(BIO *out, SSL *s);
18
--int init_client(int *sock, char *server, int port, int type);
19
-+int init_client(int *sock, char *server, int port, int type,
20
-+		int use_ipv4, int use_ipv6);
21
- int should_retry(int i);
22
- int extract_port(char *str, short *port_ptr);
23
- int extract_host_port(char *str, char **host_ptr, unsigned char *ip,
24
---- openssl-1.0.2/apps/s_client.c
25
-+++ openssl-1.0.2/apps/s_client.c
26
-@@ -302,6 +302,10 @@
27
- {
28
-     BIO_printf(bio_err, "usage: s_client args\n");
29
-     BIO_printf(bio_err, "\n");
30
-+    BIO_printf(bio_err, " -4             - use IPv4 only\n");
31
-+#if OPENSSL_USE_IPV6
32
-+    BIO_printf(bio_err, " -6             - use IPv6 only\n");
33
-+#endif
34
-     BIO_printf(bio_err, " -host host     - use -connect instead\n");
35
-     BIO_printf(bio_err, " -port port     - use -connect instead\n");
36
-     BIO_printf(bio_err,
37
-@@ -658,6 +662,7 @@
38
-     int sbuf_len, sbuf_off;
39
-     fd_set readfds, writefds;
40
-     short port = PORT;
41
-+    int use_ipv4, use_ipv6;
42
-     int full_log = 1;
43
-     char *host = SSL_HOST_NAME;
44
-     char *cert_file = NULL, *key_file = NULL, *chain_file = NULL;
45
-@@ -709,7 +714,11 @@
46
- #endif
47
-     char *sess_in = NULL;
48
-     char *sess_out = NULL;
49
--    struct sockaddr peer;
50
-+#if OPENSSL_USE_IPV6
51
-+    struct sockaddr_storage peer;
52
-+#else
53
-+    struct sockaddr_in peer;
54
-+#endif
55
-     int peerlen = sizeof(peer);
56
-     int fallback_scsv = 0;
57
-     int enable_timeouts = 0;
58
-@@ -737,6 +746,12 @@
59
- 
60
-     meth = SSLv23_client_method();
61
- 
62
-+    use_ipv4 = 1;
63
-+#if OPENSSL_USE_IPV6
64
-+    use_ipv6 = 1;
65
-+#else
66
-+    use_ipv6 = 0;
67
-+#endif
68
-     apps_startup();
69
-     c_Pause = 0;
70
-     c_quiet = 0;
71
-@@ -1096,6 +1111,16 @@
72
-             jpake_secret = *++argv;
73
-         }
74
- #endif
75
-+	else if (strcmp(*argv,"-4") == 0) {
76
-+	    use_ipv4 = 1;
77
-+	    use_ipv6 = 0;
78
-+	}
79
-+#if OPENSSL_USE_IPV6
80
-+	else if (strcmp(*argv,"-6") == 0) {
81
-+	    use_ipv4 = 0;
82
-+	    use_ipv6 = 1;
83
-+	}
84
-+#endif
85
- #ifndef OPENSSL_NO_SRTP
86
-         else if (strcmp(*argv, "-use_srtp") == 0) {
87
-             if (--argc < 1)
88
-@@ -1421,7 +1446,7 @@
89
- 
90
-  re_start:
91
- 
92
--    if (init_client(&s, host, port, socket_type) == 0) {
93
-+    if (init_client(&s, host, port, socket_type, use_ipv4, use_ipv6) == 0) {
94
-         BIO_printf(bio_err, "connect:errno=%d\n", get_last_socket_error());
95
-         SHUTDOWN(s);
96
-         goto end;
97
-@@ -1444,7 +1469,7 @@
98
-     if (socket_type == SOCK_DGRAM) {
99
- 
100
-         sbio = BIO_new_dgram(s, BIO_NOCLOSE);
101
--        if (getsockname(s, &peer, (void *)&peerlen) < 0) {
102
-+        if (getsockname(s, (struct sockaddr *)&peer, (void *)&peerlen) < 0) {
103
-             BIO_printf(bio_err, "getsockname:errno=%d\n",
104
-                        get_last_socket_error());
105
-             SHUTDOWN(s);
106
---- openssl-1.0.2/apps/s_server.c
107
-+++ openssl-1.0.2/apps/s_server.c
108
-@@ -643,6 +643,10 @@
109
-     BIO_printf(bio_err,
110
-                " -alpn arg  - set the advertised protocols for the ALPN extension (comma-separated list)\n");
111
- #endif
112
-+    BIO_printf(bio_err, " -4            - use IPv4 only\n");
113
-+#if OPENSSL_USE_IPV6
114
-+    BIO_printf(bio_err, " -6            - use IPv6 only\n");
115
-+#endif
116
-     BIO_printf(bio_err,
117
-                " -keymatexport label   - Export keying material using label\n");
118
-     BIO_printf(bio_err,
119
-@@ -1070,6 +1074,7 @@
120
-     int state = 0;
121
-     const SSL_METHOD *meth = NULL;
122
-     int socket_type = SOCK_STREAM;
123
-+    int use_ipv4, use_ipv6;
124
-     ENGINE *e = NULL;
125
-     char *inrand = NULL;
126
-     int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM;
127
-@@ -1111,6 +1116,12 @@
128
- 
129
-     meth = SSLv23_server_method();
130
- 
131
-+    use_ipv4 = 1;
132
-+#if OPENSSL_USE_IPV6
133
-+    use_ipv6 = 1;
134
-+#else
135
-+    use_ipv6 = 0;
136
-+#endif
137
-     local_argc = argc;
138
-     local_argv = argv;
139
- 
140
-@@ -1503,6 +1514,16 @@
141
-             jpake_secret = *(++argv);
142
-         }
143
- #endif
144
-+	else if (strcmp(*argv,"-4") == 0) {
145
-+	    use_ipv4 = 1;
146
-+	    use_ipv6 = 0;
147
-+	}
148
-+#if OPENSSL_USE_IPV6
149
-+	else if (strcmp(*argv,"-6") == 0) {
150
-+	    use_ipv4 = 0;
151
-+	    use_ipv6 = 1;
152
-+	}
153
-+#endif
154
- #ifndef OPENSSL_NO_SRTP
155
-         else if (strcmp(*argv, "-use_srtp") == 0) {
156
-             if (--argc < 1)
157
-@@ -2023,13 +2044,13 @@
158
-     (void)BIO_flush(bio_s_out);
159
-     if (rev)
160
-         do_server(port, socket_type, &accept_socket, rev_body, context,
161
--                  naccept);
162
-+                  naccept, use_ipv4, use_ipv6);
163
-     else if (www)
164
-         do_server(port, socket_type, &accept_socket, www_body, context,
165
--                  naccept);
166
-+                  naccept, use_ipv4, use_ipv6);
167
-     else
168
-         do_server(port, socket_type, &accept_socket, sv_body, context,
169
--                  naccept);
170
-+                  naccept, use_ipv4, use_ipv6);
171
-     print_stats(bio_s_out, ctx);
172
-     ret = 0;
173
-  end:
174
---- openssl-1.0.2/apps/s_socket.c
175
-+++ openssl-1.0.2/apps/s_socket.c
176
-@@ -101,16 +101,16 @@
177
- #  include "netdb.h"
178
- # endif
179
- 
180
--static struct hostent *GetHostByName(char *name);
181
-+static struct hostent *GetHostByName(char *name, int domain);
182
- # if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
183
- static void ssl_sock_cleanup(void);
184
- # endif
185
- static int ssl_sock_init(void);
186
--static int init_client_ip(int *sock, unsigned char ip[4], int port, int type);
187
--static int init_server(int *sock, int port, int type);
188
--static int init_server_long(int *sock, int port, char *ip, int type);
189
-+static int init_client_ip(int *sock, unsigned char *ip, int port, int type, int domain);
190
-+static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6);
191
-+static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6);
192
- static int do_accept(int acc_sock, int *sock, char **host);
193
--static int host_ip(char *str, unsigned char ip[4]);
194
-+static int host_ip(char *str, unsigned char *ip, int domain);
195
- 
196
- # ifdef OPENSSL_SYS_WIN16
197
- #  define SOCKET_PROTOCOL 0     /* more microsoft stupidity */
198
-@@ -231,38 +231,68 @@
199
-     return (1);
200
- }
201
- 
202
--int init_client(int *sock, char *host, int port, int type)
203
-+int init_client(int *sock, char *host, int port, int type, int use_ipv4, int use_ipv6)
204
- {
205
-+# if OPENSSL_USE_IPV6
206
-+    unsigned char ip[16];
207
-+# else
208
-     unsigned char ip[4];
209
-+# endif
210
- 
211
--    memset(ip, '\0', sizeof ip);
212
--    if (!host_ip(host, &(ip[0])))
213
--        return 0;
214
--    return init_client_ip(sock, ip, port, type);
215
--}
216
--
217
--static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
218
--{
219
--    unsigned long addr;
220
-+    if (use_ipv4)
221
-+	if (host_ip(host, ip, AF_INET))
222
-+	    return(init_client_ip(sock, ip, port, type, AF_INET));
223
-+# if OPENSSL_USE_IPV6
224
-+    if (use_ipv6)
225
-+	if (host_ip(host, ip, AF_INET6))
226
-+	    return(init_client_ip(sock, ip, port, type, AF_INET6));
227
-+# endif
228
-+    return 0;
229
-+}
230
-+
231
-+static int init_client_ip(int *sock, unsigned char ip[4], int port, int type, int domain)
232
-+{
233
-+# if OPENSSL_USE_IPV6
234
-+    struct sockaddr_storage them;
235
-+    struct sockaddr_in *them_in = (struct sockaddr_in *)&them;
236
-+    struct sockaddr_in6 *them_in6 = (struct sockaddr_in6 *)&them;
237
-+# else
238
-     struct sockaddr_in them;
239
-+    struct sockaddr_in *them_in = &them;
240
-+# endif
241
-+    socklen_t addr_len;
242
-     int s, i;
243
- 
244
-     if (!ssl_sock_init())
245
-         return (0);
246
- 
247
-     memset((char *)&them, 0, sizeof(them));
248
--    them.sin_family = AF_INET;
249
--    them.sin_port = htons((unsigned short)port);
250
--    addr = (unsigned long)
251
--        ((unsigned long)ip[0] << 24L) |
252
--        ((unsigned long)ip[1] << 16L) |
253
--        ((unsigned long)ip[2] << 8L) | ((unsigned long)ip[3]);
254
--    them.sin_addr.s_addr = htonl(addr);
255
-+    if (domain == AF_INET) {
256
-+	addr_len = (socklen_t)sizeof(struct sockaddr_in);
257
-+	them_in->sin_family=AF_INET;
258
-+	them_in->sin_port=htons((unsigned short)port);
259
-+# ifndef BIT_FIELD_LIMITS
260
-+	memcpy(&them_in->sin_addr.s_addr, ip, 4);
261
-+# else
262
-+	memcpy(&them_in->sin_addr, ip, 4);
263
-+# endif
264
-+    }
265
-+    else
266
-+# if OPENSSL_USE_IPV6
267
-+    {
268
-+	addr_len = (socklen_t)sizeof(struct sockaddr_in6);
269
-+	them_in6->sin6_family=AF_INET6;
270
-+	them_in6->sin6_port=htons((unsigned short)port);
271
-+	memcpy(&(them_in6->sin6_addr), ip, sizeof(struct in6_addr));
272
-+    }
273
-+# else
274
-+	return(0);
275
-+# endif
276
- 
277
-     if (type == SOCK_STREAM)
278
--        s = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL);
279
-+        s = socket(domain, SOCK_STREAM, SOCKET_PROTOCOL);
280
-     else                        /* ( type == SOCK_DGRAM) */
281
--        s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
282
-+        s = socket(domain, SOCK_DGRAM, IPPROTO_UDP);
283
- 
284
-     if (s == INVALID_SOCKET) {
285
-         perror("socket");
286
-@@ -280,7 +310,7 @@
287
-     }
288
- # endif
289
- 
290
--    if (connect(s, (struct sockaddr *)&them, sizeof(them)) == -1) {
291
-+    if (connect(s, (struct sockaddr *)&them, addr_len) == -1) {
292
-         closesocket(s);
293
-         perror("connect");
294
-         return (0);
295
-@@ -292,14 +322,14 @@
296
- int do_server(int port, int type, int *ret,
297
-               int (*cb) (char *hostname, int s, int stype,
298
-                          unsigned char *context), unsigned char *context,
299
--              int naccept)
300
-+              int naccept, int use_ipv4, int use_ipv6)
301
- {
302
-     int sock;
303
-     char *name = NULL;
304
-     int accept_socket = 0;
305
-     int i;
306
- 
307
--    if (!init_server(&accept_socket, port, type))
308
-+    if (!init_server(&accept_socket, port, type, use_ipv4, use_ipv6))
309
-         return (0);
310
- 
311
-     if (ret != NULL) {
312
-@@ -328,32 +358,41 @@
313
-     }
314
- }
315
- 
316
--static int init_server_long(int *sock, int port, char *ip, int type)
317
-+static int init_server_long(int *sock, int port, char *ip, int type, int use_ipv4, int use_ipv6)
318
- {
319
-     int ret = 0;
320
-+    int domain;
321
-+# if OPENSSL_USE_IPV6
322
-+    struct sockaddr_storage server;
323
-+    struct sockaddr_in *server_in = (struct sockaddr_in *)&server;
324
-+    struct sockaddr_in6 *server_in6 = (struct sockaddr_in6 *)&server;
325
-+# else
326
-     struct sockaddr_in server;
327
-+    struct sockaddr_in *server_in = &server;
328
-+# endif
329
-+    socklen_t addr_len;
330
-     int s = -1;
331
- 
332
-+    if (!use_ipv4 && !use_ipv6)
333
-+	goto err;
334
-+# if OPENSSL_USE_IPV6
335
-+    /* we are fine here */
336
-+# else
337
-+    if (use_ipv6)
338
-+	goto err;
339
-+# endif
340
-     if (!ssl_sock_init())
341
-         return (0);
342
- 
343
--    memset((char *)&server, 0, sizeof(server));
344
--    server.sin_family = AF_INET;
345
--    server.sin_port = htons((unsigned short)port);
346
--    if (ip == NULL)
347
--        server.sin_addr.s_addr = INADDR_ANY;
348
--    else
349
--/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
350
--# ifndef BIT_FIELD_LIMITS
351
--        memcpy(&server.sin_addr.s_addr, ip, 4);
352
-+#if OPENSSL_USE_IPV6
353
-+    domain = use_ipv6 ? AF_INET6 : AF_INET;
354
- # else
355
--        memcpy(&server.sin_addr, ip, 4);
356
-+    domain = AF_INET;
357
- # endif
358
--
359
-     if (type == SOCK_STREAM)
360
--        s = socket(AF_INET, SOCK_STREAM, SOCKET_PROTOCOL);
361
--    else                        /* type == SOCK_DGRAM */
362
--        s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
363
-+	s=socket(domain, SOCK_STREAM, SOCKET_PROTOCOL);
364
-+    else /* type == SOCK_DGRAM */
365
-+	s=socket(domain, SOCK_DGRAM, IPPROTO_UDP);
366
- 
367
-     if (s == INVALID_SOCKET)
368
-         goto err;
369
-@@ -363,7 +402,42 @@
370
-         setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *)&j, sizeof j);
371
-     }
372
- # endif
373
--    if (bind(s, (struct sockaddr *)&server, sizeof(server)) == -1) {
374
-+# if OPENSSL_USE_IPV6
375
-+    if ((use_ipv4 == 0) && (use_ipv6 == 1)) {
376
-+	const int on = 1;
377
-+
378
-+	setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
379
-+		    (const void *) &on, sizeof(int));
380
-+    }
381
-+# endif
382
-+    if (domain == AF_INET) {
383
-+	addr_len = (socklen_t)sizeof(struct sockaddr_in);
384
-+	memset(server_in, 0, sizeof(struct sockaddr_in));
385
-+	server_in->sin_family=AF_INET;
386
-+	server_in->sin_port = htons((unsigned short)port);
387
-+	if (ip == NULL)
388
-+	    server_in->sin_addr.s_addr = htonl(INADDR_ANY);
389
-+	else
390
-+/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
391
-+# ifndef BIT_FIELD_LIMITS
392
-+	    memcpy(&server_in->sin_addr.s_addr, ip, 4);
393
-+# else
394
-+	    memcpy(&server_in->sin_addr, ip, 4);
395
-+# endif
396
-+    }
397
-+# if OPENSSL_USE_IPV6
398
-+    else {
399
-+	addr_len = (socklen_t)sizeof(struct sockaddr_in6);
400
-+	memset(server_in6, 0, sizeof(struct sockaddr_in6));
401
-+	server_in6->sin6_family = AF_INET6;
402
-+	server_in6->sin6_port = htons((unsigned short)port);
403
-+	if (ip == NULL)
404
-+	    server_in6->sin6_addr = in6addr_any;
405
-+	else
406
-+	    memcpy(&server_in6->sin6_addr, ip, sizeof(struct in6_addr));
407
-+    }
408
-+# endif
409
-+    if (bind(s, (struct sockaddr *)&server, addr_len) == -1) {
410
- # ifndef OPENSSL_SYS_WINDOWS
411
-         perror("bind");
412
- # endif
413
-@@ -381,16 +455,23 @@
414
-     return (ret);
415
- }
416
- 
417
--static int init_server(int *sock, int port, int type)
418
-+static int init_server(int *sock, int port, int type, int use_ipv4, int use_ipv6)
419
- {
420
--    return (init_server_long(sock, port, NULL, type));
421
-+    return (init_server_long(sock, port, NULL, type, use_ipv4, use_ipv6));
422
- }
423
- 
424
- static int do_accept(int acc_sock, int *sock, char **host)
425
- {
426
-     int ret;
427
-     struct hostent *h1, *h2;
428
--    static struct sockaddr_in from;
429
-+#if OPENSSL_USE_IPV6
430
-+    struct sockaddr_storage from;
431
-+    struct sockaddr_in *from_in = (struct sockaddr_in *)&from;
432
-+    struct sockaddr_in6 *from_in6 = (struct sockaddr_in6 *)&from;
433
-+#else
434
-+    struct sockaddr_in from;
435
-+    struct sockaddr_in *from_in = &from;
436
-+#endif
437
-     int len;
438
- /*      struct linger ling; */
439
- 
440
-@@ -440,14 +521,25 @@
441
- 
442
-     if (host == NULL)
443
-         goto end;
444
-+# if OPENSSL_USE_IPV6
445
-+    if (from.ss_family == AF_INET)
446
-+# else
447
-+    if (from.sin_family == AF_INET)
448
-+# endif
449
- # ifndef BIT_FIELD_LIMITS
450
--    /* I should use WSAAsyncGetHostByName() under windows */
451
--    h1 = gethostbyaddr((char *)&from.sin_addr.s_addr,
452
--                       sizeof(from.sin_addr.s_addr), AF_INET);
453
-+	/* I should use WSAAsyncGetHostByName() under windows */
454
-+	h1 = gethostbyaddr((char *)&from_in->sin_addr.s_addr,
455
-+                	    sizeof(from_in->sin_addr.s_addr), AF_INET);
456
- # else
457
--    h1 = gethostbyaddr((char *)&from.sin_addr,
458
--                       sizeof(struct in_addr), AF_INET);
459
-+	h1 = gethostbyaddr((char *)&from_in->sin_addr,
460
-+            		    sizeof(struct in_addr), AF_INET);
461
-+# endif
462
-+# if OPENSSL_USE_IPV6
463
-+    else
464
-+	h1 = gethostbyaddr((char *)&from_in6->sin6_addr,
465
-+			    sizeof(struct in6_addr), AF_INET6);
466
- # endif
467
-+	    
468
-     if (h1 == NULL) {
469
-         BIO_printf(bio_err, "bad gethostbyaddr\n");
470
-         *host = NULL;
471
-@@ -460,14 +552,22 @@
472
-         }
473
-         BUF_strlcpy(*host, h1->h_name, strlen(h1->h_name) + 1);
474
- 
475
--        h2 = GetHostByName(*host);
476
-+# if OPENSSL_USE_IPV6
477
-+	h2=GetHostByName(*host, from.ss_family);
478
-+# else
479
-+	h2=GetHostByName(*host, from.sin_family);
480
-+# endif
481
-         if (h2 == NULL) {
482
-             BIO_printf(bio_err, "gethostbyname failure\n");
483
-             closesocket(ret);
484
-             return (0);
485
-         }
486
--        if (h2->h_addrtype != AF_INET) {
487
--            BIO_printf(bio_err, "gethostbyname addr is not AF_INET\n");
488
-+# if OPENSSL_USE_IPV6
489
-+	if (h2->h_addrtype != from.ss_family) {
490
-+# else
491
-+	if (h2->h_addrtype != from.sin_family) {
492
-+# endif
493
-+            BIO_printf(bio_err, "gethostbyname addr is not correct\n");
494
-             closesocket(ret);
495
-             return (0);
496
-         }
497
-@@ -483,14 +583,14 @@
498
-     char *h, *p;
499
- 
500
-     h = str;
501
--    p = strchr(str, ':');
502
-+    p = strrchr(str, ':');
503
-     if (p == NULL) {
504
-         BIO_printf(bio_err, "no port defined\n");
505
-         return (0);
506
-     }
507
-     *(p++) = '\0';
508
- 
509
--    if ((ip != NULL) && !host_ip(str, ip))
510
-+    if ((ip != NULL) && !host_ip(str, ip, AF_INET))
511
-         goto err;
512
-     if (host_ptr != NULL)
513
-         *host_ptr = h;
514
-@@ -502,44 +602,51 @@
515
-     return (0);
516
- }
517
- 
518
--static int host_ip(char *str, unsigned char ip[4])
519
-+static int host_ip(char *str, unsigned char *ip, int domain)
520
- {
521
-     unsigned int in[4];
522
-+    unsigned long l;
523
-     int i;
524
- 
525
--    if (sscanf(str, "%u.%u.%u.%u", &(in[0]), &(in[1]), &(in[2]), &(in[3])) ==
526
--        4) {
527
-+    if ((domain == AF_INET) && (sscanf(str, "%u.%u.%u.%u", &(in[0]), &(in[1]), &(in[2]), &(in[3])) == 4)) {
528
-         for (i = 0; i < 4; i++)
529
-             if (in[i] > 255) {
530
-                 BIO_printf(bio_err, "invalid IP address\n");
531
-                 goto err;
532
-             }
533
--        ip[0] = in[0];
534
--        ip[1] = in[1];
535
--        ip[2] = in[2];
536
--        ip[3] = in[3];
537
--    } else {                    /* do a gethostbyname */
538
-+	l=htonl((in[0]<<24L)|(in[1]<<16L)|(in[2]<<8L)|in[3]);
539
-+	memcpy(ip, &l, 4);
540
-+	return 1;
541
-+    }
542
-+# if OPENSSL_USE_IPV6
543
-+    else if ((domain == AF_INET6) && (inet_pton(AF_INET6, str, ip) == 1))
544
-+	return 1;
545
-+# endif
546
-+    else {                    /* do a gethostbyname */
547
-         struct hostent *he;
548
- 
549
-         if (!ssl_sock_init())
550
-             return (0);
551
- 
552
--        he = GetHostByName(str);
553
-+        he = GetHostByName(str, domain);
554
-         if (he == NULL) {
555
-             BIO_printf(bio_err, "gethostbyname failure\n");
556
-             goto err;
557
-         }
558
-         /* cast to short because of win16 winsock definition */
559
--        if ((short)he->h_addrtype != AF_INET) {
560
--            BIO_printf(bio_err, "gethostbyname addr is not AF_INET\n");
561
-+        if ((short)he->h_addrtype != domain) {
562
-+            BIO_printf(bio_err, "gethostbyname addr is not correct\n");
563
-             return (0);
564
-         }
565
--        ip[0] = he->h_addr_list[0][0];
566
--        ip[1] = he->h_addr_list[0][1];
567
--        ip[2] = he->h_addr_list[0][2];
568
--        ip[3] = he->h_addr_list[0][3];
569
-+	if (domain == AF_INET)
570
-+	    memset(ip, 0, 4);
571
-+# if OPENSSL_USE_IPV6
572
-+	else
573
-+	    memset(ip, 0, 16);
574
-+# endif
575
-+	memcpy(ip, he->h_addr_list[0], he->h_length);
576
-+	return 1;
577
-     }
578
--    return (1);
579
-  err:
580
-     return (0);
581
- }
582
-@@ -573,7 +680,7 @@
583
- static unsigned long ghbn_hits = 0L;
584
- static unsigned long ghbn_miss = 0L;
585
- 
586
--static struct hostent *GetHostByName(char *name)
587
-+static struct hostent *GetHostByName(char *name, int domain)
588
- {
589
-     struct hostent *ret;
590
-     int i, lowi = 0;
591
-@@ -585,13 +692,18 @@
592
-             lowi = i;
593
-         }
594
-         if (ghbn_cache[i].order > 0) {
595
--            if (strncmp(name, ghbn_cache[i].name, 128) == 0)
596
-+            if ((strncmp(name, ghbn_cache[i].name, 128) == 0) && (ghbn_cache[i].ent.h_addrtype == domain))
597
-                 break;
598
-         }
599
-     }
600
-     if (i == GHBN_NUM) {        /* no hit */
601
-         ghbn_miss++;
602
--        ret = gethostbyname(name);
603
-+        if (domain == AF_INET)
604
-+    	    ret = gethostbyname(name);
605
-+# if OPENSSL_USE_IPV6
606
-+	else
607
-+	    ret = gethostbyname2(name, AF_INET6);
608
-+# endif
609
-         if (ret == NULL)
610
-             return (NULL);
611
-         /* else add to cache */
... ...
@@ -1,354 +0,0 @@
1
-http://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest
2
-
3
---- a/Makefile.org
4
-+++ b/Makefile.org
5
-@@ -247,17 +247,17 @@
6
- build_libs: build_crypto build_ssl build_engines
7
- 
8
- build_crypto:
9
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
10
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
11
--build_ssl:
12
-+build_ssl: build_crypto
13
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
14
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
15
--build_engines:
16
-+build_engines: build_crypto
17
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
18
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
19
--build_apps:
20
-+build_apps: build_libs
21
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
22
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
23
--build_tests:
24
-+build_tests: build_libs
25
--	@dir=test; target=all; $(BUILD_ONE_CMD)
26
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
27
--build_tools:
28
-+build_tools: build_libs
29
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
30
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
31
- 
32
- all_testapps: build_libs build_testapps
33
- build_testapps:
34
-@@ -497,9 +497,9 @@
35
- dist_pem_h:
36
- 	(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
37
- 
38
--install: all install_docs install_sw
39
-+install: install_docs install_sw
40
- 
41
--install_sw:
42
-+install_dirs:
43
- 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
44
- 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
45
- 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
46
-@@ -508,6 +508,13 @@
47
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
48
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
49
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/private
50
-+	@$(PERL) $(TOP)/util/mkdir-p.pl \
51
-+		$(INSTALL_PREFIX)$(MANDIR)/man1 \
52
-+		$(INSTALL_PREFIX)$(MANDIR)/man3 \
53
-+		$(INSTALL_PREFIX)$(MANDIR)/man5 \
54
-+		$(INSTALL_PREFIX)$(MANDIR)/man7
55
-+
56
-+install_sw: install_dirs
57
- 	@set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
58
- 	do \
59
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
60
-@@ -511,7 +511,7 @@
61
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
62
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
63
- 	done;
64
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
65
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
66
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
67
- 	do \
68
- 		if [ -f "$$i" ]; then \
69
-@@ -593,12 +600,7 @@
70
- 		done; \
71
- 	done
72
- 
73
--install_docs:
74
--	@$(PERL) $(TOP)/util/mkdir-p.pl \
75
--		$(INSTALL_PREFIX)$(MANDIR)/man1 \
76
--		$(INSTALL_PREFIX)$(MANDIR)/man3 \
77
--		$(INSTALL_PREFIX)$(MANDIR)/man5 \
78
--		$(INSTALL_PREFIX)$(MANDIR)/man7
79
-+install_docs: install_dirs
80
- 	@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
81
- 	here="`pwd`"; \
82
- 	filecase=; \
83
---- a/Makefile.shared
84
-+++ b/Makefile.shared
85
-@@ -105,6 +105,7 @@ LINK_SO=	\
86
-     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
87
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
88
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
89
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
90
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
91
-     $${SHAREDCMD} $${SHAREDFLAGS} \
92
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
93
-@@ -122,6 +124,7 @@ SYMLINK_SO=	\
94
- 			done; \
95
- 		fi; \
96
- 		if [ -n "$$SHLIB_SOVER" ]; then \
97
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
98
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
99
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
100
- 		fi; \
101
---- a/crypto/Makefile
102
-+++ b/crypto/Makefile
103
-@@ -85,11 +85,11 @@
104
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
105
- 
106
- subdirs:
107
--	@target=all; $(RECURSIVE_MAKE)
108
-+	+@target=all; $(RECURSIVE_MAKE)
109
- 
110
- files:
111
- 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
112
--	@target=files; $(RECURSIVE_MAKE)
113
-+	+@target=files; $(RECURSIVE_MAKE)
114
- 
115
- links:
116
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
117
-@@ -100,7 +100,7 @@
118
- # lib: $(LIB): are splitted to avoid end-less loop
119
- lib:	$(LIB)
120
- 	@touch lib
121
--$(LIB):	$(LIBOBJ)
122
-+$(LIB):	$(LIBOBJ) | subdirs
123
- 	$(AR) $(LIB) $(LIBOBJ)
124
- 	$(RANLIB) $(LIB) || echo Never mind.
125
- 
126
-@@ -110,7 +110,7 @@
127
- 	fi
128
- 
129
- libs:
130
--	@target=lib; $(RECURSIVE_MAKE)
131
-+	+@target=lib; $(RECURSIVE_MAKE)
132
- 
133
- install:
134
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
135
-@@ -119,7 +119,7 @@
136
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
137
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
138
- 	done;
139
--	@target=install; $(RECURSIVE_MAKE)
140
-+	+@target=install; $(RECURSIVE_MAKE)
141
- 
142
- lint:
143
- 	@target=lint; $(RECURSIVE_MAKE)
144
---- a/engines/Makefile
145
-+++ b/engines/Makefile
146
-@@ -72,7 +72,7 @@
147
- 
148
- all:	lib subdirs
149
- 
150
--lib:	$(LIBOBJ)
151
-+lib:	$(LIBOBJ) | subdirs
152
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
153
- 		set -e; \
154
- 		for l in $(LIBNAMES); do \
155
-@@ -89,7 +89,7 @@
156
- 
157
- subdirs:
158
- 	echo $(EDIRS)
159
--	@target=all; $(RECURSIVE_MAKE)
160
-+	+@target=all; $(RECURSIVE_MAKE)
161
- 
162
- files:
163
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
164
-@@ -128,7 +128,7 @@
165
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
166
- 		done; \
167
- 	fi
168
--	@target=install; $(RECURSIVE_MAKE)
169
-+	+@target=install; $(RECURSIVE_MAKE)
170
- 
171
- tags:
172
- 	ctags $(SRC)
173
---- a/test/Makefile
174
-+++ b/test/Makefile
175
-@@ -123,7 +123,7 @@
176
- tags:
177
- 	ctags $(SRC)
178
- 
179
--tests:	exe apps $(TESTS)
180
-+tests:	exe $(TESTS)
181
- 
182
- apps:
183
- 	@(cd ..; $(MAKE) DIRS=apps all)
184
-@@ -365,109 +365,109 @@
185
- 		link_app.$${shlib_target}
186
- 
187
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
188
--	@target=$(RSATEST); $(BUILD_CMD)
189
-+	+@target=$(RSATEST); $(BUILD_CMD)
190
- 
191
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
192
--	@target=$(BNTEST); $(BUILD_CMD)
193
-+	+@target=$(BNTEST); $(BUILD_CMD)
194
- 
195
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
196
--	@target=$(ECTEST); $(BUILD_CMD)
197
-+	+@target=$(ECTEST); $(BUILD_CMD)
198
- 
199
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
200
--	@target=$(EXPTEST); $(BUILD_CMD)
201
-+	+@target=$(EXPTEST); $(BUILD_CMD)
202
- 
203
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
204
--	@target=$(IDEATEST); $(BUILD_CMD)
205
-+	+@target=$(IDEATEST); $(BUILD_CMD)
206
- 
207
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
208
--	@target=$(MD2TEST); $(BUILD_CMD)
209
-+	+@target=$(MD2TEST); $(BUILD_CMD)
210
- 
211
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
212
--	@target=$(SHATEST); $(BUILD_CMD)
213
-+	+@target=$(SHATEST); $(BUILD_CMD)
214
- 
215
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
216
--	@target=$(SHA1TEST); $(BUILD_CMD)
217
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
218
- 
219
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
220
--	@target=$(SHA256TEST); $(BUILD_CMD)
221
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
222
- 
223
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
224
--	@target=$(SHA512TEST); $(BUILD_CMD)
225
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
226
- 
227
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
228
--	@target=$(RMDTEST); $(BUILD_CMD)
229
-+	+@target=$(RMDTEST); $(BUILD_CMD)
230
- 
231
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
232
--	@target=$(MDC2TEST); $(BUILD_CMD)
233
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
234
- 
235
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
236
--	@target=$(MD4TEST); $(BUILD_CMD)
237
-+	+@target=$(MD4TEST); $(BUILD_CMD)
238
- 
239
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
240
--	@target=$(MD5TEST); $(BUILD_CMD)
241
-+	+@target=$(MD5TEST); $(BUILD_CMD)
242
- 
243
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
244
--	@target=$(HMACTEST); $(BUILD_CMD)
245
-+	+@target=$(HMACTEST); $(BUILD_CMD)
246
- 
247
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
248
--	@target=$(WPTEST); $(BUILD_CMD)
249
-+	+@target=$(WPTEST); $(BUILD_CMD)
250
- 
251
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
252
--	@target=$(RC2TEST); $(BUILD_CMD)
253
-+	+@target=$(RC2TEST); $(BUILD_CMD)
254
- 
255
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
256
--	@target=$(BFTEST); $(BUILD_CMD)
257
-+	+@target=$(BFTEST); $(BUILD_CMD)
258
- 
259
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
260
--	@target=$(CASTTEST); $(BUILD_CMD)
261
-+	+@target=$(CASTTEST); $(BUILD_CMD)
262
- 
263
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
264
--	@target=$(RC4TEST); $(BUILD_CMD)
265
-+	+@target=$(RC4TEST); $(BUILD_CMD)
266
- 
267
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
268
--	@target=$(RC5TEST); $(BUILD_CMD)
269
-+	+@target=$(RC5TEST); $(BUILD_CMD)
270
- 
271
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
272
--	@target=$(DESTEST); $(BUILD_CMD)
273
-+	+@target=$(DESTEST); $(BUILD_CMD)
274
- 
275
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
276
--	@target=$(RANDTEST); $(BUILD_CMD)
277
-+	+@target=$(RANDTEST); $(BUILD_CMD)
278
- 
279
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
280
--	@target=$(DHTEST); $(BUILD_CMD)
281
-+	+@target=$(DHTEST); $(BUILD_CMD)
282
- 
283
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
284
--	@target=$(DSATEST); $(BUILD_CMD)
285
-+	+@target=$(DSATEST); $(BUILD_CMD)
286
- 
287
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
288
--	@target=$(METHTEST); $(BUILD_CMD)
289
-+	+@target=$(METHTEST); $(BUILD_CMD)
290
- 
291
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
292
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
293
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
294
- 
295
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
296
--	@target=$(ENGINETEST); $(BUILD_CMD)
297
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
298
- 
299
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
300
--	@target=$(EVPTEST); $(BUILD_CMD)
301
-+	+@target=$(EVPTEST); $(BUILD_CMD)
302
- 
303
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
304
--	@target=$(ECDSATEST); $(BUILD_CMD)
305
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
306
- 
307
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
308
--	@target=$(ECDHTEST); $(BUILD_CMD)
309
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
310
- 
311
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
312
--	@target=$(IGETEST); $(BUILD_CMD)
313
-+	+@target=$(IGETEST); $(BUILD_CMD)
314
- 
315
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
316
--	@target=$(JPAKETEST); $(BUILD_CMD)
317
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
318
- 
319
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
320
--	@target=$(ASN1TEST); $(BUILD_CMD)
321
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
322
- 
323
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
324
--	@target=$(SRPTEST); $(BUILD_CMD)
325
-+	+@target=$(SRPTEST); $(BUILD_CMD)
326
- 
327
- #$(AESTEST).o: $(AESTEST).c
328
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
329
-@@ -480,7 +480,7 @@
330
- #	fi
331
- 
332
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
333
--	@target=dummytest; $(BUILD_CMD)
334
-+	+@target=dummytest; $(BUILD_CMD)
335
- 
336
- # DO NOT DELETE THIS LINE -- make depend depends on it.
337
- 
338
---- a/crypto/objects/Makefile
339
-+++ b/crypto/objects/Makefile
340
-@@ -44,11 +44,11 @@ obj_dat.h: obj_dat.pl obj_mac.h
341
- # objects.pl both reads and writes obj_mac.num
342
- obj_mac.h: objects.pl objects.txt obj_mac.num
343
- 	$(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
344
--	@sleep 1; touch obj_mac.h; sleep 1
345
- 
346
--obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
347
-+# This doesn't really need obj_mac.h, but since that rule reads & writes
348
-+# obj_mac.num, we can't run in parallel with it.
349
-+obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
350
- 	$(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
351
--	@sleep 1; touch obj_xref.h; sleep 1
352
- 
353
- files:
354
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
... ...
@@ -1,17 +0,0 @@
1
-https://bugs.gentoo.org/472584
2
-http://rt.openssl.org/Ticket/Display.html?id=2387&user=guest&pass=guest
3
-
4
-fix verification handling in s_client.  when loading paths, make sure
5
-we properly fallback to setting the default paths.
6
-
7
---- openssl-1.0.2/apps/s_client.c
8
-+++ openssl-1.0.2/apps/s_client.c
9
-@@ -1337,7 +1337,7 @@
10
- 
11
-     SSL_CTX_set_verify(ctx, verify, verify_callback);
12
- 
13
--    if ((!SSL_CTX_load_verify_locations(ctx, CAfile, CApath)) ||
14
-+    if ((!SSL_CTX_load_verify_locations(ctx, CAfile, CApath)) &&
15
-         (!SSL_CTX_set_default_verify_paths(ctx))) {
16
-         /*
17
-          * BIO_printf(bio_err,"error setting default verify locations\n");
... ...
@@ -1,38 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=3758
2
-
3
-From 7b4152089fe39c3495508076ab81ed4aca3d65ba Mon Sep 17 00:00:00 2001
4
-From: Mike Frysinger <vapier@gentoo.org>
5
-Date: Sat, 21 Mar 2015 05:08:41 -0400
6
-Subject: [PATCH] fix malloc define typo
7
-
8
-Reported-by: Conrad Kostecki <ck+gentoobugzilla@bl4ckb0x.de>
9
-URL: https://bugs.gentoo.org/543828
10
----
11
- crypto/bio/bss_dgram.c | 4 ++--
12
- 1 file changed, 2 insertions(+), 2 deletions(-)
13
-
14
-diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c
15
-index aef8149..ed275d1 100644
16
---- a/crypto/bio/bss_dgram.c
17
-+++ b/crypto/bio/bss_dgram.c
18
-@@ -1338,7 +1338,7 @@ static int dgram_sctp_read(BIO *b, char *out, int outl)
19
-                 (socklen_t) (sizeof(sctp_assoc_t) + 256 * sizeof(uint8_t));
20
-             authchunks = OPENSSL_malloc(optlen);
21
-             if (!authchunks) {
22
--                BIOerr(BIO_F_DGRAM_SCTP_READ, ERR_R_MALLOC_ERROR);
23
-+                BIOerr(BIO_F_DGRAM_SCTP_READ, ERR_R_MALLOC_FAILURE);
24
-                 return -1;
25
-             }
26
-             memset(authchunks, 0, optlen);
27
-@@ -1410,7 +1410,7 @@ static int dgram_sctp_write(BIO *b, const char *in, int inl)
28
-         char *tmp;
29
-         data->saved_message.bio = b;
30
-         if(!(tmp = OPENSSL_malloc(inl))) {
31
--            BIOerr(BIO_F_DGRAM_SCTP_WRITE, ERR_R_MALLOC_ERROR);
32
-+            BIOerr(BIO_F_DGRAM_SCTP_WRITE, ERR_R_MALLOC_FAILURE);
33
-             return -1;
34
-         }
35
-         if (data->saved_message.data)
36
-2.3.3
37
-
... ...
@@ -1,314 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest
2
-https://rt.openssl.org/Ticket/Display.html?id=3738&user=guest&pass=guest
3
-
4
---- openssl-1.0.2a/crypto/Makefile
5
-+++ openssl-1.0.2a/crypto/Makefile
6
-@@ -85,11 +85,11 @@
7
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
8
- 
9
- subdirs:
10
--	@target=all; $(RECURSIVE_MAKE)
11
-+	+@target=all; $(RECURSIVE_MAKE)
12
- 
13
- files:
14
- 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
15
--	@target=files; $(RECURSIVE_MAKE)
16
-+	+@target=files; $(RECURSIVE_MAKE)
17
- 
18
- links:
19
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
20
-@@ -100,7 +100,7 @@
21
- # lib: $(LIB): are splitted to avoid end-less loop
22
- lib:	$(LIB)
23
- 	@touch lib
24
--$(LIB):	$(LIBOBJ)
25
-+$(LIB):	$(LIBOBJ) | subdirs
26
- 	$(AR) $(LIB) $(LIBOBJ)
27
- 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
28
- 	$(RANLIB) $(LIB) || echo Never mind.
29
-@@ -111,7 +111,7 @@
30
- 	fi
31
- 
32
- libs:
33
--	@target=lib; $(RECURSIVE_MAKE)
34
-+	+@target=lib; $(RECURSIVE_MAKE)
35
- 
36
- install:
37
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
38
-@@ -120,7 +120,7 @@
39
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
40
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
41
- 	done;
42
--	@target=install; $(RECURSIVE_MAKE)
43
-+	+@target=install; $(RECURSIVE_MAKE)
44
- 
45
- lint:
46
- 	@target=lint; $(RECURSIVE_MAKE)
47
---- openssl-1.0.2a/engines/Makefile
48
-+++ openssl-1.0.2a/engines/Makefile
49
-@@ -72,7 +72,7 @@
50
- 
51
- all:	lib subdirs
52
- 
53
--lib:	$(LIBOBJ)
54
-+lib:	$(LIBOBJ) | subdirs
55
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
56
- 		set -e; \
57
- 		for l in $(LIBNAMES); do \
58
-@@ -89,7 +89,7 @@
59
- 
60
- subdirs:
61
- 	echo $(EDIRS)
62
--	@target=all; $(RECURSIVE_MAKE)
63
-+	+@target=all; $(RECURSIVE_MAKE)
64
- 
65
- files:
66
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
67
-@@ -128,7 +128,7 @@
68
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
69
- 		done; \
70
- 	fi
71
--	@target=install; $(RECURSIVE_MAKE)
72
-+	+@target=install; $(RECURSIVE_MAKE)
73
- 
74
- tags:
75
- 	ctags $(SRC)
76
---- openssl-1.0.2a/Makefile.org
77
-+++ openssl-1.0.2a/Makefile.org
78
-@@ -274,17 +274,17 @@
79
- build_libs: build_crypto build_ssl build_engines
80
- 
81
- build_crypto:
82
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
83
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
84
--build_ssl:
85
-+build_ssl: build_crypto
86
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
87
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
88
--build_engines:
89
-+build_engines: build_crypto
90
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
91
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
92
--build_apps:
93
-+build_apps: build_libs
94
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
95
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
96
--build_tests:
97
-+build_tests: build_libs
98
--	@dir=test; target=all; $(BUILD_ONE_CMD)
99
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
100
--build_tools:
101
-+build_tools: build_libs
102
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
103
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
104
- 
105
- all_testapps: build_libs build_testapps
106
- build_testapps:
107
-@@ -555,7 +555,7 @@
108
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
109
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
110
- 	done;
111
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
112
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
113
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
114
- 	do \
115
- 		if [ -f "$$i" ]; then \
116
---- openssl-1.0.2a/Makefile.shared
117
-+++ openssl-1.0.2a/Makefile.shared
118
-@@ -105,6 +105,7 @@
119
-     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
120
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
121
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
122
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
123
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
124
-     $${SHAREDCMD} $${SHAREDFLAGS} \
125
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
126
-@@ -122,6 +123,7 @@
127
- 			done; \
128
- 		fi; \
129
- 		if [ -n "$$SHLIB_SOVER" ]; then \
130
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
131
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
132
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
133
- 		fi; \
134
---- openssl-1.0.2a/test/Makefile
135
-+++ openssl-1.0.2a/test/Makefile
136
-@@ -133,7 +133,7 @@
137
- tags:
138
- 	ctags $(SRC)
139
- 
140
--tests:	exe apps $(TESTS)
141
-+tests:	exe $(TESTS)
142
- 
143
- apps:
144
- 	@(cd ..; $(MAKE) DIRS=apps all)
145
-@@ -402,121 +402,121 @@
146
- 		link_app.$${shlib_target}
147
- 
148
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
149
--	@target=$(RSATEST); $(BUILD_CMD)
150
-+	+@target=$(RSATEST); $(BUILD_CMD)
151
- 
152
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
153
--	@target=$(BNTEST); $(BUILD_CMD)
154
-+	+@target=$(BNTEST); $(BUILD_CMD)
155
- 
156
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
157
--	@target=$(ECTEST); $(BUILD_CMD)
158
-+	+@target=$(ECTEST); $(BUILD_CMD)
159
- 
160
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
161
--	@target=$(EXPTEST); $(BUILD_CMD)
162
-+	+@target=$(EXPTEST); $(BUILD_CMD)
163
- 
164
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
165
--	@target=$(IDEATEST); $(BUILD_CMD)
166
-+	+@target=$(IDEATEST); $(BUILD_CMD)
167
- 
168
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
169
--	@target=$(MD2TEST); $(BUILD_CMD)
170
-+	+@target=$(MD2TEST); $(BUILD_CMD)
171
- 
172
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
173
--	@target=$(SHATEST); $(BUILD_CMD)
174
-+	+@target=$(SHATEST); $(BUILD_CMD)
175
- 
176
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
177
--	@target=$(SHA1TEST); $(BUILD_CMD)
178
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
179
- 
180
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
181
--	@target=$(SHA256TEST); $(BUILD_CMD)
182
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
183
- 
184
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
185
--	@target=$(SHA512TEST); $(BUILD_CMD)
186
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
187
- 
188
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
189
--	@target=$(RMDTEST); $(BUILD_CMD)
190
-+	+@target=$(RMDTEST); $(BUILD_CMD)
191
- 
192
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
193
--	@target=$(MDC2TEST); $(BUILD_CMD)
194
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
195
- 
196
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
197
--	@target=$(MD4TEST); $(BUILD_CMD)
198
-+	+@target=$(MD4TEST); $(BUILD_CMD)
199
- 
200
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
201
--	@target=$(MD5TEST); $(BUILD_CMD)
202
-+	+@target=$(MD5TEST); $(BUILD_CMD)
203
- 
204
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
205
--	@target=$(HMACTEST); $(BUILD_CMD)
206
-+	+@target=$(HMACTEST); $(BUILD_CMD)
207
- 
208
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
209
--	@target=$(WPTEST); $(BUILD_CMD)
210
-+	+@target=$(WPTEST); $(BUILD_CMD)
211
- 
212
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
213
--	@target=$(RC2TEST); $(BUILD_CMD)
214
-+	+@target=$(RC2TEST); $(BUILD_CMD)
215
- 
216
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
217
--	@target=$(BFTEST); $(BUILD_CMD)
218
-+	+@target=$(BFTEST); $(BUILD_CMD)
219
- 
220
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
221
--	@target=$(CASTTEST); $(BUILD_CMD)
222
-+	+@target=$(CASTTEST); $(BUILD_CMD)
223
- 
224
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
225
--	@target=$(RC4TEST); $(BUILD_CMD)
226
-+	+@target=$(RC4TEST); $(BUILD_CMD)
227
- 
228
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
229
--	@target=$(RC5TEST); $(BUILD_CMD)
230
-+	+@target=$(RC5TEST); $(BUILD_CMD)
231
- 
232
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
233
--	@target=$(DESTEST); $(BUILD_CMD)
234
-+	+@target=$(DESTEST); $(BUILD_CMD)
235
- 
236
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
237
--	@target=$(RANDTEST); $(BUILD_CMD)
238
-+	+@target=$(RANDTEST); $(BUILD_CMD)
239
- 
240
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
241
--	@target=$(DHTEST); $(BUILD_CMD)
242
-+	+@target=$(DHTEST); $(BUILD_CMD)
243
- 
244
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
245
--	@target=$(DSATEST); $(BUILD_CMD)
246
-+	+@target=$(DSATEST); $(BUILD_CMD)
247
- 
248
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
249
--	@target=$(METHTEST); $(BUILD_CMD)
250
-+	+@target=$(METHTEST); $(BUILD_CMD)
251
- 
252
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
253
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
254
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
255
- 
256
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
257
--	@target=$(ENGINETEST); $(BUILD_CMD)
258
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
259
- 
260
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
261
--	@target=$(EVPTEST); $(BUILD_CMD)
262
-+	+@target=$(EVPTEST); $(BUILD_CMD)
263
- 
264
- $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
265
--	@target=$(EVPEXTRATEST); $(BUILD_CMD)
266
-+	+@target=$(EVPEXTRATEST); $(BUILD_CMD)
267
- 
268
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
269
--	@target=$(ECDSATEST); $(BUILD_CMD)
270
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
271
- 
272
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
273
--	@target=$(ECDHTEST); $(BUILD_CMD)
274
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
275
- 
276
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
277
--	@target=$(IGETEST); $(BUILD_CMD)
278
-+	+@target=$(IGETEST); $(BUILD_CMD)
279
- 
280
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
281
--	@target=$(JPAKETEST); $(BUILD_CMD)
282
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
283
- 
284
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
285
--	@target=$(ASN1TEST); $(BUILD_CMD)
286
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
287
- 
288
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
289
--	@target=$(SRPTEST); $(BUILD_CMD)
290
-+	+@target=$(SRPTEST); $(BUILD_CMD)
291
- 
292
- $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
293
--	@target=$(V3NAMETEST); $(BUILD_CMD)
294
-+	+@target=$(V3NAMETEST); $(BUILD_CMD)
295
- 
296
- $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
297
--	@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
298
-+	+@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
299
- 
300
- $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
301
--	@target=$(CONSTTIMETEST) $(BUILD_CMD)
302
-+	+@target=$(CONSTTIMETEST) $(BUILD_CMD)
303
- 
304
- #$(AESTEST).o: $(AESTEST).c
305
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
306
-@@ -529,7 +529,7 @@
307
- #	fi
308
- 
309
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
310
--	@target=dummytest; $(BUILD_CMD)
311
-+	+@target=dummytest; $(BUILD_CMD)
312
- 
313
- # DO NOT DELETE THIS LINE -- make depend depends on it.
314
- 
... ...
@@ -1,64 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=3736&user=guest&pass=guest
2
-
3
-From aba899f2eca21e11e5e9797bf8258e7265dea9f5 Mon Sep 17 00:00:00 2001
4
-From: Mike Frysinger <vapier@gentoo.org>
5
-Date: Sun, 8 Mar 2015 01:32:01 -0500
6
-Subject: [PATCH] fix parallel install with dir creation
7
-
8
-The mkdir-p.pl does not handle parallel creation of directories.
9
-This comes up when the install_sw and install_docs rules run and
10
-both call mkdir-p.pl on sibling directory trees.
11
-
12
-Instead, lets create a single install_dirs rule that makes all of
13
-the dirs we need, and have these two install steps depend on that.
14
----
15
- Makefile.org | 17 +++++++++--------
16
- 1 file changed, 9 insertions(+), 8 deletions(-)
17
-
18
-diff --git a/Makefile.org b/Makefile.org
19
-index a6d9471..78e6143 100644
20
---- a/Makefile.org
21
-+++ b/Makefile.org
22
-@@ -536,9 +536,9 @@
23
- dist_pem_h:
24
- 	(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
25
- 
26
--install: all install_docs install_sw
27
-+install: install_docs install_sw
28
- 
29
--install_sw:
30
-+install_dirs:
31
- 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
32
- 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
33
- 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
34
-@@ -547,6 +547,13 @@
35
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
36
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
37
- 		$(INSTALL_PREFIX)$(OPENSSLDIR)/private
38
-+	@$(PERL) $(TOP)/util/mkdir-p.pl \
39
-+		$(INSTALL_PREFIX)$(MANDIR)/man1 \
40
-+		$(INSTALL_PREFIX)$(MANDIR)/man3 \
41
-+		$(INSTALL_PREFIX)$(MANDIR)/man5 \
42
-+		$(INSTALL_PREFIX)$(MANDIR)/man7
43
-+
44
-+install_sw: install_dirs
45
- 	@set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
46
- 	do \
47
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
48
-@@ -636,12 +643,7 @@
49
- 		done; \
50
- 	done
51
- 
52
--install_docs:
53
--	@$(PERL) $(TOP)/util/mkdir-p.pl \
54
--		$(INSTALL_PREFIX)$(MANDIR)/man1 \
55
--		$(INSTALL_PREFIX)$(MANDIR)/man3 \
56
--		$(INSTALL_PREFIX)$(MANDIR)/man5 \
57
--		$(INSTALL_PREFIX)$(MANDIR)/man7
58
-+install_docs: install_dirs
59
- 	@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
60
- 	here="`pwd`"; \
61
- 	filecase=; \
62
-2.3.4
63
-
... ...
@@ -1,37 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=3737&user=guest&pass=guest
2
-
3
-From ce279d4361e07e9af9ceca8a6e326e661758ad53 Mon Sep 17 00:00:00 2001
4
-From: Mike Frysinger <vapier@gentoo.org>
5
-Date: Sun, 8 Mar 2015 01:34:48 -0500
6
-Subject: [PATCH] fix parallel generation of obj headers
7
-
8
-The current code has dummy sleep/touch commands to try and work
9
-around the parallel issue, but that is obviously racy.  Instead
10
-lets force one of the files to depend on the other so we know
11
-they'll never run in parallel.
12
----
13
- crypto/objects/Makefile | 6 +++---
14
- 1 file changed, 3 insertions(+), 3 deletions(-)
15
-
16
-diff --git a/crypto/objects/Makefile b/crypto/objects/Makefile
17
-index ad2db1e..7d32504 100644
18
---- a/crypto/objects/Makefile
19
-+++ b/crypto/objects/Makefile
20
-@@ -44,11 +44,11 @@
21
- # objects.pl both reads and writes obj_mac.num
22
- obj_mac.h: objects.pl objects.txt obj_mac.num
23
- 	$(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
24
--	@sleep 1; touch obj_mac.h; sleep 1
25
- 
26
--obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
27
-+# This doesn't really need obj_mac.h, but since that rule reads & writes
28
-+# obj_mac.num, we can't run in parallel with it.
29
-+obj_xref.h: objxref.pl obj_xref.txt obj_mac.num obj_mac.h
30
- 	$(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
31
--	@sleep 1; touch obj_xref.h; sleep 1
32
- 
33
- files:
34
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
35
-2.3.4
36
-
... ...
@@ -1,61 +0,0 @@
1
-From cc81af135bda47eaa6956a0329cbbc55bf993ac1 Mon Sep 17 00:00:00 2001
2
-From: Mike Frysinger <vapier@gentoo.org>
3
-Date: Fri, 3 Apr 2015 01:16:23 -0400
4
-Subject: [PATCH] fix race when symlink shareds libs
5
-
6
-When the crypto/ssl targets attempt to build their shared libs, they run:
7
-	cd ..; make libcrypto.so.1.0.0
8
-The top level Makefile in turn runs the build-shared target for that lib.
9
-
10
-The build-shared target depends on both do_$(SHLIB_TARGET) & link-shared.
11
-When building in parallel, make is allowed to run both of these.  They
12
-both run Makefile.shared for their respective targets:
13
-do_$(SHLIB_TARGET) ->
14
-	link_a.linux-shared ->
15
-	link_a.gnu ->
16
-	...; $(LINK_SO_A) ->
17
-	$(LINK_SO) ->
18
-	$(SYMLINK_SO)
19
-link-shared ->
20
-	symlink.linux-shared ->
21
-	symlink.gnu ->
22
-	...; $(SYMLINK_SO)
23
-
24
-The shell code for SYMLINK_SO attempts to do a [ -e lib ] check, but fails
25
-basic TOCTOU semantics.  Depending on the load, that means two processes
26
-will run the sequence:
27
-	rm -f libcrypto.so
28
-	ln -s libcrypto.so.1.0.0 libcrypto.so
29
-
30
-Which obviously fails:
31
-	ln: failed to create symbolic link 'libcrypto.so': File exists
32
-
33
-Since we know do_$(SHLIB_TARGET) will create the symlink for us, don't
34
-bother depending on link-shared at all in the top level Makefile when
35
-building things.
36
-
37
-Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
38
-URL: https://bugs.gentoo.org/545028
39
----
40
- Makefile.org | 5 ++++-
41
- 1 file changed, 4 insertions(+), 1 deletion(-)
42
-
43
-diff --git a/Makefile.org b/Makefile.org
44
-index 890bfe4..576c60e 100644
45
---- a/Makefile.org
46
-+++ b/Makefile.org
47
-@@ -350,7 +350,10 @@ link-shared:
48
- 		libs="$$libs -l$$i"; \
49
- 	done
50
- 
51
--build-shared: do_$(SHLIB_TARGET) link-shared
52
-+# The link target in Makefile.shared will create the symlink for us, so no need
53
-+# to call link-shared directly.  Doing so will cause races with two processes
54
-+# trying to symlink the lib.
55
-+build-shared: do_$(SHLIB_TARGET)
56
- 
57
- do_$(SHLIB_TARGET):
58
- 	@ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \
59
-2.3.4
60
-
... ...
@@ -1,43 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
2
-
3
-From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
4
-From: Mike Frysinger <vapier@gentoo.org>
5
-Date: Sat, 21 Mar 2015 06:01:25 -0400
6
-Subject: [PATCH] crypto: use bigint in x86-64 perl
7
-
8
-When building on x32 systems where the default type is 32bit, make sure
9
-we can transparently represent 64bit integers.  Otherwise we end up with
10
-build errors like:
11
-/usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s
12
-Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890.
13
-...
14
-ghash-x86_64.s: Assembler messages:
15
-ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
16
-
17
-We don't enable this globally as there are some cases where we'd get
18
-32bit values interpreted as unsigned when we need them as signed.
19
-
20
-Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh>
21
-URL: https://bugs.gentoo.org/542618
22
----
23
- crypto/perlasm/x86_64-xlate.pl | 4 ++++
24
- 1 file changed, 4 insertions(+)
25
-
26
-diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
27
-index aae8288..0bf9774 100755
28
---- a/crypto/perlasm/x86_64-xlate.pl
29
-+++ b/crypto/perlasm/x86_64-xlate.pl
30
-@@ -195,6 +195,10 @@ my %globals;
31
-     sub out {
32
-     	my $self = shift;
33
- 
34
-+	# When building on x32 ABIs, the expanded hex value might be too
35
-+	# big to fit into 32bits.  Enable transparent 64bit support here
36
-+	# so we can safely print it out.
37
-+	use bigint;
38
- 	if ($gas) {
39
- 	    # Solaris /usr/ccs/bin/as can't handle multiplications
40
- 	    # in $self->{value}
41
-2.3.3
42
-
... ...
@@ -1,309 +0,0 @@
1
-https://rt.openssl.org/Ticket/Display.html?id=2084&user=guest&pass=guest
2
-https://rt.openssl.org/Ticket/Display.html?id=3738&user=guest&pass=guest
3
-
4
---- openssl-1.0.2d/crypto/Makefile
5
-+++ openssl-1.0.2d/crypto/Makefile
6
-@@ -85,11 +85,11 @@
7
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
8
- 
9
- subdirs:
10
--	@target=all; $(RECURSIVE_MAKE)
11
-+	+@target=all; $(RECURSIVE_MAKE)
12
- 
13
- files:
14
- 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
15
--	@target=files; $(RECURSIVE_MAKE)
16
-+	+@target=files; $(RECURSIVE_MAKE)
17
- 
18
- links:
19
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
20
-@@ -100,7 +100,7 @@
21
- # lib: $(LIB): are splitted to avoid end-less loop
22
- lib:	$(LIB)
23
- 	@touch lib
24
--$(LIB):	$(LIBOBJ)
25
-+$(LIB):	$(LIBOBJ) | subdirs
26
- 	$(AR) $(LIB) $(LIBOBJ)
27
- 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
28
- 	$(RANLIB) $(LIB) || echo Never mind.
29
-@@ -111,7 +111,7 @@
30
- 	fi
31
- 
32
- libs:
33
--	@target=lib; $(RECURSIVE_MAKE)
34
-+	+@target=lib; $(RECURSIVE_MAKE)
35
- 
36
- install:
37
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
38
-@@ -120,7 +120,7 @@
39
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
40
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
41
- 	done;
42
--	@target=install; $(RECURSIVE_MAKE)
43
-+	+@target=install; $(RECURSIVE_MAKE)
44
- 
45
- lint:
46
- 	@target=lint; $(RECURSIVE_MAKE)
47
---- openssl-1.0.2d/engines/Makefile
48
-+++ openssl-1.0.2d/engines/Makefile
49
-@@ -72,7 +72,7 @@
50
- 
51
- all:	lib subdirs
52
- 
53
--lib:	$(LIBOBJ)
54
-+lib:	$(LIBOBJ) | subdirs
55
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
56
- 		set -e; \
57
- 		for l in $(LIBNAMES); do \
58
-@@ -89,7 +89,7 @@
59
- 
60
- subdirs:
61
- 	echo $(EDIRS)
62
--	@target=all; $(RECURSIVE_MAKE)
63
-+	+@target=all; $(RECURSIVE_MAKE)
64
- 
65
- files:
66
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
67
-@@ -128,7 +128,7 @@
68
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
69
- 		done; \
70
- 	fi
71
--	@target=install; $(RECURSIVE_MAKE)
72
-+	+@target=install; $(RECURSIVE_MAKE)
73
- 
74
- tags:
75
- 	ctags $(SRC)
76
---- openssl-1.0.2d/Makefile.org
77
-+++ openssl-1.0.2d/Makefile.org
78
-@@ -274,17 +274,17 @@
79
- build_libs: build_crypto build_ssl build_engines
80
- 
81
- build_crypto:
82
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
83
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
84
- build_ssl: build_crypto
85
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
86
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
87
- build_engines: build_crypto
88
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
89
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
90
- build_apps: build_libs
91
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
92
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
93
- build_tests: build_libs
94
--	@dir=test; target=all; $(BUILD_ONE_CMD)
95
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
96
- build_tools: build_libs
97
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
98
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
99
- 
100
- all_testapps: build_libs build_testapps
101
- build_testapps:
102
-@@ -555,7 +555,7 @@
103
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
104
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
105
- 	done;
106
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
107
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
108
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
109
- 	do \
110
- 		if [ -f "$$i" ]; then \
111
---- openssl-1.0.2d/Makefile.shared
112
-+++ openssl-1.0.2d/Makefile.shared
113
-@@ -105,6 +105,7 @@
114
-     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
115
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
116
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
117
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
118
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
119
-     $${SHAREDCMD} $${SHAREDFLAGS} \
120
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
121
-@@ -122,6 +123,7 @@
122
- 			done; \
123
- 		fi; \
124
- 		if [ -n "$$SHLIB_SOVER" ]; then \
125
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
126
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
127
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
128
- 		fi; \
129
---- openssl-1.0.2d/test/Makefile
130
-+++ openssl-1.0.2d/test/Makefile
131
-@@ -133,7 +133,7 @@
132
- tags:
133
- 	ctags $(SRC)
134
- 
135
--tests:	exe apps $(TESTS)
136
-+tests:	exe $(TESTS)
137
- 
138
- apps:
139
- 	@(cd ..; $(MAKE) DIRS=apps all)
140
-@@ -402,121 +402,121 @@
141
- 		link_app.$${shlib_target}
142
- 
143
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
144
--	@target=$(RSATEST); $(BUILD_CMD)
145
-+	+@target=$(RSATEST); $(BUILD_CMD)
146
- 
147
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
148
--	@target=$(BNTEST); $(BUILD_CMD)
149
-+	+@target=$(BNTEST); $(BUILD_CMD)
150
- 
151
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
152
--	@target=$(ECTEST); $(BUILD_CMD)
153
-+	+@target=$(ECTEST); $(BUILD_CMD)
154
- 
155
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
156
--	@target=$(EXPTEST); $(BUILD_CMD)
157
-+	+@target=$(EXPTEST); $(BUILD_CMD)
158
- 
159
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
160
--	@target=$(IDEATEST); $(BUILD_CMD)
161
-+	+@target=$(IDEATEST); $(BUILD_CMD)
162
- 
163
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
164
--	@target=$(MD2TEST); $(BUILD_CMD)
165
-+	+@target=$(MD2TEST); $(BUILD_CMD)
166
- 
167
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
168
--	@target=$(SHATEST); $(BUILD_CMD)
169
-+	+@target=$(SHATEST); $(BUILD_CMD)
170
- 
171
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
172
--	@target=$(SHA1TEST); $(BUILD_CMD)
173
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
174
- 
175
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
176
--	@target=$(SHA256TEST); $(BUILD_CMD)
177
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
178
- 
179
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
180
--	@target=$(SHA512TEST); $(BUILD_CMD)
181
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
182
- 
183
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
184
--	@target=$(RMDTEST); $(BUILD_CMD)
185
-+	+@target=$(RMDTEST); $(BUILD_CMD)
186
- 
187
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
188
--	@target=$(MDC2TEST); $(BUILD_CMD)
189
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
190
- 
191
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
192
--	@target=$(MD4TEST); $(BUILD_CMD)
193
-+	+@target=$(MD4TEST); $(BUILD_CMD)
194
- 
195
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
196
--	@target=$(MD5TEST); $(BUILD_CMD)
197
-+	+@target=$(MD5TEST); $(BUILD_CMD)
198
- 
199
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
200
--	@target=$(HMACTEST); $(BUILD_CMD)
201
-+	+@target=$(HMACTEST); $(BUILD_CMD)
202
- 
203
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
204
--	@target=$(WPTEST); $(BUILD_CMD)
205
-+	+@target=$(WPTEST); $(BUILD_CMD)
206
- 
207
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
208
--	@target=$(RC2TEST); $(BUILD_CMD)
209
-+	+@target=$(RC2TEST); $(BUILD_CMD)
210
- 
211
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
212
--	@target=$(BFTEST); $(BUILD_CMD)
213
-+	+@target=$(BFTEST); $(BUILD_CMD)
214
- 
215
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
216
--	@target=$(CASTTEST); $(BUILD_CMD)
217
-+	+@target=$(CASTTEST); $(BUILD_CMD)
218
- 
219
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
220
--	@target=$(RC4TEST); $(BUILD_CMD)
221
-+	+@target=$(RC4TEST); $(BUILD_CMD)
222
- 
223
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
224
--	@target=$(RC5TEST); $(BUILD_CMD)
225
-+	+@target=$(RC5TEST); $(BUILD_CMD)
226
- 
227
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
228
--	@target=$(DESTEST); $(BUILD_CMD)
229
-+	+@target=$(DESTEST); $(BUILD_CMD)
230
- 
231
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
232
--	@target=$(RANDTEST); $(BUILD_CMD)
233
-+	+@target=$(RANDTEST); $(BUILD_CMD)
234
- 
235
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
236
--	@target=$(DHTEST); $(BUILD_CMD)
237
-+	+@target=$(DHTEST); $(BUILD_CMD)
238
- 
239
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
240
--	@target=$(DSATEST); $(BUILD_CMD)
241
-+	+@target=$(DSATEST); $(BUILD_CMD)
242
- 
243
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
244
--	@target=$(METHTEST); $(BUILD_CMD)
245
-+	+@target=$(METHTEST); $(BUILD_CMD)
246
- 
247
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
248
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
249
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
250
- 
251
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
252
--	@target=$(ENGINETEST); $(BUILD_CMD)
253
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
254
- 
255
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
256
--	@target=$(EVPTEST); $(BUILD_CMD)
257
-+	+@target=$(EVPTEST); $(BUILD_CMD)
258
- 
259
- $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
260
--	@target=$(EVPEXTRATEST); $(BUILD_CMD)
261
-+	+@target=$(EVPEXTRATEST); $(BUILD_CMD)
262
- 
263
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
264
--	@target=$(ECDSATEST); $(BUILD_CMD)
265
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
266
- 
267
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
268
--	@target=$(ECDHTEST); $(BUILD_CMD)
269
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
270
- 
271
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
272
--	@target=$(IGETEST); $(BUILD_CMD)
273
-+	+@target=$(IGETEST); $(BUILD_CMD)
274
- 
275
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
276
--	@target=$(JPAKETEST); $(BUILD_CMD)
277
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
278
- 
279
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
280
--	@target=$(ASN1TEST); $(BUILD_CMD)
281
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
282
- 
283
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
284
--	@target=$(SRPTEST); $(BUILD_CMD)
285
-+	+@target=$(SRPTEST); $(BUILD_CMD)
286
- 
287
- $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
288
--	@target=$(V3NAMETEST); $(BUILD_CMD)
289
-+	+@target=$(V3NAMETEST); $(BUILD_CMD)
290
- 
291
- $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
292
--	@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
293
-+	+@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
294
- 
295
- $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
296
--	@target=$(CONSTTIMETEST) $(BUILD_CMD)
297
-+	+@target=$(CONSTTIMETEST) $(BUILD_CMD)
298
- 
299
- #$(AESTEST).o: $(AESTEST).c
300
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
301
-@@ -529,7 +529,7 @@
302
- #	fi
303
- 
304
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
305
--	@target=dummytest; $(BUILD_CMD)
306
-+	+@target=dummytest; $(BUILD_CMD)
307
- 
308
- # DO NOT DELETE THIS LINE -- make depend depends on it.
309
- 
... ...
@@ -1,314 +0,0 @@
1
---- openssl-1.0.2e/crypto/Makefile
2
-+++ openssl-1.0.2e/crypto/Makefile
3
-@@ -85,11 +85,11 @@
4
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
5
- 
6
- subdirs:
7
--	@target=all; $(RECURSIVE_MAKE)
8
-+	+@target=all; $(RECURSIVE_MAKE)
9
- 
10
- files:
11
- 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
12
--	@target=files; $(RECURSIVE_MAKE)
13
-+	+@target=files; $(RECURSIVE_MAKE)
14
- 
15
- links:
16
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
17
-@@ -100,7 +100,7 @@
18
- # lib: $(LIB): are splitted to avoid end-less loop
19
- lib:	$(LIB)
20
- 	@touch lib
21
--$(LIB):	$(LIBOBJ)
22
-+$(LIB):	$(LIBOBJ) | subdirs
23
- 	$(AR) $(LIB) $(LIBOBJ)
24
- 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
25
- 	$(RANLIB) $(LIB) || echo Never mind.
26
-@@ -111,7 +111,7 @@
27
- 	fi
28
- 
29
- libs:
30
--	@target=lib; $(RECURSIVE_MAKE)
31
-+	+@target=lib; $(RECURSIVE_MAKE)
32
- 
33
- install:
34
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
35
-@@ -120,7 +120,7 @@
36
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
37
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
38
- 	done;
39
--	@target=install; $(RECURSIVE_MAKE)
40
-+	+@target=install; $(RECURSIVE_MAKE)
41
- 
42
- lint:
43
- 	@target=lint; $(RECURSIVE_MAKE)
44
---- openssl-1.0.2e/engines/Makefile
45
-+++ openssl-1.0.2e/engines/Makefile
46
-@@ -72,7 +72,7 @@
47
- 
48
- all:	lib subdirs
49
- 
50
--lib:	$(LIBOBJ)
51
-+lib:	$(LIBOBJ) | subdirs
52
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
53
- 		set -e; \
54
- 		for l in $(LIBNAMES); do \
55
-@@ -89,7 +89,7 @@
56
- 
57
- subdirs:
58
- 	echo $(EDIRS)
59
--	@target=all; $(RECURSIVE_MAKE)
60
-+	+@target=all; $(RECURSIVE_MAKE)
61
- 
62
- files:
63
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
64
-@@ -128,7 +128,7 @@
65
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
66
- 		done; \
67
- 	fi
68
--	@target=install; $(RECURSIVE_MAKE)
69
-+	+@target=install; $(RECURSIVE_MAKE)
70
- 
71
- tags:
72
- 	ctags $(SRC)
73
---- openssl-1.0.2e/Makefile.org
74
-+++ openssl-1.0.2e/Makefile.org
75
-@@ -280,17 +280,17 @@
76
- build_libssl: build_ssl libssl.pc
77
- 
78
- build_crypto:
79
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
80
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
81
- build_ssl: build_crypto
82
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
83
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
84
- build_engines: build_crypto
85
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
86
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
87
- build_apps: build_libs
88
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
89
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
90
- build_tests: build_libs
91
--	@dir=test; target=all; $(BUILD_ONE_CMD)
92
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
93
- build_tools: build_libs
94
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
95
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
96
- 
97
- all_testapps: build_libs build_testapps
98
- build_testapps:
99
-@@ -548,7 +548,7 @@
100
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
101
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
102
- 	done;
103
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
104
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
105
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
106
- 	do \
107
- 		if [ -f "$$i" ]; then \
108
---- openssl-1.0.2e/Makefile.shared
109
-+++ openssl-1.0.2e/Makefile.shared
110
-@@ -105,6 +105,7 @@
111
-     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
112
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
113
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
114
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
115
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
116
-     $${SHAREDCMD} $${SHAREDFLAGS} \
117
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
118
-@@ -122,6 +123,7 @@
119
- 			done; \
120
- 		fi; \
121
- 		if [ -n "$$SHLIB_SOVER" ]; then \
122
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
123
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
124
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
125
- 		fi; \
126
---- openssl-1.0.2e/test/Makefile
127
-+++ openssl-1.0.2e/test/Makefile
128
-@@ -138,7 +138,7 @@
129
- tags:
130
- 	ctags $(SRC)
131
- 
132
--tests:	exe apps $(TESTS)
133
-+tests:	exe $(TESTS)
134
- 
135
- apps:
136
- 	@(cd ..; $(MAKE) DIRS=apps all)
137
-@@ -416,127 +416,127 @@
138
- 		link_app.$${shlib_target}
139
- 
140
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
141
--	@target=$(RSATEST); $(BUILD_CMD)
142
-+	+@target=$(RSATEST); $(BUILD_CMD)
143
- 
144
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
145
--	@target=$(BNTEST); $(BUILD_CMD)
146
-+	+@target=$(BNTEST); $(BUILD_CMD)
147
- 
148
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
149
--	@target=$(ECTEST); $(BUILD_CMD)
150
-+	+@target=$(ECTEST); $(BUILD_CMD)
151
- 
152
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
153
--	@target=$(EXPTEST); $(BUILD_CMD)
154
-+	+@target=$(EXPTEST); $(BUILD_CMD)
155
- 
156
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
157
--	@target=$(IDEATEST); $(BUILD_CMD)
158
-+	+@target=$(IDEATEST); $(BUILD_CMD)
159
- 
160
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
161
--	@target=$(MD2TEST); $(BUILD_CMD)
162
-+	+@target=$(MD2TEST); $(BUILD_CMD)
163
- 
164
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
165
--	@target=$(SHATEST); $(BUILD_CMD)
166
-+	+@target=$(SHATEST); $(BUILD_CMD)
167
- 
168
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
169
--	@target=$(SHA1TEST); $(BUILD_CMD)
170
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
171
- 
172
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
173
--	@target=$(SHA256TEST); $(BUILD_CMD)
174
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
175
- 
176
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
177
--	@target=$(SHA512TEST); $(BUILD_CMD)
178
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
179
- 
180
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
181
--	@target=$(RMDTEST); $(BUILD_CMD)
182
-+	+@target=$(RMDTEST); $(BUILD_CMD)
183
- 
184
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
185
--	@target=$(MDC2TEST); $(BUILD_CMD)
186
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
187
- 
188
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
189
--	@target=$(MD4TEST); $(BUILD_CMD)
190
-+	+@target=$(MD4TEST); $(BUILD_CMD)
191
- 
192
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
193
--	@target=$(MD5TEST); $(BUILD_CMD)
194
-+	+@target=$(MD5TEST); $(BUILD_CMD)
195
- 
196
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
197
--	@target=$(HMACTEST); $(BUILD_CMD)
198
-+	+@target=$(HMACTEST); $(BUILD_CMD)
199
- 
200
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
201
--	@target=$(WPTEST); $(BUILD_CMD)
202
-+	+@target=$(WPTEST); $(BUILD_CMD)
203
- 
204
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
205
--	@target=$(RC2TEST); $(BUILD_CMD)
206
-+	+@target=$(RC2TEST); $(BUILD_CMD)
207
- 
208
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
209
--	@target=$(BFTEST); $(BUILD_CMD)
210
-+	+@target=$(BFTEST); $(BUILD_CMD)
211
- 
212
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
213
--	@target=$(CASTTEST); $(BUILD_CMD)
214
-+	+@target=$(CASTTEST); $(BUILD_CMD)
215
- 
216
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
217
--	@target=$(RC4TEST); $(BUILD_CMD)
218
-+	+@target=$(RC4TEST); $(BUILD_CMD)
219
- 
220
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
221
--	@target=$(RC5TEST); $(BUILD_CMD)
222
-+	+@target=$(RC5TEST); $(BUILD_CMD)
223
- 
224
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
225
--	@target=$(DESTEST); $(BUILD_CMD)
226
-+	+@target=$(DESTEST); $(BUILD_CMD)
227
- 
228
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
229
--	@target=$(RANDTEST); $(BUILD_CMD)
230
-+	+@target=$(RANDTEST); $(BUILD_CMD)
231
- 
232
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
233
--	@target=$(DHTEST); $(BUILD_CMD)
234
-+	+@target=$(DHTEST); $(BUILD_CMD)
235
- 
236
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
237
--	@target=$(DSATEST); $(BUILD_CMD)
238
-+	+@target=$(DSATEST); $(BUILD_CMD)
239
- 
240
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
241
--	@target=$(METHTEST); $(BUILD_CMD)
242
-+	+@target=$(METHTEST); $(BUILD_CMD)
243
- 
244
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
245
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
246
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
247
- 
248
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
249
--	@target=$(ENGINETEST); $(BUILD_CMD)
250
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
251
- 
252
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
253
--	@target=$(EVPTEST); $(BUILD_CMD)
254
-+	+@target=$(EVPTEST); $(BUILD_CMD)
255
- 
256
- $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
257
--	@target=$(EVPEXTRATEST); $(BUILD_CMD)
258
-+	+@target=$(EVPEXTRATEST); $(BUILD_CMD)
259
- 
260
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
261
--	@target=$(ECDSATEST); $(BUILD_CMD)
262
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
263
- 
264
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
265
--	@target=$(ECDHTEST); $(BUILD_CMD)
266
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
267
- 
268
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
269
--	@target=$(IGETEST); $(BUILD_CMD)
270
-+	+@target=$(IGETEST); $(BUILD_CMD)
271
- 
272
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
273
--	@target=$(JPAKETEST); $(BUILD_CMD)
274
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
275
- 
276
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
277
--	@target=$(ASN1TEST); $(BUILD_CMD)
278
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
279
- 
280
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
281
--	@target=$(SRPTEST); $(BUILD_CMD)
282
-+	+@target=$(SRPTEST); $(BUILD_CMD)
283
- 
284
- $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
285
--	@target=$(V3NAMETEST); $(BUILD_CMD)
286
-+	+@target=$(V3NAMETEST); $(BUILD_CMD)
287
- 
288
- $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
289
--	@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
290
-+	+@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
291
- 
292
- $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
293
--	@target=$(CONSTTIMETEST) $(BUILD_CMD)
294
-+	+@target=$(CONSTTIMETEST) $(BUILD_CMD)
295
- 
296
- $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
297
--	@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
298
-+	+@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
299
- 
300
- $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
301
--	@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
302
-+	+@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
303
- 
304
- #$(AESTEST).o: $(AESTEST).c
305
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
306
-@@ -549,7 +549,7 @@
307
- #	fi
308
- 
309
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
310
--	@target=dummytest; $(BUILD_CMD)
311
-+	+@target=dummytest; $(BUILD_CMD)
312
- 
313
- # DO NOT DELETE THIS LINE -- make depend depends on it.
314
- 
... ...
@@ -1,17 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
3
-<pkgmetadata>
4
-<herd>base-system</herd>
5
-<use>
6
- <flag name='asm'>Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
7
- <flag name='bindist'>Disable EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
8
- <flag name='sctp'>Support for Stream Control Transmission Protocol</flag>
9
- <flag name='rfc3779'>Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
10
- <flag name='tls-heartbeat'>Enable the Heartbeat Extension in TLS and DTLS</flag>
11
- <flag name='insecure-ssl2'>Enable SSLv2</flag>
12
- <flag name='insecure-ssl3'>Enable SSLv3</flag>
13
-</use>
14
-<upstream>
15
- <remote-id type="cpe">cpe:/a:openssl:openssl</remote-id>
16
-</upstream>
17
-</pkgmetadata>
... ...
@@ -1,267 +0,0 @@
1
-# Copyright 1999-2015 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Id$
4
-
5
-EAPI="4"
6
-
7
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
8
-
9
-REV="1.7"
10
-MY_P=${P/_/-}
11
-DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
12
-HOMEPAGE="http://www.openssl.org/"
13
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
14
-	http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/${PN}/${PN}-c_rehash.sh?rev=${REV} -> ${PN}-c_rehash.sh.${REV}"
15
-
16
-LICENSE="openssl"
17
-SLOT="0"
18
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
19
-IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib insecure-ssl2 insecure-ssl3"
20
-RESTRICT="!bindist? ( bindist )"
21
-
22
-# The blocks are temporary just to make sure people upgrade to a
23
-# version that lack runtime version checking.  We'll drop them in
24
-# the future.
25
-RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
26
-	zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
27
-	kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
28
-	abi_x86_32? (
29
-		!<=app-emulation/emul-linux-x86-baselibs-20140508
30
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
31
-	)
32
-	!<net-misc/openssh-5.9_p1-r4
33
-	!<net-libs/neon-0.29.6-r1"
34
-DEPEND="${RDEPEND}
35
-	sys-apps/diffutils
36
-	>=dev-lang/perl-5
37
-	sctp? ( >=net-misc/lksctp-tools-1.0.12 )
38
-	test? ( sys-devel/bc )"
39
-PDEPEND="app-misc/ca-certificates"
40
-
41
-S="${WORKDIR}/${MY_P}"
42
-
43
-MULTILIB_WRAPPED_HEADERS=(
44
-	usr/include/openssl/opensslconf.h
45
-)
46
-
47
-src_prepare() {
48
-	SSL_CNF_DIR="/etc/ssl"
49
-	sed \
50
-		-e "/^DIR=/s:=.*:=${EPREFIX}${SSL_CNF_DIR}:" \
51
-		-e "s:SSL_CMD=/usr:SSL_CMD=${EPREFIX}/usr:" \
52
-		"${DISTDIR}"/${PN}-c_rehash.sh.${REV} \
53
-		> "${WORKDIR}"/c_rehash || die #416717
54
-
55
-	# Make sure we only ever touch Makefile.org and avoid patching a file
56
-	# that gets blown away anyways by the Configure script in src_configure
57
-	rm -f Makefile
58
-
59
-	if ! use vanilla ; then
60
-		epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
61
-		epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
62
-		epatch "${FILESDIR}"/${PN}-1.0.2d-parallel-build.patch
63
-		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
64
-		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
65
-		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
66
-		epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
67
-		epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
68
-		epatch "${FILESDIR}"/${PN}-1.0.1p-default-source.patch #554338
69
-
70
-		epatch_user #332661
71
-	fi
72
-
73
-	# disable fips in the build
74
-	# make sure the man pages are suffixed #302165
75
-	# don't bother building man pages if they're disabled
76
-	sed -i \
77
-		-e '/DIRS/s: fips : :g' \
78
-		-e '/^MANSUFFIX/s:=.*:=ssl:' \
79
-		-e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
80
-		-e $(has noman FEATURES \
81
-			&& echo '/^install:/s:install_docs::' \
82
-			|| echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
83
-		Makefile.org \
84
-		|| die
85
-	# show the actual commands in the log
86
-	sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
87
-
88
-	# since we're forcing $(CC) as makedep anyway, just fix
89
-	# the conditional as always-on
90
-	# helps clang (#417795), and versioned gcc (#499818)
91
-	sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
92
-
93
-	# quiet out unknown driver argument warnings since openssl
94
-	# doesn't have well-split CFLAGS and we're making it even worse
95
-	# and 'make depend' uses -Werror for added fun (#417795 again)
96
-	[[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
97
-
98
-	# allow openssl to be cross-compiled
99
-	cp "${FILESDIR}"/gentoo.config-1.0.1 gentoo.config || die
100
-	chmod a+rx gentoo.config
101
-
102
-	append-flags -fno-strict-aliasing
103
-	append-flags $(test-flags-CC -Wa,--noexecstack)
104
-	append-cppflags -DOPENSSL_NO_BUF_FREELISTS
105
-
106
-	sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
107
-	# The config script does stupid stuff to prompt the user.  Kill it.
108
-	sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
109
-	./config --test-sanity || die "I AM NOT SANE"
110
-
111
-	multilib_copy_sources
112
-}
113
-
114
-multilib_src_configure() {
115
-	unset APPS #197996
116
-	unset SCRIPTS #312551
117
-	unset CROSS_COMPILE #311473
118
-
119
-	tc-export CC AR RANLIB RC
120
-
121
-	# Clean out patent-or-otherwise-encumbered code
122
-	# Camellia: Royalty Free            http://en.wikipedia.org/wiki/Camellia_(cipher)
123
-	# IDEA:     Expired                 http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
124
-	# EC:       ????????? ??/??/2015    http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
125
-	# MDC2:     Expired                 http://en.wikipedia.org/wiki/MDC-2
126
-	# RC5:      Expired                 http://en.wikipedia.org/wiki/RC5
127
-
128
-	use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
129
-	echoit() { echo "$@" ; "$@" ; }
130
-
131
-	local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
132
-
133
-	# See if our toolchain supports __uint128_t.  If so, it's 64bit
134
-	# friendly and can use the nicely optimized code paths. #460790
135
-	local ec_nistp_64_gcc_128
136
-	# Disable it for now though #469976
137
-	#if ! use bindist ; then
138
-	#	echo "__uint128_t i;" > "${T}"/128.c
139
-	#	if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
140
-	#		ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
141
-	#	fi
142
-	#fi
143
-
144
-	local sslout=$(./gentoo.config)
145
-	einfo "Use configuration ${sslout:-(openssl knows best)}"
146
-	local config="Configure"
147
-	[[ -z ${sslout} ]] && config="config"
148
-
149
-	echoit \
150
-	./${config} \
151
-		${sslout} \
152
-		$(use cpu_flags_x86_sse2 || echo "no-sse2") \
153
-		enable-camellia \
154
-		$(use_ssl !bindist ec) \
155
-		${ec_nistp_64_gcc_128} \
156
-		enable-idea \
157
-		enable-mdc2 \
158
-		enable-rc5 \
159
-		enable-tlsext \
160
-		$(use_ssl asm) \
161
-		$(use_ssl gmp gmp -lgmp) \
162
-		$(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
163
-		$(use_ssl rfc3779) \
164
-		$(use_ssl sctp) \
165
-		$(use_ssl tls-heartbeat heartbeats) \
166
-		$(use_ssl zlib) \
167
-		$(use_ssl insecure-ssl2 ssl2) \
168
-		$(use_ssl insecure-ssl3 ssl3) \
169
-		--prefix="${EPREFIX}"/usr \
170
-		--openssldir="${EPREFIX}"${SSL_CNF_DIR} \
171
-		--libdir=$(get_libdir) \
172
-		shared threads \
173
-		|| die
174
-
175
-	# Clean out hardcoded flags that openssl uses
176
-	local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
177
-		-e 's:^CFLAG=::' \
178
-		-e 's:-fomit-frame-pointer ::g' \
179
-		-e 's:-O[0-9] ::g' \
180
-		-e 's:-march=[-a-z0-9]* ::g' \
181
-		-e 's:-mcpu=[-a-z0-9]* ::g' \
182
-		-e 's:-m[a-z0-9]* ::g' \
183
-	)
184
-	sed -i \
185
-		-e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
186
-		-e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
187
-		Makefile || die
188
-}
189
-
190
-multilib_src_compile() {
191
-	# depend is needed to use $confopts; it also doesn't matter
192
-	# that it's -j1 as the code itself serializes subdirs
193
-	emake -j1 depend
194
-	emake all
195
-	# rehash is needed to prep the certs/ dir; do this
196
-	# separately to avoid parallel build issues.
197
-	emake rehash
198
-}
199
-
200
-multilib_src_test() {
201
-	emake -j1 test
202
-}
203
-
204
-multilib_src_install() {
205
-	emake INSTALL_PREFIX="${D}" install
206
-}
207
-
208
-multilib_src_install_all() {
209
-	dobin "${WORKDIR}"/c_rehash #333117
210
-	dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
211
-	dohtml -r doc/*
212
-	use rfc3779 && dodoc engines/ccgost/README.gost
213
-
214
-	# This is crappy in that the static archives are still built even
215
-	# when USE=static-libs.  But this is due to a failing in the openssl
216
-	# build system: the static archives are built as PIC all the time.
217
-	# Only way around this would be to manually configure+compile openssl
218
-	# twice; once with shared lib support enabled and once without.
219
-	use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
220
-
221
-	# create the certs directory
222
-	dodir ${SSL_CNF_DIR}/certs
223
-	cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
224
-	rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
225
-
226
-	# Namespace openssl programs to prevent conflicts with other man pages
227
-	cd "${ED}"/usr/share/man
228
-	local m d s
229
-	for m in $(find . -type f | xargs grep -L '#include') ; do
230
-		d=${m%/*} ; d=${d#./} ; m=${m##*/}
231
-		[[ ${m} == openssl.1* ]] && continue
232
-		[[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
233
-		mv ${d}/{,ssl-}${m}
234
-		# fix up references to renamed man pages
235
-		sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
236
-		ln -s ssl-${m} ${d}/openssl-${m}
237
-		# locate any symlinks that point to this man page ... we assume
238
-		# that any broken links are due to the above renaming
239
-		for s in $(find -L ${d} -type l) ; do
240
-			s=${s##*/}
241
-			rm -f ${d}/${s}
242
-			ln -s ssl-${m} ${d}/ssl-${s}
243
-			ln -s ssl-${s} ${d}/openssl-${s}
244
-		done
245
-	done
246
-	[[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
247
-
248
-	dodir /etc/sandbox.d #254521
249
-	echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
250
-
251
-	diropts -m0700
252
-	keepdir ${SSL_CNF_DIR}/private
253
-}
254
-
255
-pkg_preinst() {
256
-	has_version ${CATEGORY}/${PN}:0.9.8 && return 0
257
-	preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
258
-}
259
-
260
-pkg_postinst() {
261
-	ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
262
-	c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
263
-	eend $?
264
-
265
-	has_version ${CATEGORY}/${PN}:0.9.8 && return 0
266
-	preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
267
-}
... ...
@@ -1,267 +0,0 @@
1
-# Copyright 1999-2015 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Id$
4
-
5
-EAPI="4"
6
-
7
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
8
-
9
-MY_P=${P/_/-}
10
-DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
11
-HOMEPAGE="http://www.openssl.org/"
12
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
13
-
14
-LICENSE="openssl"
15
-SLOT="0"
16
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
17
-IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib insecure-ssl2 insecure-ssl3"
18
-RESTRICT="!bindist? ( bindist )"
19
-
20
-# The blocks are temporary just to make sure people upgrade to a
21
-# version that lack runtime version checking.  We'll drop them in
22
-# the future.
23
-RDEPEND=">=app-misc/c_rehash-1.7-r1
24
-	gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
25
-	zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
26
-	kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
27
-	abi_x86_32? (
28
-		!<=app-emulation/emul-linux-x86-baselibs-20140508
29
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
30
-	)
31
-	!<net-misc/openssh-5.9_p1-r4
32
-	!<net-libs/neon-0.29.6-r1"
33
-DEPEND="${RDEPEND}
34
-	>=dev-lang/perl-5
35
-	sctp? ( >=net-misc/lksctp-tools-1.0.12 )
36
-	test? (
37
-		sys-apps/diffutils
38
-		sys-devel/bc
39
-	)"
40
-PDEPEND="app-misc/ca-certificates"
41
-
42
-S="${WORKDIR}/${MY_P}"
43
-
44
-MULTILIB_WRAPPED_HEADERS=(
45
-	usr/include/openssl/opensslconf.h
46
-)
47
-
48
-src_prepare() {
49
-	# keep this in sync with app-misc/c_rehash
50
-	SSL_CNF_DIR="/etc/ssl"
51
-
52
-	# Make sure we only ever touch Makefile.org and avoid patching a file
53
-	# that gets blown away anyways by the Configure script in src_configure
54
-	rm -f Makefile
55
-
56
-	if ! use vanilla ; then
57
-		epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
58
-		epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
59
-		epatch "${FILESDIR}"/${PN}-1.0.2e-parallel-build.patch
60
-		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
61
-		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
62
-		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
63
-		epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
64
-		epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
65
-		epatch "${FILESDIR}"/${PN}-1.0.1p-default-source.patch #554338
66
-
67
-		epatch_user #332661
68
-	fi
69
-
70
-	# disable fips in the build
71
-	# make sure the man pages are suffixed #302165
72
-	# don't bother building man pages if they're disabled
73
-	sed -i \
74
-		-e '/DIRS/s: fips : :g' \
75
-		-e '/^MANSUFFIX/s:=.*:=ssl:' \
76
-		-e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
77
-		-e $(has noman FEATURES \
78
-			&& echo '/^install:/s:install_docs::' \
79
-			|| echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
80
-		Makefile.org \
81
-		|| die
82
-	# show the actual commands in the log
83
-	sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
84
-
85
-	# since we're forcing $(CC) as makedep anyway, just fix
86
-	# the conditional as always-on
87
-	# helps clang (#417795), and versioned gcc (#499818)
88
-	sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
89
-
90
-	# quiet out unknown driver argument warnings since openssl
91
-	# doesn't have well-split CFLAGS and we're making it even worse
92
-	# and 'make depend' uses -Werror for added fun (#417795 again)
93
-	[[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
94
-
95
-	# allow openssl to be cross-compiled
96
-	cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
97
-	chmod a+rx gentoo.config
98
-
99
-	append-flags -fno-strict-aliasing
100
-	append-flags $(test-flags-CC -Wa,--noexecstack)
101
-	append-cppflags -DOPENSSL_NO_BUF_FREELISTS
102
-
103
-	sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
104
-	# The config script does stupid stuff to prompt the user.  Kill it.
105
-	sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
106
-	./config --test-sanity || die "I AM NOT SANE"
107
-
108
-	multilib_copy_sources
109
-}
110
-
111
-multilib_src_configure() {
112
-	unset APPS #197996
113
-	unset SCRIPTS #312551
114
-	unset CROSS_COMPILE #311473
115
-
116
-	tc-export CC AR RANLIB RC
117
-
118
-	# Clean out patent-or-otherwise-encumbered code
119
-	# Camellia: Royalty Free            http://en.wikipedia.org/wiki/Camellia_(cipher)
120
-	# IDEA:     Expired                 http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
121
-	# EC:       ????????? ??/??/2015    http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
122
-	# MDC2:     Expired                 http://en.wikipedia.org/wiki/MDC-2
123
-	# RC5:      Expired                 http://en.wikipedia.org/wiki/RC5
124
-
125
-	use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
126
-	echoit() { echo "$@" ; "$@" ; }
127
-
128
-	local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
129
-
130
-	# See if our toolchain supports __uint128_t.  If so, it's 64bit
131
-	# friendly and can use the nicely optimized code paths. #460790
132
-	local ec_nistp_64_gcc_128
133
-	# Disable it for now though #469976
134
-	#if ! use bindist ; then
135
-	#	echo "__uint128_t i;" > "${T}"/128.c
136
-	#	if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
137
-	#		ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
138
-	#	fi
139
-	#fi
140
-
141
-	local sslout=$(./gentoo.config)
142
-	einfo "Use configuration ${sslout:-(openssl knows best)}"
143
-	local config="Configure"
144
-	[[ -z ${sslout} ]] && config="config"
145
-
146
-	echoit \
147
-	./${config} \
148
-		${sslout} \
149
-		$(use cpu_flags_x86_sse2 || echo "no-sse2") \
150
-		enable-camellia \
151
-		$(use_ssl !bindist ec) \
152
-		${ec_nistp_64_gcc_128} \
153
-		enable-idea \
154
-		enable-mdc2 \
155
-		enable-rc5 \
156
-		enable-tlsext \
157
-		$(use_ssl asm) \
158
-		$(use_ssl gmp gmp -lgmp) \
159
-		$(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
160
-		$(use_ssl rfc3779) \
161
-		$(use_ssl sctp) \
162
-		$(use_ssl tls-heartbeat heartbeats) \
163
-		$(use_ssl zlib) \
164
-		$(use_ssl insecure-ssl2 ssl2) \
165
-		$(use_ssl insecure-ssl3 ssl3) \
166
-		--prefix="${EPREFIX}"/usr \
167
-		--openssldir="${EPREFIX}"${SSL_CNF_DIR} \
168
-		--libdir=$(get_libdir) \
169
-		shared threads \
170
-		|| die
171
-
172
-	# Clean out hardcoded flags that openssl uses
173
-	local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
174
-		-e 's:^CFLAG=::' \
175
-		-e 's:-fomit-frame-pointer ::g' \
176
-		-e 's:-O[0-9] ::g' \
177
-		-e 's:-march=[-a-z0-9]* ::g' \
178
-		-e 's:-mcpu=[-a-z0-9]* ::g' \
179
-		-e 's:-m[a-z0-9]* ::g' \
180
-	)
181
-	sed -i \
182
-		-e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
183
-		-e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
184
-		Makefile || die
185
-}
186
-
187
-multilib_src_compile() {
188
-	# depend is needed to use $confopts; it also doesn't matter
189
-	# that it's -j1 as the code itself serializes subdirs
190
-	emake -j1 depend
191
-	emake all
192
-	# rehash is needed to prep the certs/ dir; do this
193
-	# separately to avoid parallel build issues.
194
-	emake rehash
195
-}
196
-
197
-multilib_src_test() {
198
-	emake -j1 test
199
-}
200
-
201
-multilib_src_install() {
202
-	emake INSTALL_PREFIX="${D}" install
203
-}
204
-
205
-multilib_src_install_all() {
206
-	# openssl installs perl version of c_rehash by default, but
207
-	# we provide a shell version via app-misc/c_rehash
208
-	rm "${ED}"/usr/bin/c_rehash || die
209
-
210
-	dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
211
-	dohtml -r doc/*
212
-	use rfc3779 && dodoc engines/ccgost/README.gost
213
-
214
-	# This is crappy in that the static archives are still built even
215
-	# when USE=static-libs.  But this is due to a failing in the openssl
216
-	# build system: the static archives are built as PIC all the time.
217
-	# Only way around this would be to manually configure+compile openssl
218
-	# twice; once with shared lib support enabled and once without.
219
-	use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
220
-
221
-	# create the certs directory
222
-	dodir ${SSL_CNF_DIR}/certs
223
-	cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
224
-	rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
225
-
226
-	# Namespace openssl programs to prevent conflicts with other man pages
227
-	cd "${ED}"/usr/share/man
228
-	local m d s
229
-	for m in $(find . -type f | xargs grep -L '#include') ; do
230
-		d=${m%/*} ; d=${d#./} ; m=${m##*/}
231
-		[[ ${m} == openssl.1* ]] && continue
232
-		[[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
233
-		mv ${d}/{,ssl-}${m}
234
-		# fix up references to renamed man pages
235
-		sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
236
-		ln -s ssl-${m} ${d}/openssl-${m}
237
-		# locate any symlinks that point to this man page ... we assume
238
-		# that any broken links are due to the above renaming
239
-		for s in $(find -L ${d} -type l) ; do
240
-			s=${s##*/}
241
-			rm -f ${d}/${s}
242
-			ln -s ssl-${m} ${d}/ssl-${s}
243
-			ln -s ssl-${s} ${d}/openssl-${s}
244
-		done
245
-	done
246
-	[[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
247
-
248
-	dodir /etc/sandbox.d #254521
249
-	echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
250
-
251
-	diropts -m0700
252
-	keepdir ${SSL_CNF_DIR}/private
253
-}
254
-
255
-pkg_preinst() {
256
-	has_version ${CATEGORY}/${PN}:0.9.8 && return 0
257
-	preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
258
-}
259
-
260
-pkg_postinst() {
261
-	ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
262
-	c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
263
-	eend $?
264
-
265
-	has_version ${CATEGORY}/${PN}:0.9.8 && return 0
266
-	preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
267
-}
268 0