diff options
author | Alon Bar-Lev <alonbl@gentoo.org> | 2017-01-14 00:13:01 +0200 |
---|---|---|
committer | Alon Bar-Lev <alonbl@gentoo.org> | 2017-01-14 00:13:14 +0200 |
commit | eba2ed3873d7ba5e77e462040e366215a212bb82 (patch) | |
tree | dce8811e3e1373e9b0b9b5e4f147ab382c4e0a3a /net-wireless/aircrack-ng | |
parent | app-admin/ansible: Latest security fixed release candidates (diff) | |
download | gentoo-eba2ed3873d7ba5e77e462040e366215a212bb82.tar.gz gentoo-eba2ed3873d7ba5e77e462040e366215a212bb82.tar.bz2 gentoo-eba2ed3873d7ba5e77e462040e366215a212bb82.zip |
net-wireless/aircrack-ng: openssl-1.1 issues
+cleanup.
Bug: 604844
Thanks: eroen
Package-Manager: portage-2.3.0
Diffstat (limited to 'net-wireless/aircrack-ng')
3 files changed, 191 insertions, 45 deletions
diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.2_rc4-r1.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.2_rc4-r1.ebuild new file mode 100644 index 000000000000..21e2e5ca0acc --- /dev/null +++ b/net-wireless/aircrack-ng/aircrack-ng-1.2_rc4-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit toolchain-funcs distutils-r1 flag-o-matic + +DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys" +HOMEPAGE="http://www.aircrack-ng.org" + +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" + +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} + 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} )" + +PATCHES=( + "${FILESDIR}/${P}-openssl.patch" +) + +S="${WORKDIR}/${PN}-${MY_PV}" + +pkg_setup() { + MAKE_COMMON=( + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + 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" \ + ) +} + +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() { + emake "${MAKE_COMMON[@]}" install + + dodoc AUTHORS ChangeLog INSTALLING README + + 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-9999.ebuild b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild index adc654df125f..07e1546037f4 100644 --- a/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild +++ b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI="5" +EAPI="6" PYTHON_COMPAT=( python2_7 ) DISTUTILS_OPTIONAL=1 @@ -18,12 +18,6 @@ if [[ ${PV} == "9999" ]] ; then KEYWORDS="" S="${WORKDIR}/${PN}" else - #inherit versionator - #MY_P=${P/\_/-} - #MY_PV="$(replace_version_separator 2 '-')" - #SRC_URI="http://download.aircrack-ng.org/${PN}-${MY_PV}.tar.gz" - #KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" - #S="${WORKDIR}/${MY_P}" 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" @@ -56,27 +50,31 @@ RDEPEND="${DEPEND} 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)" \ + 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}" + ) +} + src_compile() { if [[ $($(tc-getCC) --version) == clang* ]] ; then #https://bugs.gentoo.org/show_bug.cgi?id=472890 filter-flags -frecord-gcc-switches fi - if [[ ${PV} == "9999" ]] ; then - liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}" - fi - - emake \ - CC="$(tc-getCC)" \ - CXX="$(tc-getCXX)" \ - 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) \ - ${liveflags} + emake "${MAKE_COMMON[@]}" if use airgraph-ng; then cd "${S}/scripts/airgraph-ng" @@ -89,31 +87,11 @@ src_compile() { } src_test() { - if [[ ${PV} == "9999" ]] ; then - liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}" - fi - - emake check \ - libnl=$(usex netlink true false) \ - pcre=$(usex pcre true false) \ - sqlite=$(usex sqlite true false) \ - experimental=$(usex experimental true false) \ - ${liveflags} + emake "${MAKE_COMMON[@]}" check } src_install() { - if [[ ${PV} == "9999" ]] ; then - liveflags=REVFLAGS=-D_REVISION="${ESVN_WC_REVISION}" - fi - - emake \ - prefix="${ED}/usr" \ - libnl=$(usex netlink true false) \ - pcre=$(usex pcre true false) \ - sqlite=$(usex sqlite true false) \ - experimental=$(usex experimental true false) \ - ${liveflags} \ - install + emake "${MAKE_COMMON[@]}" install dodoc AUTHORS ChangeLog INSTALLING README diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.2_rc4-openssl.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.2_rc4-openssl.patch new file mode 100644 index 000000000000..a83f622d3a60 --- /dev/null +++ b/net-wireless/aircrack-ng/files/aircrack-ng-1.2_rc4-openssl.patch @@ -0,0 +1,49 @@ +Index: a/src/crypto.c +=================================================================== +--- a/src/crypto.c (revision 2881) ++++ b/src/crypto.c (revision 2882) +@@ -288,7 +288,15 @@ + void calc_mic (struct AP_info *ap, unsigned char pmk[32], unsigned char ptk[80], unsigned char mic[20]) { + int i; + unsigned char pke[100]; ++ #if defined(USE_GCRYPT) || OPENSSL_VERSION_NUMBER < 0x10100000L ++ #define HMAC_USE_NO_PTR ++ #endif ++ ++ #ifdef HMAC_USE_NO_PTR + HMAC_CTX ctx; ++ #else ++ HMAC_CTX * ctx; ++ #endif + + memcpy( pke, "Pairwise key expansion", 23 ); + +@@ -314,6 +322,7 @@ + memcpy( pke + 67, ap->wpa.snonce, 32 ); + } + ++ #ifdef HMAC_USE_NO_PTR + HMAC_CTX_init(&ctx); + HMAC_Init_ex(&ctx, pmk, 32, EVP_sha1(), NULL); + for(i = 0; i < 4; i++ ) +@@ -325,6 +334,20 @@ + HMAC_Final(&ctx, ptk + i*20, NULL); + } + HMAC_CTX_cleanup(&ctx); ++ #else ++ ctx = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx, pmk, 32, EVP_sha1(), NULL); ++ for(i = 0; i < 4; i++ ) ++ { ++ pke[99] = i; ++ //HMAC(EVP_sha1(), values[0], 32, pke, 100, ptk + i * 20, NULL); ++ HMAC_Init_ex(ctx, 0, 0, 0, 0); ++ HMAC_Update(ctx, pke, 100); ++ HMAC_Final(ctx, ptk + i*20, NULL); ++ } ++ HMAC_CTX_free(ctx); ++ #endif ++ #undef HMAC_USE_NO_PTR + + if( ap->wpa.keyver == 1 ) + { |