From: Rafael Sadowski Subject: Re: UPDATE: aircrack-ng 1.7 To: Brad Smith Cc: ports@openbsd.org Date: Mon, 10 Jun 2024 08:31:48 +0200 On Thu Jun 06, 2024 at 11:59:23PM GMT, Brad Smith wrote: > Here is an update to aircrack-ng 1.7. Committed, thanks > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/security/aircrack-ng/Makefile,v > retrieving revision 1.39 > diff -u -p -u -p -r1.39 Makefile > --- Makefile 20 Nov 2023 15:36:18 -0000 1.39 > +++ Makefile 7 Jun 2024 03:35:44 -0000 > @@ -1,6 +1,7 @@ > COMMENT= 802.11 WEP and WPA-PSK keys cracking program > -DISTNAME= aircrack-ng-1.5.2 > -REVISION= 9 > + > +VER= 1.7 > +DISTNAME= aircrack-ng-${VER} > CATEGORIES= security > > HOMEPAGE= https://www.aircrack-ng.org/ > @@ -8,8 +9,7 @@ HOMEPAGE= https://www.aircrack-ng.org/ > # GPLv2 > PERMIT_PACKAGE= Yes > > -WANTLIB+= c pthread crypto z pcre > -WANTLIB+= ${COMPILER_LIBCXX} m sqlite3 > +WANTLIB+= ${COMPILER_LIBCXX} c crypto m pcap pcre pthread sqlite3 ssl z > > SITES= https://download.aircrack-ng.org/ > > @@ -38,21 +38,24 @@ PKG_ARGS+= -Dx86=1 > .else > PKG_ARGS+= -Dx86=0 > .endif > -# XXX PFRAG.arm files relate to NEON optimizations, disabled above. > -#.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "aarch64" > -#PKG_ARGS+= -Darm=1 > -#.else > + > +.if ${MACHINE_ARCH} == "aarch64" > +PKG_ARGS+= -Darm=1 > +.else > PKG_ARGS+= -Darm=0 > -#.endif > -# XXX AltiVec optimizations can't be built with clang, and POWER8 ones > +.endif > + > +# XXX AltiVec optimizations can't be built with Clang, and POWER8 ones > # are useless on powerpc > .if ${MACHINE_ARCH} == "powerpc" > MAKE_ENV+= ALTIVEC=false POWER8=false > .endif > > +API_REV= ${VER}.0 > +SUBST_VARS+= API_REV > > pre-configure: > - ${SUBST_CMD} ${WRKSRC}/src/airodump-ng.h > + ${SUBST_CMD} ${WRKSRC}/src/airodump-ng/airodump-ng.c > > .include > .if !${PROPERTIES:Mclang} > Index: distinfo > =================================================================== > RCS file: /cvs/ports/security/aircrack-ng/distinfo,v > retrieving revision 1.4 > diff -u -p -u -p -r1.4 distinfo > --- distinfo 23 Feb 2019 22:23:25 -0000 1.4 > +++ distinfo 7 Jun 2024 03:35:44 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (aircrack-ng-1.5.2.tar.gz) = nlkv52WARiIOCsCm0FxAJpA/MHeySIk+AFbMvk7ogkE= > -SIZE (aircrack-ng-1.5.2.tar.gz) = 7138360 > +SHA256 (aircrack-ng-1.7.tar.gz) = BacE48j3eSoXMVCAohIUpESP0kUsGw3VImo6VfkLWMM= > +SIZE (aircrack-ng-1.7.tar.gz) = 7740634 > Index: patches/patch-build_m4_aircrack_ng_simd_m4 > =================================================================== > RCS file: patches/patch-build_m4_aircrack_ng_simd_m4 > diff -N patches/patch-build_m4_aircrack_ng_simd_m4 > --- patches/patch-build_m4_aircrack_ng_simd_m4 11 Mar 2022 19:53:17 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,23 +0,0 @@ > -Ensure that disabling AltiVec and POWER8 instructions with MAKE_ENV is honoured > -even if the build machine supports them, from: > -https://github.com/aircrack-ng/aircrack-ng/issues/1941 > - > -Index: build/m4/aircrack_ng_simd.m4 > ---- build/m4/aircrack_ng_simd.m4.orig > -+++ build/m4/aircrack_ng_simd.m4 > -@@ -132,7 +132,6 @@ then > - AX_CHECK_COMPILE_FLAG([-maltivec], [ > - AX_APPEND_FLAG(-maltivec, [ppc_altivec_[]_AC_LANG_ABBREV[]flags]) > - AC_SUBST(ppc_altivec_[]_AC_LANG_ABBREV[]flags) > -- ALTIVEC_FOUND=1 > - ]) > - > - AX_CHECK_COMPILE_FLAG([-mabi=altivec], [ > -@@ -148,7 +147,6 @@ then > - AX_CHECK_COMPILE_FLAG([-mpower8-vector], [ > - AX_APPEND_FLAG(-mpower8-vector, [ppc_altivec_[]_AC_LANG_ABBREV[]flags]) > - AC_SUBST(ppc_altivec_[]_AC_LANG_ABBREV[]flags) > -- POWER8_FOUND=1 > - ]) > - fi > - > Index: patches/patch-lib_libac_support_common_c > =================================================================== > RCS file: patches/patch-lib_libac_support_common_c > diff -N patches/patch-lib_libac_support_common_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-lib_libac_support_common_c 7 Jun 2024 03:35:44 -0000 > @@ -0,0 +1,68 @@ > +lib/libac: Improved sysctl usage for *BSD > +53f86766c891c6c7fcf0ab4a4b6d6d282030b6b9 > + > +Index: lib/libac/support/common.c > +--- lib/libac/support/common.c.orig > ++++ lib/libac/support/common.c > +@@ -54,11 +54,13 @@ > + > + #include > + > +-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) \ > +- || defined(__MidnightBSD__) > ++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) \ > ++ || defined(__DragonFly__) || defined(__MidnightBSD__) > + #include > ++#ifndef __NetBSD__ > + #include > + #endif > ++#endif > + #if (defined(_WIN32) || defined(_WIN64)) || defined(__CYGWIN32__) > + #include > + #include > +@@ -185,10 +187,15 @@ int is_string_number(const char * str) > + int get_ram_size(void) > + { > + int ret = -1; > +-#if defined(__FreeBSD__) || defined(__MidnightBSD__) > ++#if defined (CTL_HW) && (defined(HW_PHYSMEM) || defined(HW_PHYSMEM64)) > ++#ifdef HW_PHYSMEM64 > ++ int mib[] = {CTL_HW, HW_PHYSMEM64}; > ++ uint64_t physmem; > ++#else > + int mib[] = {CTL_HW, HW_PHYSMEM}; > ++ size_t physmem; > ++#endif > + size_t len; > +- unsigned long physmem; > + > + len = sizeof(physmem); > + > +@@ -369,11 +376,12 @@ int get_nb_cpus(void) > + > + fclose(f); > + } > +-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) \ > +- || defined(__MidnightBSD__) > +- // Not sure about defined(__DragonFly__) || defined(__NetBSD__) || > +- // defined(__OpenBSD__) || defined(__APPLE__) > ++#elif defined (CTL_HW) && (defined(HW_NCPU) || defined(HW_NCPUONLINE)) > ++#ifdef HW_NCPUONLINE > ++ int mib[] = {CTL_HW, HW_NCPUONLINE}; > ++#else > + int mib[] = {CTL_HW, HW_NCPU}; > ++#endif > + size_t len; > + unsigned long nbcpu; > + > +@@ -383,9 +391,7 @@ int get_nb_cpus(void) > + { > + number = (int) nbcpu; > + } > +-#endif > +- > +-#ifdef _SC_NPROCESSORS_ONLN > ++#elif defined(_SC_NPROCESSORS_ONLN) > + // Try the usual method if _SC_NPROCESSORS_ONLN exist > + if (number == -1) > + { > Index: patches/patch-src_Makefile_am > =================================================================== > RCS file: patches/patch-src_Makefile_am > diff -N patches/patch-src_Makefile_am > --- patches/patch-src_Makefile_am 11 Mar 2022 19:53:17 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,15 +0,0 @@ > -our base libtool fails finding libaircrack-util > - > - > -Index: src/Makefile.am > ---- src/Makefile.am.orig > -+++ src/Makefile.am > -@@ -205,7 +205,7 @@ ivstools_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAI > - > - kstats_SOURCES = kstats.c > - kstats_CFLAGS = $(LIBAC_CFLAGS) $(PTHREAD_CFLAGS) > --kstats_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) > -+kstats_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAIRCRACK_UTIL_LIBS) > - > - wesside_ng_SOURCES = $(SRC_WS) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL) > - wesside_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS) > Index: patches/patch-src_aircrack-osdep_openbsd_c > =================================================================== > RCS file: patches/patch-src_aircrack-osdep_openbsd_c > diff -N patches/patch-src_aircrack-osdep_openbsd_c > --- patches/patch-src_aircrack-osdep_openbsd_c 11 Mar 2022 19:53:17 -0000 1.3 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,29 +0,0 @@ > -Index: src/aircrack-osdep/openbsd.c > ---- src/aircrack-osdep/openbsd.c.orig > -+++ src/aircrack-osdep/openbsd.c > -@@ -37,7 +37,6 @@ > - #include > - #include > - #include > --#include > - #undef _KERNEL > - #include > - #include > -@@ -322,7 +321,7 @@ static int do_obsd_open(struct wif * wi, char * iface) > - int s; > - unsigned int flags; > - struct ifmediareq ifmr; > -- int * mwords; > -+ uint64_t * mwords; > - struct priv_obsd * po = wi_priv(wi); > - unsigned int size = sizeof(po->po_buf); > - > -@@ -353,7 +352,7 @@ static int do_obsd_open(struct wif * wi, char * iface) > - > - assert(ifmr.ifm_count != 0); > - > -- mwords = (int *) malloc(ifmr.ifm_count * sizeof(int)); > -+ mwords = calloc(ifmr.ifm_count, sizeof(*mwords)); > - if (!mwords) goto close_sock; > - ifmr.ifm_ulist = mwords; > - if (ioctl(s, SIOCGIFMEDIA, &ifmr) == -1) > Index: patches/patch-src_airodump-ng_airodump-ng_c > =================================================================== > RCS file: patches/patch-src_airodump-ng_airodump-ng_c > diff -N patches/patch-src_airodump-ng_airodump-ng_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_airodump-ng_airodump-ng_c 7 Jun 2024 03:35:44 -0000 > @@ -0,0 +1,12 @@ > +Index: src/airodump-ng/airodump-ng.c > +--- src/airodump-ng/airodump-ng.c.orig > ++++ src/airodump-ng/airodump-ng.c > +@@ -97,7 +97,7 @@ static const unsigned char llcnull[] = {0, 0, 0, 0}; > + > + static const char * OUI_PATHS[] > + = {"./airodump-ng-oui.txt", > +- "/etc/aircrack-ng/airodump-ng-oui.txt", > ++ "${PREFIX}/share/mac-vendor/aircrack-oui.txt", > + "/usr/local/etc/aircrack-ng/airodump-ng-oui.txt", > + "/usr/share/aircrack-ng/airodump-ng-oui.txt", > + "/var/lib/misc/oui.txt", > Index: patches/patch-src_airodump-ng_h > =================================================================== > RCS file: patches/patch-src_airodump-ng_h > diff -N patches/patch-src_airodump-ng_h > --- patches/patch-src_airodump-ng_h 11 Mar 2022 19:53:17 -0000 1.3 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,14 +0,0 @@ > -use the mac-vendors OUI file > - > -Index: src/airodump-ng.h > ---- src/airodump-ng.h.orig > -+++ src/airodump-ng.h > -@@ -124,7 +124,7 @@ extern const unsigned long int crc_tbl[256]; > - extern const unsigned char crc_chop_tbl[256][4]; > - > - const char * OUI_PATHS[] = {"./airodump-ng-oui.txt", > -- "/etc/aircrack-ng/airodump-ng-oui.txt", > -+ "${PREFIX}/share/mac-vendor/aircrack-oui.txt", > - "/usr/local/etc/aircrack-ng/airodump-ng-oui.txt", > - "/usr/share/aircrack-ng/airodump-ng-oui.txt", > - "/var/lib/misc/oui.txt", > Index: patches/patch-src_crypto_c > =================================================================== > RCS file: patches/patch-src_crypto_c > diff -N patches/patch-src_crypto_c > --- patches/patch-src_crypto_c 11 Mar 2022 19:53:17 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,16 +0,0 @@ > -Fix build with opaque HMAC_CTX in LibreSSL 3.5. The relevant API has > -been available since LibreSSL 2.7. > - > -Index: src/crypto.c > ---- src/crypto.c.orig > -+++ src/crypto.c > -@@ -218,8 +218,7 @@ void calc_mic(struct AP_info * ap, > - { > - int i; > - unsigned char pke[100]; > --#if defined(USE_GCRYPT) || OPENSSL_VERSION_NUMBER < 0x10100000L \ > -- || defined(LIBRESSL_VERSION_NUMBER) > -+#if defined(USE_GCRYPT) || OPENSSL_VERSION_NUMBER < 0x10100000L > - #define HMAC_USE_NO_PTR > - #endif > - > Index: patches/patch-src_wpaclean_c > =================================================================== > RCS file: patches/patch-src_wpaclean_c > diff -N patches/patch-src_wpaclean_c > --- patches/patch-src_wpaclean_c 11 Mar 2022 19:53:17 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,19 +0,0 @@ > -prevent wpaclean from overwriting the outputfile > -with next capture each time a new capture is found > -in a source file > - > -Index: src/wpaclean.c > ---- src/wpaclean.c.orig > -+++ src/wpaclean.c > -@@ -138,7 +138,10 @@ static void save_network(const struct network * n) > - { > - int i; > - > -- _outfd = open_pcap(_outfilename); > -+ if (_outfd == 0) > -+ { > -+ _outfd = open_pcap(_outfilename); > -+ } > - write_pcap(_outfd, n->n_beacon, n->n_beaconlen); > - > - for (i = 0; i < 4; i++) > Index: pkg/PFRAG.arm > =================================================================== > RCS file: pkg/PFRAG.arm > diff -N pkg/PFRAG.arm > --- pkg/PFRAG.arm 11 Mar 2022 19:53:17 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,3 +0,0 @@ > -lib/libaircrack-crypto-arm-neon-1.3.0.so > -lib/libaircrack-crypto-arm-neon.la > -lib/libaircrack-crypto-arm-neon.so > Index: pkg/PFRAG.x86 > =================================================================== > RCS file: /cvs/ports/security/aircrack-ng/pkg/PFRAG.x86,v > retrieving revision 1.2 > diff -u -p -u -p -r1.2 PFRAG.x86 > --- pkg/PFRAG.x86 11 Mar 2022 19:53:17 -0000 1.2 > +++ pkg/PFRAG.x86 7 Jun 2024 03:35:44 -0000 > @@ -1,9 +1,9 @@ > -lib/libaircrack-crypto-x86-avx-1.3.0.so > -lib/libaircrack-crypto-x86-avx.la > -lib/libaircrack-crypto-x86-avx.so > -lib/libaircrack-crypto-x86-avx2-1.3.0.so > -lib/libaircrack-crypto-x86-avx2.la > -lib/libaircrack-crypto-x86-avx2.so > -lib/libaircrack-crypto-x86-sse2-1.3.0.so > -lib/libaircrack-crypto-x86-sse2.la > -lib/libaircrack-crypto-x86-sse2.so > +@so lib/libaircrack-ce-wpa-x86-avx-${API_REV}.so > +lib/libaircrack-ce-wpa-x86-avx.la > +@so lib/libaircrack-ce-wpa-x86-avx.so > +@so lib/libaircrack-ce-wpa-x86-avx2-${API_REV}.so > +lib/libaircrack-ce-wpa-x86-avx2.la > +@so lib/libaircrack-ce-wpa-x86-avx2.so > +@so lib/libaircrack-ce-wpa-x86-sse2-${API_REV}.so > +lib/libaircrack-ce-wpa-x86-sse2.la > +@so lib/libaircrack-ce-wpa-x86-sse2.so > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/security/aircrack-ng/pkg/PLIST,v > retrieving revision 1.6 > diff -u -p -u -p -r1.6 PLIST > --- pkg/PLIST 11 Mar 2022 19:53:17 -0000 1.6 > +++ pkg/PLIST 7 Jun 2024 03:35:44 -0000 > @@ -2,19 +2,83 @@ > @bin bin/airdecap-ng > @bin bin/airdecloak-ng > @bin bin/airolib-ng > +@bin bin/besside-ng-crawler > +@bin bin/buddy-ng > @bin bin/ivstools > @bin bin/kstats > @bin bin/makeivs-ng > @bin bin/packetforge-ng > @bin bin/wpaclean > -lib/libaircrack-crypto-1.3.0.so > %%x86%% > -%%arm%% > -lib/libaircrack-crypto.la > -lib/libaircrack-crypto.so > -lib/libaircrack-osdep-1.3.0.so > +include/aircrack-ng/ > +include/aircrack-ng/adt/ > +include/aircrack-ng/adt/avl_tree.h > +include/aircrack-ng/adt/circular_buffer.h > +include/aircrack-ng/adt/circular_queue.h > +include/aircrack-ng/aircrack-ng.h > +include/aircrack-ng/ce-wep/ > +include/aircrack-ng/ce-wep/uniqueiv.h > +include/aircrack-ng/ce-wpa/ > +include/aircrack-ng/ce-wpa/aligned.h > +include/aircrack-ng/ce-wpa/arch.h > +include/aircrack-ng/ce-wpa/crypto_engine.h > +include/aircrack-ng/ce-wpa/jcommon.h > +include/aircrack-ng/ce-wpa/johnswap.h > +include/aircrack-ng/ce-wpa/memory.h > +include/aircrack-ng/ce-wpa/misc.h > +include/aircrack-ng/ce-wpa/pseudo_intrinsics.h > +include/aircrack-ng/ce-wpa/simd-intrinsics-load-flags.h > +include/aircrack-ng/ce-wpa/simd-intrinsics.h > +include/aircrack-ng/ce-wpa/wpapsk.h > +include/aircrack-ng/compat.h > +include/aircrack-ng/cowpatty/ > +include/aircrack-ng/cowpatty/cowpatty.h > +include/aircrack-ng/cpu/ > +include/aircrack-ng/cpu/cpuset.h > +include/aircrack-ng/cpu/simd_cpuid.h > +include/aircrack-ng/cpu/trampoline.h > +include/aircrack-ng/crypto/ > +include/aircrack-ng/crypto/crctable.h > +include/aircrack-ng/crypto/crypto.h > +include/aircrack-ng/crypto/gcrypt-openssl-wrapper.h > +include/aircrack-ng/crypto/sha1-git.h > +include/aircrack-ng/crypto/sha1-sse2.h > +include/aircrack-ng/defs.h > +include/aircrack-ng/osdep/ > +include/aircrack-ng/osdep/byteorder.h > +include/aircrack-ng/osdep/channel.h > +include/aircrack-ng/osdep/common.h > +include/aircrack-ng/osdep/network.h > +include/aircrack-ng/osdep/osdep.h > +include/aircrack-ng/osdep/packed.h > +include/aircrack-ng/ptw/ > +include/aircrack-ng/ptw/aircrack-ptw-lib.h > +include/aircrack-ng/support/ > +include/aircrack-ng/support/common.h > +include/aircrack-ng/support/communications.h > +include/aircrack-ng/support/crypto_engine_loader.h > +include/aircrack-ng/support/fragments.h > +include/aircrack-ng/support/mcs_index_rates.h > +include/aircrack-ng/support/pcap_local.h > +include/aircrack-ng/support/station.h > +include/aircrack-ng/third-party/ > +include/aircrack-ng/third-party/eapol.h > +include/aircrack-ng/third-party/ethernet.h > +include/aircrack-ng/third-party/hashcat.h > +include/aircrack-ng/third-party/ieee80211.h > +include/aircrack-ng/third-party/if_arp.h > +include/aircrack-ng/third-party/if_llc.h > +include/aircrack-ng/tui/ > +include/aircrack-ng/tui/console.h > +include/aircrack-ng/utf8/ > +include/aircrack-ng/utf8/verifyssid.h > +include/aircrack-ng/version.h > +@so lib/libaircrack-ce-wpa-${API_REV}.so > +lib/libaircrack-ce-wpa.la > +@so lib/libaircrack-ce-wpa.so > +@so lib/libaircrack-osdep-${API_REV}.so > lib/libaircrack-osdep.la > -lib/libaircrack-osdep.so > +@so lib/libaircrack-osdep.so > @man man/man1/aircrack-ng.1 > @man man/man1/airdecap-ng.1 > @man man/man1/airdecloak-ng.1 > @@ -23,6 +87,7 @@ lib/libaircrack-osdep.so > @man man/man1/airolib-ng.1 > @comment man/man1/airtun-ng.1 > @man man/man1/besside-ng-crawler.1 > +@man man/man1/buddy-ng.1 > @man man/man1/ivstools.1 > @man man/man1/kstats.1 > @man man/man1/makeivs-ng.1 > @@ -34,10 +99,21 @@ lib/libaircrack-osdep.so > @man man/man8/airodump-ng.8 > @man man/man8/airserv-ng.8 > @comment man/man8/airtun-ng.8 > +@man man/man8/airventriloquist-ng.8 > +@man man/man8/besside-ng.8 > +@man man/man8/easside-ng.8 > +@man man/man8/tkiptun-ng.8 > +@man man/man8/wesside-ng.8 > @bin sbin/airbase-ng > @comment sbin/airdriver-ng > @bin sbin/aireplay-ng > @comment sbin/airmon-ng > @bin sbin/airodump-ng > +sbin/airodump-ng-oui-update > @bin sbin/airserv-ng > @comment sbin/airtun-ng > +@bin sbin/airventriloquist-ng > +@bin sbin/besside-ng > +@bin sbin/easside-ng > +@bin sbin/tkiptun-ng > +@bin sbin/wesside-ng >