diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-04-19 14:14:48 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-04-19 14:14:48 +0100 |
commit | 5cfef3c94cd7e82136c69a0322f5ba21f7e64632 (patch) | |
tree | 8f255dfacbacb657e3ac3654d01c1e11e651c066 /net-wireless | |
parent | 8aebb228036d5e2863b7eaa6e319ab41c1669269 (diff) |
gentoo resync : 19.04.2018
Diffstat (limited to 'net-wireless')
19 files changed, 1139 insertions, 41 deletions
diff --git a/net-wireless/Manifest.gz b/net-wireless/Manifest.gz Binary files differindex a23fa0a2365c..cb1afa3a1169 100644 --- a/net-wireless/Manifest.gz +++ b/net-wireless/Manifest.gz diff --git a/net-wireless/aircrack-ng/Manifest b/net-wireless/aircrack-ng/Manifest index 0489793091ca..2047815317e1 100644 --- a/net-wireless/aircrack-ng/Manifest +++ b/net-wireless/aircrack-ng/Manifest @@ -1,7 +1,10 @@ +AUX aircrack-ng-1.2-no-force-stack-protector.patch 2245 BLAKE2B a7f200711a4e24cc92d4626d24c62abe11a2d378e8876a801a516aa2023b7aa7566c868e890186cebf9dacecc59037b23c39380b1b435b0f0985a02f939ccfec SHA512 35e5f717bc3b90507a879bbd4ffd3bb88c7bc98676abac1241cbc50dbb1bcf2c53e5c45514b643d7ad7d86d0b74e662803de155ae6bbf430a1fdb32e50682068 AUX aircrack-ng-1.2_rc4-openssl.patch 1227 BLAKE2B ac474222d14a25d6ea4f95c313f0f660940cdacd0ed4295e869a91a81f30284a669fd1e49959d1f6c7fd0c015cbc93464181b3e79571751d400400323b276934 SHA512 142542996e83f729bf8c7e77ac0d4be428b60368c7c005c2dda6c7fe7d45cbe029381523059566a35f1c8d748c0aaf9e46086cbf9ce429f22b2c61ae78a6ba1c DIST aircrack-ng-1.2-rc1.tar.gz 2046476 BLAKE2B aec848a3dedae564cc29fc94475d0dec9cfb33af5185a4bceb9f88c1a3cce7a910439405fd76390ca352e52393b9094e570bf54980af27a50709a36ffab33752 SHA512 897427c535846c0ede58b2f99ed469bc01f50f9b38fc70d5711261fca7342339192cc0c71a724fc04c99114db7534d825a44f09e7bc5754286ec44933a33e40d DIST aircrack-ng-1.2-rc4.tar.gz 4379880 BLAKE2B 8034e99a9a7117b0552ecd82603883661d7442970a24d26f4754122abd07cc661fbeb57519cecbefb6eea1fc0e8b0f228a116a04f07e1a7d2eb41ea4b5f6040b SHA512 f1e1d465813a5f00fd8f8b287353033ea30b657a4c3a9fe81281ab2546d3238690f0659076bff53703fbc796ba40efb16115804d21f8516adca2c774fefea20c -EBUILD aircrack-ng-1.2_rc1-r1.ebuild 3521 BLAKE2B 724d68061af6609c80af9e0dc8f21220abe9d4539cbe72b003b3c49c110885eaa548ff69ffcd0a8cc7804567108052c110cea39e930c10f87b606369426edc81 SHA512 c4bfa17dd7021056958645e752fd67f030291c534d8bc712433a5eb5fd068bb52e96e0fe6385ab7006b7b28eb0279925cb57cf08cd20cbcaed6fbb56c20b5552 +DIST aircrack-ng-1.2.tar.gz 4517658 BLAKE2B 1a3d17608dafe69a7a500526807310bf9ae8f0f14ed4198d06fc1cd6287fa25aeed996bad85c82b9ed87c214951e2bbc73384513361b7e8ce6ba05ef32f6530c SHA512 efc8cd17994fd74dcdd60e4ff26f81dc4f090a368668c2b1d62e204d2a9c001f2614a9d2ad0e4ae0ae38fb71e1957e0342f8216d757e38db105b1e467de82bd9 +EBUILD aircrack-ng-1.2.ebuild 3179 BLAKE2B afccc183aff511d9cbe26c50580b7a9ca3d69d152980927fa9b66f8d7d0feff53142e65e986f64fe46ee5e989a05275f7ec2770478c914f04e451c938ba0ddec SHA512 fa5e63c1fca15ea1830d2ab2a566a65e05d684623ae6cab72f8aa0c3dd3923fd6d01baac519c55134dd05993d801caa93f6e9ce761b4ebe6c1ffc82941bc776a +EBUILD aircrack-ng-1.2_rc1-r1.ebuild 3523 BLAKE2B eeda867b14d763a397287928b64217635a2b4b11250b98fc818ce0910c9fa9e30e68a78c02a741c79a653f6c9177d733caaae7e63748c20f29ebd6c4819f007f SHA512 151fec44861e17742ec7cbbbc7198eaf24f9cdd4ceee78902c248fced3ab6df49ed1da466b39f203201e9c9124b5e8b1042df75ef705a7024205c5276853a0d7 EBUILD aircrack-ng-1.2_rc4-r1.ebuild 2918 BLAKE2B f8f585175b7899e3e367875c23642a60a733118677c91daa68ea3087671cbdd3e853a02f48733080bcc3bf7c3040fb9777409a84e2275d1042b73733e03943b8 SHA512 2e396a16de545a0b39f38ffc243b35f041ecc1f4a62c1b2596a13d91793def3dbaba74a873ac635cbc684dec0c8ea21410ee35994ed3af0c00ed6a1d718ca33f -EBUILD aircrack-ng-9999.ebuild 3118 BLAKE2B 204005fdb3e486910b83569322aa90d294db3d9c88295b20b0df96131685eac0292978649cee39ecdc31169ea48874baeefac9afaf31450777f8437c9d5f92c4 SHA512 3325740c8037945a7c6eec38d2f24a17e896efc49be3ac03ca97ff7e6b154709dda23501d8d1db9407a2ca3e755248fa268c77b87bc45d80664043459123a526 +EBUILD aircrack-ng-9999.ebuild 3110 BLAKE2B 9ca03f75ab07f78157a6cf27014e83c45a3928d0d0a457993e5e86201a30b06cea11485d060cfd7597556dbe227a3ae4915aa0a8cc7a0ee8bde151cff49de848 SHA512 4904ffb8f45ff1e7c63fb033b77543db69b9813e8549a1ef0c4e70da268563058d6d076f51b463c26151f47105aeacf237e70df6f4e54304f13721e66ea9278a MISC metadata.xml 1130 BLAKE2B 9d3c0463a4a1cf4360ce77c550a701a805cd3db5f06ee895aa8888180246d6b51970d23b74b723a241e09bb6dde426055ca8f1288afffa90e8e4abc7d9c4b92a SHA512 0ca935ebf651d221657fda9320fc8a8f8dbabd9d10fc4eebb8b301b63ca8f9316069bee16b2468d227ea5acf53a28747c8479eb776983334b9496d68fefa76ee diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild new file mode 100644 index 000000000000..972e687e1ba3 --- /dev/null +++ b/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit toolchain-funcs distutils-r1 flag-o-matic autotools + +DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys" +HOMEPAGE="http://www.aircrack-ng.org" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git" + KEYWORDS="" +else + MY_PV=${PV/_/-} + SRC_URI="http://download.${PN}.org/${PN}-${MY_PV}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" + S="${WORKDIR}/${PN}-${MY_PV}" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="+airdrop-ng +airgraph-ng kernel_linux kernel_FreeBSD +netlink +pcre +sqlite +experimental" + +DEPEND="net-libs/libpcap + dev-libs/openssl:0= + netlink? ( dev-libs/libnl:3 ) + pcre? ( dev-libs/libpcre ) + airdrop-ng? ( ${PYTHON_DEPS} ) + airgraph-ng? ( ${PYTHON_DEPS} ) + experimental? ( sys-libs/zlib ) + sqlite? ( >=dev-db/sqlite-3.4 )" +RDEPEND="${DEPEND}" +PDEPEND="kernel_linux? ( + net-wireless/iw + net-wireless/wireless-tools + sys-apps/ethtool + sys-apps/usbutils + sys-apps/pciutils ) + sys-apps/hwids + airdrop-ng? ( net-wireless/lorcon[python,${PYTHON_USEDEP}] )" + +REQUIRED_USE="airdrop-ng? ( ${PYTHON_REQUIRED_USE} ) + airgraph-ng? ( ${PYTHON_REQUIRED_USE} )" + +pkg_setup() { + MAKE_COMMON=( + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + AR="$(tc-getAR)" \ + LD="$(tc-getLD)" \ + RANLIB="$(tc-getRANLIB)" \ + DESTDIR="${ED}" + ) +} + +src_prepare() { + epatch "${FILESDIR}"/aircrack-ng-1.2-no-force-stack-protector.patch + eapply_user + eautoreconf +} + +src_configure() { + econf \ + --disable-asan \ + $(use_enable netlink libnl) \ + $(use_with experimental) \ + $(use_with sqlite sqlite3) \ + --enable-shared \ + --disable-static \ + --without-opt +} + +src_compile() { + if [[ $($(tc-getCC) --version) == clang* ]] ; then + #https://bugs.gentoo.org/show_bug.cgi?id=472890 + filter-flags -frecord-gcc-switches + fi + + emake "${MAKE_COMMON[@]}" + + if use airgraph-ng; then + cd "${S}/scripts/airgraph-ng" + distutils-r1_src_compile + fi + if use airdrop-ng; then + cd "${S}/scripts/airdrop-ng" + distutils-r1_src_compile + fi +} + +src_test() { + emake "${MAKE_COMMON[@]}" check +} + +src_install() { + einstalldocs + emake "${MAKE_COMMON[@]}" install + + if use airgraph-ng; then + cd "${S}/scripts/airgraph-ng" + distutils-r1_src_install + fi + if use airdrop-ng; then + cd "${S}/scripts/airdrop-ng" + distutils-r1_src_install + fi + + #we don't need aircrack-ng's oui updater, we have our own + rm "${ED}"/usr/sbin/airodump-ng-oui-update +} + +pkg_postinst() { + # Message is (c) FreeBSD + # http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/aircrack-ng/files/pkg-message.in?rev=1.5 + if use kernel_FreeBSD ; then + einfo "Contrary to Linux, it is not necessary to use airmon-ng to enable the monitor" + einfo "mode of your wireless card. So do not care about what the manpages say about" + einfo "airmon-ng, airodump-ng sets monitor mode automatically." + echo + einfo "To return from monitor mode, issue the following command:" + einfo " ifconfig \${INTERFACE} -mediaopt monitor" + einfo + einfo "For aireplay-ng you need FreeBSD >= 7.0." + fi +} diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.2_rc1-r1.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.2_rc1-r1.ebuild index 641bf307be13..ccdbd649e1e3 100644 --- a/net-wireless/aircrack-ng/aircrack-ng-1.2_rc1-r1.ebuild +++ b/net-wireless/aircrack-ng/aircrack-ng-1.2_rc1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="5" @@ -29,7 +29,7 @@ SLOT="0" IUSE="+airdrop-ng +airgraph-ng kernel_linux kernel_FreeBSD +netlink +pcre +sqlite +unstable" DEPEND="net-libs/libpcap - dev-libs/openssl + dev-libs/openssl:* netlink? ( dev-libs/libnl:3 ) pcre? ( dev-libs/libpcre ) airdrop-ng? ( ${PYTHON_DEPS} ) diff --git a/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild index 4410fcbb87aa..1d10edd8197a 100644 --- a/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild +++ b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -6,16 +6,15 @@ EAPI="6" PYTHON_COMPAT=( python2_7 ) DISTUTILS_OPTIONAL=1 -inherit toolchain-funcs distutils-r1 flag-o-matic +inherit toolchain-funcs distutils-r1 flag-o-matic autotools DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys" HOMEPAGE="http://www.aircrack-ng.org" if [[ ${PV} == "9999" ]] ; then - inherit subversion - ESVN_REPO_URI="http://svn.aircrack-ng.org/trunk" + inherit git-r3 + EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git" KEYWORDS="" - S="${WORKDIR}/${PN}" else MY_PV=${PV/_/-} SRC_URI="http://download.${PN}.org/${PN}-${MY_PV}.tar.gz" @@ -36,8 +35,8 @@ DEPEND="net-libs/libpcap airgraph-ng? ( ${PYTHON_DEPS} ) experimental? ( sys-libs/zlib ) sqlite? ( >=dev-db/sqlite-3.4 )" -RDEPEND="${DEPEND} - kernel_linux? ( +RDEPEND="${DEPEND}" +PDEPEND="kernel_linux? ( net-wireless/iw net-wireless/wireless-tools sys-apps/ethtool @@ -56,17 +55,26 @@ pkg_setup() { AR="$(tc-getAR)" \ LD="$(tc-getLD)" \ RANLIB="$(tc-getRANLIB)" \ - libnl=$(usex netlink true false) \ - pcre=$(usex pcre true false) \ - sqlite=$(usex sqlite true false) \ - experimental=$(usex experimental true false) - prefix="${ED}/usr" \ - ) - [[ ${PV} == "9999" ]] && MAKE_COMMON+=( - liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}" + DESTDIR="${ED}" ) } +src_prepare() { + eapply_user + eautoreconf +} + +src_configure() { + econf \ + --disable-asan \ + $(use_enable netlink libnl) \ + $(use_with experimental) \ + $(use_with sqlite sqlite3) \ + --enable-shared \ + --disable-static \ + --without-opt +} + src_compile() { if [[ $($(tc-getCC) --version) == clang* ]] ; then #https://bugs.gentoo.org/show_bug.cgi?id=472890 diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch new file mode 100644 index 000000000000..d4688b84d2ef --- /dev/null +++ b/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch @@ -0,0 +1,50 @@ +From 58fe40daf3e082d9e63d689d795a3bbecf72fedb Mon Sep 17 00:00:00 2001 +From: Joseph Benden <joe@benden.us> +Date: Mon, 16 Apr 2018 11:26:23 -0700 +Subject: [PATCH] autotools: The flag --without-opt should skip stack protector + flags. (#1864) + +--- + build/m4/aircrack_ng_compiler.m4 | 28 ++++++++++++++++------------ + 1 file changed, 16 insertions(+), 12 deletions(-) + +diff --git a/build/m4/aircrack_ng_compiler.m4 b/build/m4/aircrack_ng_compiler.m4 +index 0fb19726..8a973dbf 100644 +--- a/build/m4/aircrack_ng_compiler.m4 ++++ b/build/m4/aircrack_ng_compiler.m4 +@@ -108,19 +108,23 @@ case "$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" in + CYGWIN*|MSYS*|cygwin*|msys*) + ;; + *) +- AS_IF([test "x$gcc_over49" = "xno"], [ +- AS_IF([test "x$gcc_over41" = "xyes"], [ +- AX_CHECK_COMPILE_FLAG([-fstack-protector], [ +- AX_APPEND_FLAG(-fstack-protector, [opt_[]_AC_LANG_ABBREV[]flags]) +- ]) +- ], []) +- ], []) ++ case $with_opt in ++ yes | "") ++ AS_IF([test "x$gcc_over49" = "xno"], [ ++ AS_IF([test "x$gcc_over41" = "xyes"], [ ++ AX_CHECK_COMPILE_FLAG([-fstack-protector], [ ++ AX_APPEND_FLAG(-fstack-protector, [opt_[]_AC_LANG_ABBREV[]flags]) ++ ]) ++ ], []) ++ ], []) + +- AS_IF([test "x$gcc_over49" = "xyes"], [ +- AX_CHECK_COMPILE_FLAG([-fstack-protector-strong], [ +- AX_APPEND_FLAG(-fstack-protector-strong, [opt_[]_AC_LANG_ABBREV[]flags]) +- ]) +- ], []) ++ AS_IF([test "x$gcc_over49" = "xyes"], [ ++ AX_CHECK_COMPILE_FLAG([-fstack-protector-strong], [ ++ AX_APPEND_FLAG(-fstack-protector-strong, [opt_[]_AC_LANG_ABBREV[]flags]) ++ ]) ++ ], []) ++ ;; ++ esac + ;; + esac + ;; diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest index 202307b6b263..25d502fc844b 100644 --- a/net-wireless/hostapd/Manifest +++ b/net-wireless/hostapd/Manifest @@ -5,10 +5,12 @@ AUX 2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch 2566 B AUX 2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch 1949 BLAKE2B b78b50bf0cba2a5de4d1ac217ce898d4c59cba7693d5c26087012931c2578ede4b3046357fd78e0f03bcb90fdeff322de42c511efadb41209243b308dcdb8372 SHA512 8707a123cd78149dfee9f5bd791761ee1eca605ef96580167044c2339c896920cf0e030b184a5afa9e310f5755afb30bef8ebd4522fc52753f3fbd6acead2cdf AUX 2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch 4309 BLAKE2B 6164e0343d7e4bedcaf2be9c3800eeb146a564fffeb339d032706797c04f268ade0674e67c962653c2a124af5a8ff8d28004bbeba0f3e73b166dbed03cd9a355 SHA512 37d050b2e4a3598484912667d8b2705fbe84c5c562267f900d42b0c7b606fb1fed09ddca8b80e2131768baa8f3690aab6ba7a232dee6ff1e66150fdb8816c927 AUX 2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch 2750 BLAKE2B 059da1df148c8db68c9fa6aa656e46da301ebe7de3e41ecd4675ca579ebf6f1a66395e852cd8b562743ba83a345d4860618ea11bd01304a3386867115867fb9f SHA512 fc84edd8b30305cc42053c872554098f3f077292ec980ed6a442f37884087ff2f055738fd55977ed792bef1887dcc8c4626586465d78dd0258edb83dcd50a65a +AUX hostapd-2.6-libressl-compatibility.patch 3873 BLAKE2B 281029d49bd4267df5913aa87b2e70741def66646f6cfbf5cf163e88522ae5bb933be3ed0df971ff2872a25a36584409feb0d22acf8254f446421201026b1ce8 SHA512 61c4cfeb119a9bc7ab1d4f690c1af5bce2def7836212469011c277ad4d97ab601d2a1efca7dc7bea433d974a8820aed7740e2cf047a0c63734d8a71e3df14e45 AUX hostapd-conf.d 245 BLAKE2B 5a4315f10ab8fcfda662252bf31b53eb4d3c55fa258062f288d7baa2f83c65bcb4db4dd2ebff58bcdbf3fe5449452f8a0c24dd75a60d3387728f4d60d0c8a172 SHA512 f07a6cd209eca351b8545017c5f025282c3fdea838ca3df49e362571ded43973281ce4ff83984b1299db15ea9b5c21a42cbda91432220af9146bf034e2265c30 AUX hostapd-init.d 739 BLAKE2B 83c48748cf20c8ee7d1124d373ee565c724d4714bffc512629a1850be0bfe5e9430a7512b296e1441dcaa4b098a665a873948162c5edec60430bf69cc90c157c SHA512 ab364383da45403d7734be20e7486937ad0a6be25a56eb1ec03d131243270a143189b699becf6e9e14d30b02bb5d93cddde55e51908801f2e6830de53791ccc8 AUX hostapd.service 213 BLAKE2B 0141aace8e6f807611e423e70cce437a5ae38a5fee8af74a7284980a1c2f642f1e98d020f327dbe5591e9d68114f3ee966229fb6d8f5116fe7d9e2bd93bae7bd SHA512 4d1a1619c49ad0272f360d2c9d79f2fd30503786fe8f22dd3fc4abcc39176029fe907c79d22f168c100b0d7b4ac969b5f4b5815d5ebe6805db5881dda69eef29 DIST hostapd-2.6.tar.gz 1822341 BLAKE2B c0075ffcdb11237e11410d87329a7a71aae5e00481022e02faf03771d45a61410ff906ebffdeea03fdeab751ce85e5a5e191173883ee9f1c284e6bc00342a011 SHA512 e60baaa092786250b8de9935f5417c7626f5d749210cce9f83d776b65c19fc92a8141f41923389f05c16295d482a15ae8d8b744f4667425040c99e3c2f5b1bda EBUILD hostapd-2.6-r1.ebuild 6372 BLAKE2B a3202c1e11ca7d9fc252c2f4a0d3cdbde3eb06818a566bba57890e47347e71cc9553213146793c11c586c403a9d5020b14234ab6b2fbe949c5fc48774fc3eea2 SHA512 fec5dabf5ac3d4103f46d538bc45b7bb07b43755505a255989b0845cb0773c4ed39fb85977a9d73b2966095b5bb39118b2a464ce9a16d9b8ecb9ea8e243f7c95 EBUILD hostapd-2.6-r2.ebuild 6453 BLAKE2B 3ea7ab9dbce47bf62a27953b5201318fc9f5eab8afa9d6d6e8a49aa58a6a4f412610956bd93485534eac57d41c851e53eac4965883bf1edf94895ee05554a7b5 SHA512 3b2196198d83b69f93e73ba62d8a939ef55cb2cb45abd62bc3e008d61b4b7e2f32e697546b1429d4147f651b5a09b5015ec62ece7d8e740b66f92c2fdd474c03 -MISC metadata.xml 795 BLAKE2B 2a8c749490a82b3d943cd2e23e3c6575d9b84ed7bda1cfcd2d984589501d3b469bba054a883542c40a10a4eb154fc58f7b103780ce90b15885dde211c75a5c6c SHA512 880dfc97358fee5a6e1782d5102e9c5cab8190cb4a78a3db042ee2b3997f6c8f82031bdfe3bc0112b4cc1ebabb1df93650dad9652c764970b8520f020dfd5bea +EBUILD hostapd-2.6-r3.ebuild 6629 BLAKE2B 4a45445f2356b6bf4d8d2b697ddb0182bc428499ce735fa3b893c5b2fb1142c09909e265d1dbb5aacb81204f2498df91b5bd1c10ac11a7d793e818ea01638701 SHA512 307b4752734e6918eb134362e162cc9ad8ba81e61e4230e5d2a6f8e196ca26609ff467d3340d263602b3f983575b48cc45543661b2f53889c171a1b202071317 +MISC metadata.xml 903 BLAKE2B 5960b7c5cd15f094b332b376b8320da78b4a1cbf13d3726cd10feed091967f7678b4d54db20d8c5f7adaa60873fb53d7b4d09293d0b5cde30cbe3494ec1b407f SHA512 e801d5385292462651bdc1fe6f95378cd7d100b0e02eab2227c57149bedba51dc7e1ff4ad73a0a4cf8b5174af0c2ae158a19d6306a4a328c80c932ed488b82d2 diff --git a/net-wireless/hostapd/files/hostapd-2.6-libressl-compatibility.patch b/net-wireless/hostapd/files/hostapd-2.6-libressl-compatibility.patch new file mode 100644 index 000000000000..025da58028da --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-2.6-libressl-compatibility.patch @@ -0,0 +1,106 @@ +diff --git a/src/crypto/crypto_openssl.c b/src/crypto/crypto_openssl.c +index 19e0e2be8..6585c0245 100644 +--- a/src/crypto/crypto_openssl.c ++++ b/src/crypto/crypto_openssl.c +@@ -33,7 +33,9 @@ + #include "aes_wrap.h" + #include "crypto.h" + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + /* Compatibility wrappers for older versions. */ + + static HMAC_CTX * HMAC_CTX_new(void) +@@ -79,7 +81,9 @@ static void EVP_MD_CTX_free(EVP_MD_CTX *ctx) + + static BIGNUM * get_group5_prime(void) + { +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \ ++ !(defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + return BN_get_rfc3526_prime_1536(NULL); + #elif !defined(OPENSSL_IS_BORINGSSL) + return get_rfc3526_prime_1536(NULL); +@@ -611,7 +615,9 @@ void crypto_cipher_deinit(struct crypto_cipher *ctx) + + void * dh5_init(struct wpabuf **priv, struct wpabuf **publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + DH *dh; + struct wpabuf *pubkey = NULL, *privkey = NULL; + size_t publen, privlen; +@@ -712,7 +718,9 @@ err: + + void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + DH *dh; + + dh = DH_new(); +diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c +index 23ac64b48..91acc579d 100644 +--- a/src/crypto/tls_openssl.c ++++ b/src/crypto/tls_openssl.c +@@ -59,7 +59,8 @@ typedef int stack_index_t; + #endif /* SSL_set_tlsext_status_type */ + + #if (OPENSSL_VERSION_NUMBER < 0x10100000L || \ +- defined(LIBRESSL_VERSION_NUMBER)) && \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L)) && \ + !defined(BORINGSSL_API_VERSION) + /* + * SSL_get_client_random() and SSL_get_server_random() were added in OpenSSL +@@ -919,7 +920,9 @@ void * tls_init(const struct tls_config *conf) + } + #endif /* OPENSSL_FIPS */ + #endif /* CONFIG_FIPS */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + SSL_load_error_strings(); + SSL_library_init(); + #ifndef OPENSSL_NO_SHA256 +@@ -1043,7 +1046,9 @@ void tls_deinit(void *ssl_ctx) + + tls_openssl_ref_count--; + if (tls_openssl_ref_count == 0) { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + #ifndef OPENSSL_NO_ENGINE + ENGINE_cleanup(); + #endif /* OPENSSL_NO_ENGINE */ +@@ -3105,7 +3110,9 @@ int tls_connection_get_random(void *ssl_ctx, struct tls_connection *conn, + #ifdef OPENSSL_NEED_EAP_FAST_PRF + static int openssl_get_keyblock_size(SSL *ssl) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + const EVP_CIPHER *c; + const EVP_MD *h; + int md_size; +@@ -4159,7 +4166,9 @@ static int tls_sess_sec_cb(SSL *s, void *secret, int *secret_len, + struct tls_connection *conn = arg; + int ret; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + if (conn == NULL || conn->session_ticket_cb == NULL) + return 0; + diff --git a/net-wireless/hostapd/hostapd-2.6-r3.ebuild b/net-wireless/hostapd/hostapd-2.6-r3.ebuild new file mode 100644 index 000000000000..9b9078e55589 --- /dev/null +++ b/net-wireless/hostapd/hostapd-2.6-r3.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit toolchain-funcs eutils systemd savedconfig + +DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" +HOMEPAGE="http://hostap.epitest.fi" +SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86" +IUSE="ipv6 libressl logwatch netlink sqlite +ssl +wps +crda" + +DEPEND=" + ssl? ( + !libressl? ( dev-libs/openssl:0=[-bindist] ) + libressl? ( dev-libs/libressl:0= ) + ) + kernel_linux? ( + dev-libs/libnl:3 + crda? ( net-wireless/crda ) + ) + netlink? ( net-libs/libnfnetlink ) + sqlite? ( >=dev-db/sqlite-3 )" + +RDEPEND="${DEPEND}" + +S="${S}/${PN}" + +src_prepare() { + # Allow users to apply patches to src/drivers for example, + # i.e. anything outside ${S}/${PN} + pushd ../ >/dev/null || die + + # Add LibreSSL compatibility patch bug (#567262) + eapply "${FILESDIR}/${P}-libressl-compatibility.patch" + + # https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + eapply "${FILESDIR}/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch" + default + popd >/dev/null || die + + sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ + "${S}/hostapd.conf" || die + +} + +src_configure() { + local CONFIG="${S}/.config" + + restore_config "${CONFIG}" + if [[ -f "${CONFIG}" ]]; then + default_src_configure + return 0 + fi + + # toolchain setup + echo "CC = $(tc-getCC)" > ${CONFIG} + + # EAP authentication methods + echo "CONFIG_EAP=y" >> ${CONFIG} + echo "CONFIG_ERP=y" >> ${CONFIG} + echo "CONFIG_EAP_MD5=y" >> ${CONFIG} + + if use ssl; then + # SSL authentication methods + echo "CONFIG_EAP_FAST=y" >> ${CONFIG} + echo "CONFIG_EAP_TLS=y" >> ${CONFIG} + echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} + echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} + echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} + echo "CONFIG_TLSV11=y" >> ${CONFIG} + echo "CONFIG_TLSV12=y" >> ${CONFIG} + fi + + if use wps; then + # Enable Wi-Fi Protected Setup + echo "CONFIG_WPS=y" >> ${CONFIG} + echo "CONFIG_WPS2=y" >> ${CONFIG} + echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} + echo "CONFIG_WPS_NFC=y" >> ${CONFIG} + einfo "Enabling Wi-Fi Protected Setup support" + fi + + echo "CONFIG_EAP_IKEV2=y" >> ${CONFIG} + echo "CONFIG_EAP_TNC=y" >> ${CONFIG} + echo "CONFIG_EAP_GTC=y" >> ${CONFIG} + echo "CONFIG_EAP_SIM=y" >> ${CONFIG} + echo "CONFIG_EAP_AKA=y" >> ${CONFIG} + echo "CONFIG_EAP_AKA_PRIME=y" >> ${CONFIG} + echo "CONFIG_EAP_EKE=y" >> ${CONFIG} + echo "CONFIG_EAP_PAX=y" >> ${CONFIG} + echo "CONFIG_EAP_PSK=y" >> ${CONFIG} + echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} + echo "CONFIG_EAP_PWD=y" >> ${CONFIG} + + einfo "Enabling drivers: " + + # drivers + echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} + einfo " HostAP driver enabled" + echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} + einfo " Wired driver enabled" + echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} + einfo " Prism54 driver enabled" + echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} + einfo " None driver enabled" + + einfo " nl80211 driver enabled" + echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} + + # epoll + echo "CONFIG_ELOOP_EPOLL=y" >> ${CONFIG} + + # misc + echo "CONFIG_DEBUG_FILE=y" >> ${CONFIG} + echo "CONFIG_PKCS12=y" >> ${CONFIG} + echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} + echo "CONFIG_IAPP=y" >> ${CONFIG} + echo "CONFIG_IEEE80211R=y" >> ${CONFIG} + echo "CONFIG_IEEE80211W=y" >> ${CONFIG} + echo "CONFIG_IEEE80211N=y" >> ${CONFIG} + echo "CONFIG_IEEE80211AC=y" >> ${CONFIG} + echo "CONFIG_PEERKEY=y" >> ${CONFIG} + echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} + echo "CONFIG_INTERWORKING=y" >> ${CONFIG} + echo "CONFIG_FULL_DYNAMIC_VLAN=y" >> ${CONFIG} + echo "CONFIG_HS20=y" >> ${CONFIG} + echo "CONFIG_WNM=y" >> ${CONFIG} + echo "CONFIG_FST=y" >> ${CONFIG} + echo "CONFIG_FST_TEST=y" >> ${CONFIG} + echo "CONFIG_ACS=y" >> ${CONFIG} + + if use netlink; then + # Netlink support + echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG} + fi + + if use ipv6; then + # IPv6 support + echo "CONFIG_IPV6=y" >> ${CONFIG} + fi + + if use sqlite; then + # Sqlite support + echo "CONFIG_SQLITE=y" >> ${CONFIG} + fi + + # If we are using libnl 2.0 and above, enable support for it + # Removed for now, since the 3.2 version is broken, and we don't + # support it. + if has_version ">=dev-libs/libnl-3.2"; then + echo "CONFIG_LIBNL32=y" >> .config + fi + + # TODO: Add support for BSD drivers + + default_src_configure +} + +src_compile() { + emake V=1 + + if use ssl; then + emake V=1 nt_password_hash + emake V=1 hlr_auc_gw + fi +} + +src_install() { + insinto /etc/${PN} + doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} + + fperms -R 600 /etc/${PN} + + dosbin ${PN} + dobin ${PN}_cli + + use ssl && dobin nt_password_hash hlr_auc_gw + + newinitd "${FILESDIR}"/${PN}-init.d ${PN} + newconfd "${FILESDIR}"/${PN}-conf.d ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + + doman ${PN}{.8,_cli.1} + + dodoc ChangeLog README + use wps && dodoc README-WPS + + docinto examples + dodoc wired.conf + + if use logwatch; then + insinto /etc/log.d/conf/services/ + doins logwatch/${PN}.conf + + exeinto /etc/log.d/scripts/services/ + doexe logwatch/${PN} + fi + + save_config .config +} + +pkg_postinst() { + einfo + einfo "If you are running openRC you need to follow this instructions:" + einfo "In order to use ${PN} you need to set up your wireless card" + einfo "for master mode in /etc/conf.d/net and then start" + einfo "/etc/init.d/${PN}." + einfo + einfo "Example configuration:" + einfo + einfo "config_wlan0=( \"192.168.1.1/24\" )" + einfo "channel_wlan0=\"6\"" + einfo "essid_wlan0=\"test\"" + einfo "mode_wlan0=\"master\"" + einfo + #if [ -e "${KV_DIR}"/net/mac80211 ]; then + # einfo "This package now compiles against the headers installed by" + # einfo "the kernel source for the mac80211 driver. You should " + # einfo "re-emerge ${PN} after upgrading your kernel source." + #fi + + if use wps; then + einfo "You have enabled Wi-Fi Protected Setup support, please" + einfo "read the README-WPS file in /usr/share/doc/${P}" + einfo "for info on how to use WPS" + fi +} diff --git a/net-wireless/hostapd/metadata.xml b/net-wireless/hostapd/metadata.xml index 1b21c81f5917..59217d505469 100644 --- a/net-wireless/hostapd/metadata.xml +++ b/net-wireless/hostapd/metadata.xml @@ -18,4 +18,8 @@ <email>andrey_utkin@gentoo.org</email> <name>Andrey Utkin</name> </maintainer> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> </pkgmetadata> diff --git a/net-wireless/kismet/Manifest b/net-wireless/kismet/Manifest index a6880a6e5617..5438d888427b 100644 --- a/net-wireless/kismet/Manifest +++ b/net-wireless/kismet/Manifest @@ -3,5 +3,5 @@ AUX kismet.confd 403 BLAKE2B 2c286c0731489fd069f6fd5e0bd2ff92d16bac89175ebeffcb4 AUX kismet.initd 629 BLAKE2B 5dd54d0f05c65d65682be73f15388e82dc45881d4704b04835e36f587956a0953d822557bb0baf685846a0d2bfd90db0995793f6d46a2adc5aa07dbc525df846 SHA512 864f79715b35595a19f370c2382c3a3383d06245cca7a65b88a35b9ceafb2f4953044e6b3c5c71748ed68d890043ab69a2c47d630c14c51542ba3f86699a11db DIST kismet-2016-07-R1.tar.xz 709364 BLAKE2B 5b667a02b517bd413d569f40df1f2a2e1158357c602fa807d712870543a7fade25077f449c07c023ad1d2150870352aa754484846d8c2a0d9f027113bb57c1fc SHA512 88891a0cd5ef94a4815d259e433f946f52552c125e05a5d8ac447d04e6090f2bd92f8bd8573440f0dfe446b29233bef81d9889e53170757ad0116ddfc2cb8416 EBUILD kismet-2016.07.1-r1.ebuild 4190 BLAKE2B ef050f41fda06b2130d4483948d84bbf5a22b9197225f86a7ef1c20fcc05cc67b5dc94b85ca26b7b5c30c3afdd0645c7e1e8e2479305fdd967326eebe0d9685f SHA512 b0f441d0ac5082c4f2ffef6334934afd9e596e112b46349e0c7912c834e4d671f1986cfcd4a20387e00d5561dd926ebe0c2eb8ecbf9b27caff7b32e5c12c0255 -EBUILD kismet-9999.ebuild 4829 BLAKE2B 3672aedbaa2a4e420cdc52fa95858c59ac1d6a1031b4c1b739f3f477731ec45a9803766d03a85a257c0bcf92daf48faa0c2e3eb4e8a936b4c5ba3e95f7f5a9aa SHA512 a876b8afc036bcee7dca283c91df99d2363f2116667b8084c15f5f0676ee523dda55b97450eeb1cf8b401d82f8f28da1695c8dfb490fca10c41efac17a99fde7 +EBUILD kismet-9999.ebuild 4585 BLAKE2B fcdd532ba0f68b04a5375c3f6de965c3bea2faadbdebd00535864ddfd8fd7b9cde48cbcf37a6d81d81de740cc2630db5fc2399e9dbbe8d723b63d841377971ef SHA512 198e3ceff3a1243983ebf3536d2565304e674e3aae2333669cce1632b72ef81c3dbd9097770d876f0765c574f2a398f9d22ffb058b2c128c8e78b4e30aaf58d1 MISC metadata.xml 1159 BLAKE2B 2e72c1c62f31b52445c83b6b0d7695c7f1231de69fbe865e123a18dc0030a0f57586b058a7e738d561f48413e8a6ff0e8ac73428de2c41688e5baa1e4c255af1 SHA512 cf7c0f4c38f0a5e7b9c51c9fc98f5dd49e51159986443687a81d486c8805aea069168832f406a16b36dc6342be063fdbcade74685273fcdd2111ea9a616437d7 diff --git a/net-wireless/kismet/kismet-9999.ebuild b/net-wireless/kismet/kismet-9999.ebuild index 0cd7c6acad68..2b1292aff57d 100644 --- a/net-wireless/kismet/kismet-9999.ebuild +++ b/net-wireless/kismet/kismet-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -25,8 +25,7 @@ HOMEPAGE="http://www.kismetwireless.net/" LICENSE="GPL-2" SLOT="0/${PV}" -#IUSE="+client +pcre speech +plugin-autowep +plugin-btscan plugin-dot15d4 +plugin-ptw +plugin-spectools +plugin-syslog selinux +suid" -IUSE="+client +pcre speech selinux +suid" +IUSE="+pcre speech selinux +suid" CDEPEND=" net-misc/networkmanager:= @@ -39,9 +38,10 @@ CDEPEND=" dev-libs/libnl:3 net-libs/libpcap ) + dev-libs/protobuf-c:= + sys-libs/ncurses:= pcre? ( dev-libs/libpcre ) suid? ( sys-libs/libcap ) - client? ( sys-libs/ncurses:0= ) !arm? ( speech? ( app-accessibility/flite ) ) " #plugin-btscan? ( net-wireless/bluez ) @@ -58,7 +58,7 @@ RDEPEND="${CDEPEND} src_prepare() { sed -i -e "s:^\(logtemplate\)=\(.*\):\1=/tmp/\2:" \ - conf/kismet.conf.in + conf/kismet_logging.conf || die # Don't strip and set correct mangrp sed -i -e 's| -s||g' \ @@ -70,8 +70,8 @@ src_prepare() { src_configure() { econf \ - $(use_enable client) \ - $(use_enable pcre) + $(use_enable pcre) \ + --disable-python-tools } src_compile() { @@ -159,14 +159,14 @@ src_install() { pkg_preinst() { if use suid; then enewgroup kismet - fowners root:kismet /usr/bin/kismet_capture_tools/kismet_cap_linux_bluetooth - fowners root:kismet /usr/bin/kismet_capture_tools/kismet_cap_linux_wifi - fowners root:kismet /usr/bin/kismet_capture_tools/kismet_cap_pcapfile + fowners root:kismet /usr/bin/kismet_cap_linux_bluetooth + fowners root:kismet /usr/bin/kismet_cap_linux_wifi + fowners root:kismet /usr/bin/kismet_cap_pcapfile # Need to set the permissions after chowning. # See chown(2) - fperms 4550 /usr/bin/kismet_capture_tools/kismet_cap_linux_bluetooth - fperms 4550 /usr/bin/kismet_capture_tools/kismet_cap_linux_wifi - fperms 4550 /usr/bin/kismet_capture_tools/kismet_cap_pcapfile + fperms 4550 /usr/bin/kismet_cap_linux_bluetooth + fperms 4550 /usr/bin/kismet_cap_linux_wifi + fperms 4550 /usr/bin/kismet_cap_pcapfile elog "Kismet has been installed with a setuid-root helper binary" elog "to enable minimal-root operation. Users need to be part of" elog "the 'kismet' group to perform captures from physical devices." diff --git a/net-wireless/reaver/Manifest b/net-wireless/reaver/Manifest index 9b43f8359512..b5e9a027b6c2 100644 --- a/net-wireless/reaver/Manifest +++ b/net-wireless/reaver/Manifest @@ -4,5 +4,5 @@ AUX reaver-1.4_parallel-make.patch 1074 BLAKE2B a4f36781138a2430a4830f9bda1a22d8 AUX reaver-1.4_var_db.patch 405 BLAKE2B 63a3fdcbd8ab6f640a0950c9d817cf281f9fc40dd6d6fa6abe37c3c99c036d4c806f1a9a063841fa969545e580d40e96ece15e7ef5e593a84cba71f3d34084ab SHA512 fa79135c59e25afaa254efb6029d1d87bbc2a00a778e4969b916b3cf428a784d61ba871048f297eba473af0ed4a0b1d56da00b045b69875711e127057d1d6efc AUX reaver-1.4_wps_registrar.patch 422 BLAKE2B 978fa05e7ffd86e876866f63fcf48fe0ba81ae066fd6c849693570b89a1a90e6f090de2c207abcd733a7b6bdcae4ce0769859081b295e2602c32cfa905bfa474 SHA512 226f6748026f7d8662eb04089a4265ce6dec0cdaeb7e054de2108922c873270d88ccf86aeea6bd1ff03031c3b77ef6e276b4012fa0110447856cafa5a80a523d DIST reaver-1.4.tar.gz 766603 BLAKE2B 4a488364718a17ec29c1d8da4bc7032b65e4597b89c2949e7108d625276e60d0b424f3b87a3d6baa30d5909ac206d6f7793f5e4514c307cc54784386ce5ce422 SHA512 59f2d6f8aa6228988ce5d1c102d9a48b2a23e582ff3d9afe39d7c9717b7e4be059362fdd21a3e5f5d59948df1a7616acdaa6df20f139e9c5aa9bd673f764dfbc -EBUILD reaver-1.4-r3.ebuild 882 BLAKE2B 9dfe93ed606136dd7957aa7d46836751f03fe8f96f2ed425639af99b7e0eb5a636cac45afbc475cbc368a878e4ee07c40d7b8e07c6b8810e73bc2f669e1be1c4 SHA512 63b498c9578fa0d49dfef823fb5ba2ef7a02187fff778bf339fea4b08897e6d44b62d0fa9d3692b17c825c5dfae538dcbb5f400a13e9048d38ef46076f380fbd +EBUILD reaver-1.4-r3.ebuild 964 BLAKE2B a00975cc61ca9a7cd605917ded7f980a7f394352e915194565d84ebd69185ed676640ceabdd46ad135148c21ed2d2019daa62129cc786ffb5a341ce4ae207a7e SHA512 fafceaf8cb57fde5d76c9044f982196932f2168b5706fe22f689b17e61db1c71c44995dd90d9b4e3eb920a4762b0b446c8d87aef6b5fb8185859680edf0157e3 MISC metadata.xml 461 BLAKE2B b23d4c4b8865ca1c58140486368ee2f4daa29d67af27cc5cce63c137d652c4d28b131140807735e9a5125790cc53629eeef074705278c5a550073d92c3447894 SHA512 503400e6ae36b1819015f51f0e5e01d7ba3c18c0133d625f3c35242dcaef5cd5ce72d57caf1b18892dee2865fcd1af1313f42140f360c249f2048874985d5d5d diff --git a/net-wireless/reaver/reaver-1.4-r3.ebuild b/net-wireless/reaver/reaver-1.4-r3.ebuild index 393abcd1a365..2769fa2548fc 100644 --- a/net-wireless/reaver/reaver-1.4-r3.ebuild +++ b/net-wireless/reaver/reaver-1.4-r3.ebuild @@ -33,6 +33,9 @@ PATCHES=( src_compile() { emake V=1 + + # doman accept only uncompressed files #619966 + gzip -d ../docs/reaver.1.gz || die } src_install() { @@ -41,6 +44,6 @@ src_install() { insinto "/var/db/reaver" doins reaver.db - doman ../docs/reaver.1.gz + doman ../docs/reaver.1 dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH } diff --git a/net-wireless/wpa_supplicant/Manifest b/net-wireless/wpa_supplicant/Manifest index c1eca51e5a5f..cd0d9c5b46c3 100644 --- a/net-wireless/wpa_supplicant/Manifest +++ b/net-wireless/wpa_supplicant/Manifest @@ -8,11 +8,13 @@ AUX 2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending- AUX 2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch 2750 BLAKE2B 059da1df148c8db68c9fa6aa656e46da301ebe7de3e41ecd4675ca579ebf6f1a66395e852cd8b562743ba83a345d4860618ea11bd01304a3386867115867fb9f SHA512 fc84edd8b30305cc42053c872554098f3f077292ec980ed6a442f37884087ff2f055738fd55977ed792bef1887dcc8c4626586465d78dd0258edb83dcd50a65a AUX wpa_cli.sh 1284 BLAKE2B 50757aa432bf714923d0ff5e2e8357bf3126c82dcfebbc2c342325ad97e3ca95a15ea138f9a55e5a7b9ac86cb2518c173e7d5186d5feb3e57ac762a71b11ef85 SHA512 250372231eda6f7228fcf76b13fc1b95637d0d9dec96b7bef820bfa1af1496f218909f521daf2ddb2ca81d0ebb3162500f833575b64d8d2b4820c247499e1c56 AUX wpa_supplicant-2.6-do-not-call-dbus-functions-with-NULL-path.patch 486 BLAKE2B 877e15a45851331a1499cf8bc96fd514d88b6b270f54d52760e46cc7edbcc4b74a48a0271f0c93b546bb659203c56fdfba63b231757c21ca8ee6ade98406ac2e SHA512 dac56bc505a51167042ebe548f0e81a20a5578f753af9bb7ec3335a542d799c6e8739681ef7c8f7747a9bc954f8aa6f1a147250eacba17fd7fff80c4e53638ed +AUX wpa_supplicant-2.6-libressl-compatibility.patch 3873 BLAKE2B 281029d49bd4267df5913aa87b2e70741def66646f6cfbf5cf163e88522ae5bb933be3ed0df971ff2872a25a36584409feb0d22acf8254f446421201026b1ce8 SHA512 61c4cfeb119a9bc7ab1d4f690c1af5bce2def7836212469011c277ad4d97ab601d2a1efca7dc7bea433d974a8820aed7740e2cf047a0c63734d8a71e3df14e45 AUX wpa_supplicant-2.6-libressl.patch 3003 BLAKE2B 49781bcb77e84912b8f46ec992da7c6b1b015cc793208e1f8afa6457991bcc1be130810d90671f0e53fa65dcebd4528c6e359f69a2576ee715317b796d31eec2 SHA512 2fb29ec14db2f33f8c011e1c2e98eef4d36b2e9f3b36f6058c390484ae5c64ad5d67aa25f138829503fabfac374bda24172871bdefef2a0566db963a5a362ec8 -AUX wpa_supplicant-conf.d 161 BLAKE2B 5fa719f155606c978c809bbffc3de20df0b0b77564c7673929d5597af044baf4937d7d18f73b4418c20942d73f9f7e9374a6958d03bde4033f0dd5a0c7cadb2c SHA512 29103161ec2b9631fca9e8d9a97fafd60ffac3fe78cf613b834395ddcaf8be1e253c22e060d7d9f9b974b2d7ce794caa932a2125e29f6494b75bce475f7b30e1 +AUX wpa_supplicant-conf.d 291 BLAKE2B 348e7d21fe01d2fdd2117adf22444557fa3d401f649489afd1636105cdddc29d58d45659c5368cc177f919ce94a7e2b5a9ed3fe8ddccd1fba3d059d270bae1a8 SHA512 6bbb9d4f6132b3d4e20cd65f27245ccadd60712ef5794261499f882057a930a393297e491d8147e04e30c0a53645af0eb3514332587118c19b5594f23f1d62ad AUX wpa_supplicant-init.d 1250 BLAKE2B 159ebbd5a3552cbd8fdd6d48984c3a511e77cf1e140f56fc1d3e6b16454351a270e566dd7fc4717b92251193bdf59a77f57fc3fdd1d53b067f2e5253796c041b SHA512 f7439937a11d7a91eee98ab9e16a4853ce8e27395970007ae60ca9a8b1852fadc4a37ee0bf81d7e4806c545f70b139f26942ed1630db070abe8fe8e5ce752403 AUX wpa_supplicant.conf 183 BLAKE2B ea25d56f366783548b8d4bc14615d89d1c9cff1e6535992d14fa2f87a095b6c7226fbdf6b2d2ecd5fdcc13fb413fc56d5294f906c840ab3f9386c99ea69139fc SHA512 425a5c955d462ea0d0d3f79c3e1bbf68e15b495df04ad03ed7aee12408b52616af05650dfc147ca5940d69e97360c33995d33733820fef8eb8769b31e58434e8 DIST wpa_supplicant-2.6.tar.gz 2753524 BLAKE2B 99c61326c402f60b384fa6c9a7381e43d4d021d7e44537a6e05552909270f30997da91b690d8a30aa690f0d1ce0aed7798bd8bb8972fcf6830c282ccc91193ac SHA512 46442cddb6ca043b8b08d143908f149954c238e0f3a57a0df73ca4fab9c1acd91b078f3f26375a1d99cd1d65625986328018c735d8705882c8f91e389cad28a6 EBUILD wpa_supplicant-2.6-r3.ebuild 11044 BLAKE2B ec092b2d8c8094c19ce1e019642ff074cfcc8ab40045d394e01c219fad6cb306dd0c8e6e33879c33d950d95af5bb5e851a667030aad5cc1fe6c9b5aeb6d9fc7d SHA512 2e2b23824a0a073a44e7c40cf21bc06f797a34d8768ecd645aa0f7216c81e1f0425fb09129824b1d927166f0d6fce0f4cff87afd1f65214db4546d83031c1e62 -EBUILD wpa_supplicant-2.6-r4.ebuild 11720 BLAKE2B 06b407e4fa5553cae85819459e95738e2b28f29608fd7fd5397f4827d6555ce2772eb19f536e591ef02fa8866381fd2788e9a7100900717cfc7e52f99b7b30fd SHA512 cf71f35672063730780f901b923c3b489c075457d04602b85f7d90345bccf528793bf2d51aad5658fe29c64375017c01fa149a64854f533652cfc55c52340d44 +EBUILD wpa_supplicant-2.6-r5.ebuild 11782 BLAKE2B b74866e78cc82cb5e3600135052024c11b628371932b52634754fa578c6f31ed0d58f5ba2e980fdd7f1ddf50c92e721e538098af2270a9061c64ee5e902940fe SHA512 afd5fc95a798031f7ac84fb17737a113db720686d9ad304d2abfd56b4c16468fc446926594ff87b17438d2b9c39762865782de794019a780074df87f9479307e +EBUILD wpa_supplicant-2.6-r6.ebuild 11805 BLAKE2B 8ae07d55f314e1500dc1f68c068551f16aac685ba7eb52313e9592be4071b5c591e4463409ada2964352be1d69f6af3b4d909eb55ba33dc7f5a858d2bf43b72e SHA512 591751ace8036d456fef927878cf0b6bcd9e2fd2fc155ac263260e642fd0d802bb64f83fea0307e140e17c2936f6d9ecc9a667e81e227d7c92c52a67991c1cfd MISC metadata.xml 1321 BLAKE2B 803180e489eb69bc2992a1fb794e16aa897f7502904771653ca507e339eb211a15d805430a27ea8fd55e64ac23799ca70a65b33f4b35639e77d67f7dabe07d56 SHA512 bcc33ebea7348879a4dcaaaa7baeae3e316e5b75919b55310be1dc2dacac6a8e8d9993ac3481d3a790c12b5515f6fd3b1f778737b4c19ecf37eedc9c2e20a9ed diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.6-libressl-compatibility.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.6-libressl-compatibility.patch new file mode 100644 index 000000000000..025da58028da --- /dev/null +++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.6-libressl-compatibility.patch @@ -0,0 +1,106 @@ +diff --git a/src/crypto/crypto_openssl.c b/src/crypto/crypto_openssl.c +index 19e0e2be8..6585c0245 100644 +--- a/src/crypto/crypto_openssl.c ++++ b/src/crypto/crypto_openssl.c +@@ -33,7 +33,9 @@ + #include "aes_wrap.h" + #include "crypto.h" + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + /* Compatibility wrappers for older versions. */ + + static HMAC_CTX * HMAC_CTX_new(void) +@@ -79,7 +81,9 @@ static void EVP_MD_CTX_free(EVP_MD_CTX *ctx) + + static BIGNUM * get_group5_prime(void) + { +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \ ++ !(defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + return BN_get_rfc3526_prime_1536(NULL); + #elif !defined(OPENSSL_IS_BORINGSSL) + return get_rfc3526_prime_1536(NULL); +@@ -611,7 +615,9 @@ void crypto_cipher_deinit(struct crypto_cipher *ctx) + + void * dh5_init(struct wpabuf **priv, struct wpabuf **publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + DH *dh; + struct wpabuf *pubkey = NULL, *privkey = NULL; + size_t publen, privlen; +@@ -712,7 +718,9 @@ err: + + void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + DH *dh; + + dh = DH_new(); +diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c +index 23ac64b48..91acc579d 100644 +--- a/src/crypto/tls_openssl.c ++++ b/src/crypto/tls_openssl.c +@@ -59,7 +59,8 @@ typedef int stack_index_t; + #endif /* SSL_set_tlsext_status_type */ + + #if (OPENSSL_VERSION_NUMBER < 0x10100000L || \ +- defined(LIBRESSL_VERSION_NUMBER)) && \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L)) && \ + !defined(BORINGSSL_API_VERSION) + /* + * SSL_get_client_random() and SSL_get_server_random() were added in OpenSSL +@@ -919,7 +920,9 @@ void * tls_init(const struct tls_config *conf) + } + #endif /* OPENSSL_FIPS */ + #endif /* CONFIG_FIPS */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + SSL_load_error_strings(); + SSL_library_init(); + #ifndef OPENSSL_NO_SHA256 +@@ -1043,7 +1046,9 @@ void tls_deinit(void *ssl_ctx) + + tls_openssl_ref_count--; + if (tls_openssl_ref_count == 0) { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + #ifndef OPENSSL_NO_ENGINE + ENGINE_cleanup(); + #endif /* OPENSSL_NO_ENGINE */ +@@ -3105,7 +3110,9 @@ int tls_connection_get_random(void *ssl_ctx, struct tls_connection *conn, + #ifdef OPENSSL_NEED_EAP_FAST_PRF + static int openssl_get_keyblock_size(SSL *ssl) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + const EVP_CIPHER *c; + const EVP_MD *h; + int md_size; +@@ -4159,7 +4166,9 @@ static int tls_sess_sec_cb(SSL *s, void *secret, int *secret_len, + struct tls_connection *conn = arg; + int ret; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && \ ++ LIBRESSL_VERSION_NUMBER < 0x20700000L) + if (conn == NULL || conn->session_ticket_cb == NULL) + return 0; + diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-conf.d b/net-wireless/wpa_supplicant/files/wpa_supplicant-conf.d index 104b9dc5d8c3..5381c8c748e2 100644 --- a/net-wireless/wpa_supplicant/files/wpa_supplicant-conf.d +++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-conf.d @@ -1,5 +1,9 @@ # conf.d file for wpa_supplicant -# + +# uncomment this if wpa_supplicant starts up before your network interface +# is ready and it causes issues +# rc_want="dev-settle" + # Please check man 8 wpa_supplicant for more information about the options # wpa_supplicant accepts. # diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r4.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r5.ebuild index 02b2a20e35f8..db98a23c929a 100644 --- a/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r4.ebuild +++ b/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r5.ebuild @@ -13,7 +13,7 @@ LICENSE="|| ( GPL-2 BSD )" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" IUSE="ap dbus eap-sim eapol_test fasteap gnutls +hs2-0 libressl p2p privsep ps3 qt5 readline selinux smartcard ssl tdls uncommon-eap-types wimax wps kernel_linux kernel_FreeBSD" -REQUIRED_USE="fasteap? ( !ssl ) smartcard? ( ssl )" +REQUIRED_USE="smartcard? ( ssl )" CDEPEND="dbus? ( sys-apps/dbus ) kernel_linux? ( @@ -38,7 +38,7 @@ CDEPEND="dbus? ( sys-apps/dbus ) net-libs/gnutls:= ) !gnutls? ( - !libressl? ( dev-libs/openssl:0= ) + !libressl? ( >=dev-libs/openssl-1.0.2k:0= ) libressl? ( dev-libs/libressl:0= ) ) ) @@ -142,6 +142,9 @@ src_prepare() { eapply "${FILESDIR}/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch" eapply "${FILESDIR}/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch" eapply "${FILESDIR}/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch" + + # bug (640492) + sed -i 's#-Werror ##' wpa_supplicant/Makefile || die } src_configure() { diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r6.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r6.ebuild new file mode 100644 index 000000000000..ad09f128b089 --- /dev/null +++ b/net-wireless/wpa_supplicant/wpa_supplicant-2.6-r6.ebuild @@ -0,0 +1,436 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils qmake-utils systemd toolchain-funcs readme.gentoo-r1 + +DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers" +HOMEPAGE="https://w1.fi/wpa_supplicant/" +SRC_URI="https://w1.fi/releases/${P}.tar.gz" +LICENSE="|| ( GPL-2 BSD )" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="ap dbus eap-sim eapol_test fasteap gnutls +hs2-0 libressl p2p privsep ps3 qt5 readline selinux smartcard ssl tdls uncommon-eap-types wimax wps kernel_linux kernel_FreeBSD" +REQUIRED_USE="smartcard? ( ssl )" + +CDEPEND="dbus? ( sys-apps/dbus ) + kernel_linux? ( + dev-libs/libnl:3 + net-wireless/crda + eap-sim? ( sys-apps/pcsc-lite ) + ) + !kernel_linux? ( net-libs/libpcap ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + ) + readline? ( + sys-libs/ncurses:0= + sys-libs/readline:0= + ) + ssl? ( + gnutls? ( + dev-libs/libgcrypt:0= + net-libs/gnutls:= + ) + !gnutls? ( + !libressl? ( >=dev-libs/openssl-1.0.2k:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + !ssl? ( dev-libs/libtommath ) +" +DEPEND="${CDEPEND} + virtual/pkgconfig +" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-networkmanager ) +" + +DOC_CONTENTS=" + If this is a clean installation of wpa_supplicant, you + have to create a configuration file named + ${EROOT%/}/etc/wpa_supplicant/wpa_supplicant.conf + An example configuration file is available for reference in + ${EROOT%/}/usr/share/doc/${PF}/ +" + +S="${WORKDIR}/${P}/${PN}" + +Kconfig_style_config() { + #param 1 is CONFIG_* item + #param 2 is what to set it = to, defaulting in y + CONFIG_PARAM="${CONFIG_HEADER:-CONFIG_}$1" + setting="${2:-y}" + + if [ ! $setting = n ]; then + #first remove any leading "# " if $2 is not n + sed -i "/^# *$CONFIG_PARAM=/s/^# *//" .config || echo "Kconfig_style_config error uncommenting $CONFIG_PARAM" + #set item = $setting (defaulting to y) + sed -i "/^$CONFIG_PARAM/s/=.*/=$setting/" .config || echo "Kconfig_style_config error setting $CONFIG_PARAM=$setting" + if [ -z "$( grep ^$CONFIG_PARAM= .config )" ] ; then + echo "$CONFIG_PARAM=$setting" >>.config + fi + else + #ensure item commented out + sed -i "/^$CONFIG_PARAM/s/$CONFIG_PARAM/# $CONFIG_PARAM/" .config || echo "Kconfig_style_config error commenting $CONFIG_PARAM" + fi +} + +pkg_setup() { + if use ssl ; then + if use gnutls && use libressl ; then + elog "You have both 'gnutls' and 'libressl' USE flags enabled: defaulting to USE=\"gnutls\"" + fi + else + elog "You have 'ssl' USE flag disabled: defaulting to internal TLS implementation" + fi +} + +src_prepare() { + default + + # net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD + sed -i \ + -e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \ + ../src/l2_packet/l2_packet_freebsd.c || die + + # People seem to take the example configuration file too literally (bug #102361) + sed -i \ + -e "s:^\(opensc_engine_path\):#\1:" \ + -e "s:^\(pkcs11_engine_path\):#\1:" \ + -e "s:^\(pkcs11_module_path\):#\1:" \ + wpa_supplicant.conf || die + + # Change configuration to match Gentoo locations (bug #143750) + sed -i \ + -e "s:/usr/lib/opensc:/usr/$(get_libdir):" \ + -e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \ + wpa_supplicant.conf || die + + # systemd entries to D-Bus service files (bug #372877) + echo 'SystemdService=wpa_supplicant.service' \ + | tee -a dbus/*.service >/dev/null || die + + cd "${WORKDIR}/${P}" || die + + if use wimax; then + # generate-libeap-peer.patch comes before + # fix-undefined-reference-to-random_get_bytes.patch + eapply "${FILESDIR}/${P}-generate-libeap-peer.patch" + + # multilib-strict fix (bug #373685) + sed -e "s/\/usr\/lib/\/usr\/$(get_libdir)/" -i src/eap_peer/Makefile || die + fi + + # bug (320097) + eapply "${FILESDIR}/${P}-do-not-call-dbus-functions-with-NULL-path.patch" + + # bug (596332 & 651314) + eapply "${FILESDIR}/${P}-libressl-compatibility.patch" + + # https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt + eapply "${FILESDIR}/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch" + eapply "${FILESDIR}/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch" + + # bug (640492) + sed -i 's#-Werror ##' wpa_supplicant/Makefile || die +} + +src_configure() { + # Toolchain setup + tc-export CC + + cp defconfig .config || die + + # Basic setup + Kconfig_style_config CTRL_IFACE + Kconfig_style_config MATCH_IFACE + Kconfig_style_config BACKEND file + Kconfig_style_config IBSS_RSN + Kconfig_style_config IEEE80211W + Kconfig_style_config IEEE80211R + + # Basic authentication methods + # NOTE: we don't set GPSK or SAKE as they conflict + # with the below options + Kconfig_style_config EAP_GTC + Kconfig_style_config EAP_MD5 + Kconfig_style_config EAP_OTP + Kconfig_style_config EAP_PAX + Kconfig_style_config EAP_PSK + Kconfig_style_config EAP_TLV + Kconfig_style_config EAP_EXE + Kconfig_style_config IEEE8021X_EAPOL + Kconfig_style_config PKCS12 + Kconfig_style_config PEERKEY + Kconfig_style_config EAP_LEAP + Kconfig_style_config EAP_MSCHAPV2 + Kconfig_style_config EAP_PEAP + Kconfig_style_config EAP_TLS + Kconfig_style_config EAP_TTLS + + # Enabling background scanning. + Kconfig_style_config BGSCAN_SIMPLE + Kconfig_style_config BGSCAN_LEARN + + if use dbus ; then + Kconfig_style_config CTRL_IFACE_DBUS + Kconfig_style_config CTRL_IFACE_DBUS_NEW + Kconfig_style_config CTRL_IFACE_DBUS_INTRO + fi + + if use eapol_test ; then + Kconfig_style_config EAPOL_TEST + fi + + # Enable support for writing debug info to a log file and syslog. + Kconfig_style_config DEBUG_FILE + Kconfig_style_config DEBUG_SYSLOG + + if use hs2-0 ; then + Kconfig_style_config INTERWORKING + Kconfig_style_config HS20 + fi + + if use uncommon-eap-types; then + Kconfig_style_config EAP_GPSK + Kconfig_style_config EAP_SAKE + Kconfig_style_config EAP_GPSK_SHA256 + Kconfig_style_config EAP_IKEV2 + Kconfig_style_config EAP_EKE + fi + + if use eap-sim ; then + # Smart card authentication + Kconfig_style_config EAP_SIM + Kconfig_style_config EAP_AKA + Kconfig_style_config EAP_AKA_PRIME + Kconfig_style_config PCSC + fi + + if use fasteap ; then + Kconfig_style_config EAP_FAST + fi + + if use readline ; then + # readline/history support for wpa_cli + Kconfig_style_config READLINE + else + #internal line edit mode for wpa_cli + Kconfig_style_config WPA_CLI_EDIT + fi + + # SSL authentication methods + if use ssl ; then + if use gnutls ; then + Kconfig_style_config TLS gnutls + Kconfig_style_config GNUTLS_EXTRA + else + Kconfig_style_config TLS openssl + Kconfig_style_config EAP_PWD + + # Enabling mesh networks. + Kconfig_style_config MESH + fi + else + Kconfig_style_config TLS internal + fi + + if use smartcard ; then + Kconfig_style_config SMARTCARD + fi + + if use tdls ; then + Kconfig_style_config TDLS + fi + + if use kernel_linux ; then + # Linux specific drivers + Kconfig_style_config DRIVER_ATMEL + Kconfig_style_config DRIVER_HOSTAP + Kconfig_style_config DRIVER_IPW + Kconfig_style_config DRIVER_NL80211 + Kconfig_style_config DRIVER_RALINK + Kconfig_style_config DRIVER_WEXT + Kconfig_style_config DRIVER_WIRED + + if use ps3 ; then + Kconfig_style_config DRIVER_PS3 + fi + + elif use kernel_FreeBSD ; then + # FreeBSD specific driver + Kconfig_style_config DRIVER_BSD + fi + + # Wi-Fi Protected Setup (WPS) + if use wps ; then + Kconfig_style_config WPS + Kconfig_style_config WPS2 + # USB Flash Drive + Kconfig_style_config WPS_UFD + # External Registrar + Kconfig_style_config WPS_ER + # Universal Plug'n'Play + Kconfig_style_config WPS_UPNP + # Near Field Communication + Kconfig_style_config WPS_NFC + fi + + # Wi-Fi Direct (WiDi) + if use p2p ; then + Kconfig_style_config P2P + Kconfig_style_config WIFI_DISPLAY + fi + + # Access Point Mode + if use ap ; then + Kconfig_style_config AP + fi + + # Enable essentials for AP/P2P + if use ap || use p2p ; then + # Enabling HT support (802.11n) + Kconfig_style_config IEEE80211N + + # Enabling VHT support (802.11ac) + Kconfig_style_config IEEE80211AC + fi + + # Enable mitigation against certain attacks against TKIP + Kconfig_style_config DELAYED_MIC_ERROR_REPORT + + if use privsep ; then + Kconfig_style_config PRIVSEP + fi + + # If we are using libnl 2.0 and above, enable support for it + # Bug 382159 + # Removed for now, since the 3.2 version is broken, and we don't + # support it. + if has_version ">=dev-libs/libnl-3.2"; then + Kconfig_style_config LIBNL32 + fi + + if use qt5 ; then + pushd "${S}"/wpa_gui-qt4 > /dev/null || die + eqmake5 wpa_gui.pro + popd > /dev/null || die + fi +} + +src_compile() { + einfo "Building wpa_supplicant" + emake V=1 BINDIR=/usr/sbin + + if use wimax; then + emake -C ../src/eap_peer clean + emake -C ../src/eap_peer + fi + + if use qt5; then + einfo "Building wpa_gui" + emake -C "${S}"/wpa_gui-qt4 + fi + + if use eapol_test ; then + emake eapol_test + fi +} + +src_install() { + dosbin wpa_supplicant + use privsep && dosbin wpa_priv + dobin wpa_cli wpa_passphrase + + # baselayout-1 compat + if has_version "<sys-apps/baselayout-2.0.0"; then + dodir /sbin + dosym ../usr/sbin/wpa_supplicant /sbin/wpa_supplicant + dodir /bin + dosym ../usr/bin/wpa_cli /bin/wpa_cli + fi + + if has_version ">=sys-apps/openrc-0.5.0"; then + newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant + newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant + fi + + exeinto /etc/wpa_supplicant/ + newexe "${FILESDIR}/wpa_cli.sh" wpa_cli.sh + + readme.gentoo_create_doc + dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \ + wpa_supplicant.conf + + newdoc .config build-config + + doman doc/docbook/*.{5,8} + + if use qt5 ; then + into /usr + dobin wpa_gui-qt4/wpa_gui + doicon wpa_gui-qt4/icons/wpa_gui.svg + make_desktop_entry wpa_gui "WPA Supplicant Administration GUI" "wpa_gui" "Qt;Network;" + else + rm "${ED}"/usr/share/man/man8/wpa_gui.8 + fi + + use wimax && emake DESTDIR="${D}" -C ../src/eap_peer install + + if use dbus ; then + pushd "${S}"/dbus > /dev/null || die + insinto /etc/dbus-1/system.d + newins dbus-wpa_supplicant.conf wpa_supplicant.conf + insinto /usr/share/dbus-1/system-services + doins fi.epitest.hostap.WPASupplicant.service fi.w1.wpa_supplicant1.service + popd > /dev/null || die + + # This unit relies on dbus support, bug 538600. + systemd_dounit systemd/wpa_supplicant.service + fi + + if use eapol_test ; then + dobin eapol_test + fi + + systemd_dounit "systemd/wpa_supplicant@.service" + systemd_dounit "systemd/wpa_supplicant-nl80211@.service" + systemd_dounit "systemd/wpa_supplicant-wired@.service" +} + +pkg_postinst() { + readme.gentoo_print_elog + + if [[ -e "${EROOT%/}"/etc/wpa_supplicant.conf ]] ; then + echo + ewarn "WARNING: your old configuration file ${EROOT%/}/etc/wpa_supplicant.conf" + ewarn "needs to be moved to ${EROOT%/}/etc/wpa_supplicant/wpa_supplicant.conf" + fi + + # Mea culpa, feel free to remove that after some time --mgorny. + local fn + for fn in wpa_supplicant{,@wlan0}.service; do + if [[ -e "${EROOT%/}"/etc/systemd/system/network.target.wants/${fn} ]] + then + ebegin "Moving ${fn} to multi-user.target" + mv "${EROOT%/}"/etc/systemd/system/network.target.wants/${fn} \ + "${EROOT%/}"/etc/systemd/system/multi-user.target.wants/ || die + eend ${?} \ + "Please try to re-enable ${fn}" + fi + done + + systemd_reenable wpa_supplicant.service +} |