pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/security/hashcat
Module Name: pkgsrc
Committed By: adam
Date: Fri Aug 8 07:24:00 UTC 2025
Modified Files:
pkgsrc/security/hashcat: Makefile PLIST distinfo
pkgsrc/security/hashcat/patches: patch-src_Makefile
Added Files:
pkgsrc/security/hashcat/patches: patch-include_sort__r.h
patch-include_terminal.h patch-src_affinity.c
patch-src_bridges_bridge__argon2id__reference.mk
patch-src_bridges_bridge__python__generic__hash__mp.mk
patch-src_bridges_bridge__python__generic__hash__sp.mk
patch-src_bridges_bridge__scrypt__jane.mk
patch-src_bridges_bridge__scrypt__yescrypt.mk patch-src_folder.c
patch-src_memory.c patch-src_shared.c patch-src_terminal.c
Log Message:
hashcat: updated to 7.0.0
7.0.0
Major New Features
Assimilation Bridge: Integrate external resources like CPUs, FPGAs, embedded interpreters, and more into the cracking pipeline.
Python Bridge Plugin: Rapidly implement hash-matching logic in Python. No recompilation needed, supports multithreading and rule engine by default.
Virtual Backend Devices: Internally partitions physical GPUs into multiple logical devices for better bridge integration and async workloads.
Hash-Mode Autodetection: Omit the -m flag and let Hashcat detect the hash-mode, or use --identify to list possibilities.
Docker Build Support: Build Hashcat in a fully containerized, cross-platform environment, including cross-compilation to Windows.
New Algorithm Support
58 new application-specific hash types, including Argon2, MetaMask, Microsoft Online Account, SNMPv3, GPG, OpenSSH, and LUKS2
17 new generic hash constructions used in real-world web apps and protocols
11 new primitives added to the crypto library, improving reuse and plugin development
20 new tools to extract hashes from popular sources, including APFS, Virtualbox, BitLocker, and various wallet formats
Performance Improvements
Complete refactor of the autotuning engine for better device utilization
Major rewrite of memory management to eliminate previous 4GB allocation caps and enable full memory usage across devices
Improved tuning for hash-modes like NTLM, NetNTLMv2, and RAR3
Updated tuning database entries and lower overhead for multi-device setups
Optimizations to several individual hash-modes including:
scrypt: up to +320%
RAR3: up to +54%
NetNTLMv2: +223% (Intel)
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/security/hashcat/Makefile
cvs rdiff -u -r1.2 -r1.3 pkgsrc/security/hashcat/PLIST \
pkgsrc/security/hashcat/distinfo
cvs rdiff -u -r0 -r1.3 \
pkgsrc/security/hashcat/patches/patch-include_sort__r.h \
pkgsrc/security/hashcat/patches/patch-src_affinity.c \
pkgsrc/security/hashcat/patches/patch-src_folder.c \
pkgsrc/security/hashcat/patches/patch-src_terminal.c
cvs rdiff -u -r0 -r1.1 \
pkgsrc/security/hashcat/patches/patch-include_terminal.h \
pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__argon2id__reference.mk \
pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__mp.mk \
pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__sp.mk \
pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__jane.mk \
pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__yescrypt.mk \
pkgsrc/security/hashcat/patches/patch-src_memory.c \
pkgsrc/security/hashcat/patches/patch-src_shared.c
cvs rdiff -u -r1.2 -r1.3 pkgsrc/security/hashcat/patches/patch-src_Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/security/hashcat/Makefile
diff -u pkgsrc/security/hashcat/Makefile:1.4 pkgsrc/security/hashcat/Makefile:1.5
--- pkgsrc/security/hashcat/Makefile:1.4 Sun May 5 11:33:12 2024
+++ pkgsrc/security/hashcat/Makefile Fri Aug 8 07:23:59 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.4 2024/05/05 11:33:12 gdt Exp $
+# $NetBSD: Makefile,v 1.5 2025/08/08 07:23:59 adam Exp $
-DISTNAME= hashcat-6.2.6
+DISTNAME= hashcat-7.0.0
CATEGORIES= security
MASTER_SITES= https://hashcat.net/files/
@@ -9,18 +9,34 @@ HOMEPAGE= https://hashcat.net/
COMMENT= World's fastest and most advanced password recovery utility
LICENSE= mit
-USE_LANGUAGES= c c++
-USE_TOOLS+= gmake gsed
+USE_CXX_FEATURES= c++14
+USE_LANGUAGES= c c++
+USE_TOOLS+= gmake gsed
+
BUILD_TARGET= hashcat
MAKE_ENV+= SHARED=1
-MAKE_ENV+= USE_SYSTEM_ZLIB=1
MAKE_ENV+= USE_SYSTEM_XXHASH=1
+MAKE_ENV+= USE_SYSTEM_ZLIB=1
+.if ${MACHINE_ARCH} == "aarch64"
+MAKE_ENV+= IS_ARM=1
+CFLAGS+= -march=armv8-a+fp+simd
+.else
+MAKE_ENV+= IS_ARM=0
+.endif
.include "../../mk/bsd.fast.prefs.mk"
# see include/common.h
BROKEN_ON_PLATFORM+= ${BIGENDIANPLATFORMS}
+REPLACE_PERL= tools/*.pl
+REPLACE_PYTHON= tools/*.py
+
+post-install:
+ ${RM} ${DESTDIR}${PREFIX}/include/hashcat/sort_r.h.orig
+ ${RM} ${DESTDIR}${PREFIX}/include/hashcat/terminal.h.orig
+
.include "../../archivers/minizip/buildlink3.mk"
.include "../../devel/xxhash/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
+.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/security/hashcat/PLIST
diff -u pkgsrc/security/hashcat/PLIST:1.2 pkgsrc/security/hashcat/PLIST:1.3
--- pkgsrc/security/hashcat/PLIST:1.2 Mon Sep 5 11:13:56 2022
+++ pkgsrc/security/hashcat/PLIST Fri Aug 8 07:23:59 2025
@@ -1,5 +1,29 @@
-@comment $NetBSD: PLIST,v 1.2 2022/09/05 11:13:56 adam Exp $
+@comment $NetBSD: PLIST,v 1.3 2025/08/08 07:23:59 adam Exp $
+bin/aescrypt2hashcat.pl
+bin/apfs2hashcat.py
+bin/bisq2hashcat.py
+bin/bitlocker2hashcat.py
+bin/bitwarden2hashcat.py
+bin/cachedata2hashcat.py
+bin/cryptoloop2hashcat.py
+bin/exodus2hashcat.py
+bin/gitea2hashcat.py
bin/hashcat
+bin/keybag2hashcat.py
+bin/kremlin2hashcat.py
+bin/lastpass2hashcat.py
+bin/luks2hashcat.py
+bin/metamask2hashcat.py
+bin/mozilla2hashcat.py
+bin/radmin3_to_hashcat.pl
+bin/securenotes2hashcat.pl
+bin/shiro1-to-hashcat.py
+bin/sqlcipher2hashcat.pl
+bin/truecrypt2hashcat.py
+bin/veeamvbk2hashcat.py
+bin/veracrypt2hashcat.py
+bin/virtualbox2hashcat.py
+bin/vmwarevmx2hashcat.py
include/hashcat/affinity.h
include/hashcat/autotune.h
include/hashcat/backend.h
@@ -7,11 +31,13 @@ include/hashcat/benchmark.h
include/hashcat/bitmap.h
include/hashcat/bitops.h
include/hashcat/brain.h
+include/hashcat/bridges.h
include/hashcat/combinator.h
include/hashcat/common.h
include/hashcat/convert.h
include/hashcat/cpt.h
include/hashcat/cpu_crc32.h
+include/hashcat/cpu_features.h
include/hashcat/debugfile.h
include/hashcat/dictstat.h
include/hashcat/dispatch.h
@@ -44,6 +70,7 @@ include/hashcat/ext_nvml.h
include/hashcat/ext_nvrtc.h
include/hashcat/ext_sysfs_amdgpu.h
include/hashcat/ext_sysfs_cpu.h
+include/hashcat/ext_sysfs_intelgpu.h
include/hashcat/filehandling.h
include/hashcat/folder.h
include/hashcat/hashcat.h
@@ -183,6 +210,7 @@ share/doc/hashcat/charsets/standard/Poli
share/doc/hashcat/charsets/standard/Portuguese/pt_ISO-8859-1.hcchr
share/doc/hashcat/charsets/standard/Portuguese/pt_ISO-8859-15.hcchr
share/doc/hashcat/charsets/standard/Portuguese/pt_cp1252.hcchr
+share/doc/hashcat/charsets/standard/Romanian/ro_ISO-8859-2.hcchr
share/doc/hashcat/charsets/standard/Russian/ru_ISO-8859-5.hcchr
share/doc/hashcat/charsets/standard/Russian/ru_KOI8-R.hcchr
share/doc/hashcat/charsets/standard/Russian/ru_cp1251.hcchr
@@ -195,22 +223,33 @@ share/doc/hashcat/charsets/standard/Span
share/doc/hashcat/docs/changes.txt
share/doc/hashcat/docs/contact.txt
share/doc/hashcat/docs/credits.txt
+share/doc/hashcat/docs/device_status_code.txt
+share/doc/hashcat/docs/exit_status_code.txt
+share/doc/hashcat/docs/hashcat-assimilation-bridge-development.md
+share/doc/hashcat/docs/hashcat-assimilation-bridge.md
share/doc/hashcat/docs/hashcat-brain.md
+share/doc/hashcat/docs/hashcat-example_hashes.md
+share/doc/hashcat/docs/hashcat-help.md
share/doc/hashcat/docs/hashcat-plugin-development-guide.md
+share/doc/hashcat/docs/hashcat-python-plugin-development-guide.md
+share/doc/hashcat/docs/hashcat-python-plugin-quickstart.md
+share/doc/hashcat/docs/hashcat-python-plugin-requirements.md
share/doc/hashcat/docs/keyboard-layout-mapping.md
share/doc/hashcat/docs/license.txt
share/doc/hashcat/docs/license_libs/LZMA_SDK_LICENSE.txt
share/doc/hashcat/docs/license_libs/MINIZ_LICENSE.txt
share/doc/hashcat/docs/license_libs/OPENCL_HEADERS_LICENSE.txt
+share/doc/hashcat/docs/license_libs/SSE2NEON_LICENSE.txt
share/doc/hashcat/docs/license_libs/UNRAR_LICENSE.txt
share/doc/hashcat/docs/license_libs/XXHASH_LICENSE.txt
share/doc/hashcat/docs/license_libs/ZLIB_LICENSE.txt
share/doc/hashcat/docs/limits.txt
share/doc/hashcat/docs/performance.txt
share/doc/hashcat/docs/readme.txt
+share/doc/hashcat/docs/releases_notes_v7.0.0.md
+share/doc/hashcat/docs/releases_notes_v7.0.0.pdf
share/doc/hashcat/docs/rules.txt
share/doc/hashcat/docs/slow-candidates-mode.md
-share/doc/hashcat/docs/status_codes.txt
share/doc/hashcat/docs/team.txt
share/doc/hashcat/docs/user_manuals.txt
share/doc/hashcat/example.dict
@@ -225,6 +264,7 @@ share/doc/hashcat/extra/tab_completion/h
share/doc/hashcat/extra/tab_completion/install
share/doc/hashcat/layouts/ch_de.hckmap
share/doc/hashcat/layouts/ch_fr.hckmap
+share/doc/hashcat/layouts/da.hckmap
share/doc/hashcat/layouts/de.hckmap
share/doc/hashcat/layouts/it.hckmap
share/doc/hashcat/layouts/ru.hckmap
@@ -250,7 +290,7 @@ share/doc/hashcat/rules/T0XlC.rule
share/doc/hashcat/rules/T0XlC_3_rule.rule
share/doc/hashcat/rules/T0XlC_insert_HTML_entities_0_Z.rule
share/doc/hashcat/rules/T0XlCv2.rule
-share/doc/hashcat/rules/best64.rule
+share/doc/hashcat/rules/best66.rule
share/doc/hashcat/rules/combinator.rule
share/doc/hashcat/rules/d3ad0ne.rule
share/doc/hashcat/rules/dive.rule
@@ -328,26 +368,14 @@ share/doc/hashcat/rules/leetspeak.rule
share/doc/hashcat/rules/oscommerce.rule
share/doc/hashcat/rules/rockyou-30000.rule
share/doc/hashcat/rules/specific.rule
+share/doc/hashcat/rules/stacking58.rule
share/doc/hashcat/rules/toggles1.rule
share/doc/hashcat/rules/toggles2.rule
share/doc/hashcat/rules/toggles3.rule
share/doc/hashcat/rules/toggles4.rule
share/doc/hashcat/rules/toggles5.rule
+share/doc/hashcat/rules/top10_2025.rule
share/doc/hashcat/rules/unix-ninja-leetspeak.rule
-share/doc/hashcat/tools/aescrypt2hashcat.pl
-share/doc/hashcat/tools/bitwarden2hashcat.py
-share/doc/hashcat/tools/cryptoloop2hashcat.py
-share/doc/hashcat/tools/exodus2hashcat.py
-share/doc/hashcat/tools/luks2hashcat.py
-share/doc/hashcat/tools/metamask2hashcat.py
-share/doc/hashcat/tools/mozilla2hashcat.py
-share/doc/hashcat/tools/radmin3_to_hashcat.pl
-share/doc/hashcat/tools/securenotes2hashcat.pl
-share/doc/hashcat/tools/sqlcipher2hashcat.pl
-share/doc/hashcat/tools/truecrypt2hashcat.py
-share/doc/hashcat/tools/veracrypt2hashcat.py
-share/doc/hashcat/tools/virtualbox2hashcat.py
-share/doc/hashcat/tools/vmwarevmx2hashcat.py
share/hashcat/OpenCL/amp_a0.cl
share/hashcat/OpenCL/amp_a1.cl
share/hashcat/OpenCL/amp_a3.cl
@@ -360,6 +388,8 @@ share/hashcat/OpenCL/inc_cipher_aes.cl
share/hashcat/OpenCL/inc_cipher_aes.h
share/hashcat/OpenCL/inc_cipher_camellia.cl
share/hashcat/OpenCL/inc_cipher_camellia.h
+share/hashcat/OpenCL/inc_cipher_cast.cl
+share/hashcat/OpenCL/inc_cipher_cast.h
share/hashcat/OpenCL/inc_cipher_des.cl
share/hashcat/OpenCL/inc_cipher_des.h
share/hashcat/OpenCL/inc_cipher_kuznyechik.cl
@@ -376,6 +406,8 @@ share/hashcat/OpenCL/inc_comp_multi.cl
share/hashcat/OpenCL/inc_comp_multi.h
share/hashcat/OpenCL/inc_comp_multi_bs.cl
share/hashcat/OpenCL/inc_comp_multi_bs.h
+share/hashcat/OpenCL/inc_comp_multi_iba.cl
+share/hashcat/OpenCL/inc_comp_multi_iba.h
share/hashcat/OpenCL/inc_comp_single.cl
share/hashcat/OpenCL/inc_comp_single.h
share/hashcat/OpenCL/inc_comp_single_bs.cl
@@ -384,16 +416,24 @@ share/hashcat/OpenCL/inc_diskcryptor_xts
share/hashcat/OpenCL/inc_diskcryptor_xts.h
share/hashcat/OpenCL/inc_ecc_secp256k1.cl
share/hashcat/OpenCL/inc_ecc_secp256k1.h
+share/hashcat/OpenCL/inc_hash_argon2.cl
+share/hashcat/OpenCL/inc_hash_argon2.h
share/hashcat/OpenCL/inc_hash_base58.cl
share/hashcat/OpenCL/inc_hash_base58.h
share/hashcat/OpenCL/inc_hash_blake2b.cl
share/hashcat/OpenCL/inc_hash_blake2b.h
+share/hashcat/OpenCL/inc_hash_blake2s.cl
+share/hashcat/OpenCL/inc_hash_blake2s.h
share/hashcat/OpenCL/inc_hash_md4.cl
share/hashcat/OpenCL/inc_hash_md4.h
share/hashcat/OpenCL/inc_hash_md5.cl
share/hashcat/OpenCL/inc_hash_md5.h
share/hashcat/OpenCL/inc_hash_ripemd160.cl
share/hashcat/OpenCL/inc_hash_ripemd160.h
+share/hashcat/OpenCL/inc_hash_ripemd320.cl
+share/hashcat/OpenCL/inc_hash_ripemd320.h
+share/hashcat/OpenCL/inc_hash_scrypt.cl
+share/hashcat/OpenCL/inc_hash_scrypt.h
share/hashcat/OpenCL/inc_hash_sha1.cl
share/hashcat/OpenCL/inc_hash_sha1.h
share/hashcat/OpenCL/inc_hash_sha224.cl
@@ -404,6 +444,8 @@ share/hashcat/OpenCL/inc_hash_sha384.cl
share/hashcat/OpenCL/inc_hash_sha384.h
share/hashcat/OpenCL/inc_hash_sha512.cl
share/hashcat/OpenCL/inc_hash_sha512.h
+share/hashcat/OpenCL/inc_hash_sm3.cl
+share/hashcat/OpenCL/inc_hash_sm3.h
share/hashcat/OpenCL/inc_hash_streebog256.cl
share/hashcat/OpenCL/inc_hash_streebog256.h
share/hashcat/OpenCL/inc_hash_streebog512.cl
@@ -428,6 +470,8 @@ share/hashcat/OpenCL/inc_platform.h
share/hashcat/OpenCL/inc_radmin3_constants.h
share/hashcat/OpenCL/inc_rp.cl
share/hashcat/OpenCL/inc_rp.h
+share/hashcat/OpenCL/inc_rp_common.cl
+share/hashcat/OpenCL/inc_rp_common.h
share/hashcat/OpenCL/inc_rp_optimized.cl
share/hashcat/OpenCL/inc_rp_optimized.h
share/hashcat/OpenCL/inc_scalar.cl
@@ -723,6 +767,12 @@ share/hashcat/OpenCL/m02610_a1-optimized
share/hashcat/OpenCL/m02610_a1-pure.cl
share/hashcat/OpenCL/m02610_a3-optimized.cl
share/hashcat/OpenCL/m02610_a3-pure.cl
+share/hashcat/OpenCL/m02630_a0-optimized.cl
+share/hashcat/OpenCL/m02630_a0-pure.cl
+share/hashcat/OpenCL/m02630_a1-optimized.cl
+share/hashcat/OpenCL/m02630_a1-pure.cl
+share/hashcat/OpenCL/m02630_a3-optimized.cl
+share/hashcat/OpenCL/m02630_a3-pure.cl
share/hashcat/OpenCL/m02710_a0-optimized.cl
share/hashcat/OpenCL/m02710_a1-optimized.cl
share/hashcat/OpenCL/m02710_a3-optimized.cl
@@ -745,12 +795,21 @@ share/hashcat/OpenCL/m03500_a1-optimized
share/hashcat/OpenCL/m03500_a1-pure.cl
share/hashcat/OpenCL/m03500_a3-optimized.cl
share/hashcat/OpenCL/m03500_a3-pure.cl
+share/hashcat/OpenCL/m03610_a0-optimized.cl
+share/hashcat/OpenCL/m03610_a0-pure.cl
+share/hashcat/OpenCL/m03610_a1-optimized.cl
+share/hashcat/OpenCL/m03610_a1-pure.cl
+share/hashcat/OpenCL/m03610_a3-optimized.cl
+share/hashcat/OpenCL/m03610_a3-pure.cl
share/hashcat/OpenCL/m03710_a0-optimized.cl
share/hashcat/OpenCL/m03710_a0-pure.cl
share/hashcat/OpenCL/m03710_a1-optimized.cl
share/hashcat/OpenCL/m03710_a1-pure.cl
share/hashcat/OpenCL/m03710_a3-optimized.cl
share/hashcat/OpenCL/m03710_a3-pure.cl
+share/hashcat/OpenCL/m03730_a0-pure.cl
+share/hashcat/OpenCL/m03730_a1-pure.cl
+share/hashcat/OpenCL/m03730_a3-pure.cl
share/hashcat/OpenCL/m03800_a0-optimized.cl
share/hashcat/OpenCL/m03800_a0-pure.cl
share/hashcat/OpenCL/m03800_a1-optimized.cl
@@ -793,6 +852,18 @@ share/hashcat/OpenCL/m04410_a1-optimized
share/hashcat/OpenCL/m04410_a1-pure.cl
share/hashcat/OpenCL/m04410_a3-optimized.cl
share/hashcat/OpenCL/m04410_a3-pure.cl
+share/hashcat/OpenCL/m04420_a0-optimized.cl
+share/hashcat/OpenCL/m04420_a0-pure.cl
+share/hashcat/OpenCL/m04420_a1-optimized.cl
+share/hashcat/OpenCL/m04420_a1-pure.cl
+share/hashcat/OpenCL/m04420_a3-optimized.cl
+share/hashcat/OpenCL/m04420_a3-pure.cl
+share/hashcat/OpenCL/m04430_a0-optimized.cl
+share/hashcat/OpenCL/m04430_a0-pure.cl
+share/hashcat/OpenCL/m04430_a1-optimized.cl
+share/hashcat/OpenCL/m04430_a1-pure.cl
+share/hashcat/OpenCL/m04430_a3-optimized.cl
+share/hashcat/OpenCL/m04430_a3-pure.cl
share/hashcat/OpenCL/m04500_a0-optimized.cl
share/hashcat/OpenCL/m04500_a0-pure.cl
share/hashcat/OpenCL/m04500_a1-optimized.cl
@@ -880,6 +951,12 @@ share/hashcat/OpenCL/m06000_a1-optimized
share/hashcat/OpenCL/m06000_a1-pure.cl
share/hashcat/OpenCL/m06000_a3-optimized.cl
share/hashcat/OpenCL/m06000_a3-pure.cl
+share/hashcat/OpenCL/m06050_a0-pure.cl
+share/hashcat/OpenCL/m06050_a1-pure.cl
+share/hashcat/OpenCL/m06050_a3-pure.cl
+share/hashcat/OpenCL/m06060_a0-pure.cl
+share/hashcat/OpenCL/m06060_a1-pure.cl
+share/hashcat/OpenCL/m06060_a3-pure.cl
share/hashcat/OpenCL/m06100_a0-optimized.cl
share/hashcat/OpenCL/m06100_a0-pure.cl
share/hashcat/OpenCL/m06100_a1-optimized.cl
@@ -918,6 +995,12 @@ share/hashcat/OpenCL/m07300_a1-optimized
share/hashcat/OpenCL/m07300_a1-pure.cl
share/hashcat/OpenCL/m07300_a3-optimized.cl
share/hashcat/OpenCL/m07300_a3-pure.cl
+share/hashcat/OpenCL/m07350_a0-optimized.cl
+share/hashcat/OpenCL/m07350_a0-pure.cl
+share/hashcat/OpenCL/m07350_a1-optimized.cl
+share/hashcat/OpenCL/m07350_a1-pure.cl
+share/hashcat/OpenCL/m07350_a3-optimized.cl
+share/hashcat/OpenCL/m07350_a3-pure.cl
share/hashcat/OpenCL/m07400-optimized.cl
share/hashcat/OpenCL/m07400-pure.cl
share/hashcat/OpenCL/m07500_a0-optimized.cl
@@ -1015,6 +1098,7 @@ share/hashcat/OpenCL/m10420_a0-optimized
share/hashcat/OpenCL/m10420_a1-optimized.cl
share/hashcat/OpenCL/m10420_a3-optimized.cl
share/hashcat/OpenCL/m10500-pure.cl
+share/hashcat/OpenCL/m10510-pure.cl
share/hashcat/OpenCL/m10700-optimized.cl
share/hashcat/OpenCL/m10700-pure.cl
share/hashcat/OpenCL/m10800_a0-optimized.cl
@@ -1077,8 +1161,11 @@ share/hashcat/OpenCL/m11400_a0-pure.cl
share/hashcat/OpenCL/m11400_a1-pure.cl
share/hashcat/OpenCL/m11400_a3-pure.cl
share/hashcat/OpenCL/m11500_a0-optimized.cl
+share/hashcat/OpenCL/m11500_a0-pure.cl
share/hashcat/OpenCL/m11500_a1-optimized.cl
+share/hashcat/OpenCL/m11500_a1-pure.cl
share/hashcat/OpenCL/m11500_a3-optimized.cl
+share/hashcat/OpenCL/m11500_a3-pure.cl
share/hashcat/OpenCL/m11600-optimized.cl
share/hashcat/OpenCL/m11600-pure.cl
share/hashcat/OpenCL/m11700_a0-optimized.cl
@@ -1107,6 +1194,7 @@ share/hashcat/OpenCL/m11860_a1-pure.cl
share/hashcat/OpenCL/m11860_a3-pure.cl
share/hashcat/OpenCL/m11900-pure.cl
share/hashcat/OpenCL/m12000-pure.cl
+share/hashcat/OpenCL/m12150-pure.cl
share/hashcat/OpenCL/m12200-pure.cl
share/hashcat/OpenCL/m12300-pure.cl
share/hashcat/OpenCL/m12400-pure.cl
@@ -1176,6 +1264,7 @@ share/hashcat/OpenCL/m14000_a3-pure.cl
share/hashcat/OpenCL/m14100_a0-pure.cl
share/hashcat/OpenCL/m14100_a1-pure.cl
share/hashcat/OpenCL/m14100_a3-pure.cl
+share/hashcat/OpenCL/m14200-pure.cl
share/hashcat/OpenCL/m14400_a0-optimized.cl
share/hashcat/OpenCL/m14400_a0-pure.cl
share/hashcat/OpenCL/m14400_a1-optimized.cl
@@ -1302,6 +1391,9 @@ share/hashcat/OpenCL/m16800-pure.cl
share/hashcat/OpenCL/m16801-pure.cl
share/hashcat/OpenCL/m16900-pure.cl
share/hashcat/OpenCL/m17010-pure.cl
+share/hashcat/OpenCL/m17020-pure.cl
+share/hashcat/OpenCL/m17030-pure.cl
+share/hashcat/OpenCL/m17040-pure.cl
share/hashcat/OpenCL/m17200_a0-pure.cl
share/hashcat/OpenCL/m17200_a1-pure.cl
share/hashcat/OpenCL/m17200_a3-pure.cl
@@ -1393,9 +1485,18 @@ share/hashcat/OpenCL/m20710_a1-optimized
share/hashcat/OpenCL/m20710_a1-pure.cl
share/hashcat/OpenCL/m20710_a3-optimized.cl
share/hashcat/OpenCL/m20710_a3-pure.cl
+share/hashcat/OpenCL/m20712_a0-optimized.cl
+share/hashcat/OpenCL/m20712_a0-pure.cl
+share/hashcat/OpenCL/m20712_a1-optimized.cl
+share/hashcat/OpenCL/m20712_a1-pure.cl
+share/hashcat/OpenCL/m20712_a3-optimized.cl
+share/hashcat/OpenCL/m20712_a3-pure.cl
share/hashcat/OpenCL/m20720_a0-pure.cl
share/hashcat/OpenCL/m20720_a1-pure.cl
share/hashcat/OpenCL/m20720_a3-pure.cl
+share/hashcat/OpenCL/m20730_a0-pure.cl
+share/hashcat/OpenCL/m20730_a1-pure.cl
+share/hashcat/OpenCL/m20730_a3-pure.cl
share/hashcat/OpenCL/m20800_a0-optimized.cl
share/hashcat/OpenCL/m20800_a0-pure.cl
share/hashcat/OpenCL/m20800_a1-optimized.cl
@@ -1429,6 +1530,9 @@ share/hashcat/OpenCL/m21200_a3-pure.cl
share/hashcat/OpenCL/m21300_a0-pure.cl
share/hashcat/OpenCL/m21300_a1-pure.cl
share/hashcat/OpenCL/m21300_a3-pure.cl
+share/hashcat/OpenCL/m21310_a0-pure.cl
+share/hashcat/OpenCL/m21310_a1-pure.cl
+share/hashcat/OpenCL/m21310_a3-pure.cl
share/hashcat/OpenCL/m21400_a0-optimized.cl
share/hashcat/OpenCL/m21400_a0-pure.cl
share/hashcat/OpenCL/m21400_a1-optimized.cl
@@ -1442,6 +1546,9 @@ share/hashcat/OpenCL/m21500-pure.cl
share/hashcat/OpenCL/m21600-pure.cl
share/hashcat/OpenCL/m21700-pure.cl
share/hashcat/OpenCL/m21800-pure.cl
+share/hashcat/OpenCL/m21900_a0-pure.cl
+share/hashcat/OpenCL/m21900_a1-pure.cl
+share/hashcat/OpenCL/m21900_a3-pure.cl
share/hashcat/OpenCL/m22000-pure.cl
share/hashcat/OpenCL/m22001-pure.cl
share/hashcat/OpenCL/m22100-pure.cl
@@ -1466,6 +1573,9 @@ share/hashcat/OpenCL/m22500_a3-optimized
share/hashcat/OpenCL/m22500_a3-pure.cl
share/hashcat/OpenCL/m22600-pure.cl
share/hashcat/OpenCL/m22700-pure.cl
+share/hashcat/OpenCL/m22800_a0-pure.cl
+share/hashcat/OpenCL/m22800_a1-pure.cl
+share/hashcat/OpenCL/m22800_a3-pure.cl
share/hashcat/OpenCL/m22911_a0-pure.cl
share/hashcat/OpenCL/m22911_a1-pure.cl
share/hashcat/OpenCL/m22911_a3-pure.cl
@@ -1510,6 +1620,7 @@ share/hashcat/OpenCL/m23700-pure.cl
share/hashcat/OpenCL/m23800-optimized.cl
share/hashcat/OpenCL/m23800-pure.cl
share/hashcat/OpenCL/m23900-pure.cl
+share/hashcat/OpenCL/m24000-pure.cl
share/hashcat/OpenCL/m24100-pure.cl
share/hashcat/OpenCL/m24200-pure.cl
share/hashcat/OpenCL/m24300_a0-optimized.cl
@@ -1572,6 +1683,7 @@ share/hashcat/OpenCL/m26403_a1-optimized
share/hashcat/OpenCL/m26403_a3-optimized.cl
share/hashcat/OpenCL/m26500-pure.cl
share/hashcat/OpenCL/m26600-pure.cl
+share/hashcat/OpenCL/m26610-pure.cl
share/hashcat/OpenCL/m26700-pure.cl
share/hashcat/OpenCL/m26800-pure.cl
share/hashcat/OpenCL/m26900-pure.cl
@@ -1592,11 +1704,17 @@ share/hashcat/OpenCL/m27800_a0-optimized
share/hashcat/OpenCL/m27800_a1-optimized.cl
share/hashcat/OpenCL/m27800_a3-optimized.cl
share/hashcat/OpenCL/m27900_a0-optimized.cl
+share/hashcat/OpenCL/m27900_a0-pure.cl
share/hashcat/OpenCL/m27900_a1-optimized.cl
+share/hashcat/OpenCL/m27900_a1-pure.cl
share/hashcat/OpenCL/m27900_a3-optimized.cl
+share/hashcat/OpenCL/m27900_a3-pure.cl
share/hashcat/OpenCL/m28000_a0-optimized.cl
+share/hashcat/OpenCL/m28000_a0-pure.cl
share/hashcat/OpenCL/m28000_a1-optimized.cl
+share/hashcat/OpenCL/m28000_a1-pure.cl
share/hashcat/OpenCL/m28000_a3-optimized.cl
+share/hashcat/OpenCL/m28000_a3-pure.cl
share/hashcat/OpenCL/m28100-pure.cl
share/hashcat/OpenCL/m28200-pure.cl
share/hashcat/OpenCL/m28300_a0-pure.cl
@@ -1635,11 +1753,171 @@ share/hashcat/OpenCL/m29200_a1-pure.cl
share/hashcat/OpenCL/m29200_a3-pure.cl
share/hashcat/OpenCL/m29600-pure.cl
share/hashcat/OpenCL/m29700-pure.cl
+share/hashcat/OpenCL/m29910-pure.cl
+share/hashcat/OpenCL/m29920-pure.cl
+share/hashcat/OpenCL/m29930-pure.cl
+share/hashcat/OpenCL/m29940-pure.cl
+share/hashcat/OpenCL/m30420_a0-optimized.cl
+share/hashcat/OpenCL/m30420_a0-pure.cl
+share/hashcat/OpenCL/m30420_a1-optimized.cl
+share/hashcat/OpenCL/m30420_a1-pure.cl
+share/hashcat/OpenCL/m30420_a3-optimized.cl
+share/hashcat/OpenCL/m30420_a3-pure.cl
+share/hashcat/OpenCL/m30500_a0-optimized.cl
+share/hashcat/OpenCL/m30500_a0-pure.cl
+share/hashcat/OpenCL/m30500_a1-optimized.cl
+share/hashcat/OpenCL/m30500_a1-pure.cl
+share/hashcat/OpenCL/m30500_a3-optimized.cl
+share/hashcat/OpenCL/m30500_a3-pure.cl
+share/hashcat/OpenCL/m30600-pure.cl
+share/hashcat/OpenCL/m30601-pure.cl
+share/hashcat/OpenCL/m30700_a0-optimized.cl
+share/hashcat/OpenCL/m30700_a0-pure.cl
+share/hashcat/OpenCL/m30700_a1-optimized.cl
+share/hashcat/OpenCL/m30700_a1-pure.cl
+share/hashcat/OpenCL/m30700_a3-optimized.cl
+share/hashcat/OpenCL/m30700_a3-pure.cl
+share/hashcat/OpenCL/m30901_a0-pure.cl
+share/hashcat/OpenCL/m30901_a1-pure.cl
+share/hashcat/OpenCL/m30901_a3-pure.cl
+share/hashcat/OpenCL/m30902_a0-pure.cl
+share/hashcat/OpenCL/m30902_a1-pure.cl
+share/hashcat/OpenCL/m30902_a3-pure.cl
+share/hashcat/OpenCL/m30905_a0-pure.cl
+share/hashcat/OpenCL/m30905_a1-pure.cl
+share/hashcat/OpenCL/m30905_a3-pure.cl
+share/hashcat/OpenCL/m30906_a0-pure.cl
+share/hashcat/OpenCL/m30906_a1-pure.cl
+share/hashcat/OpenCL/m30906_a3-pure.cl
+share/hashcat/OpenCL/m31000_a0-optimized.cl
+share/hashcat/OpenCL/m31000_a0-pure.cl
+share/hashcat/OpenCL/m31000_a1-optimized.cl
+share/hashcat/OpenCL/m31000_a1-pure.cl
+share/hashcat/OpenCL/m31000_a3-optimized.cl
+share/hashcat/OpenCL/m31000_a3-pure.cl
+share/hashcat/OpenCL/m31100_a0-optimized.cl
+share/hashcat/OpenCL/m31100_a0-pure.cl
+share/hashcat/OpenCL/m31100_a1-optimized.cl
+share/hashcat/OpenCL/m31100_a1-pure.cl
+share/hashcat/OpenCL/m31100_a3-optimized.cl
+share/hashcat/OpenCL/m31100_a3-pure.cl
+share/hashcat/OpenCL/m31200-pure.cl
+share/hashcat/OpenCL/m31300_a0-optimized.cl
+share/hashcat/OpenCL/m31300_a0-pure.cl
+share/hashcat/OpenCL/m31300_a1-optimized.cl
+share/hashcat/OpenCL/m31300_a1-pure.cl
+share/hashcat/OpenCL/m31300_a3-optimized.cl
+share/hashcat/OpenCL/m31300_a3-pure.cl
+share/hashcat/OpenCL/m31400_a0-optimized.cl
+share/hashcat/OpenCL/m31400_a0-pure.cl
+share/hashcat/OpenCL/m31400_a1-optimized.cl
+share/hashcat/OpenCL/m31400_a1-pure.cl
+share/hashcat/OpenCL/m31400_a3-optimized.cl
+share/hashcat/OpenCL/m31400_a3-pure.cl
+share/hashcat/OpenCL/m31500-pure.cl
+share/hashcat/OpenCL/m31600-pure.cl
+share/hashcat/OpenCL/m31700_a0-pure.cl
+share/hashcat/OpenCL/m31700_a1-pure.cl
+share/hashcat/OpenCL/m31700_a3-pure.cl
+share/hashcat/OpenCL/m31800-pure.cl
+share/hashcat/OpenCL/m31900-pure.cl
+share/hashcat/OpenCL/m32000-pure.cl
+share/hashcat/OpenCL/m32010-pure.cl
+share/hashcat/OpenCL/m32020-pure.cl
+share/hashcat/OpenCL/m32030-pure.cl
+share/hashcat/OpenCL/m32040-pure.cl
+share/hashcat/OpenCL/m32100-pure.cl
+share/hashcat/OpenCL/m32200-pure.cl
+share/hashcat/OpenCL/m32300_a0-optimized.cl
+share/hashcat/OpenCL/m32300_a0-pure.cl
+share/hashcat/OpenCL/m32300_a1-optimized.cl
+share/hashcat/OpenCL/m32300_a1-pure.cl
+share/hashcat/OpenCL/m32300_a3-optimized.cl
+share/hashcat/OpenCL/m32300_a3-pure.cl
+share/hashcat/OpenCL/m32410_a0-pure.cl
+share/hashcat/OpenCL/m32410_a1-pure.cl
+share/hashcat/OpenCL/m32410_a3-pure.cl
+share/hashcat/OpenCL/m32420_a0-pure.cl
+share/hashcat/OpenCL/m32420_a1-pure.cl
+share/hashcat/OpenCL/m32420_a3-pure.cl
+share/hashcat/OpenCL/m32500-pure.cl
+share/hashcat/OpenCL/m32600_a0-pure.cl
+share/hashcat/OpenCL/m32600_a1-pure.cl
+share/hashcat/OpenCL/m32600_a3-pure.cl
+share/hashcat/OpenCL/m32700-pure.cl
+share/hashcat/OpenCL/m32800_a0-optimized.cl
+share/hashcat/OpenCL/m32800_a0-pure.cl
+share/hashcat/OpenCL/m32800_a1-optimized.cl
+share/hashcat/OpenCL/m32800_a1-pure.cl
+share/hashcat/OpenCL/m32800_a3-optimized.cl
+share/hashcat/OpenCL/m32800_a3-pure.cl
+share/hashcat/OpenCL/m32900-pure.cl
+share/hashcat/OpenCL/m33000_a0-pure.cl
+share/hashcat/OpenCL/m33000_a1-pure.cl
+share/hashcat/OpenCL/m33000_a3-pure.cl
+share/hashcat/OpenCL/m33100_a0-pure.cl
+share/hashcat/OpenCL/m33100_a1-pure.cl
+share/hashcat/OpenCL/m33100_a3-pure.cl
+share/hashcat/OpenCL/m33300_a0-pure.cl
+share/hashcat/OpenCL/m33300_a1-pure.cl
+share/hashcat/OpenCL/m33300_a3-pure.cl
+share/hashcat/OpenCL/m33400-pure.cl
+share/hashcat/OpenCL/m33500_a0-optimized.cl
+share/hashcat/OpenCL/m33500_a1-optimized.cl
+share/hashcat/OpenCL/m33500_a3-optimized.cl
+share/hashcat/OpenCL/m33501_a0-optimized.cl
+share/hashcat/OpenCL/m33501_a1-optimized.cl
+share/hashcat/OpenCL/m33501_a3-optimized.cl
+share/hashcat/OpenCL/m33502_a0-optimized.cl
+share/hashcat/OpenCL/m33502_a1-optimized.cl
+share/hashcat/OpenCL/m33502_a3-optimized.cl
+share/hashcat/OpenCL/m33600_a0-optimized.cl
+share/hashcat/OpenCL/m33600_a0-pure.cl
+share/hashcat/OpenCL/m33600_a1-optimized.cl
+share/hashcat/OpenCL/m33600_a1-pure.cl
+share/hashcat/OpenCL/m33600_a3-optimized.cl
+share/hashcat/OpenCL/m33600_a3-pure.cl
+share/hashcat/OpenCL/m33650_a0-pure.cl
+share/hashcat/OpenCL/m33650_a1-pure.cl
+share/hashcat/OpenCL/m33650_a3-pure.cl
+share/hashcat/OpenCL/m33660_a0-pure.cl
+share/hashcat/OpenCL/m33660_a1-pure.cl
+share/hashcat/OpenCL/m33660_a3-pure.cl
+share/hashcat/OpenCL/m33700-pure.cl
+share/hashcat/OpenCL/m33800-pure.cl
+share/hashcat/OpenCL/m34000-pure.cl
+share/hashcat/OpenCL/m34100-pure.cl
+share/hashcat/OpenCL/m34200_a0-optimized.cl
+share/hashcat/OpenCL/m34200_a0-pure.cl
+share/hashcat/OpenCL/m34200_a1-optimized.cl
+share/hashcat/OpenCL/m34200_a1-pure.cl
+share/hashcat/OpenCL/m34200_a3-optimized.cl
+share/hashcat/OpenCL/m34200_a3-pure.cl
+share/hashcat/OpenCL/m34201_a0-optimized.cl
+share/hashcat/OpenCL/m34201_a0-pure.cl
+share/hashcat/OpenCL/m34201_a1-optimized.cl
+share/hashcat/OpenCL/m34201_a1-pure.cl
+share/hashcat/OpenCL/m34201_a3-optimized.cl
+share/hashcat/OpenCL/m34201_a3-pure.cl
+share/hashcat/OpenCL/m34211_a0-optimized.cl
+share/hashcat/OpenCL/m34211_a0-pure.cl
+share/hashcat/OpenCL/m34211_a1-optimized.cl
+share/hashcat/OpenCL/m34211_a1-pure.cl
+share/hashcat/OpenCL/m34211_a3-optimized.cl
+share/hashcat/OpenCL/m34211_a3-pure.cl
+share/hashcat/OpenCL/m70000-pure.cl
+share/hashcat/OpenCL/m70100-pure.cl
+share/hashcat/OpenCL/m72000-pure.cl
+share/hashcat/OpenCL/m73000-pure.cl
share/hashcat/OpenCL/markov_be.cl
share/hashcat/OpenCL/markov_le.cl
share/hashcat/OpenCL/shared.cl
+share/hashcat/bridges/.gitkeep
+share/hashcat/bridges/bridge_argon2id_reference.so
+share/hashcat/bridges/bridge_scrypt_jane.so
+share/hashcat/bridges/bridge_scrypt_yescrypt.so
share/hashcat/hashcat.hcstat2
-share/hashcat/modules/.lock
+share/hashcat/modules/.gitkeep
share/hashcat/modules/module_00000.so
share/hashcat/modules/module_00010.so
share/hashcat/modules/module_00011.so
@@ -1719,14 +1997,17 @@ share/hashcat/modules/module_02501.so
share/hashcat/modules/module_02600.so
share/hashcat/modules/module_02611.so
share/hashcat/modules/module_02612.so
+share/hashcat/modules/module_02630.so
share/hashcat/modules/module_02711.so
share/hashcat/modules/module_02811.so
share/hashcat/modules/module_03000.so
share/hashcat/modules/module_03100.so
share/hashcat/modules/module_03200.so
share/hashcat/modules/module_03500.so
+share/hashcat/modules/module_03610.so
share/hashcat/modules/module_03710.so
share/hashcat/modules/module_03711.so
+share/hashcat/modules/module_03730.so
share/hashcat/modules/module_03800.so
share/hashcat/modules/module_03910.so
share/hashcat/modules/module_04010.so
@@ -1734,6 +2015,8 @@ share/hashcat/modules/module_04110.so
share/hashcat/modules/module_04300.so
share/hashcat/modules/module_04400.so
share/hashcat/modules/module_04410.so
+share/hashcat/modules/module_04420.so
+share/hashcat/modules/module_04430.so
share/hashcat/modules/module_04500.so
share/hashcat/modules/module_04510.so
share/hashcat/modules/module_04520.so
@@ -1754,6 +2037,8 @@ share/hashcat/modules/module_05600.so
share/hashcat/modules/module_05700.so
share/hashcat/modules/module_05800.so
share/hashcat/modules/module_06000.so
+share/hashcat/modules/module_06050.so
+share/hashcat/modules/module_06060.so
share/hashcat/modules/module_06100.so
share/hashcat/modules/module_06211.so
share/hashcat/modules/module_06212.so
@@ -1778,6 +2063,7 @@ share/hashcat/modules/module_07000.so
share/hashcat/modules/module_07100.so
share/hashcat/modules/module_07200.so
share/hashcat/modules/module_07300.so
+share/hashcat/modules/module_07350.so
share/hashcat/modules/module_07400.so
share/hashcat/modules/module_07401.so
share/hashcat/modules/module_07500.so
@@ -1818,6 +2104,7 @@ share/hashcat/modules/module_10400.so
share/hashcat/modules/module_10410.so
share/hashcat/modules/module_10420.so
share/hashcat/modules/module_10500.so
+share/hashcat/modules/module_10510.so
share/hashcat/modules/module_10600.so
share/hashcat/modules/module_10700.so
share/hashcat/modules/module_10800.so
@@ -1845,6 +2132,7 @@ share/hashcat/modules/module_11900.so
share/hashcat/modules/module_12000.so
share/hashcat/modules/module_12001.so
share/hashcat/modules/module_12100.so
+share/hashcat/modules/module_12150.so
share/hashcat/modules/module_12200.so
share/hashcat/modules/module_12300.so
share/hashcat/modules/module_12400.so
@@ -1888,6 +2176,7 @@ share/hashcat/modules/module_13800.so
share/hashcat/modules/module_13900.so
share/hashcat/modules/module_14000.so
share/hashcat/modules/module_14100.so
+share/hashcat/modules/module_14200.so
share/hashcat/modules/module_14400.so
share/hashcat/modules/module_14500.so
share/hashcat/modules/module_14600.so
@@ -1911,12 +2200,16 @@ share/hashcat/modules/module_16200.so
share/hashcat/modules/module_16300.so
share/hashcat/modules/module_16400.so
share/hashcat/modules/module_16500.so
+share/hashcat/modules/module_16501.so
share/hashcat/modules/module_16600.so
share/hashcat/modules/module_16700.so
share/hashcat/modules/module_16800.so
share/hashcat/modules/module_16801.so
share/hashcat/modules/module_16900.so
share/hashcat/modules/module_17010.so
+share/hashcat/modules/module_17020.so
+share/hashcat/modules/module_17030.so
+share/hashcat/modules/module_17040.so
share/hashcat/modules/module_17200.so
share/hashcat/modules/module_17210.so
share/hashcat/modules/module_17220.so
@@ -1942,6 +2235,7 @@ share/hashcat/modules/module_18900.so
share/hashcat/modules/module_19000.so
share/hashcat/modules/module_19100.so
share/hashcat/modules/module_19200.so
+share/hashcat/modules/module_19210.so
share/hashcat/modules/module_19300.so
share/hashcat/modules/module_19500.so
share/hashcat/modules/module_19600.so
@@ -1959,13 +2253,16 @@ share/hashcat/modules/module_20510.so
share/hashcat/modules/module_20600.so
share/hashcat/modules/module_20710.so
share/hashcat/modules/module_20711.so
+share/hashcat/modules/module_20712.so
share/hashcat/modules/module_20720.so
+share/hashcat/modules/module_20730.so
share/hashcat/modules/module_20800.so
share/hashcat/modules/module_20900.so
share/hashcat/modules/module_21000.so
share/hashcat/modules/module_21100.so
share/hashcat/modules/module_21200.so
share/hashcat/modules/module_21300.so
+share/hashcat/modules/module_21310.so
share/hashcat/modules/module_21400.so
share/hashcat/modules/module_21420.so
share/hashcat/modules/module_21500.so
@@ -1973,6 +2270,7 @@ share/hashcat/modules/module_21501.so
share/hashcat/modules/module_21600.so
share/hashcat/modules/module_21700.so
share/hashcat/modules/module_21800.so
+share/hashcat/modules/module_21900.so
share/hashcat/modules/module_22000.so
share/hashcat/modules/module_22001.so
share/hashcat/modules/module_22100.so
@@ -1983,6 +2281,7 @@ share/hashcat/modules/module_22400.so
share/hashcat/modules/module_22500.so
share/hashcat/modules/module_22600.so
share/hashcat/modules/module_22700.so
+share/hashcat/modules/module_22800.so
share/hashcat/modules/module_22911.so
share/hashcat/modules/module_22921.so
share/hashcat/modules/module_22931.so
@@ -2000,6 +2299,7 @@ share/hashcat/modules/module_23600.so
share/hashcat/modules/module_23700.so
share/hashcat/modules/module_23800.so
share/hashcat/modules/module_23900.so
+share/hashcat/modules/module_24000.so
share/hashcat/modules/module_24100.so
share/hashcat/modules/module_24200.so
share/hashcat/modules/module_24300.so
@@ -2029,6 +2329,7 @@ share/hashcat/modules/module_26402.so
share/hashcat/modules/module_26403.so
share/hashcat/modules/module_26500.so
share/hashcat/modules/module_26600.so
+share/hashcat/modules/module_26610.so
share/hashcat/modules/module_26700.so
share/hashcat/modules/module_26800.so
share/hashcat/modules/module_26900.so
@@ -2110,8 +2411,77 @@ share/hashcat/modules/module_29542.so
share/hashcat/modules/module_29543.so
share/hashcat/modules/module_29600.so
share/hashcat/modules/module_29700.so
+share/hashcat/modules/module_29800.so
+share/hashcat/modules/module_29910.so
+share/hashcat/modules/module_29920.so
+share/hashcat/modules/module_29930.so
+share/hashcat/modules/module_29940.so
share/hashcat/modules/module_30000.so
share/hashcat/modules/module_30120.so
+share/hashcat/modules/module_30420.so
+share/hashcat/modules/module_30500.so
+share/hashcat/modules/module_30600.so
+share/hashcat/modules/module_30601.so
+share/hashcat/modules/module_30700.so
+share/hashcat/modules/module_30901.so
+share/hashcat/modules/module_30902.so
+share/hashcat/modules/module_30903.so
+share/hashcat/modules/module_30904.so
+share/hashcat/modules/module_30905.so
+share/hashcat/modules/module_30906.so
+share/hashcat/modules/module_31000.so
+share/hashcat/modules/module_31100.so
+share/hashcat/modules/module_31200.so
+share/hashcat/modules/module_31300.so
+share/hashcat/modules/module_31400.so
+share/hashcat/modules/module_31500.so
+share/hashcat/modules/module_31600.so
+share/hashcat/modules/module_31700.so
+share/hashcat/modules/module_31800.so
+share/hashcat/modules/module_31900.so
+share/hashcat/modules/module_32000.so
+share/hashcat/modules/module_32010.so
+share/hashcat/modules/module_32020.so
+share/hashcat/modules/module_32030.so
+share/hashcat/modules/module_32031.so
+share/hashcat/modules/module_32040.so
+share/hashcat/modules/module_32041.so
+share/hashcat/modules/module_32050.so
+share/hashcat/modules/module_32060.so
+share/hashcat/modules/module_32070.so
+share/hashcat/modules/module_32100.so
+share/hashcat/modules/module_32200.so
+share/hashcat/modules/module_32300.so
+share/hashcat/modules/module_32410.so
+share/hashcat/modules/module_32420.so
+share/hashcat/modules/module_32500.so
+share/hashcat/modules/module_32600.so
+share/hashcat/modules/module_32700.so
+share/hashcat/modules/module_32800.so
+share/hashcat/modules/module_32900.so
+share/hashcat/modules/module_33000.so
+share/hashcat/modules/module_33100.so
+share/hashcat/modules/module_33300.so
+share/hashcat/modules/module_33400.so
+share/hashcat/modules/module_33500.so
+share/hashcat/modules/module_33501.so
+share/hashcat/modules/module_33502.so
+share/hashcat/modules/module_33600.so
+share/hashcat/modules/module_33650.so
+share/hashcat/modules/module_33660.so
+share/hashcat/modules/module_33700.so
+share/hashcat/modules/module_33800.so
+share/hashcat/modules/module_33900.so
+share/hashcat/modules/module_34000.so
+share/hashcat/modules/module_34100.so
+share/hashcat/modules/module_34200.so
+share/hashcat/modules/module_34201.so
+share/hashcat/modules/module_34211.so
+share/hashcat/modules/module_70000.so
+share/hashcat/modules/module_70100.so
+share/hashcat/modules/module_70200.so
+share/hashcat/modules/module_72000.so
+share/hashcat/modules/module_73000.so
share/hashcat/modules/module_99999.so
share/hashcat/tunings/Alias.hctune
share/hashcat/tunings/Device_GeForce_GTX_TITAN.hctune
@@ -2119,8 +2489,10 @@ share/hashcat/tunings/Module_08900.hctun
share/hashcat/tunings/Module_09300.hctune
share/hashcat/tunings/Module_15700.hctune
share/hashcat/tunings/Module_22700.hctune
+share/hashcat/tunings/Module_24000.hctune
share/hashcat/tunings/Module_27700.hctune
share/hashcat/tunings/Module_28200.hctune
+share/hashcat/tunings/Module_29800.hctune
share/hashcat/tunings/Modules_bcrypt.hctune
share/hashcat/tunings/Modules_default.hctune
share/hashcat/tunings/README.md
Index: pkgsrc/security/hashcat/distinfo
diff -u pkgsrc/security/hashcat/distinfo:1.2 pkgsrc/security/hashcat/distinfo:1.3
--- pkgsrc/security/hashcat/distinfo:1.2 Mon Sep 5 11:13:56 2022
+++ pkgsrc/security/hashcat/distinfo Fri Aug 8 07:23:59 2025
@@ -1,6 +1,18 @@
-$NetBSD: distinfo,v 1.2 2022/09/05 11:13:56 adam Exp $
+$NetBSD: distinfo,v 1.3 2025/08/08 07:23:59 adam Exp $
-BLAKE2s (hashcat-6.2.6.tar.gz) = 133a66fb6851bd63c675f4780d318cf31c65b04255a86ac10ef1b98518e95026
-SHA512 (hashcat-6.2.6.tar.gz) = b5e4f40fb5ed0a47977243e1f95bf1deae0b04bd5ca26338395305c42573fe5b17557835f6f5d8b7402812e8eadda2b260d6b927ce99429fd1b87eb26f002f8a
-Size (hashcat-6.2.6.tar.gz) = 14234640 bytes
-SHA1 (patch-src_Makefile) = a9f4cee8cb4142872d364cdda67fd8147ba1c525
+BLAKE2s (hashcat-7.0.0.tar.gz) = 02ed451e3c1cf5db75cff5113a3cb141596846d6009c23dd617e56b7fe5175fe
+SHA512 (hashcat-7.0.0.tar.gz) = 3e4837e4004859c6de60353641e519d1e1007d689ec106c4278f13a27ebb6f4779750db0ffbcaa8cbd815c6015cba0ff61d66d363c772ce82f7ca641be1481f5
+Size (hashcat-7.0.0.tar.gz) = 19084663 bytes
+SHA1 (patch-include_sort__r.h) = be4ecc96def303630439374b2f739a8cef0ad522
+SHA1 (patch-include_terminal.h) = b4fa77eb4eeaf048e50e85948cb63d401205cc68
+SHA1 (patch-src_Makefile) = f6dcc9a99b16cee5d9c8533416ff55da86e2feed
+SHA1 (patch-src_affinity.c) = e3db09035e4a5bb030fc87dedce3198b14ef6078
+SHA1 (patch-src_bridges_bridge__argon2id__reference.mk) = cfc2997e558d2431b5a8bcb8ee2a0ad7cd78ddff
+SHA1 (patch-src_bridges_bridge__python__generic__hash__mp.mk) = 86ffd66910f0251022bf1d686ef6f0db99de98bf
+SHA1 (patch-src_bridges_bridge__python__generic__hash__sp.mk) = f5f65a831866037145eae44c68fc69c19e0010e3
+SHA1 (patch-src_bridges_bridge__scrypt__jane.mk) = c4e76e8af82311c030fc6e802b09deb02e147015
+SHA1 (patch-src_bridges_bridge__scrypt__yescrypt.mk) = dd3572618239645873af6141307ac5a96e3796b3
+SHA1 (patch-src_folder.c) = 0bd1e1edb4f9aa7187661c5e974a7114b10ab173
+SHA1 (patch-src_memory.c) = 2118b0b618e8a7a0e595b4d319f648235301ab39
+SHA1 (patch-src_shared.c) = b26c987a19964d271b309b39ab3074804b66f288
+SHA1 (patch-src_terminal.c) = ad94f4c4aefc8753f8fcbd2b26285ad1d649985e
Index: pkgsrc/security/hashcat/patches/patch-src_Makefile
diff -u pkgsrc/security/hashcat/patches/patch-src_Makefile:1.2 pkgsrc/security/hashcat/patches/patch-src_Makefile:1.3
--- pkgsrc/security/hashcat/patches/patch-src_Makefile:1.2 Mon Sep 5 11:13:56 2022
+++ pkgsrc/security/hashcat/patches/patch-src_Makefile Fri Aug 8 07:23:59 2025
@@ -1,12 +1,24 @@
-$NetBSD: patch-src_Makefile,v 1.2 2022/09/05 11:13:56 adam Exp $
+$NetBSD: patch-src_Makefile,v 1.3 2025/08/08 07:23:59 adam Exp $
Set preferences.
Don't override CC nor optimisation flags in CFLAGS.
+Defined IS_ARM in externally.
Remove sed magic; we'll use nbsed.
+Don't build universal binary on Darwin.
+BSD support https://github.com/hashcat/hashcat/pull/4392
---- src/Makefile.orig 2022-09-02 14:58:13.000000000 +0000
+--- src/Makefile.orig 2025-08-01 21:03:55.000000000 +0000
+++ src/Makefile
-@@ -59,8 +59,6 @@ MODULE_INTERFACE_VERSION := 700
+@@ -31,7 +31,7 @@ UNAME := $(patsubst MS
+ UNAME := $(patsubst MINGW32_NT-%,MSYS2,$(UNAME))
+ UNAME := $(patsubst MINGW64_NT-%,MSYS2,$(UNAME))
+
+-ifeq (,$(filter $(UNAME),Linux FreeBSD NetBSD Darwin CYGWIN MSYS2))
++ifeq (,$(filter $(UNAME),Linux OpenBSD FreeBSD NetBSD DragonFly Darwin CYGWIN MSYS2))
+ $(error "! Your Operating System ($(UNAME)) is not supported by this Makefile")
+ endif
+
+@@ -68,8 +68,6 @@ BRIDGE_INTERFACE_VERSION := 700
## Native compiler paths
##
@@ -15,7 +27,7 @@ Remove sed magic; we'll use nbsed.
AR := ar
FIND := find
INSTALL := install
-@@ -69,14 +67,8 @@ SED := sed
+@@ -78,25 +76,23 @@ SED := sed
SED_IN_PLACE := -i
ifeq ($(UNAME),Darwin)
@@ -26,12 +38,39 @@ Remove sed magic; we'll use nbsed.
-SED := /usr/bin/sed
-SED_IN_PLACE := -i ""
DARWIN_VERSION := $(shell uname -r | cut -d. -f1)
--IS_APPLE_SILICON := $(shell lipo /bin/zsh -verify_arch arm64e && echo 1 || echo 0)
-+IS_APPLE_SILICON := 0
+ IS_APPLE_SILICON := $(shell [ "$$(sysctl -in hw.optional.arm64 2>/dev/null)" = "1" ] && echo 1 || echo 0)
endif
- ifneq (,$(filter $(UNAME),FreeBSD NetBSD))
-@@ -233,7 +225,6 @@ endif
+-IS_AARCH64 := $(shell [ "$$(arch 2>/dev/null)" = "aarch64" ] && echo 1 || echo 0)
+-IS_ARM := $(or $(filter 1,$(IS_APPLE_SILICON)),$(filter 1,$(IS_AARCH64)))
+
+-ifneq (,$(filter $(UNAME),FreeBSD NetBSD))
++ifneq (,$(filter $(UNAME),FreeBSD NetBSD DragonFly))
+ CC := cc
+ CXX := c++
+ SED := gsed
+ endif
+
++ifneq (,$(filter $(UNAME),OpenBSD))
++CC := egcc
++CXX := eg++
++SED := gsed
++endif
++
+ ##
+ ## Version
+ ##
+@@ -236,7 +232,9 @@ ifeq ($(UNAME),Darwin)
+ CFLAGS_UNRAR += -std=c++14
+ endif
+ ifneq ($(CC),clang)
++ifneq ($(UNAME),FreeBSD)
+ CFLAGS_UNRAR += -Wno-class-memaccess
++endif
+ CFLAGS_UNRAR += -Wno-misleading-indentation
+ CFLAGS_UNRAR += -Wno-format-overflow
+ else
+@@ -266,7 +264,6 @@ endif
endif
ifeq ($(DEBUG),0)
@@ -39,7 +78,20 @@ Remove sed magic; we'll use nbsed.
ifneq ($(UNAME),Darwin)
LFLAGS += -s
endif
-@@ -328,6 +319,7 @@ endif # FreeBSD
+@@ -331,8 +328,12 @@ endif
+ # unrar
+ ifeq ($(ENABLE_UNRAR),1)
+ CFLAGS += -I$(DEPS_UNRAR_PATH)
++ifeq ($(UNAME),OpenBSD)
++LFLAGS += -lc++
++else
+ LFLAGS += -lstdc++
+ endif
++endif
+
+ ##
+ ## Native compilation target
+@@ -361,6 +362,7 @@ endif # FreeBSD
ifeq ($(UNAME),NetBSD)
CFLAGS_NATIVE := $(CFLAGS)
LFLAGS_NATIVE := $(LFLAGS)
@@ -47,7 +99,35 @@ Remove sed magic; we'll use nbsed.
LFLAGS_NATIVE += -lpthread
endif # NetBSD
-@@ -684,8 +676,13 @@ endif
+@@ -383,14 +385,6 @@ LFLAGS_NATIVE += -lIOReport
+ LFLAGS_NATIVE += -lpthread
+ LFLAGS_NATIVE += -liconv
+
+-ifeq ($(IS_APPLE_SILICON),1)
+-CFLAGS_NATIVE += -arch arm64
+-CFLAGS_NATIVE += -arch x86_64
+-ifeq ($(SHARED),1)
+-LFLAGS_NATIVE += -arch arm64
+-LFLAGS_NATIVE += -arch x86_64
+-endif
+-endif
+
+ endif # Darwin
+
+@@ -544,10 +538,10 @@ distclean: clean
+ # allow (whitelist) "make install" only on unix-based systems (also disallow cygwin/msys)
+
+ ifneq ($(findstring install,$(MAKECMDGOALS)),)
+- ifeq (,$(filter $(UNAME),Linux FreeBSD Darwin NetBSD))
++ ifeq (,$(filter $(UNAME),Linux FreeBSD OpenBSD NetBSD DragonFly Darwin))
+ define ERROR_INSTALL_DISALLOWED
+ ! The 'install' target is not allowed on this operating system ($(UNAME)). \
+-Only Linux, FreeBSD, NetBSD and Darwin can use the 'install' target
++Only Linux, FreeBSD, OpenBSD, NetBSD, DragonFly and Darwin can use the 'install' target
+ endef
+
+ $(error $(ERROR_INSTALL_DISALLOWED))
+@@ -752,8 +746,13 @@ endif
$(MODULES_DISABLE): ;
ifeq ($(SHARED),1)
@@ -61,3 +141,17 @@ Remove sed magic; we'll use nbsed.
else
modules/module_%.$(MODULE_SUFFIX): src/modules/module_%.c obj/combined.NATIVE.a
$(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D MODULE_INTERFACE_VERSION_CURRENT=$(MODULE_INTERFACE_VERSION)
+@@ -786,8 +785,13 @@ BRIDGES_DISABLE ?=
+ $(BRIDGES_DISABLE): ;
+
+ ifeq ($(SHARED),1)
++ ifeq ($(UNAME),Darwin)
++bridges/bridge_%.$(BRIDGE_SUFFIX): src/bridges/bridge_%.c $(HASHCAT_LIBRARY)
++ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
++ else
+ bridges/bridge_%.$(BRIDGE_SUFFIX): src/bridges/bridge_%.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
++ endif
+ else
+ bridges/bridge_%.$(BRIDGE_SUFFIX): src/bridges/bridge_%.c obj/combined.NATIVE.a
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
Added files:
Index: pkgsrc/security/hashcat/patches/patch-include_sort__r.h
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-include_sort__r.h:1.3
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-include_sort__r.h Fri Aug 8 07:23:59 2025
@@ -0,0 +1,42 @@
+$NetBSD: patch-include_sort__r.h,v 1.3 2025/08/08 07:23:59 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- include/sort_r.h.orig 2025-08-01 21:03:55.000000000 +0000
++++ include/sort_r.h
+@@ -25,7 +25,7 @@ Slightly modified to work with hashcat t
+ */
+
+ #if (defined __APPLE__ || defined __MACH__ || defined __DARWIN__ || \
+- defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
++ defined __OpenBSD__ || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__)
+ # define _SORT_R_BSD
+ # define _SORT_R_INLINE inline
+ #elif (defined __linux__) || defined (__CYGWIN__)
+@@ -138,7 +138,7 @@ static _SORT_R_INLINE void sort_r_simple
+
+ /* Declare structs and functions */
+
+- #if defined _SORT_R_BSD && !defined(qsort_r)
++ #if defined _SORT_R_BSD && !defined(qsort_r) && !defined(__NetBSD__)
+
+ /* Ensure qsort_r is defined */
+ extern void qsort_r(void *base, size_t nel, size_t width, void *thunk,
+@@ -199,13 +199,13 @@ static _SORT_R_INLINE void sort_r_simple
+
+ #elif defined _SORT_R_BSD
+
+- struct sort_r_data tmp;
+- tmp.arg = arg;
+- tmp.compar = compar;
+-
+ #if defined __NetBSD__
+ sort_r_simple(base, nel, width, compar, arg);
+ #else
++ struct sort_r_data tmp;
++ tmp.arg = arg;
++ tmp.compar = compar;
++
+ qsort_r(base, nel, width, &tmp, sort_r_arg_swap);
+ #endif
+
Index: pkgsrc/security/hashcat/patches/patch-src_affinity.c
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_affinity.c:1.3
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_affinity.c Fri Aug 8 07:23:59 2025
@@ -0,0 +1,56 @@
+$NetBSD: patch-src_affinity.c,v 1.3 2025/08/08 07:23:59 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- src/affinity.c.orig 2025-08-01 21:03:55.000000000 +0000
++++ src/affinity.c
+@@ -80,6 +80,8 @@ int set_cpu_affinity (MAYBE_UNUSED hashc
+
+ return -1;
+ }
++ #elif defined (__OpenBSD__)
++ // no cpu_set
+ #else
+ cpu_set_t cpuset;
+ const int cpu_id_max = 8 * sizeof (cpuset);
+@@ -109,6 +111,8 @@ int set_cpu_affinity (MAYBE_UNUSED hashc
+
+ return -1;
+ }
++ #elif defined (__OpenBSD__)
++ // no cpu_zero
+ #else
+ CPU_ZERO (&cpuset);
+ #endif
+@@ -116,6 +120,7 @@ int set_cpu_affinity (MAYBE_UNUSED hashc
+ break;
+ }
+
++ #if !defined (__OpenBSD__)
+ if (cpu_id > cpu_id_max)
+ {
+ event_log_error (hashcat_ctx, "Invalid cpu_id %d specified.", cpu_id);
+@@ -128,11 +133,14 @@ int set_cpu_affinity (MAYBE_UNUSED hashc
+
+ return -1;
+ }
++ #endif
+
+ #if defined (_WIN)
+ aff_mask |= ((DWORD_PTR) 1) << (cpu_id - 1);
+ #elif defined (__NetBSD__)
+ cpuset_set (cpu_id - 1, cpuset);
++ #elif defined (__OpenBSD__)
++ // no cpu_set
+ #else
+ CPU_SET ((cpu_id - 1), &cpuset);
+ #endif
+@@ -167,6 +175,8 @@ int set_cpu_affinity (MAYBE_UNUSED hashc
+ return -1;
+ }
+
++ #elif defined (__OpenBSD__)
++ // no thread affinity support with pthread
+ #else
+
+ pthread_t thread = pthread_self ();
Index: pkgsrc/security/hashcat/patches/patch-src_folder.c
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_folder.c:1.3
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_folder.c Fri Aug 8 07:24:00 2025
@@ -0,0 +1,70 @@
+$NetBSD: patch-src_folder.c,v 1.3 2025/08/08 07:24:00 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- src/folder.c.orig 2025-08-01 21:03:55.000000000 +0000
++++ src/folder.c
+@@ -13,7 +13,11 @@
+
+ #if defined (__APPLE__)
+ #include "event.h"
+-#elif defined (__FreeBSD__) || defined (__NetBSD__)
++#elif defined (__OpenBSD__)
++#define _OPENBSD_SOURCE
++#include <stdlib.h>
++#include <sys/sysctl.h>
++#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__DragonFly__)
+ #include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+@@ -46,7 +50,7 @@ static int get_exec_path (char *exec_pat
+
+ const size_t len = strlen (exec_path);
+
+- #elif defined (__FreeBSD__)
++ #elif defined (__FreeBSD__) || defined (__DragonFly__)
+
+ int mib[4];
+
+@@ -76,6 +80,41 @@ static int get_exec_path (char *exec_pat
+
+ const size_t len = strlen (exec_path);
+
++ #elif defined (__OpenBSD__)
++
++ int mib[4];
++
++ mib[0] = CTL_KERN;
++ mib[1] = KERN_PROC_ARGS;
++ mib[2] = getpid ();
++ mib[3] = KERN_PROC_ARGV;
++
++ size_t size = 0;
++
++ if (sysctl (mib, 4, NULL, &size, NULL, 0) == -1) return -1;
++
++ char **argv = hcmalloc (size);
++
++ if (!argv) return -1;
++
++ if (sysctl (mib, 4, argv, &size, NULL, 0) == -1)
++ {
++ free (argv);
++
++ return -1;
++ }
++
++ if (argv[0])
++ {
++ strncpy (exec_path, argv[0], exec_path_sz - 1);
++
++ exec_path[exec_path_sz - 1] = '\0';
++ }
++
++ free (argv);
++
++ const size_t len = strlen (exec_path);
++
+ #else
+ #error Your Operating System is not supported or detected
+ #endif
Index: pkgsrc/security/hashcat/patches/patch-src_terminal.c
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_terminal.c:1.3
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_terminal.c Fri Aug 8 07:24:00 2025
@@ -0,0 +1,51 @@
+$NetBSD: patch-src_terminal.c,v 1.3 2025/08/08 07:24:00 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- src/terminal.c.orig 2025-08-01 21:03:55.000000000 +0000
++++ src/terminal.c
+@@ -459,7 +459,8 @@ void SetConsoleWindowSize (const int x)
+ }
+ #endif
+
+-#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__linux__) || defined (__CYGWIN__)
++#if defined (__OpenBSD__) || (__FreeBSD__) || defined (__NetBSD__) || \
++ defined (__DragonFly__) || defined (__linux__) || defined (__CYGWIN__)
+ static struct termios savemodes;
+ static int havemodes = 0;
+
+@@ -1325,7 +1326,33 @@ void backend_info (hashcat_ctx_t *hashca
+
+ char *hw_model_buf = NULL;
+
+- #if !defined (__linux__) && !defined (__CYGWIN__) && !defined (__MSYS__)
++ #if defined (__OpenBSD__)
++
++ int mib[2] = {CTL_HW, HW_MACHINE};
++
++ size_t hw_model_len = 0;
++
++ // First get length of the result string
++
++ if (sysctl (mib, 2, NULL, &hw_model_len, NULL, 0) == 0 && hw_model_len > 0)
++ {
++ hw_model_buf = (char *) hcmalloc (hw_model_len);
++
++ if (sysctl (mib, 2, hw_model_buf, &hw_model_len, NULL, 0) != 0)
++ {
++ hcfree (hw_model_buf);
++
++ hw_model_buf = NULL;
++
++ hw_model_len = 0;
++ }
++ else
++ {
++ rc_sysctl = true;
++ }
++ }
++
++ #elif !defined (__linux__) && !defined (__CYGWIN__) && !defined (__MSYS__)
+
+ size_t hw_model_len = 0;
+
Index: pkgsrc/security/hashcat/patches/patch-include_terminal.h
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-include_terminal.h:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-include_terminal.h Fri Aug 8 07:23:59 2025
@@ -0,0 +1,30 @@
+$NetBSD: patch-include_terminal.h,v 1.1 2025/08/08 07:23:59 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- include/terminal.h.orig 2025-08-01 21:03:55.000000000 +0000
++++ include/terminal.h
+@@ -16,17 +16,19 @@
+ #include <windows.h>
+ #else
+ #include <termios.h>
+-#if defined (__APPLE__)
++#if defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) || \
++ defined (__FreeBSD__) || defined (__DragonFly__)
+ #include <sys/ioctl.h>
+ #include <sys/sysctl.h>
+-#endif // __APPLE__
++#endif
+ #endif // _WIN
+
+ #if defined (_POSIX)
+ #include <sys/utsname.h>
+-#if !defined (__APPLE__)
++#if !defined (__APPLE__) && !defined (__OpenBSD__) && !defined (__NetBSD__) && \
++ !defined (__FreeBSD__) && !defined (__DragonFly__)
+ #include <sys/sysinfo.h>
+-#endif // ! __APPLE__
++#endif
+ #endif // _POSIX
+
+ void welcome_screen (hashcat_ctx_t *hashcat_ctx, const char *version_tag);
Index: pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__argon2id__reference.mk
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__argon2id__reference.mk:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__argon2id__reference.mk Fri Aug 8 07:23:59 2025
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_bridges_bridge__argon2id__reference.mk,v 1.1 2025/08/08 07:23:59 adam Exp $
+
+Use install_name on Darwin.
+
+--- src/bridges/bridge_argon2id_reference.mk.orig 2025-08-05 10:39:06.794007881 +0000
++++ src/bridges/bridge_argon2id_reference.mk
+@@ -21,8 +21,13 @@ bridges/bridge_argon2id_reference.dll: s
+ $(CC_WIN) $(CCFLAGS) $(CFLAGS_CROSS_WIN) $^ -o $@ $(LFLAGS_CROSS_WIN) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(ARGON2_REFERENCE_CFLAGS)
+ else
+ ifeq ($(SHARED),1)
++ ifeq ($(UNAME),Darwin)
++bridges/bridge_argon2id_reference.$(BRIDGE_SUFFIX): src/bridges/bridge_argon2id_reference.c src/cpu_features.c $(HASHCAT_LIBRARY)
++ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
$(ARGON2_REFERENCE_CFLAGS)
++ else
+ bridges/bridge_argon2id_reference.$(BRIDGE_SUFFIX): src/bridges/bridge_argon2id_reference.c src/cpu_features.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(ARGON2_REFERENCE_CFLAGS)
++ endif
+ else
+ bridges/bridge_argon2id_reference.$(BRIDGE_SUFFIX): src/bridges/bridge_argon2id_reference.c src/cpu_features.c obj/combined.NATIVE.a
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(ARGON2_REFERENCE_CFLAGS)
Index: pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__mp.mk
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__mp.mk:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__mp.mk Fri Aug 8 07:23:59 2025
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_bridges_bridge__python__generic__hash__mp.mk,v 1.1 2025/08/08 07:23:59 adam Exp $
+
+Use install_name on Darwin.
+
+--- src/bridges/bridge_python_generic_hash_mp.mk.orig 2025-08-05 10:41:50.152896838 +0000
++++ src/bridges/bridge_python_generic_hash_mp.mk
+@@ -42,8 +42,13 @@ bridges/bridge_python_generic_hash_mp.dl
+ $(CC_WIN) $(CCFLAGS) $(CFLAGS_CROSS_WIN) $^ -o $@ $(LFLAGS_CROSS_WIN) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(PYTHON_CFLAGS_WIN)
+ else
+ ifeq ($(SHARED),1)
++ ifeq ($(UNAME),Darwin)
++bridges/bridge_python_generic_hash_mp.$(BRIDGE_SUFFIX): src/bridges/bridge_python_generic_hash_mp.c src/cpu_features.c $(HASHCAT_LIBRARY)
++ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
$(PYTHON_CFLAGS)
++ else
+ bridges/bridge_python_generic_hash_mp.$(BRIDGE_SUFFIX): src/bridges/bridge_python_generic_hash_mp.c src/cpu_features.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(PYTHON_CFLAGS)
++ endif
+ else
+ bridges/bridge_python_generic_hash_mp.$(BRIDGE_SUFFIX): src/bridges/bridge_python_generic_hash_mp.c src/cpu_features.c obj/combined.NATIVE.a
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(PYTHON_CFLAGS)
Index: pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__sp.mk
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__sp.mk:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__python__generic__hash__sp.mk Fri Aug 8 07:23:59 2025
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_bridges_bridge__python__generic__hash__sp.mk,v 1.1 2025/08/08 07:23:59 adam Exp $
+
+Use install_name on Darwin.
+
+--- src/bridges/bridge_python_generic_hash_sp.mk.orig 2025-08-05 10:43:16.757630011 +0000
++++ src/bridges/bridge_python_generic_hash_sp.mk
+@@ -54,8 +54,13 @@ bridges/bridge_python_generic_hash_sp.dl
+ $(CC_WIN) $(CCFLAGS) $(CFLAGS_CROSS_WIN) $^ -o $@ $(LFLAGS_CROSS_WIN) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(PYTHON_CFLAGS_WIN)
+ else
+ ifeq ($(SHARED),1)
++ ifeq ($(UNAME),Darwin)
++bridges/bridge_python_generic_hash_sp.$(BRIDGE_SUFFIX): src/bridges/bridge_python_generic_hash_sp.c src/cpu_features.c $(HASHCAT_LIBRARY)
++ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
$(PYTHON_CFLAGS)
++ else
+ bridges/bridge_python_generic_hash_sp.$(BRIDGE_SUFFIX): src/bridges/bridge_python_generic_hash_sp.c src/cpu_features.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(PYTHON_CFLAGS)
++ endif
+ else
+ bridges/bridge_python_generic_hash_sp.$(BRIDGE_SUFFIX): src/bridges/bridge_python_generic_hash_sp.c src/cpu_features.c obj/combined.NATIVE.a
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(PYTHON_CFLAGS)
Index: pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__jane.mk
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__jane.mk:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__jane.mk Fri Aug 8 07:24:00 2025
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_bridges_bridge__scrypt__jane.mk,v 1.1 2025/08/08 07:24:00 adam Exp $
+
+Use install_name on Darwin.
+
+--- src/bridges/bridge_scrypt_jane.mk.orig 2025-08-05 10:44:21.320567280 +0000
++++ src/bridges/bridge_scrypt_jane.mk
+@@ -21,8 +21,13 @@ bridges/bridge_scrypt_jane.dll: src/brid
+ $(CC_WIN) $(CCFLAGS) $(CFLAGS_CROSS_WIN) $^ -o $@ $(LFLAGS_CROSS_WIN) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(SCRYPT_JANE_CFLAGS)
+ else
+ ifeq ($(SHARED),1)
++ ifeq ($(UNAME),Darwin)
++bridges/bridge_scrypt_jane.$(BRIDGE_SUFFIX): src/bridges/bridge_scrypt_jane.c src/cpu_features.c $(HASHCAT_LIBRARY)
++ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
$(SCRYPT_JANE_CFLAGS)
++ else
+ bridges/bridge_scrypt_jane.$(BRIDGE_SUFFIX): src/bridges/bridge_scrypt_jane.c src/cpu_features.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(SCRYPT_JANE_CFLAGS)
++ endif
+ else
+ bridges/bridge_scrypt_jane.$(BRIDGE_SUFFIX): src/bridges/bridge_scrypt_jane.c src/cpu_features.c obj/combined.NATIVE.a
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(SCRYPT_JANE_CFLAGS)
Index: pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__yescrypt.mk
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__yescrypt.mk:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_bridges_bridge__scrypt__yescrypt.mk Fri Aug 8 07:24:00 2025
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_bridges_bridge__scrypt__yescrypt.mk,v 1.1 2025/08/08 07:24:00 adam Exp $
+
+Use install_name on Darwin.
+
+--- src/bridges/bridge_scrypt_yescrypt.mk.orig 2025-08-05 10:45:25.876657574 +0000
++++ src/bridges/bridge_scrypt_yescrypt.mk
+@@ -21,8 +21,13 @@ bridges/bridge_scrypt_yescrypt.dll: src/
+ $(CC_WIN) $(CCFLAGS) $(CFLAGS_CROSS_WIN) $^ -o $@ $(LFLAGS_CROSS_WIN) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(SCRYPT_YESCRYPT_CFLAGS)
+ else
+ ifeq ($(SHARED),1)
++ ifeq ($(UNAME),Darwin)
++bridges/bridge_scrypt_yescrypt.$(BRIDGE_SUFFIX): src/bridges/bridge_scrypt_yescrypt.c src/cpu_features.c $(SCRYPT_YESCRYPT)/yescrypt-opt.c $(SCRYPT_YESCRYPT)/sha256.c $(HASHCAT_LIBRARY)
++ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION)
$(SCRYPT_YESCRYPT_CFLAGS)
++ else
+ bridges/bridge_scrypt_yescrypt.$(BRIDGE_SUFFIX): src/bridges/bridge_scrypt_yescrypt.c src/cpu_features.c $(SCRYPT_YESCRYPT)/yescrypt-opt.c $(SCRYPT_YESCRYPT)/sha256.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(SCRYPT_YESCRYPT_CFLAGS)
++ endif
+ else
+ bridges/bridge_scrypt_yescrypt.$(BRIDGE_SUFFIX): src/bridges/bridge_scrypt_yescrypt.c src/cpu_features.c $(SCRYPT_YESCRYPT)/yescrypt-opt.c $(SCRYPT_YESCRYPT)/sha256.c obj/combined.NATIVE.a
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D BRIDGE_INTERFACE_VERSION_CURRENT=$(BRIDGE_INTERFACE_VERSION) $(SCRYPT_YESCRYPT_CFLAGS)
Index: pkgsrc/security/hashcat/patches/patch-src_memory.c
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_memory.c:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_memory.c Fri Aug 8 07:24:00 2025
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_memory.c,v 1.1 2025/08/08 07:24:00 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- src/memory.c.orig 2025-08-01 21:03:55.000000000 +0000
++++ src/memory.c
+@@ -71,7 +71,8 @@ void *hc_alloc_aligned (size_t alignment
+ {
+ void *ptr = NULL;
+
+- #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined (__CYGWIN__) || defined (__MSYS__)
++ #if defined (__linux__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) || \
++ defined (__FreeBSD__) || defined (__DragonFly__) || defined (__CYGWIN__) || defined (__MSYS__)
+
+ if (posix_memalign (&ptr, alignment, size) != 0)
+ {
Index: pkgsrc/security/hashcat/patches/patch-src_shared.c
diff -u /dev/null pkgsrc/security/hashcat/patches/patch-src_shared.c:1.1
--- /dev/null Fri Aug 8 07:24:00 2025
+++ pkgsrc/security/hashcat/patches/patch-src_shared.c Fri Aug 8 07:24:00 2025
@@ -0,0 +1,151 @@
+$NetBSD: patch-src_shared.c,v 1.1 2025/08/08 07:24:00 adam Exp $
+
+BSD support https://github.com/hashcat/hashcat/pull/4392
+
+--- src/shared.c.orig 2025-08-01 21:03:55.000000000 +0000
++++ src/shared.c
+@@ -15,10 +15,13 @@
+ #include <sys/cygwin.h>
+ #endif
+
+-#if defined (__APPLE__)
++#if defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) || \
++ defined (__FreeBSD__) || defined (__DragonFly__)
+ #include <sys/sysctl.h>
++#if defined (__APPLE__)
+ #include <mach/mach.h>
+ #endif
++#endif
+
+ #if defined (_WIN)
+ #include <winsock2.h>
+@@ -26,7 +29,8 @@
+
+ #if defined (_POSIX)
+ #include <sys/utsname.h>
+-#if !defined (__APPLE__)
++#if !defined (__APPLE__) && !defined (__OpenBSD__) && !defined (__NetBSD__) && \
++ !defined (__FreeBSD__) && !defined (__DragonFly__)
+ #include <sys/sysinfo.h>
+ #endif
+ #endif
+@@ -311,9 +315,34 @@ int hc_asprintf (char **strp, const char
+ #undef __WINDOWS__
+ #endif
+
++#if defined (__OpenBSD__)
++static void *qsort_r_context;
++
++static int qsort_r_comparator (const void *a, const void *b)
++{
++ typedef int (*compare_fn_t) (const void *, const void *, void *);
++
++ compare_fn_t cmp = (compare_fn_t) qsort_r_context;
++
++ return cmp (a, b, NULL);
++}
++#endif
++
+ void hc_qsort_r (void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *, void *), void *arg)
+ {
++ #if defined (__OpenBSD__)
++
++ (void) arg; // unused, make compiler happy
++
++ qsort_r_context = (void *) compar;
++
++ qsort (base, nmemb, size, qsort_r_comparator);
++
++ #else
++
+ sort_r (base, nmemb, size, compar, arg);
++
++ #endif
+ }
+
+ void *hc_bsearch_r (const void *key, const void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *, void *), void *arg)
+@@ -940,11 +969,12 @@ int select_read_timeout (int sockfd, con
+ fd_set fds;
+
+ FD_ZERO (&fds);
+-#if defined(_WIN)
++
++ #if defined (_WIN)
+ FD_SET ((SOCKET)sockfd, &fds);
+-#else
++ #else
+ FD_SET (sockfd, &fds);
+-#endif
++ #endif
+
+ return select (sockfd + 1, &fds, NULL, NULL, &tv);
+ }
+@@ -959,11 +989,12 @@ int select_write_timeout (int sockfd, co
+ fd_set fds;
+
+ FD_ZERO (&fds);
+-#if defined(_WIN)
++
++ #if defined (_WIN)
+ FD_SET ((SOCKET)sockfd, &fds);
+-#else
++ #else
+ FD_SET (sockfd, &fds);
+-#endif
++ #endif
+
+ return select (sockfd + 1, NULL, &fds, NULL, &tv);
+ }
+@@ -1710,6 +1741,52 @@ bool get_free_memory (u64 *free_mem)
+
+ return true;
+
++ #elif defined (__OpenBSD__)
++
++ struct uvmexp uvmexp;
++
++ size_t size = sizeof (uvmexp);
++
++ int mib[2] = {CTL_VM, VM_UVMEXP};
++
++ if (sysctl (mib, 2, &uvmexp, &size, NULL, 0) == -1) return false;
++
++ *free_mem = (uint64_t)(uvmexp.free * uvmexp.pagesize);
++
++ return true;
++
++ #elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__DragonFly__)
++
++ size_t len;
++
++ u64 pagesize = 0, free_pages = 0, cache_pages = 0, inactive_pages = 0;
++
++ len = sizeof (pagesize);
++
++ if (sysctlbyname ("hw.pagesize", &pagesize, &len, NULL, 0) == -1) return false;
++
++ len = sizeof (free_pages);
++
++ if (sysctlbyname ("vm.stats.vm.v_free_count", &free_pages, &len, NULL, 0) == -1) return false;
++
++ #if defined (__OpenBSD__) || defined (__FreeBSD__) || defined (__DragonFly__)
++
++ len = sizeof (cache_pages);
++
++ if (sysctlbyname ("vm.stats.vm.v_cache_count", &cache_pages, &len, NULL, 0) == -1) return false;
++
++ #endif // __OpenBSD__ || __FreeBSD__ || __DragonFly__
++
++ len = sizeof (inactive_pages);
++
++ if (sysctlbyname ("vm.stats.vm.v_inactive_count", &inactive_pages, &len, NULL, 0) == -1) return false;
++
++ u64 total_pages = free_pages + cache_pages + inactive_pages;
++
++ *free_mem = (u64) (total_pages * pagesize);
++
++ return true;
++
+ #else
+
+ struct sysinfo info;
Home |
Main Index |
Thread Index |
Old Index