aircrack-ng: finally, a proper pic fix! thanks klondike!

This commit is contained in:
Zero_Chaos 2011-02-26 06:21:33 +00:00
parent 16b8b45e05
commit 0c540cbcdd
3 changed files with 235 additions and 0 deletions

View file

@ -1,9 +1,11 @@
AUX aircrack-ng-1.1-respect_LDFLAGS.patch 3144 RMD160 322ec5d7592236f30456226de5cf433dde00deef SHA1 b73ef91057609910782fdd1581c0f7f8e8e6d47f SHA256 543d8efee610cd32874abb0ebc7371619526613ed04fa70db35d1caf473efff8
AUX diff-wpa-migration-mode-aircrack-ng.diff 25165 RMD160 0a4ec44ab6580596f3f076e7b4a50a88118a4010 SHA1 be4c01c5128dd9c60f2074f616e5992112cc5735 SHA256 d36f2380d83fbfcbc48698cfd6d08de5a82a5a624a5d9f9cc3dbaaf7b7731fd8
AUX ignore-channel-1-error.patch 2270 RMD160 8347757e50f637d2a5dcb98c92bea0218ee49998 SHA1 a760259c3f19b1b2a6e8caf3ab2567e78b09822a SHA256 aa2345b9ba7b59c79e54a5546f28398aaea4068c7030b520069e25f71cd029e4
AUX pic-fix.patch 4838 RMD160 c2022a1cc2a3fc546d9e5f9a8343c0276fb710de SHA1 4a15018748f784408318475b0238d11a07bc8faf SHA256 33d1693ec0cbea1933bdfcaa30a16bab2d566927a0c7eaf57cd7cb08886c4cba
DIST aircrack-ng-1.0.tar.gz 1506412 RMD160 e8360aabbec1e7e038f86579e1004234f0899409 SHA1 8a3c5b8e322ea11e5559109a9f9d668ad6aee5f0 SHA256 65c2ad69a5522282b2c3c51daeceff70ecaff2d9ef4ff9c915a018f1d87680cd
DIST aircrack-ng-1.1.tar.gz 1453272 RMD160 7d70533b0397e801d4a85c1be3584699364f3d38 SHA1 16eed1a8cf06eb8274ae382150b56589b23adf77 SHA256 b136b549b7d2a2751c21793100075ea43b28de9af4c1969508bb95bcc92224ad
EBUILD aircrack-ng-1.0-r1.ebuild 1036 RMD160 59f04ea637fef17a894402e111a83e8400309599 SHA1 f478461f19068df386a2cc00288c75aa9aeadee7 SHA256 b0293724ef712844120b165aac7f3d4448f70add05ec1eda9c94b88d0f950cc0
EBUILD aircrack-ng-1.1-r1.ebuild 1311 RMD160 8021ed6c6f0dc26ddd68930aa07f7fb7cc29fec2 SHA1 b127188a71ad431845956dc944078e6a9dfb5d5a SHA256 feb0bea483755beecedb2da38c64cac857ea0f4cd5faeed162d7f19b960d6f61
EBUILD aircrack-ng-1.1-r2.ebuild 1348 RMD160 bf9c69f91594d5e6aa5a5f993dc3f3e98b2114b0 SHA1 e65ca68f584bc6a4a72e876c0486b3a0ffa95990 SHA256 b19b177c412c5087874ee04214c47e3a9d4d8a81b1ee17371c9b1b5778318a1e
EBUILD aircrack-ng-1.1-r3.ebuild 1292 RMD160 3e21c3543493d1ff6fe657fa86a234349bee68f5 SHA1 e8d5743ab3b769942493a01e001d12f05ca6904b SHA256 bb9bc269d1f1779d311f68a62dddc61715046f3c94cd1522cc79fa5d3e659b67
EBUILD aircrack-ng-1.1.ebuild 1036 RMD160 59f04ea637fef17a894402e111a83e8400309599 SHA1 f478461f19068df386a2cc00288c75aa9aeadee7 SHA256 b0293724ef712844120b165aac7f3d4448f70add05ec1eda9c94b88d0f950cc0

View file

@ -0,0 +1,58 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit versionator
MY_PV=$(replace_version_separator 2 '-')
DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys"
HOMEPAGE="http://www.aircrack-ng.org"
SRC_URI="http://download.aircrack-ng.org/${PN}-${MY_PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64 arm"
IUSE="+sqlite +unstable"
DEPEND="dev-libs/openssl
sqlite? ( >=dev-db/sqlite-3.4 )"
RDEPEND="${DEPEND}
net-wireless/iw"
S="${WORKDIR}/${PN}-${MY_PV}"
have_sqlite() {
use sqlite && echo "true" || echo "false"
}
have_unstable() {
use unstable && echo "true" || echo "false"
}
src_prepare() {
epatch "${FILESDIR}/${P}-respect_LDFLAGS.patch"
epatch "${FILESDIR}"/diff-wpa-migration-mode-aircrack-ng.diff
epatch "${FILESDIR}"/ignore-channel-1-error.patch
epatch "${FILESDIR}"/pic-fix.patch
}
src_compile() {
emake CC="$(tc-getCC)" LD="$(tc-getLD)" sqlite=$(have_sqlite) unstable=$(have_unstable) || die "emake failed"
}
src_install() {
emake \
prefix="${ROOT}/usr" \
mandir="${ROOT}/usr/share/man/man1" \
DESTDIR="${D}" \
sqlite=$(have_sqlite) \
unstable=$(have_unstable) \
install \
|| die "emake install failed"
dodoc AUTHORS ChangeLog INSTALLING README
}

View file

@ -0,0 +1,175 @@
2010-11-10 Francisco Blas Izquierdo Riera <klondike@xiscosoft.es>
#285703
* src/sha1-sse2.S: Add support for x86 and AMD64
This patch is licensed uder the same LICENSE as aircrack-ng
diff -ru aircrack-ng-1.1.old/src/sha1-sse2.S aircrack-ng-1.1/src/sha1-sse2.S
--- aircrack-ng-1.1.old/src/sha1-sse2.S 2010-01-22 02:01:28.000000000 +0100
+++ aircrack-ng-1.1/src/sha1-sse2.S 2011-02-26 06:22:37.061208191 +0100
@@ -8,9 +8,36 @@
// input blocks must be (four bytes) interleaved.
#if defined(__x86_64__) && defined(__APPLE__)
+#define PRELOAD(x)
#define MANGLE(x) x(%rip)
+#define INIT_PIC()
+#define END_PIC()
#else
+#ifdef __PIC__
+
+#ifdef __x86_64__
+#define PRELOAD(x) movq x@GOTPCREL(%rip), %rbx;
+#define MANGLE(x) (%rbx)
+#define INIT_PIC() pushq %rbx
+#define END_PIC() popq %rbx
+#else
+#undef __i686 /* gcc builtin define gets in our way */
+#define PRELOAD(x)
+#define MANGLE(x) x ## @GOTOFF(%ebx)
+#define INIT_PIC() \
+ call __i686.get_pc_thunk.bx ; \
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
+#define END_PIC()
+#endif
+
+#else
+
+#define PRELOAD(x)
#define MANGLE(x) x
+#define INIT_PIC()
+#define END_PIC()
+
+#endif
#endif
#if defined(__i386__) || defined(__x86_64__)
@@ -142,12 +169,15 @@
paddd tmp2, e; \
movdqa b, tmp2; \
pslld $30, b; \
+ PRELOAD(k) \
paddd MANGLE(k), e; \
psrld $2, tmp2; \
por tmp2, b; \
movdqa (data*16)(edx_rsi), tmp1; \
movdqa tmp1, tmp2; \
+ PRELOAD(const_ff00) \
pand MANGLE(const_ff00), tmp1; \
+ PRELOAD(const_00ff) \
pand MANGLE(const_00ff), tmp2; \
psrld $8, tmp1; \
pslld $8, tmp2; \
@@ -181,6 +211,7 @@
paddd tmp2, e; \
movdqa b, tmp2; \
pslld $30, b; \
+ PRELOAD(k) \
paddd MANGLE(k), e; \
psrld $2, tmp2; \
por tmp2, b;
@@ -192,10 +223,16 @@
shasse2_init:
_shasse2_init:
+ INIT_PIC()
+ PRELOAD(const_init_a)
movdqa MANGLE(const_init_a), ctxa
+ PRELOAD(const_init_b)
movdqa MANGLE(const_init_b), ctxb
+ PRELOAD(const_init_c)
movdqa MANGLE(const_init_c), ctxc
+ PRELOAD(const_init_d)
movdqa MANGLE(const_init_d), ctxd
+ PRELOAD(const_init_e)
movdqa MANGLE(const_init_e), ctxe
movdqa ctxa, 0(eax_rdi)
@@ -203,6 +240,7 @@
movdqa ctxc, 32(eax_rdi)
movdqa ctxd, 48(eax_rdi)
movdqa ctxe, 64(eax_rdi)
+ END_PIC()
ret
@@ -212,17 +250,20 @@
shasse2_ends:
_shasse2_ends:
- movdqa 0(eax_rdi), ctxa
+ INIT_PIC()
+ movdqa 0(eax_rdi), ctxa
movdqa 16(eax_rdi), ctxb
movdqa 32(eax_rdi), ctxc
movdqa 48(eax_rdi), ctxd
movdqa 64(eax_rdi), ctxe
+ PRELOAD(const_ff00)
movdqa MANGLE(const_ff00), tmp3
movdqa ctxa, tmp1
movdqa ctxb, tmp2
pand tmp3, ctxa
pand tmp3, ctxb
+ PRELOAD(const_00ff)
movdqa MANGLE(const_00ff), tmp3
pand tmp3, tmp1
pand tmp3, tmp2
@@ -243,6 +284,7 @@
movdqa ctxa, 0(edx_rsi)
movdqa ctxb, 16(edx_rsi)
+ PRELOAD(const_ff00)
movdqa MANGLE(const_ff00), tmp5
movdqa ctxc, tmp1
movdqa ctxd, tmp2
@@ -250,6 +292,7 @@
pand tmp5, ctxc
pand tmp5, ctxd
pand tmp5, ctxe
+ PRELOAD(const_00ff)
movdqa MANGLE(const_00ff), tmp5
pand tmp5, tmp1
pand tmp5, tmp2
@@ -279,6 +322,7 @@
movdqa ctxc, 32(edx_rsi)
movdqa ctxd, 48(edx_rsi)
movdqa ctxe, 64(edx_rsi)
+ END_PIC()
ret
@@ -289,6 +333,7 @@
shasse2_data:
_shasse2_data:
+ INIT_PIC()
movdqa 0(eax_rdi), ctxa
movdqa 16(eax_rdi), ctxb
movdqa 32(eax_rdi), ctxc
@@ -400,6 +445,7 @@
movdqa ctxc, 32(eax_rdi)
movdqa ctxd, 48(eax_rdi)
movdqa ctxe, 64(eax_rdi)
+ END_PIC()
ret
@@ -462,6 +508,17 @@
pop %ebx
#endif
ret
+#ifdef __i386__
+#ifdef __PIC__
+ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
+.globl __i686.get_pc_thunk.bx
+ .hidden __i686.get_pc_thunk.bx
+ .type __i686.get_pc_thunk.bx,@function
+__i686.get_pc_thunk.bx:
+ movl (%esp), %ebx
+ ret
+#endif
+#endif
#endif