Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian and aircrack-ng build failures #2547

Open
3 tasks
noloader opened this issue Jun 24, 2023 · 7 comments
Open
3 tasks

Debian and aircrack-ng build failures #2547

noloader opened this issue Jun 24, 2023 · 7 comments

Comments

@noloader
Copy link

noloader commented Jun 24, 2023

Defect Report

Issue type

  • [* ] Defect - Compilation or make check issue - Attach config.log and provide relevant system information such as lscpu - Make sure dependencies are installed
  • Defect - Crash
  • Defect - Incorrect value displayed/received/stored
  • Defect - Unexpected behavior (obvious or confirmed in the GitHub Discussions)

System information

Debian Sid, which is Unstable. Packages enter Unstable, then move to Testing, then move to Release.

  • OS Name: Debian
  • OS Version: Sid/Unstable
  • Kernel version: 6.x
  • CPU: Various
  • Wireless card and chipset (if relevant):

Aircrack-ng version

  • Version: 1:1.7
  • Commit Revision hash:

Airmon-ng debug information

I don't think this is related to airmon-ng, but I might be mistaken.

Defect

Details

It looks like aircrack-ng has several build failures on Debian. See https://buildd.debian.org/status/package.php?p=aircrack-ng&suite=sid . The failures are shown in red and labeled "Build Attempted." Clicking the Build Attempted link shows where the build failed.

The output of make test or make check is shown below for ppc64. I don't have access to the box, so I don't have access to some of the log files.

If I am parsing output from PPC64 correctly, then this was the configure line used. --with-gcrypt looks interesting.

./configure --build=powerpc64-linux-gnu --prefix=/usr --includedir=\${prefix}/in
clude --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir
=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --li
bdir=\${prefix}/lib/powerpc64-linux-gnu --runstatedir=/run --disable-maintainer-
mode --disable-dependency-tracking --with-gcrypt --with-experimental

How to reproduce the issue

The Debian build results show how Debian is building the package. See https://buildd.debian.org/status/package.php?p=aircrack-ng&suite=sid .

I have an old PowerMac G5 with Altivec. I can provide access to the machine if desired. I am also available to help with troubleshooting. I have a C/C++ background, and I have experience porting to various architectures like PPC and PPC64.

Related issues

I think these may be related issues, but I am not certain:


make -j16 check "TESTSUITEFLAGS=-j16 --verbose" VERBOSE=1
...
make --no-print-directory check-TESTS
FAIL: test/test-aircrack-ng-0015.sh
FAIL: test/test-aircrack-ng-0014.sh
PASS: test/test-aircrack-ng-0007.sh
FAIL: test/test-aircrack-ng-0013.sh
FAIL: test/test-aircrack-ng-0016.sh
PASS: test/test-aircrack-ng-0017.sh
FAIL: test/test-aircrack-ng-0018.sh
FAIL: test/test-aircrack-ng-0019.sh
PASS: test/test-airdecap-ng-0001.sh
PASS: test/test-airdecap-ng-0002.sh
PASS: test/test-airdecap-ng-0003.sh
FAIL: test/test-aircrack-ng-0006.sh
PASS: test/test-airdecap-ng-0005.sh
PASS: test/test-hex_string_to_array.sh
PASS: test/test-wpaclean-0001.sh
FAIL: test/test-aircrack-ng-0021.sh
PASS: test/test-airdecap-ng-0006.sh
PASS: test/test-airdecap-ng-0004.sh
PASS: test/test-wpaclean-0002.sh
PASS: test/test-alltools.sh
PASS: test-circular-buffer
PASS: test-string-has-suffix
PASS: test-calc-one-pmk
PASS: test-circular-queue
FAIL: test-wpapsk
FAIL: test-wpapsk-cmac
PASS: test-encrypt-wep
PASS: test-calc-pmk
PASS: test-calc-mic
PASS: test-calc-ptk
PASS: test-encrypt-ccmp
PASS: test-decrypt-ccmp
PASS: test/test-aircrack-ng-0005.sh
PASS: test/test-airolib-ng-0001.sh
FAIL: test/test-aircrack-ng-0002.sh
FAIL: test/test-aircrack-ng-0001.sh
FAIL: test/test-aircrack-ng-0003.sh
FAIL: test/test-aircrack-ng-0004.sh
FAIL: test/test-aircrack-ng-0008.sh
FAIL: test/test-aircrack-ng-0009.sh
FAIL: test/test-aircrack-ng-0022.sh
FAIL: test/test-aircrack-ng-0023.sh
PASS: test/test-aircrack-ng-0010.sh
PASS: test/test-aircrack-ng-0011.sh
PASS: test/test-aircrack-ng-0012.sh
=========================================
   aircrack-ng 1.7.0: ./test-suite.log
=========================================

# TOTAL: 45
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  18
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test/test-aircrack-ng-0001.sh
===================================

FAIL test/test-aircrack-ng-0001.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0002.sh
===================================

FAIL test/test-aircrack-ng-0002.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0003.sh
===================================

Resetting EAPOL Handshake decoder state.
FAIL test/test-aircrack-ng-0003.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0004.sh
===================================

FAIL test/test-aircrack-ng-0004.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0006.sh
===================================

FAIL test/test-aircrack-ng-0006.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0008.sh
===================================

Resetting EAPOL Handshake decoder state.
FAIL test/test-aircrack-ng-0008.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0009.sh
===================================

FAIL test/test-aircrack-ng-0009.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0013.sh
===================================

FAIL test/test-aircrack-ng-0013.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0014.sh
===================================

FAIL test/test-aircrack-ng-0014.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0015.sh
===================================

FAIL test/test-aircrack-ng-0015.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0016.sh
===================================

Reading packets, please wait...
Resetting EAPOL Handshake decoder state.
Opening /<<PKGBUILDDIR>>/test/wpa2-psk-linksys.cap
�[0KRead 499 packets.

Reading packets, please wait...
Opening /<<PKGBUILDDIR>>/test/wpa2-psk-linksys.cap
�[0KRead 499 packets.

1 potential targets



Building Hashcat (3.60+) file...

[*] ESSID (length: 7): linksys
[*] Key version: 2
[*] BSSID: 00:0B:86:C2:A4:85
[*] STA: 00:13:CE:55:98:EF
[*] anonce:
    1A 9B DF 0C C8 9E 5E 32 20 F7 1A A7 4F E3 2D F6 
    5B B8 C1 C5 B8 66 4B 9D 98 AE F7 09 B9 64 4D 29 
[*] snonce:
    E8 DF A1 6B 87 69 95 7D 82 49 A4 EC 68 D2 B7 64 
    1D 37 82 16 2E F0 DC 37 B0 14 CC 48 34 3E 8D D4 
[*] Key MIC:
    0E 71 A6 25 FA AD E7 CE 9C 82 21 F7 B1 DB CE 46
[*] eapol:
    01 03 00 75 02 01 0A 00 00 00 00 00 00 00 00 00 
    05 E8 DF A1 6B 87 69 95 7D 82 49 A4 EC 68 D2 B7 
    64 1D 37 82 16 2E F0 DC 37 B0 14 CC 48 34 3E 8D 
    D4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 00 16 30 14 01 00 00 0F AC 04 01 00 00 0F AC 
    04 01 00 00 0F AC 02 28 00 

Successfully written to test.hccapx

FAIL test/test-aircrack-ng-0016.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0018.sh
===================================

FAIL test/test-aircrack-ng-0018.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0019.sh
===================================

Inter-frame timeout period exceeded.
Resetting EAPOL Handshake decoder state.
Inter-frame timeout period exceeded.
Resetting EAPOL Handshake decoder state.
FAIL test/test-aircrack-ng-0019.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0021.sh
===================================

FAIL test/test-aircrack-ng-0021.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0022.sh
===================================

FAIL test/test-aircrack-ng-0022.sh (exit status: 1)

FAIL: test/test-aircrack-ng-0023.sh
===================================

Resetting EAPOL Handshake decoder state.
FAIL test/test-aircrack-ng-0023.sh (exit status: 1)

FAIL: test-wpapsk
=================

1..3
ok 1 - test_crypto_engine_generic
not ok 2 - test_crypto_engine_ppc_altivec
# test/unit/test-wpapsk.c:108: error: Failure!
not ok 3 - test_crypto_engine_ppc_power8
# test/unit/test-wpapsk.c:108: error: Failure!
# not ok - tests
FAIL test-wpapsk (exit status: 2)

FAIL: test-wpapsk-cmac
======================

1..3
ok 1 - test_crypto_engine_generic
not ok 2 - test_crypto_engine_ppc_altivec
# difference at offset 0 0x25 0xfb
# difference at offset 1 0xc3 0x57
# difference at offset 2 0x8a 0x66
# difference at offset 3 0x19 0x8c
# difference at offset 4 0xc8 0xd3
# difference at offset 5 0xa6 0x38
# difference at offset 6 0x8a 0x37
# difference at offset 7 0x98 0x44
# difference at offset 8 0x02 0x12
# difference at offset 9 0x31 0xc2
# difference at offset 10 0x77 0x62
# difference at offset 11 0x52 0x08
# difference at offset 12 0xb1 0xd7
# difference at offset 13 0x19 0x9a
# difference at offset 14 0xfe 0xa5
# difference at offset 15 0x8f 0xc3
# ...
# 32 bytes of 0x10000273fc0 and 0x135ca5ed0 differ
# test/unit/test-wpapsk-cmac.c:137: error: Failure!
not ok 3 - test_crypto_engine_ppc_power8
# difference at offset 0 0x25 0xfb
# difference at offset 1 0xc3 0x57
# difference at offset 2 0x8a 0x66
# difference at offset 3 0x19 0x8c
# difference at offset 4 0xc8 0xd3
# difference at offset 5 0xa6 0x38
# difference at offset 6 0x8a 0x37
# difference at offset 7 0x98 0x44
# difference at offset 8 0x02 0x12
# difference at offset 9 0x31 0xc2
# difference at offset 10 0x77 0x62
# difference at offset 11 0x52 0x08
# difference at offset 12 0xb1 0xd7
# difference at offset 13 0x19 0x9a
# difference at offset 14 0xfe 0xa5
# difference at offset 15 0x8f 0xc3
# ...
# 32 bytes of 0x10000275530 and 0x135ca5ed0 differ
# test/unit/test-wpapsk-cmac.c:137: error: Failure!
# not ok - tests
FAIL test-wpapsk-cmac (exit status: 2)

============================================================================
Testsuite summary for aircrack-ng 1.7.0
============================================================================
# TOTAL: 45
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  18
# XPASS: 0
# ERROR: 0
@Mister-X-
Copy link
Collaborator

What are the results with current git?

@noloader
Copy link
Author

noloader commented Jun 25, 2023

@Mister-X- ,

What are the results with current git?

I cannot test on the Debian porter boxes because I don't have access to them.

I tested the tip of Master (608d321) on my PowerMac G5 (with Altivec) and passed all tests. When I checked out the 1.7 tag, I experienced failures. So I would say you fixed it on Master. Thank you very much, sir!

Looking at the check-ins from May 11 (tag 1.7) until today (Master), I don't see something that looks like it affected your actual source code. It looks like they were script cleanups from Shellcheck findings. (Assuming I am parsing git log properly).

The next question is, is there a check-in that I can alert the Debian maintainer to pick-up? Or should they just use a diff from 1.7 (2cdfba4) until today (608d321)? Or maybe something else?

Thanks in advance.


A patch from 1.7 (2cdfba4) until today (608d321) looks like it will be a big patch. But what the heck. If it fixes the problem, then so be it.

$ git diff 1.7..HEAD > aircrack-ng.diff
$ wc -l aircrack-ng.diff 
19854 aircrack-ng.diff

$ git log --name-status HEAD^..HEAD
commit 608d3210f56adfb68bcf603506cb40d1117a5164 (HEAD -> master, origin/master, origin/HEAD)
Author: Mister-X- <3520734+Mister-X-@users.noreply.github.com>
Date:   Fri Apr 28 16:50:01 2023 -0500

    CI: Add Fedora 39

M       .github/workflows/manual.yml

And

make --no-print-directory check-TESTS
PASS: test/test-hex_string_to_array.sh
PASS: test/test-aircrack-ng-0005.sh
PASS: test/test-aircrack-ng-0004.sh
PASS: test/test-aircrack-ng-0007.sh
PASS: test/test-aircrack-ng-0001.sh
PASS: test/test-aircrack-ng-0002.sh
PASS: test/test-aircrack-ng-0003.sh
PASS: test/test-aircrack-ng-0006.sh
PASS: test/test-aircrack-ng-0010.sh
PASS: test/test-aircrack-ng-0013.sh
PASS: test/test-aircrack-ng-0014.sh
PASS: test/test-aircrack-ng-0015.sh
PASS: test/test-aircrack-ng-0011.sh
PASS: test/test-aircrack-ng-0017.sh
PASS: test/test-aircrack-ng-0016.sh
PASS: test/test-aircrack-ng-0018.sh
PASS: test/test-aircrack-ng-0019.sh
PASS: test/test-aircrack-ng-0012.sh
PASS: test/test-aircrack-ng-0009.sh
PASS: test/test-aircrack-ng-0008.sh
PASS: test/test-airdecap-ng-0001.sh
PASS: test/test-airdecap-ng-0002.sh
PASS: test/test-airdecap-ng-0003.sh
PASS: test/test-airdecap-ng-0004.sh
PASS: test/test-airdecap-ng-0005.sh
PASS: test/test-airdecap-ng-0006.sh
PASS: test/test-wpaclean-0001.sh
PASS: test/test-wpaclean-0002.sh
PASS: test/test-alltools.sh
PASS: test/test-aircrack-ng-0021.sh
PASS: test-calc-one-pmk
PASS: test-circular-buffer
PASS: test-circular-queue
PASS: test-string-has-suffix
PASS: test-wpapsk
PASS: test-wpapsk-cmac
PASS: test/test-aircrack-ng-0022.sh
PASS: test-encrypt-wep
PASS: test-calc-mic
PASS: test-calc-ptk
PASS: test-calc-pmk
PASS: test-cipher-arcfour
PASS: test-digest-md5
PASS: test-digest-sha1
PASS: test-encrypt-ccmp
PASS: test-decrypt-ccmp
PASS: test-mac-hmac-md5
PASS: test-mac-hmac-sha1
PASS: test-mac-hmac-sha256
PASS: test/test-aircrack-ng-0023.sh
PASS: test/test-airolib-ng-0001.sh
PASS: test/test-aircrack-ng-0024.sh
PASS: test-kdf-pbkdf2-hmac-sha1
============================================================================
Testsuite summary for aircrack-ng 1.7.0_rev-608d3210
============================================================================
# TOTAL: 53
# PASS:  53
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

@noloader
Copy link
Author

noloader commented Jun 25, 2023

@Mister-X-,

I'm thinking out loud... Would a diff of the following files from 1.7 to Master provide what Debian needs?

$ git diff-tree -r --summary 1.7 master | awk '{$2=$3=""; print $0}' | grep -E '(\.h$|\.c$|\.cpp$|\.txt$|\.dat$|\.sh$)'
create   docker_package_install.sh
create   include/aircrack-ng/crypto/aes.h
create   include/aircrack-ng/crypto/arcfour.h
delete   include/aircrack-ng/crypto/gcrypt-openssl-wrapper.h
create   include/aircrack-ng/crypto/mac.h
create   include/aircrack-ng/crypto/md5.h
delete   include/aircrack-ng/crypto/sha1-sse2.h
create   include/aircrack-ng/crypto/sha1.h
create   include/aircrack-ng/crypto/sha256.h
create   include/aircrack-ng/pcre/compat-pcre.h
create   lib/crypto/aes-128-cbc-gcrypt.c
create   lib/crypto/aes-128-cbc-generic.c
create   lib/crypto/aes-128-cbc-openssl.c
create   lib/crypto/arcfour-gcrypt.c
create   lib/crypto/arcfour-generic.c
create   lib/crypto/arcfour-openssl.c
create   lib/crypto/mac-hmac-md5-generic.c
create   lib/crypto/mac-hmac-sha1-generic.c
create   lib/crypto/mac-hmac-sha256-generic.c
create   lib/crypto/mac-omac1-gcrypt.c
create   lib/crypto/mac-omac1-generic.c
create   lib/crypto/mac-omac1-openssl.c
create   lib/crypto/md5-gcrypt.c
create   lib/crypto/md5-generic.c
create   lib/crypto/md5-openssl.c
create   lib/crypto/md5.c
create   lib/crypto/sha1-gcrypt.c
create   lib/crypto/sha1-generic.c
create   lib/crypto/sha1-openssl.c
create   lib/crypto/sha1.c
create   lib/crypto/sha256-gcrypt.c
create   lib/crypto/sha256-openssl.c
create   lib/crypto/sha256.c
create   test/cryptounittest/test-cipher-arcfour.c
create   test/cryptounittest/test-digest-md5.c
create   test/cryptounittest/test-digest-sha1.c
create   test/cryptounittest/test-kdf-pbkdf2-hmac-sha1.c
create   test/cryptounittest/test-mac-hmac-md5.c
create   test/cryptounittest/test-mac-hmac-sha1.c
create   test/cryptounittest/test-mac-hmac-sha256.c
create   test/test-aircrack-ng-0024.sh

@noloader
Copy link
Author

Ping @glaubitz.

@glaubitz
Copy link

@Mister-X- ,

What are the results with current git?

I cannot test on the Debian porter boxes because I don't have access to them.

You should request access to the GCC Compile Farm [1]. There you can access Linux, BSD and Solars machines running on various hardware. There are PowerPC machines available for running such tests.

[1] https://gcc.gnu.org/wiki/CompileFarm

@noloader
Copy link
Author

You should request access to the GCC Compile Farm [1].

++. The Compile Farm is very useful.

Do you know the specs on Debian's porter box? Does it align with one of the machines available on the CFarm?

I think CFarm provides POWER7, POWER8, POWER9 and POWER10. POWER10 was announced this week. I'm not aware of Altivec-only (PowerMac G5's) or non-Altivec (PowerMac G4's or G3's?)

@glaubitz
Copy link

Testsuite still fails:

PASS: test/test-hex_string_to_array.sh
FAIL: test/test-aircrack-ng-0001.sh
FAIL: test/test-aircrack-ng-0002.sh
FAIL: test/test-aircrack-ng-0003.sh
FAIL: test/test-aircrack-ng-0004.sh
PASS: test/test-aircrack-ng-0005.sh
FAIL: test/test-aircrack-ng-0006.sh
PASS: test/test-aircrack-ng-0007.sh
FAIL: test/test-aircrack-ng-0008.sh
FAIL: test/test-aircrack-ng-0009.sh
PASS: test/test-aircrack-ng-0010.sh
PASS: test/test-aircrack-ng-0011.sh
PASS: test/test-aircrack-ng-0012.sh
FAIL: test/test-aircrack-ng-0013.sh
FAIL: test/test-aircrack-ng-0014.sh
FAIL: test/test-aircrack-ng-0015.sh
FAIL: test/test-aircrack-ng-0016.sh
PASS: test/test-aircrack-ng-0017.sh
FAIL: test/test-aircrack-ng-0018.sh
FAIL: test/test-aircrack-ng-0019.sh
FAIL: test/test-aircrack-ng-0021.sh
FAIL: test/test-aircrack-ng-0022.sh
FAIL: test/test-aircrack-ng-0023.sh
PASS: test/test-aircrack-ng-0024.sh
PASS: test/test-airdecap-ng-0001.sh
PASS: test/test-airdecap-ng-0002.sh
PASS: test/test-airdecap-ng-0003.sh
PASS: test/test-airdecap-ng-0004.sh
PASS: test/test-airdecap-ng-0005.sh
PASS: test/test-airdecap-ng-0006.sh
PASS: test/test-wpaclean-0001.sh
PASS: test/test-wpaclean-0002.sh
PASS: test/test-alltools.sh
PASS: test/test-airolib-ng-0001.sh
PASS: test-calc-one-pmk
PASS: test-circular-buffer
PASS: test-circular-queue
PASS: test-string-has-suffix
FAIL: test-wpapsk
PASS: test-wpapsk-cmac
PASS: test-encrypt-wep
PASS: test-calc-pmk
PASS: test-calc-mic
PASS: test-calc-ptk
PASS: test-cipher-arcfour
PASS: test-digest-md5
PASS: test-digest-sha1
PASS: test-encrypt-ccmp
PASS: test-decrypt-ccmp
PASS: test-mac-hmac-md5
PASS: test-mac-hmac-sha1
PASS: test-mac-hmac-sha256
PASS: test-kdf-pbkdf2-hmac-sha1
============================================================================
Testsuite summary for aircrack-ng 1.7.0_rev-608d3210
============================================================================
# TOTAL: 53
# PASS:  36
# SKIP:  0
# XFAIL: 0
# FAIL:  17
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to https://github.com/aircrack-ng/aircrack-ng/discussions
============================================================================

And it looks like that the reason for the failure is the unconditional use of POWER8 instructions despite the target using an older POWER baseline.

I haven't found a configure option yet to disable POWER8 instructions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants