diff --git a/security/Makefile b/security/Makefile index 56d8e3bfde86..1fd82791606b 100644 --- a/security/Makefile +++ b/security/Makefile @@ -1,1491 +1,1492 @@ COMMENT = Security tools SUBDIR += 0d1n SUBDIR += 1password-client SUBDIR += 1password-client2 SUBDIR += 1password-client2-beta SUBDIR += 2fa SUBDIR += ADMsmb SUBDIR += ADMsnmp SUBDIR += R-cran-ROAuth SUBDIR += R-cran-askpass SUBDIR += R-cran-credentials SUBDIR += R-cran-digest SUBDIR += R-cran-gitcreds SUBDIR += R-cran-openssl SUBDIR += R-cran-sodium SUBDIR += acme.sh SUBDIR += acmed SUBDIR += acmetool SUBDIR += aescrypt SUBDIR += aespipe SUBDIR += afl++ SUBDIR += afterglow SUBDIR += agave SUBDIR += age SUBDIR += aide SUBDIR += amavisd-milter SUBDIR += amavisd-new SUBDIR += apache-xml-security-c SUBDIR += apg SUBDIR += apkid SUBDIR += archlinux-keyring SUBDIR += arpCounterattack SUBDIR += arti SUBDIR += asignify SUBDIR += assh SUBDIR += authenticator SUBDIR += authoscope SUBDIR += autofirma SUBDIR += autossh SUBDIR += aws-c-auth SUBDIR += aws-c-cal SUBDIR += aws-iam-authenticator SUBDIR += aws-lc SUBDIR += aws-vault SUBDIR += axc SUBDIR += barnyard2 SUBDIR += barnyard2-sguil SUBDIR += bastillion SUBDIR += bcwipe SUBDIR += bdes SUBDIR += bearssl SUBDIR += beecrypt SUBDIR += beid SUBDIR += beidconnect SUBDIR += belier SUBDIR += bfbtester SUBDIR += binwalk SUBDIR += bitwarden-cli SUBDIR += blst SUBDIR += boringssl SUBDIR += botan3 SUBDIR += bruteblock SUBDIR += bsdsfv SUBDIR += bsmtrace SUBDIR += bsmtrace3 SUBDIR += bumblebee SUBDIR += bzrtp SUBDIR += c-siphash SUBDIR += ca_root_nss SUBDIR += caesarcipher SUBDIR += caldera SUBDIR += caldera-ot SUBDIR += calife SUBDIR += cardpeek SUBDIR += cargo-audit SUBDIR += ccrypt SUBDIR += ccsrch SUBDIR += cdxgen SUBDIR += certificate_maker SUBDIR += certmgr SUBDIR += certmonger SUBDIR += certspotter SUBDIR += cfssl SUBDIR += cfv SUBDIR += chaosreader SUBDIR += checkpassword SUBDIR += checkpassword-pam SUBDIR += chkrootkit SUBDIR += chntpw SUBDIR += chroot_safe SUBDIR += chrootuid SUBDIR += ckpass SUBDIR += cksfv SUBDIR += cl-md5 SUBDIR += cl-md5-ccl SUBDIR += cl-md5-clisp SUBDIR += cl-md5-sbcl SUBDIR += clamassassin SUBDIR += clamav SUBDIR += clamav-lts SUBDIR += clamav-unofficial-sigs SUBDIR += clamd-stream-client SUBDIR += clamsmtp SUBDIR += clamtk SUBDIR += cloak SUBDIR += cops SUBDIR += cosign SUBDIR += courier-authlib SUBDIR += courier-authlib-base SUBDIR += courierpassd SUBDIR += courierpasswd SUBDIR += courieruserinfo SUBDIR += cowrie SUBDIR += cpfx SUBDIR += cracklib SUBDIR += crackpkcs12 SUBDIR += create-cert SUBDIR += crlfuzz SUBDIR += crowdsec SUBDIR += crowdsec-blocklist-mirror SUBDIR += crowdsec-firewall-bouncer SUBDIR += cryptlib SUBDIR += cryptopp SUBDIR += cryptopp-modern SUBDIR += ct-submit SUBDIR += cvechecker SUBDIR += cvm SUBDIR += cyberchef SUBDIR += cyrus-sasl2 SUBDIR += cyrus-sasl2-gssapi SUBDIR += cyrus-sasl2-ldapdb SUBDIR += cyrus-sasl2-saslauthd SUBDIR += cyrus-sasl2-sql SUBDIR += cyrus-sasl2-srp SUBDIR += cyrus-sasl2-xoauth2 SUBDIR += d0_blind_id SUBDIR += debian-keyring SUBDIR += dehydrated SUBDIR += denyhosts SUBDIR += destroy SUBDIR += diffcode SUBDIR += digestpp SUBDIR += dirbuster SUBDIR += distcache SUBDIR += diswall SUBDIR += doas SUBDIR += dogtag-jss SUBDIR += dogtag-pki SUBDIR += dotdotpwn SUBDIR += dropbear SUBDIR += dsniff SUBDIR += dsvpn SUBDIR += duo SUBDIR += duo_openvpn SUBDIR += easy-rsa SUBDIR += enc SUBDIR += enchive SUBDIR += eschalot SUBDIR += expiretable SUBDIR += exploit-pattern SUBDIR += fakeident SUBDIR += fakeroot SUBDIR += farmhash SUBDIR += fcrackzip SUBDIR += ffuf SUBDIR += fiked SUBDIR += fizz SUBDIR += flawfinder SUBDIR += flawz SUBDIR += fprintd SUBDIR += fragroute SUBDIR += fragrouter SUBDIR += fswatch SUBDIR += ftimes SUBDIR += fuzz SUBDIR += fwanalog SUBDIR += fwknop SUBDIR += fwlogwatch SUBDIR += gauth SUBDIR += gcr SUBDIR += gcr3 SUBDIR += gef SUBDIR += git-credential-azure SUBDIR += git-credential-gopass SUBDIR += git-credential-oauth SUBDIR += git-crypt SUBDIR += git-remote-gcrypt SUBDIR += git-secret SUBDIR += gitjacker SUBDIR += gitlab-analyzers-secrets SUBDIR += globalprotect-openconnect SUBDIR += gnome-keyring SUBDIR += gnupg SUBDIR += gnupg-pkcs11-scd SUBDIR += gnupg1 SUBDIR += gnutls SUBDIR += go-cve-dictionary SUBDIR += go-tuf SUBDIR += gokart SUBDIR += gokey SUBDIR += gonepass SUBDIR += gopass SUBDIR += gorilla SUBDIR += gosec SUBDIR += gost-engine SUBDIR += gostsum SUBDIR += govulncheck SUBDIR += gpa SUBDIR += gpg-gui SUBDIR += gpg-tui SUBDIR += gpgdir SUBDIR += gpgme SUBDIR += gpgmepp SUBDIR += gsa SUBDIR += gsad SUBDIR += gsasl + SUBDIR += gssproxy SUBDIR += gstreamer1-plugins-dtls SUBDIR += gtkpasman SUBDIR += gvm SUBDIR += gvm-libs SUBDIR += gvmd SUBDIR += hardening-check SUBDIR += hash SUBDIR += hashcat SUBDIR += heaan SUBDIR += headscale SUBDIR += heimdal SUBDIR += helib SUBDIR += hexl SUBDIR += hidden-lake SUBDIR += highwayhash SUBDIR += himitsu SUBDIR += hiprompt-gtk SUBDIR += hitch SUBDIR += hockeypuck SUBDIR += honeytrap SUBDIR += honggfuzz SUBDIR += horcrux SUBDIR += howdy SUBDIR += hpenc SUBDIR += hs-cryptol SUBDIR += hydra SUBDIR += hyperhotp SUBDIR += i2pd SUBDIR += iaikpkcs11wrapper SUBDIR += idea SUBDIR += identify SUBDIR += imds-filterd SUBDIR += infisical-cli SUBDIR += intel-ipsec-mb SUBDIR += interactsh SUBDIR += ipfmeta SUBDIR += ipguard SUBDIR += ipsec-tools SUBDIR += ipv6toolkit SUBDIR += isal-kmod SUBDIR += ismtp SUBDIR += isnprober SUBDIR += john SUBDIR += kanidm SUBDIR += kbfsd SUBDIR += kc SUBDIR += kdbxviewer SUBDIR += keepass SUBDIR += keepass-diff SUBDIR += keepass-plugin-keepassrpc SUBDIR += keepassxc SUBDIR += keepassxc276 SUBDIR += keepsecret SUBDIR += keybase SUBDIR += keychain SUBDIR += keyprint SUBDIR += keysmith SUBDIR += kf5-kdesu SUBDIR += kf6-kdesu SUBDIR += kgpg SUBDIR += kickpass SUBDIR += klee SUBDIR += kleopatra SUBDIR += knock SUBDIR += knocker SUBDIR += kpcli SUBDIR += kpkpass SUBDIR += kpmenu SUBDIR += krb5 SUBDIR += krb5-122 SUBDIR += krb5-devel SUBDIR += kstart SUBDIR += kuku SUBDIR += kwalletmanager SUBDIR += l0pht-watch SUBDIR += lasso SUBDIR += lastpass-cli SUBDIR += lego SUBDIR += lfacme SUBDIR += libaegis SUBDIR += libargon2 SUBDIR += libassuan SUBDIR += libcaes SUBDIR += libdecaf SUBDIR += libecc SUBDIR += libfcrypto SUBDIR += libfido2 SUBDIR += libfprint SUBDIR += libgcrypt SUBDIR += libgnome-keyring SUBDIR += libgpg-error SUBDIR += libgsasl SUBDIR += libhijack SUBDIR += libhydrogen SUBDIR += libident SUBDIR += libkleo SUBDIR += libkpass SUBDIR += libksba SUBDIR += libmacaroons SUBDIR += libmcrypt SUBDIR += libnitrokey SUBDIR += libntlm SUBDIR += libomemo SUBDIR += libomemo-c SUBDIR += liboqs SUBDIR += libotr SUBDIR += libotr3 SUBDIR += libp11 SUBDIR += libpki SUBDIR += libprelude SUBDIR += libpreludedb SUBDIR += libpwquality SUBDIR += libressl SUBDIR += libressl-devel SUBDIR += libreswan SUBDIR += libretls SUBDIR += libscep SUBDIR += libscrypt SUBDIR += libsecret SUBDIR += libsodium SUBDIR += libssh SUBDIR += libssh2 SUBDIR += libtasn1 SUBDIR += libtatsu SUBDIR += libtomcrypt SUBDIR += libwhisker SUBDIR += libxcrypt SUBDIR += libyubikey SUBDIR += lime SUBDIR += linux-bitwarden-cli SUBDIR += linux-c7-ca-certificates SUBDIR += linux-c7-cyrus-sasl2 SUBDIR += linux-c7-gnutls SUBDIR += linux-c7-libgcrypt SUBDIR += linux-c7-libgpg-error SUBDIR += linux-c7-libssh2 SUBDIR += linux-c7-libtasn1 SUBDIR += linux-c7-nettle SUBDIR += linux-c7-nss SUBDIR += linux-c7-openssl-devel SUBDIR += linux-c7-p11-kit SUBDIR += linux-c7-trousers SUBDIR += linux-rl9-ca-certificates SUBDIR += linux-rl9-cyrus-sasl2 SUBDIR += linux-rl9-gnupg SUBDIR += linux-rl9-gnutls SUBDIR += linux-rl9-libassuan SUBDIR += linux-rl9-libgcrypt SUBDIR += linux-rl9-libgpg-error SUBDIR += linux-rl9-libksba SUBDIR += linux-rl9-libsecret SUBDIR += linux-rl9-libssh SUBDIR += linux-rl9-libtasn1 SUBDIR += linux-rl9-nettle SUBDIR += linux-rl9-nss SUBDIR += linux-rl9-p11-kit SUBDIR += linux-rl9-trousers SUBDIR += local-php-security-checker SUBDIR += logcheck SUBDIR += lua-argon2 SUBDIR += lua-bcrypt SUBDIR += lua-resty-hmac SUBDIR += lua-resty-jwt SUBDIR += lua-resty-openidc SUBDIR += lua-resty-openssl SUBDIR += luasec SUBDIR += lxqt-openssh-askpass SUBDIR += lxqt-sudo SUBDIR += lynis SUBDIR += mac-robber SUBDIR += mailzu SUBDIR += makepasswd SUBDIR += maltrail SUBDIR += masscan SUBDIR += mate-pam-helper SUBDIR += mbedtls3 SUBDIR += mbedtls4 SUBDIR += md5deep SUBDIR += medusa SUBDIR += meek SUBDIR += metasploit SUBDIR += mhash SUBDIR += mindterm-binary SUBDIR += minisign SUBDIR += mkp224o SUBDIR += modsecurity3 SUBDIR += modsecurity3-nginx SUBDIR += monkeysphere SUBDIR += monocypher SUBDIR += munge SUBDIR += n2n SUBDIR += naabu SUBDIR += ncrack SUBDIR += ncrypt SUBDIR += nebula SUBDIR += netbird SUBDIR += nettle SUBDIR += nextcloud-end_to_end_encryption SUBDIR += nextcloud-twofactor_admin SUBDIR += nextcloud-twofactor_webauthn SUBDIR += nflib SUBDIR += ngrok SUBDIR += nikto SUBDIR += nist-kat SUBDIR += nitrokey-app SUBDIR += nmap SUBDIR += nmap-devel SUBDIR += node-sqlcipher SUBDIR += nss SUBDIR += nss_compat_ossl SUBDIR += nuclei SUBDIR += nyx SUBDIR += oath-toolkit SUBDIR += obfs4proxy-tor SUBDIR += ocaml-cryptgps SUBDIR += ocaml-cryptokit SUBDIR += ocaml-digestif SUBDIR += ocaml-lwt_ssl SUBDIR += ocaml-ssl SUBDIR += oidentd SUBDIR += oinkmaster SUBDIR += olm SUBDIR += onionscan SUBDIR += op SUBDIR += openbao SUBDIR += openbsm SUBDIR += openca-ocspd SUBDIR += openconnect SUBDIR += openconnect-freebsd-daemon SUBDIR += openconnect-gui SUBDIR += opencryptoki SUBDIR += openct SUBDIR += opendoas SUBDIR += openfhe SUBDIR += openfortivpn SUBDIR += openiked SUBDIR += opensaml SUBDIR += opensc SUBDIR += openssh-askpass SUBDIR += openssh-portable SUBDIR += openssl SUBDIR += openssl-agent SUBDIR += openssl-oqsprovider SUBDIR += openssl-pkcs11provider SUBDIR += openssl-unsafe SUBDIR += openssl34 SUBDIR += openssl35 SUBDIR += openssl36 SUBDIR += openssl40 SUBDIR += openvas SUBDIR += openvpn SUBDIR += openvpn-admin SUBDIR += openvpn-auth-ldap SUBDIR += openvpn-auth-oauth2 SUBDIR += openvpn-auth-radius SUBDIR += openvpn-auth-script SUBDIR += openvpn-devel SUBDIR += ophcrack SUBDIR += opie SUBDIR += opkssh SUBDIR += ossec-hids SUBDIR += ossec-hids-agent SUBDIR += ossec-hids-agent-config SUBDIR += ossec-hids-local SUBDIR += ossec-hids-local-config SUBDIR += ossec-hids-server SUBDIR += ossec-hids-server-config SUBDIR += osslsigncode SUBDIR += osv-scanner SUBDIR += otpw SUBDIR += p11-kit SUBDIR += p5-Alt-Crypt-RSA-BigInt SUBDIR += p5-Apache-Htpasswd SUBDIR += p5-App-Acmeman SUBDIR += p5-App-ClusterSSH SUBDIR += p5-App-Genpass SUBDIR += p5-App-TLSMe SUBDIR += p5-Auth-GoogleAuth SUBDIR += p5-Auth-YubikeyDecrypter SUBDIR += p5-AuthCAS SUBDIR += p5-Authen-Bitcard SUBDIR += p5-Authen-Captcha SUBDIR += p5-Authen-CyrusSASL SUBDIR += p5-Authen-DecHpwd SUBDIR += p5-Authen-Htpasswd SUBDIR += p5-Authen-Krb5 SUBDIR += p5-Authen-Krb5-Simple SUBDIR += p5-Authen-Libwrap SUBDIR += p5-Authen-NTLM SUBDIR += p5-Authen-OATH SUBDIR += p5-Authen-PAAS SUBDIR += p5-Authen-PAM SUBDIR += p5-Authen-Passphrase SUBDIR += p5-Authen-PluggableCaptcha SUBDIR += p5-Authen-Radius SUBDIR += p5-Authen-SASL SUBDIR += p5-Authen-SASL-Cyrus SUBDIR += p5-Authen-SASL-SASLprep SUBDIR += p5-Authen-SCRAM SUBDIR += p5-Authen-Simple SUBDIR += p5-Authen-Simple-DBI SUBDIR += p5-Authen-Simple-DBM SUBDIR += p5-Authen-Simple-HTTP SUBDIR += p5-Authen-Simple-Kerberos SUBDIR += p5-Authen-Simple-LDAP SUBDIR += p5-Authen-Simple-Net SUBDIR += p5-Authen-Simple-PAM SUBDIR += p5-Authen-Simple-Passwd SUBDIR += p5-Authen-Simple-RADIUS SUBDIR += p5-Authen-Simple-SMB SUBDIR += p5-Authen-Simple-SSH SUBDIR += p5-Authen-Smb SUBDIR += p5-Authen-TacacsPlus SUBDIR += p5-Authen-Ticket SUBDIR += p5-Authen-TypeKey SUBDIR += p5-Business-PayPal-EWP SUBDIR += p5-Bytes-Random-Secure SUBDIR += p5-Bytes-Random-Secure-Tiny SUBDIR += p5-CACertOrg-CA SUBDIR += p5-CPAN-Audit SUBDIR += p5-CPANSA-DB SUBDIR += p5-CSP SUBDIR += p5-Cisco-Hash SUBDIR += p5-Crypt-Anubis SUBDIR += p5-Crypt-AppleTwoFish SUBDIR += p5-Crypt-Argon2 SUBDIR += p5-Crypt-Bcrypt SUBDIR += p5-Crypt-Blowfish SUBDIR += p5-Crypt-Blowfish_PP SUBDIR += p5-Crypt-CAST5 SUBDIR += p5-Crypt-CAST5_PP SUBDIR += p5-Crypt-CBC SUBDIR += p5-Crypt-CBCeasy SUBDIR += p5-Crypt-CFB SUBDIR += p5-Crypt-Caesar SUBDIR += p5-Crypt-Camellia_PP SUBDIR += p5-Crypt-Chimera SUBDIR += p5-Crypt-CipherSaber SUBDIR += p5-Crypt-Cracklib SUBDIR += p5-Crypt-Ctr SUBDIR += p5-Crypt-Curve25519 SUBDIR += p5-Crypt-DES SUBDIR += p5-Crypt-DES_EDE3 SUBDIR += p5-Crypt-DES_PP SUBDIR += p5-Crypt-DH SUBDIR += p5-Crypt-DSA SUBDIR += p5-Crypt-Dining SUBDIR += p5-Crypt-ECB SUBDIR += p5-Crypt-Eksblowfish SUBDIR += p5-Crypt-Enigma SUBDIR += p5-Crypt-Format SUBDIR += p5-Crypt-GCrypt SUBDIR += p5-Crypt-GOST SUBDIR += p5-Crypt-GOST_PP SUBDIR += p5-Crypt-GPG SUBDIR += p5-Crypt-GeneratePassword SUBDIR += p5-Crypt-GpgME SUBDIR += p5-Crypt-HCE_MD5 SUBDIR += p5-Crypt-HCE_SHA SUBDIR += p5-Crypt-HSXKPasswd SUBDIR += p5-Crypt-IDEA SUBDIR += p5-Crypt-Imail SUBDIR += p5-Crypt-JWT SUBDIR += p5-Crypt-Juniper SUBDIR += p5-Crypt-Khazad SUBDIR += p5-Crypt-LE SUBDIR += p5-Crypt-LibSCEP SUBDIR += p5-Crypt-License SUBDIR += p5-Crypt-Lite SUBDIR += p5-Crypt-Loki97 SUBDIR += p5-Crypt-MySQL SUBDIR += p5-Crypt-NULL SUBDIR += p5-Crypt-OFB SUBDIR += p5-Crypt-OTP SUBDIR += p5-Crypt-OpenPGP SUBDIR += p5-Crypt-OpenSSL-AES SUBDIR += p5-Crypt-OpenSSL-Bignum SUBDIR += p5-Crypt-OpenSSL-CA SUBDIR += p5-Crypt-OpenSSL-DSA SUBDIR += p5-Crypt-OpenSSL-EC SUBDIR += p5-Crypt-OpenSSL-ECDSA SUBDIR += p5-Crypt-OpenSSL-Guess SUBDIR += p5-Crypt-OpenSSL-PKCS10 SUBDIR += p5-Crypt-OpenSSL-RSA SUBDIR += p5-Crypt-OpenSSL-Random SUBDIR += p5-Crypt-OpenSSL-Verify SUBDIR += p5-Crypt-OpenSSL-X509 SUBDIR += p5-Crypt-PBKDF2 SUBDIR += p5-Crypt-PKCS10 SUBDIR += p5-Crypt-PWSafe3 SUBDIR += p5-Crypt-PassGen SUBDIR += p5-Crypt-Passwd-XS SUBDIR += p5-Crypt-PasswdMD5 SUBDIR += p5-Crypt-Password-Util SUBDIR += p5-Crypt-Perl SUBDIR += p5-Crypt-Primes SUBDIR += p5-Crypt-RC4 SUBDIR += p5-Crypt-RC5 SUBDIR += p5-Crypt-RC6 SUBDIR += p5-Crypt-RHash SUBDIR += p5-Crypt-RIPEMD160 SUBDIR += p5-Crypt-RSA SUBDIR += p5-Crypt-RSA-Parse SUBDIR += p5-Crypt-RSA-Yandex SUBDIR += p5-Crypt-Rabbit SUBDIR += p5-Crypt-RandPasswd SUBDIR += p5-Crypt-Random SUBDIR += p5-Crypt-Random-Seed SUBDIR += p5-Crypt-Random-Source SUBDIR += p5-Crypt-Random-TESHA2 SUBDIR += p5-Crypt-Rijndael SUBDIR += p5-Crypt-Rijndael_PP SUBDIR += p5-Crypt-SKey SUBDIR += p5-Crypt-SMIME SUBDIR += p5-Crypt-SSLeay SUBDIR += p5-Crypt-SSSS SUBDIR += p5-Crypt-Salt SUBDIR += p5-Crypt-SaltedHash SUBDIR += p5-Crypt-Serpent SUBDIR += p5-Crypt-Shark SUBDIR += p5-Crypt-Simple SUBDIR += p5-Crypt-SmbHash SUBDIR += p5-Crypt-Sodium SUBDIR += p5-Crypt-Solitaire SUBDIR += p5-Crypt-SysRandom SUBDIR += p5-Crypt-SysRandom-XS SUBDIR += p5-Crypt-TEA SUBDIR += p5-Crypt-T_e_a SUBDIR += p5-Crypt-Tea_JS SUBDIR += p5-Crypt-TripleDES SUBDIR += p5-Crypt-Twofish SUBDIR += p5-Crypt-Twofish2 SUBDIR += p5-Crypt-Twofish_PP SUBDIR += p5-Crypt-URandom SUBDIR += p5-Crypt-URandom-Token SUBDIR += p5-Crypt-UnixCrypt SUBDIR += p5-Crypt-UnixCrypt_XS SUBDIR += p5-Crypt-X509 SUBDIR += p5-Crypt-X509-CRL SUBDIR += p5-Crypt-XTEA SUBDIR += p5-Crypt-xDBM_File SUBDIR += p5-CryptX SUBDIR += p5-Dancer-Plugin-Auth-Extensible SUBDIR += p5-Dancer2-Plugin-Auth-Extensible SUBDIR += p5-Dancer2-Plugin-Auth-Extensible-Provider-DBIC SUBDIR += p5-Dancer2-Plugin-Auth-Extensible-Provider-Database SUBDIR += p5-Dancer2-Plugin-Auth-Extensible-Provider-IMAP SUBDIR += p5-Data-Password SUBDIR += p5-Digest SUBDIR += p5-Digest-Adler32 SUBDIR += p5-Digest-Bcrypt SUBDIR += p5-Digest-BubbleBabble SUBDIR += p5-Digest-CRC SUBDIR += p5-Digest-Crc32 SUBDIR += p5-Digest-DJB SUBDIR += p5-Digest-DMAC SUBDIR += p5-Digest-EMAC SUBDIR += p5-Digest-Elf SUBDIR += p5-Digest-FNV SUBDIR += p5-Digest-GOST SUBDIR += p5-Digest-HMAC SUBDIR += p5-Digest-Hashcash SUBDIR += p5-Digest-Haval256 SUBDIR += p5-Digest-JHash SUBDIR += p5-Digest-MD2 SUBDIR += p5-Digest-MD4 SUBDIR += p5-Digest-MD5 SUBDIR += p5-Digest-MD5-File SUBDIR += p5-Digest-MD5-M4p SUBDIR += p5-Digest-MD5-Reverse SUBDIR += p5-Digest-ManberHash SUBDIR += p5-Digest-MurmurHash SUBDIR += p5-Digest-Nilsimsa SUBDIR += p5-Digest-Pearson SUBDIR += p5-Digest-Pearson-PurePerl SUBDIR += p5-Digest-Perl-MD4 SUBDIR += p5-Digest-Perl-MD5 SUBDIR += p5-Digest-SHA SUBDIR += p5-Digest-SHA-PurePerl SUBDIR += p5-Digest-SHA1 SUBDIR += p5-Digest-SHA3 SUBDIR += p5-Digest-SV1 SUBDIR += p5-Digest-SipHash SUBDIR += p5-Digest-Tiger SUBDIR += p5-Digest-Whirlpool SUBDIR += p5-File-KeePass SUBDIR += p5-File-KeePass-Agent SUBDIR += p5-File-Scan SUBDIR += p5-File-Scan-ClamAV SUBDIR += p5-Filter-CBC SUBDIR += p5-Filter-Crypto SUBDIR += p5-GD-SecurityImage SUBDIR += p5-GSSAPI SUBDIR += p5-GnuPG SUBDIR += p5-GnuPG-Interface SUBDIR += p5-HTML-Email-Obfuscate SUBDIR += p5-Heimdal-Kadm5 SUBDIR += p5-IO-Async-SSL SUBDIR += p5-IO-Socket-SSL SUBDIR += p5-MD5 SUBDIR += p5-Mcrypt SUBDIR += p5-Module-Signature SUBDIR += p5-Net-Daemon-SSL SUBDIR += p5-Net-OpenID-Common SUBDIR += p5-Net-OpenID-JanRain SUBDIR += p5-Net-OpenID-Server SUBDIR += p5-Net-Radius-Server SUBDIR += p5-Net-SAML2 SUBDIR += p5-Net-SSH-AuthorizedKeysFile SUBDIR += p5-Net-SSL-ExpireDate SUBDIR += p5-Net-SSLGlue SUBDIR += p5-Net-SSLeay SUBDIR += p5-Net-Server-Mail-ESMTP-AUTH SUBDIR += p5-Net-SinFP SUBDIR += p5-Nmap-Parser SUBDIR += p5-Nmap-Scanner SUBDIR += p5-OpenCA-CRL SUBDIR += p5-OpenCA-CRR SUBDIR += p5-OpenCA-REQ SUBDIR += p5-OpenCA-X509 SUBDIR += p5-PBKDF2-Tiny SUBDIR += p5-PGP SUBDIR += p5-PGP-Sign SUBDIR += p5-POE-Component-SSLify SUBDIR += p5-POE-Filter-SSL SUBDIR += p5-Parse-Snort SUBDIR += p5-PerlCryptLib SUBDIR += p5-SAVI-Perl SUBDIR += p5-SHA SUBDIR += p5-Safe-Hole SUBDIR += p5-Session-Token SUBDIR += p5-Snort-Rule SUBDIR += p5-String-MkPasswd SUBDIR += p5-Sudo SUBDIR += p5-Text-Password-Pronounceable SUBDIR += p5-Tie-EncryptedHash SUBDIR += p5-Tree-Authz SUBDIR += p5-URN-OASIS-SAML2 SUBDIR += p5-Unix-Passwd-File SUBDIR += p5-Unix-setuid SUBDIR += p5-Yahoo-BBAuth SUBDIR += p5-dicewaregen SUBDIR += p5-openxpki SUBDIR += p5-openxpki-clca SUBDIR += p5-openxpki-i18n SUBDIR += p5-plog SUBDIR += pam-modules SUBDIR += pam-mysql SUBDIR += pam-pgsql SUBDIR += pam_google_authenticator SUBDIR += pam_helper SUBDIR += pam_howdy SUBDIR += pam_jail SUBDIR += pam_kde SUBDIR += pam_krb5 SUBDIR += pam_krb5-rh SUBDIR += pam_ldap SUBDIR += pam_mkhomedir SUBDIR += pam_ocra SUBDIR += pam_p11 SUBDIR += pam_pkcs11 SUBDIR += pam_pwdfile SUBDIR += pam_require SUBDIR += pam_rssh SUBDIR += pam_script SUBDIR += pam_search_list SUBDIR += pam_ssh_agent_auth SUBDIR += pam_u2f SUBDIR += pam_worker SUBDIR += pam_yubico SUBDIR += pamtester SUBDIR += paperkey SUBDIR += passh SUBDIR += passivedns SUBDIR += pcsc-tools SUBDIR += pdfcrack SUBDIR += pdfrip SUBDIR += pear-Auth SUBDIR += pear-Auth_HTTP SUBDIR += pear-Auth_PrefManager SUBDIR += pear-Auth_SASL SUBDIR += pear-Auth_SASL2 SUBDIR += pear-Crypt_Blowfish SUBDIR += pear-Crypt_CBC SUBDIR += pear-Crypt_CHAP SUBDIR += pear-Crypt_DiffieHellman SUBDIR += pear-Crypt_GPG SUBDIR += pear-Crypt_HMAC2 SUBDIR += pear-Crypt_MicroID SUBDIR += pear-Crypt_RC4 SUBDIR += pear-Crypt_RSA SUBDIR += pear-Crypt_XXTEA SUBDIR += pear-File_HtAccess SUBDIR += pear-File_Passwd SUBDIR += pear-File_SMBPasswd SUBDIR += pear-HTML_Crypt SUBDIR += pear-Horde_Auth SUBDIR += pear-Horde_Crypt SUBDIR += pear-Horde_Crypt_Blowfish SUBDIR += pear-Horde_Group SUBDIR += pear-Horde_Oauth SUBDIR += pear-Horde_Perms SUBDIR += pear-Horde_Secret SUBDIR += pear-Horde_Share SUBDIR += pear-LiveUser SUBDIR += pear-LiveUser_Admin SUBDIR += pear-Net_Portscan SUBDIR += pear-Text_Password SUBDIR += pecl-crypto SUBDIR += pecl-gnupg SUBDIR += pecl-krb5 SUBDIR += pecl-libsodium SUBDIR += pecl-mcrypt SUBDIR += pecl-pam SUBDIR += pecl-pkcs11 SUBDIR += pecl-scrypt SUBDIR += pecl-ssh2 SUBDIR += pecl-xxtea SUBDIR += peda SUBDIR += pev SUBDIR += pgpdump SUBDIR += pgpgpg SUBDIR += pgpin SUBDIR += php82-filter SUBDIR += php82-sodium SUBDIR += php83-filter SUBDIR += php83-sodium SUBDIR += php84-filter SUBDIR += php84-sodium SUBDIR += php85-filter SUBDIR += php85-sodium SUBDIR += php86-filter SUBDIR += php86-sodium SUBDIR += picocrypt SUBDIR += picosha2 SUBDIR += pidgin-encryption SUBDIR += pidgin-otr SUBDIR += pinentry SUBDIR += pinentry-curses SUBDIR += pinentry-efl SUBDIR += pinentry-fltk SUBDIR += pinentry-gnome SUBDIR += pinentry-gtk2 SUBDIR += pinentry-qt5 SUBDIR += pinentry-qt6 SUBDIR += pinentry-tty SUBDIR += pixiewps SUBDIR += pkcrack SUBDIR += pkcs11-dump SUBDIR += pkcs11-gateway SUBDIR += pkcs11-helper SUBDIR += pkcs11-tools SUBDIR += pkesh SUBDIR += pks SUBDIR += plasma6-kscreenlocker SUBDIR += plasma6-ksshaskpass SUBDIR += plasma6-kwallet-pam SUBDIR += please SUBDIR += portacl-rc SUBDIR += proftpd-mod_clamav SUBDIR += proxycheck SUBDIR += proxytunnel SUBDIR += pssh SUBDIR += pulledpork SUBDIR += pure-sfv SUBDIR += putty SUBDIR += putty-nogtk SUBDIR += pvk SUBDIR += pwauth SUBDIR += pwdsafety SUBDIR += pwman SUBDIR += pwned-check SUBDIR += py-PAM SUBDIR += py-SecretStorage SUBDIR += py-YubiOTP SUBDIR += py-acme SUBDIR += py-acme-tiny SUBDIR += py-ailment SUBDIR += py-aiohttp-security SUBDIR += py-angr SUBDIR += py-argon2-cffi SUBDIR += py-argon2-cffi-bindings SUBDIR += py-artifacts SUBDIR += py-asyncssh SUBDIR += py-authlib SUBDIR += py-azure-keyvault-certificates SUBDIR += py-azure-keyvault-keys SUBDIR += py-azure-keyvault-secrets SUBDIR += py-badkeys SUBDIR += py-base58 SUBDIR += py-bcrypt SUBDIR += py-biscuit-auth SUBDIR += py-bitbox02 SUBDIR += py-blake3 SUBDIR += py-btchip-python SUBDIR += py-cart SUBDIR += py-cerealizer SUBDIR += py-cert-human SUBDIR += py-certbot SUBDIR += py-certbot-apache SUBDIR += py-certbot-dns-cloudflare SUBDIR += py-certbot-dns-cpanel SUBDIR += py-certbot-dns-digitalocean SUBDIR += py-certbot-dns-dnsimple SUBDIR += py-certbot-dns-dnsmadeeasy SUBDIR += py-certbot-dns-gandi SUBDIR += py-certbot-dns-gehirn SUBDIR += py-certbot-dns-google SUBDIR += py-certbot-dns-linode SUBDIR += py-certbot-dns-luadns SUBDIR += py-certbot-dns-nsone SUBDIR += py-certbot-dns-ovh SUBDIR += py-certbot-dns-powerdns SUBDIR += py-certbot-dns-rfc2136 SUBDIR += py-certbot-dns-route53 SUBDIR += py-certbot-dns-sakuracloud SUBDIR += py-certbot-dns-standalone SUBDIR += py-certbot-nginx SUBDIR += py-certifi SUBDIR += py-certipy SUBDIR += py-certomancer SUBDIR += py-certstream SUBDIR += py-ckcc-protocol SUBDIR += py-coincurve SUBDIR += py-cpe SUBDIR += py-cryptography SUBDIR += py-cryptography-legacy SUBDIR += py-cryptography-vectors SUBDIR += py-cryptojwt SUBDIR += py-ctypescrypto SUBDIR += py-cybox SUBDIR += py-detect-secrets SUBDIR += py-dfdatetime SUBDIR += py-dfwinreg SUBDIR += py-dirhash SUBDIR += py-distro2sbom SUBDIR += py-django-auth-kerberos SUBDIR += py-docker-pycreds SUBDIR += py-ecdsa SUBDIR += py-ed25519ll SUBDIR += py-exscript SUBDIR += py-fail2ban SUBDIR += py-fido2 SUBDIR += py-flask-bcrypt SUBDIR += py-flask-httpauth SUBDIR += py-flask-kerberos SUBDIR += py-flask-saml SUBDIR += py-gixy SUBDIR += py-gnupg SUBDIR += py-gnutls SUBDIR += py-google-auth SUBDIR += py-google-auth-httplib2 SUBDIR += py-google-auth-oauthlib SUBDIR += py-google-cloud-kms SUBDIR += py-gpg SUBDIR += py-gpsoauth SUBDIR += py-greenbone-feed-sync SUBDIR += py-gssapi SUBDIR += py-guardpost SUBDIR += py-gvm-tools SUBDIR += py-himitsu-keyring SUBDIR += py-hkdf SUBDIR += py-htpasswd SUBDIR += py-httpx-auth SUBDIR += py-iam-expand SUBDIR += py-iamdata SUBDIR += py-iris-check-module SUBDIR += py-iris-client SUBDIR += py-iris-evtx-module SUBDIR += py-iris-intelowl-module SUBDIR += py-iris-misp-module SUBDIR += py-iris-module-interface SUBDIR += py-iris-vt-module SUBDIR += py-iris-webhooks-module SUBDIR += py-itsdangerous SUBDIR += py-josepy SUBDIR += py-joserfc SUBDIR += py-jwcrypto SUBDIR += py-k5test SUBDIR += py-kdcproxy SUBDIR += py-keepkey SUBDIR += py-kerberos SUBDIR += py-keyring SUBDIR += py-keyrings.alt SUBDIR += py-krb5 SUBDIR += py-lib4sbom SUBDIR += py-libnacl SUBDIR += py-liboqs-python SUBDIR += py-m2crypto SUBDIR += py-maec SUBDIR += py-merkletools SUBDIR += py-mixbox SUBDIR += py-mkpasswd SUBDIR += py-mnemonic SUBDIR += py-msoffcrypto-tool SUBDIR += py-muacrypt SUBDIR += py-netbox-secrets SUBDIR += py-nethsm SUBDIR += py-netmiko SUBDIR += py-nitrokey SUBDIR += py-noiseprotocol SUBDIR += py-notus-scanner SUBDIR += py-ntlm-auth SUBDIR += py-nvdlib SUBDIR += py-oauthlib SUBDIR += py-omemo-dr SUBDIR += py-openssh-wrapper SUBDIR += py-oscrypto SUBDIR += py-ospd-openvas SUBDIR += py-paramiko SUBDIR += py-pass-audit SUBDIR += py-pass-git-helper SUBDIR += py-passhole SUBDIR += py-passlib SUBDIR += py-pbkdf2 SUBDIR += py-pem SUBDIR += py-pgpdump SUBDIR += py-pgpy SUBDIR += py-plaso SUBDIR += py-pnu-certwatch SUBDIR += py-pnu-vuxml SUBDIR += py-policyuniverse SUBDIR += py-potr SUBDIR += py-privleap SUBDIR += py-pwntools SUBDIR += py-pyaes SUBDIR += py-pyaff4 SUBDIR += py-pyaxo SUBDIR += py-pyclamd SUBDIR += py-pycryptodome SUBDIR += py-pycryptodome-test-vectors SUBDIR += py-pycryptodomex SUBDIR += py-pyelliptic SUBDIR += py-pyhanko SUBDIR += py-pyhanko-certvalidator SUBDIR += py-pyhanko-cli SUBDIR += py-pykeepass SUBDIR += py-pykeepass-cache SUBDIR += py-pylibacl SUBDIR += py-pymacaroons SUBDIR += py-pynacl SUBDIR += py-pyopenssl SUBDIR += py-pyotp SUBDIR += py-pyotp2289 SUBDIR += py-pysaml2 SUBDIR += py-pyscard SUBDIR += py-pysodium SUBDIR += py-pyspnego SUBDIR += py-pysrp SUBDIR += py-python-axolotl SUBDIR += py-python-axolotl-curve25519 SUBDIR += py-python-cas SUBDIR += py-python-gnupg SUBDIR += py-python-gvm SUBDIR += py-python-jose SUBDIR += py-python-nmap SUBDIR += py-python-nss SUBDIR += py-python-openid SUBDIR += py-python-pam SUBDIR += py-python-pkcs11 SUBDIR += py-python-registry SUBDIR += py-python3-openid SUBDIR += py-python3-saml SUBDIR += py-pyvex SUBDIR += py-pywinrm SUBDIR += py-requests-credssp SUBDIR += py-requests-kerberos SUBDIR += py-ropgadget SUBDIR += py-ropper SUBDIR += py-rsa SUBDIR += py-rtls SUBDIR += py-safe SUBDIR += py-scp SUBDIR += py-scramp SUBDIR += py-scrypt SUBDIR += py-secure SUBDIR += py-securesystemslib SUBDIR += py-serpico SUBDIR += py-service-identity SUBDIR += py-shamir-mnemonic SUBDIR += py-signedjson SUBDIR += py-signxml SUBDIR += py-siphash24 SUBDIR += py-slip10 SUBDIR += py-social-auth-core SUBDIR += py-spake2 SUBDIR += py-ssh-audit SUBDIR += py-sshpubkeys SUBDIR += py-stem SUBDIR += py-stix SUBDIR += py-stix2 SUBDIR += py-stix2-patterns SUBDIR += py-taxii2-client SUBDIR += py-tinyaes SUBDIR += py-tls-parser SUBDIR += py-tlslite SUBDIR += py-tlslite-ng SUBDIR += py-trezor SUBDIR += py-trustme SUBDIR += py-truststore SUBDIR += py-tuf SUBDIR += py-txtorcon SUBDIR += py-uhashring SUBDIR += py-unicode-show SUBDIR += py-utls SUBDIR += py-vici SUBDIR += py-virustotal-api SUBDIR += py-volatility3 SUBDIR += py-vpn-slice SUBDIR += py-vulndb SUBDIR += py-wassima SUBDIR += py-webauthn SUBDIR += py-xkcdpass SUBDIR += py-xmlsec SUBDIR += py-yara SUBDIR += py-yara-python-dex SUBDIR += py-yubikey-manager SUBDIR += py-zaproxy SUBDIR += py-zkg SUBDIR += py-zxcvbn SUBDIR += pygost SUBDIR += qgpgme SUBDIR += qt-sudo SUBDIR += qtkeychain SUBDIR += quantis-kmod SUBDIR += radamsa SUBDIR += rage-encryption SUBDIR += ratify SUBDIR += ratproxy SUBDIR += rats SUBDIR += rbw SUBDIR += rcracki_mt SUBDIR += rekor SUBDIR += reop SUBDIR += rhash SUBDIR += ridl SUBDIR += rifiuti2 SUBDIR += rndpassw SUBDIR += rnp SUBDIR += rotate SUBDIR += rpm-sequoia SUBDIR += rubygem-acme-client SUBDIR += rubygem-acme-client-gitlab SUBDIR += rubygem-aes_key_wrap SUBDIR += rubygem-airbrussh SUBDIR += rubygem-android_key_attestation SUBDIR += rubygem-attr_encrypted SUBDIR += rubygem-attr_encrypted3 SUBDIR += rubygem-auth-sanitizer SUBDIR += rubygem-bcrypt SUBDIR += rubygem-bcrypt-ruby SUBDIR += rubygem-bcrypt_pbkdf SUBDIR += rubygem-brakeman SUBDIR += rubygem-cancancan SUBDIR += rubygem-cose SUBDIR += rubygem-cvss-suite SUBDIR += rubygem-declarative_policy SUBDIR += rubygem-devise-two-factor SUBDIR += rubygem-devise-two-factor-rails-gitlab SUBDIR += rubygem-devise-two-factor-rails5 SUBDIR += rubygem-devise-two-factor-rails70 SUBDIR += rubygem-devise_pam_authenticatable2 SUBDIR += rubygem-digest SUBDIR += rubygem-digest-crc SUBDIR += rubygem-doorkeeper SUBDIR += rubygem-doorkeeper-device_authorization_grant SUBDIR += rubygem-doorkeeper-i18n SUBDIR += rubygem-doorkeeper-i18n-rails72 SUBDIR += rubygem-doorkeeper-openid_connect SUBDIR += rubygem-doorkeeper-rails-gitlab SUBDIR += rubygem-doorkeeper-rails5 SUBDIR += rubygem-doorkeeper-rails50 SUBDIR += rubygem-doorkeeper-rails70 SUBDIR += rubygem-doorkeeper-rails72 SUBDIR += rubygem-doorkeeper57-rails70 SUBDIR += rubygem-duo_api SUBDIR += rubygem-ed25519 SUBDIR += rubygem-encryptor SUBDIR += rubygem-ezcrypto SUBDIR += rubygem-gitlab-cloud-connector SUBDIR += rubygem-gitlab-glaz SUBDIR += rubygem-gitlab-secret_detection SUBDIR += rubygem-googleauth SUBDIR += rubygem-googleauth-gitlab SUBDIR += rubygem-gpgme SUBDIR += rubygem-gpgr SUBDIR += rubygem-gssapi SUBDIR += rubygem-haiti-hash SUBDIR += rubygem-hkdf SUBDIR += rubygem-hkdf0 SUBDIR += rubygem-hrr_rb_ssh SUBDIR += rubygem-hrr_rb_ssh-ed25519 SUBDIR += rubygem-lockbox SUBDIR += rubygem-metasploit-concern SUBDIR += rubygem-metasploit-credential SUBDIR += rubygem-metasploit-model SUBDIR += rubygem-metasploit-payloads SUBDIR += rubygem-metasploit_data_models SUBDIR += rubygem-metasploit_payloads-mettle SUBDIR += rubygem-nessus_rest SUBDIR += rubygem-net-scp SUBDIR += rubygem-net-scp1 SUBDIR += rubygem-net-sftp SUBDIR += rubygem-net-ssh SUBDIR += rubygem-net-ssh-gateway SUBDIR += rubygem-net-ssh-krb SUBDIR += rubygem-net-ssh-multi SUBDIR += rubygem-net-ssh5 SUBDIR += rubygem-net-ssh6 SUBDIR += rubygem-net-telnet SUBDIR += rubygem-nexpose SUBDIR += rubygem-nmap-parser SUBDIR += rubygem-omniauth SUBDIR += rubygem-omniauth-alicloud SUBDIR += rubygem-omniauth-atlassian-oauth2 SUBDIR += rubygem-omniauth-bitbucket SUBDIR += rubygem-omniauth-cas SUBDIR += rubygem-omniauth-dingtalk-oauth2 SUBDIR += rubygem-omniauth-gitlab SUBDIR += rubygem-omniauth-gl SUBDIR += rubygem-omniauth-jwt SUBDIR += rubygem-omniauth-multipassword SUBDIR += rubygem-omniauth-multipassword2 SUBDIR += rubygem-omniauth-oauth2-generic SUBDIR += rubygem-omniauth-oauth2-generic-gitlab SUBDIR += rubygem-omniauth-rails_csrf_protection SUBDIR += rubygem-omniauth-saml SUBDIR += rubygem-omniauth-saml-gitlab SUBDIR += rubygem-omniauth-saml1 SUBDIR += rubygem-omniauth-shibboleth SUBDIR += rubygem-omniauth-shibboleth-redux SUBDIR += rubygem-omniauth-shibboleth-redux-gitlab SUBDIR += rubygem-omniauth1 SUBDIR += rubygem-openssl SUBDIR += rubygem-openssl-ccm SUBDIR += rubygem-openssl-cmac SUBDIR += rubygem-openssl-signature_algorithm SUBDIR += rubygem-openssl3 SUBDIR += rubygem-openvas-omp SUBDIR += rubygem-origami SUBDIR += rubygem-pbkdf2-ruby SUBDIR += rubygem-pundit SUBDIR += rubygem-pwned SUBDIR += rubygem-pyu-ruby-sasl SUBDIR += rubygem-rack-oauth2 SUBDIR += rubygem-rack-oauth2-gitlab SUBDIR += rubygem-rasn1 SUBDIR += rubygem-razorback-scriptNugget SUBDIR += rubygem-rbnacl SUBDIR += rubygem-rbnacl-libsodium SUBDIR += rubygem-recog SUBDIR += rubygem-rex-arch SUBDIR += rubygem-rex-bin_tools SUBDIR += rubygem-rex-core SUBDIR += rubygem-rex-encoder SUBDIR += rubygem-rex-exploitation SUBDIR += rubygem-rex-java SUBDIR += rubygem-rex-mime SUBDIR += rubygem-rex-nop SUBDIR += rubygem-rex-ole SUBDIR += rubygem-rex-powershell SUBDIR += rubygem-rex-random_identifier SUBDIR += rubygem-rex-registry SUBDIR += rubygem-rex-rop_builder SUBDIR += rubygem-rex-socket SUBDIR += rubygem-rex-sslscan SUBDIR += rubygem-rex-struct2 SUBDIR += rubygem-rex-text SUBDIR += rubygem-rex-zip SUBDIR += rubygem-roauth SUBDIR += rubygem-rpam2 SUBDIR += rubygem-ruby-hmac SUBDIR += rubygem-ruby-rc4 SUBDIR += rubygem-ruby-saml SUBDIR += rubygem-ruby-saml-gitlab SUBDIR += rubygem-safety_net_attestation SUBDIR += rubygem-scrypt SUBDIR += rubygem-securecompare SUBDIR += rubygem-securerandom SUBDIR += rubygem-signet SUBDIR += rubygem-signet-gitlab SUBDIR += rubygem-six SUBDIR += rubygem-ssh_data SUBDIR += rubygem-sshkey SUBDIR += rubygem-sshkit SUBDIR += rubygem-sslshake SUBDIR += rubygem-ssrf_filter SUBDIR += rubygem-ssrf_filter10 SUBDIR += rubygem-timfel-krb5 SUBDIR += rubygem-tpm-key_attestation SUBDIR += rubygem-twitter_oauth SUBDIR += rubygem-unix-crypt SUBDIR += rubygem-vault SUBDIR += rubygem-webauthn SUBDIR += rubygem-webpush SUBDIR += rustls-ffi SUBDIR += rustscan SUBDIR += s2n-tls SUBDIR += safesh SUBDIR += samhain SUBDIR += samhain-client SUBDIR += samhain-server SUBDIR += sasp SUBDIR += scanlogd SUBDIR += scrypt SUBDIR += seahorse SUBDIR += seal SUBDIR += seccure SUBDIR += seclists SUBDIR += secpanel SUBDIR += secure_delete SUBDIR += sedutil SUBDIR += sequoia SUBDIR += sequoia-chameleon-gnupg SUBDIR += sequoia-sq SUBDIR += setaudit SUBDIR += sha1collisiondetection SUBDIR += sha2wordlist SUBDIR += shibboleth-idp SUBDIR += shibboleth-sp SUBDIR += sig2dot SUBDIR += signify SUBDIR += signing-party SUBDIR += silktools SUBDIR += smurflog SUBDIR += sniffglue SUBDIR += snoopy SUBDIR += snort SUBDIR += snort-rep SUBDIR += snort2pfcd SUBDIR += snort3 SUBDIR += snortsnarf SUBDIR += snowflake-tor SUBDIR += snuffleupagus SUBDIR += softether SUBDIR += softether-devel SUBDIR += softether5 SUBDIR += softhsm2 SUBDIR += sops SUBDIR += spass SUBDIR += spass-qt5 SUBDIR += spectre-meltdown-checker SUBDIR += spm SUBDIR += sqlmap SUBDIR += sqlninja SUBDIR += srm SUBDIR += ssb SUBDIR += ssdeep SUBDIR += ssh-import-id SUBDIR += ssh-multiadd SUBDIR += ssh-tools SUBDIR += ssh-vault SUBDIR += sshesame SUBDIR += sshguard SUBDIR += sshpass SUBDIR += ssl-admin SUBDIR += ssl-checker SUBDIR += ssllabs-scan SUBDIR += sslproxy SUBDIR += sslscan SUBDIR += sslsplit SUBDIR += sssd2 SUBDIR += ssss SUBDIR += sst SUBDIR += starttls SUBDIR += stegify SUBDIR += step-certificates SUBDIR += step-cli SUBDIR += stoken SUBDIR += strongswan SUBDIR += stunnel SUBDIR += su-exec SUBDIR += subversion-gnome-keyring SUBDIR += sudo SUBDIR += sudo-rs SUBDIR += sudoscript SUBDIR += super SUBDIR += suricata SUBDIR += susshi SUBDIR += swatchdog SUBDIR += syft SUBDIR += tailscale SUBDIR += tang SUBDIR += tclsasl SUBDIR += tcpcrypt SUBDIR += teleport SUBDIR += testssl.sh SUBDIR += tfhe SUBDIR += theonionbox SUBDIR += timestamp-authority SUBDIR += tinc SUBDIR += tinc-devel SUBDIR += tinyca SUBDIR += tlsc SUBDIR += tor SUBDIR += totp-cli SUBDIR += tpm-quote-tools SUBDIR += tpm-tools SUBDIR += tpm2-abrmd SUBDIR += tpm2-openssl SUBDIR += tpm2-pkcs11 SUBDIR += tpm2-tools SUBDIR += tpm2-tss SUBDIR += transcrypt SUBDIR += trezord SUBDIR += trillian SUBDIR += tripwire SUBDIR += trivy SUBDIR += trousers SUBDIR += trufflehog SUBDIR += tscli SUBDIR += tthsum SUBDIR += u2f-devd SUBDIR += uacme SUBDIR += ubuntu-keyring SUBDIR += unhide SUBDIR += unix-selfauth-helper SUBDIR += vanguards-tor SUBDIR += vault SUBDIR += vault-medusa SUBDIR += vaultwarden SUBDIR += veracrypt SUBDIR += vigenere SUBDIR += vlock SUBDIR += vm-to-tor SUBDIR += voa SUBDIR += vouch-proxy SUBDIR += vpnc SUBDIR += vuls SUBDIR += vulsrepo SUBDIR += vuxml SUBDIR += vxquery SUBDIR += wapiti SUBDIR += wazuh-agent SUBDIR += wazuh-dashboard SUBDIR += wazuh-indexer SUBDIR += wazuh-manager SUBDIR += wazuh-server SUBDIR += webfwlog SUBDIR += webtunnel-tor SUBDIR += whatweb SUBDIR += wipe SUBDIR += wolfssh SUBDIR += wolfssl SUBDIR += wpa_supplicant SUBDIR += wpa_supplicant-devel SUBDIR += wpa_supplicant210 SUBDIR += wpa_supplicant29 SUBDIR += xca SUBDIR += xhash SUBDIR += xinetd SUBDIR += xml-security SUBDIR += xmlsec1 SUBDIR += xorsearch SUBDIR += xray-core SUBDIR += yafic SUBDIR += yapet SUBDIR += yara SUBDIR += yersinia SUBDIR += ykclient SUBDIR += ykpers SUBDIR += ylva SUBDIR += yubico-piv-tool SUBDIR += yubikey-agent SUBDIR += yubikey-manager-qt SUBDIR += yubikey-personalization-gui SUBDIR += yubioath-desktop SUBDIR += zaproxy SUBDIR += zeek SUBDIR += zeronet SUBDIR += zlint SUBDIR += zzuf .include diff --git a/security/gssproxy/Makefile b/security/gssproxy/Makefile new file mode 100644 index 000000000000..37d8ba061304 --- /dev/null +++ b/security/gssproxy/Makefile @@ -0,0 +1,68 @@ +PORTNAME= gssproxy +DISTVERSION= 0.9.2 +CATEGORIES= security +MASTER_SITES= https://github.com/gssapi/gssproxy/releases/download/v${DISTVERSION}/ + +MAINTAINER= joneum@FreeBSD.org +COMMENT= GSSAPI proxy daemon and interposer mechanism +WWW= https://github.com/gssapi/gssproxy + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= docbook-xsl>0:textproc/docbook-xsl \ + xmllint:textproc/libxml2 \ + xsltproc:textproc/libxslt + +LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \ + libgssrpc.so.4:security/krb5 \ + libini_config.so:devel/ding-libs \ + libpopt.so:devel/popt \ + libverto.so.0:security/krb5 + +USES= autoreconf gettext-runtime gmake gssapi:mit libtool localbase \ + pkgconfig + +USE_RC_SUBR= gssproxy + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-static \ + --with-cc-path=/var/db/gssproxy/clients \ + --with-gpstate-path=/var/db/gssproxy \ + --with-gssconf-path=${PREFIX}/etc/gss/mech.d \ + --with-initscript=none \ + --with-log-path=/var/log/gssproxy \ + --with-manpages \ + --with-pid-file=/var/run/gssproxy.pid \ + --with-pubconf-path=${PREFIX}/etc/gssproxy \ + --with-socket-name=/var/run/gssproxy.sock \ + --with-xml-catalog-path=${LOCALBASE}/share/xml/catalog \ + --without-cap \ + --without-selinux +CONFIGURE_ENV= ac_cv_func_verto_cleanup=no + +INSTALL_TARGET= install-strip + +CPPFLAGS+= -I${LOCALBASE}/include/libepoll-shim +LIBS+= -lepoll-shim -lintl + +post-install: + ${RM} ${STAGEDIR}${PREFIX}/lib/gssproxy/proxymech.la + ${RM} -r ${STAGEDIR}${DOCSDIR} + ${MV} ${STAGEDIR}${PREFIX}/etc/gss/mech.d/proxymech.conf \ + ${STAGEDIR}${PREFIX}/etc/gss/mech.d/proxymech.conf.sample + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/gssproxy + ${INSTALL_DATA} ${WRKSRC}/examples/gssproxy.conf \ + ${STAGEDIR}${PREFIX}/etc/gssproxy/gssproxy.conf.sample + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/examples/24-nfs-server.conf \ + ${STAGEDIR}${EXAMPLESDIR}/24-nfs-server.conf + ${INSTALL_DATA} ${WRKSRC}/examples/80-httpd.conf \ + ${STAGEDIR}${EXAMPLESDIR}/80-httpd.conf + ${INSTALL_DATA} ${WRKSRC}/examples/99-network-fs-clients.conf \ + ${STAGEDIR}${EXAMPLESDIR}/99-network-fs-clients.conf + ${MKDIR} ${STAGEDIR}/var/db/gssproxy/clients + ${MKDIR} ${STAGEDIR}/var/db/gssproxy/rcache + ${MKDIR} ${STAGEDIR}/var/log/gssproxy + +.include diff --git a/security/gssproxy/distinfo b/security/gssproxy/distinfo new file mode 100644 index 000000000000..92ad6838094b --- /dev/null +++ b/security/gssproxy/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1784625660 +SHA256 (gssproxy-0.9.2.tar.gz) = 1fe43ea1b03d19e0f1eda3c82ba5bd8bba04e9bc7e629c117dad094d0a6fc1de +SIZE (gssproxy-0.9.2.tar.gz) = 586240 diff --git a/security/gssproxy/files/gssproxy.in b/security/gssproxy/files/gssproxy.in new file mode 100644 index 000000000000..76297aa0a8b5 --- /dev/null +++ b/security/gssproxy/files/gssproxy.in @@ -0,0 +1,43 @@ +#!/bin/sh + +# PROVIDE: gssproxy +# REQUIRE: DAEMON +# KEYWORD: shutdown + +. /etc/rc.subr + +name="gssproxy" +rcvar="gssproxy_enable" + +load_rc_config "${name}" + +: ${gssproxy_enable:=NO} +: ${gssproxy_config:=%%PREFIX%%/etc/gssproxy/gssproxy.conf} +: ${gssproxy_configdir:=%%PREFIX%%/etc/gssproxy} +: ${gssproxy_flags:=} + +command="%%PREFIX%%/sbin/gssproxy" +pidfile="/var/run/gssproxy.pid" +required_files="${gssproxy_config}" +command_args="-D -c ${gssproxy_config} -C ${gssproxy_configdir}" +gssproxy_env="KRB5RCACHEDIR=/var/db/gssproxy/rcache" + +extra_commands="reload" +start_precmd="gssproxy_prestart" +stop_postcmd="gssproxy_poststop" + +gssproxy_prestart() +{ +/usr/bin/install -d -m 0755 /var/db/gssproxy +/usr/bin/install -d -m 0700 /var/db/gssproxy/clients +/usr/bin/install -d -m 0700 /var/db/gssproxy/rcache +/usr/bin/install -d -m 0755 /var/log/gssproxy +/bin/rm -f "${pidfile}" /var/run/gssproxy.sock +} + +gssproxy_poststop() +{ +/bin/rm -f "${pidfile}" /var/run/gssproxy.sock +} + +run_rc_command "$1" diff --git a/security/gssproxy/files/patch-Makefile.am b/security/gssproxy/files/patch-Makefile.am new file mode 100644 index 000000000000..a0757a4156df --- /dev/null +++ b/security/gssproxy/files/patch-Makefile.am @@ -0,0 +1,11 @@ +--- Makefile.am.orig 2026-07-21 10:54:51 UTC ++++ Makefile.am +@@ -283,6 +283,8 @@ edit_cmd = $(SED) \ + + edit_cmd = $(SED) \ + -e 's|@sbindir[@]|$(sbindir)|g' \ ++ -e 's|@sysconfdir[@]|$(sysconfdir)|g' \ ++ -e 's|@socketname[@]|$(socketname)|g' \ + -e 's|@localstatedir[@]|$(localstatedir)|g' \ + -e 's|@libdir[@]|$(libdir)|g' \ + -e 's|@gpclidir[@]|$(gpclidir)|g' diff --git a/security/gssproxy/files/patch-conf__macros.m4 b/security/gssproxy/files/patch-conf__macros.m4 new file mode 100644 index 000000000000..da10ff50aac5 --- /dev/null +++ b/security/gssproxy/files/patch-conf__macros.m4 @@ -0,0 +1,11 @@ +--- conf_macros.m4.orig 2026-07-21 10:43:49 UTC ++++ conf_macros.m4 +@@ -248,7 +248,7 @@ AC_DEFUN([WITH_GPSTATE_PATH], + gpstatedir="${localstatedir}/lib/gssproxy" + if test x"$with_gpstate_path" != x; then + config_gpstatepath=$with_gpstate_path +- gpstatepath=$with_gpstate_path ++ gpstatedir=$with_gpstate_path + fi + AC_SUBST(gpstatedir) + AC_DEFINE_UNQUOTED(GPSTATE_PATH, "$config_gpstatepath", [Where to store ccache files for gssproxy]) diff --git a/security/gssproxy/files/patch-configure.ac b/security/gssproxy/files/patch-configure.ac new file mode 100644 index 000000000000..87f75a8647a3 --- /dev/null +++ b/security/gssproxy/files/patch-configure.ac @@ -0,0 +1,52 @@ +--- configure.ac.orig 2022-07-26 10:17:29 UTC ++++ configure.ac +@@ -82,7 +82,7 @@ LIBS="$PTHREAD_LIBS $LIBS" + AX_PTHREAD(,[AC_MSG_ERROR([Could not find Pthreads support])]) + + LIBS="$PTHREAD_LIBS $LIBS" +-LIBS="$PTHREAD_CFLAGS $CFLAGS" ++CFLAGS="$PTHREAD_CFLAGS $CFLAGS" + CC="$PTHREAD_CC" + + AC_CHECK_HEADERS([gssapi/gssapi.h],,[AC_MSG_ERROR([Could not find GSSAPI headers])]) +@@ -135,15 +135,31 @@ if test x$only_gss_module != xyes; then + if test x$only_gss_module != xyes; then + WITH_POPT + +- PKG_CHECK_MODULES([VERTO], [libverto >= 0.2.2], +- [ +- AC_CHECK_LIB(verto, verto_free,, +- AC_MSG_ERROR(["Error: libverto is not found or lacks verto_free"])) +- AC_CHECK_FUNCS(verto_cleanup,, +- AC_MSG_WARN(["Warning: libverto lacks verto_cleanup function"])) +- ], [ +- AC_MSG_ERROR([Could not find VERTO headers]) +- ]) ++ case "$host_os" in ++ freebsd*) ++ AC_CHECK_HEADERS([verto.h], [], ++ [AC_MSG_ERROR([Could not find VERTO headers])]) ++ VERTO_CFLAGS="" ++ VERTO_LIBS="-lverto" ++ AC_CHECK_LIB([verto], [verto_free], [], ++ [AC_MSG_ERROR([Error: libverto is not found or lacks verto_free])]) ++ AC_CHECK_FUNCS([verto_cleanup], [], ++ [AC_MSG_WARN([Warning: libverto lacks verto_cleanup function])]) ++ AC_SUBST([VERTO_CFLAGS]) ++ AC_SUBST([VERTO_LIBS]) ++ ;; ++ *) ++ PKG_CHECK_MODULES([VERTO], [libverto >= 0.2.2], ++ [ ++ AC_CHECK_LIB(verto, verto_free,, ++ AC_MSG_ERROR(["Error: libverto is not found or lacks verto_free"])) ++ AC_CHECK_FUNCS(verto_cleanup,, ++ AC_MSG_WARN(["Warning: libverto lacks verto_cleanup function"])) ++ ], [ ++ AC_MSG_ERROR([Could not find VERTO headers]) ++ ]) ++ ;; ++ esac + + + WITH_LIBINI_CONFIG diff --git a/security/gssproxy/files/patch-examples_24-nfs-server.conf.in b/security/gssproxy/files/patch-examples_24-nfs-server.conf.in new file mode 100644 index 000000000000..e5c498e95c97 --- /dev/null +++ b/security/gssproxy/files/patch-examples_24-nfs-server.conf.in @@ -0,0 +1,12 @@ +--- examples/24-nfs-server.conf.in.orig 2026-07-21 10:54:51 UTC ++++ examples/24-nfs-server.conf.in +@@ -1,7 +1,8 @@ + [service/nfs-server] + mechs = krb5 +- socket = /run/gssproxy.sock ++ socket = @socketname@ + cred_store = keytab:/etc/krb5.keytab + trusted = yes ++ # This option has no effect on FreeBSD. + kernel_nfsd = yes + euid = 0 diff --git a/security/gssproxy/files/patch-examples_80-httpd.conf.in b/security/gssproxy/files/patch-examples_80-httpd.conf.in new file mode 100644 index 000000000000..bff02d99b2f0 --- /dev/null +++ b/security/gssproxy/files/patch-examples_80-httpd.conf.in @@ -0,0 +1,11 @@ +--- examples/80-httpd.conf.in.orig 2026-07-21 10:54:51 UTC ++++ examples/80-httpd.conf.in +@@ -1,5 +1,5 @@ + [service/HTTP] + mechs = krb5 +- cred_store = keytab:/etc/gssproxy/http.keytab +- cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U +- euid = apache ++ cred_store = keytab:@sysconfdir@/gssproxy/http.keytab ++ cred_store = ccache:@gpclidir@/krb5cc_%U ++ euid = www diff --git a/security/gssproxy/files/patch-external_dinglibs.m4 b/security/gssproxy/files/patch-external_dinglibs.m4 new file mode 100644 index 000000000000..93cb6491dd45 --- /dev/null +++ b/security/gssproxy/files/patch-external_dinglibs.m4 @@ -0,0 +1,25 @@ +--- external/dinglibs.m4.orig 2022-07-26 10:17:29 UTC ++++ external/dinglibs.m4 +@@ -19,20 +19,19 @@ AC_DEFUN([WITH_REF_ARRAY], [ + + AC_DEFUN([WITH_REF_ARRAY], [ + +-AC_CHECK_LIB(ref_array, ref_array_destroy, [], ++AC_CHECK_LIB(ini_config, ref_array_destroy, [], + [AC_MSG_ERROR([library must support ref_array_destroy])], + [$INI_CONFIG_LIBS]) + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + /* See: https://pagure.io/SSSD/ding-libs/pull-request/3172 */ +-#include ++#include + #include + #include + #include + #include + #include + #include +-#include + + static int write_to_file(char *path, char *text) + { diff --git a/security/gssproxy/files/patch-external_platform.m4 b/security/gssproxy/files/patch-external_platform.m4 new file mode 100644 index 000000000000..d893758b7dc1 --- /dev/null +++ b/security/gssproxy/files/patch-external_platform.m4 @@ -0,0 +1,36 @@ +--- external/platform.m4.orig 2026-07-21 17:32:14 UTC ++++ external/platform.m4 +@@ -36,13 +36,24 @@ AM_CONDITIONAL([HAVE_GENTOO], [test x"$osname" = xgent + AM_CONDITIONAL([HAVE_DEBIAN], [test x"$osname" = xdebian]) + AM_CONDITIONAL([HAVE_GENTOO], [test x"$osname" = xgentoo]) + +-AC_CHECK_MEMBERS([struct ucred.pid, struct ucred.uid, struct ucred.gid], , , +- [[#include ]]) ++case "$host_os" in ++freebsd*) ++ AC_CHECK_MEMBERS([struct xucred.cr_pid, struct xucred.cr_uid, ++ struct xucred.cr_gid], [], ++ [AC_MSG_ERROR([struct xucred is not available])], ++ [[#include ++#include ]]) ++ ;; ++*) ++ AC_CHECK_MEMBERS([struct ucred.pid, struct ucred.uid, struct ucred.gid], , , ++ [[#include ]]) + +-if test x"$ac_cv_member_struct_ucred_pid" = xyes -a \ +- x"$ac_cv_member_struct_ucred_uid" = xyes -a \ +- x"$ac_cv_member_struct_ucred_gid" = xyes ; then +- AC_DEFINE([HAVE_UCRED], [1], [Define if struct ucred is available]) +-else +- AC_MSG_ERROR([struct ucred is not available]) +-fi ++ if test x"$ac_cv_member_struct_ucred_pid" = xyes -a \ ++ x"$ac_cv_member_struct_ucred_uid" = xyes -a \ ++ x"$ac_cv_member_struct_ucred_gid" = xyes ; then ++ AC_DEFINE([HAVE_UCRED], [1], [Define if struct ucred is available]) ++ else ++ AC_MSG_ERROR([struct ucred is not available]) ++ fi ++ ;; ++esac diff --git a/security/gssproxy/files/patch-src_client_gpm__common.c b/security/gssproxy/files/patch-src_client_gpm__common.c new file mode 100644 index 000000000000..6d0620447904 --- /dev/null +++ b/security/gssproxy/files/patch-src_client_gpm__common.c @@ -0,0 +1,21 @@ +--- src/client/gpm_common.c.orig 2022-07-26 10:17:29 UTC ++++ src/client/gpm_common.c +@@ -2,6 +2,7 @@ + + #include "gssapi_gpm.h" + #include ++#include + #include + #include + #include +@@ -11,6 +12,10 @@ + #include + #include + #include ++ ++#ifndef EBADFD ++#define EBADFD EBADF ++#endif + + #define FRAGMENT_BIT (1 << 31) + diff --git a/security/gssproxy/files/patch-src_gp__creds.c b/security/gssproxy/files/patch-src_gp__creds.c new file mode 100644 index 000000000000..ad69a58a0125 --- /dev/null +++ b/security/gssproxy/files/patch-src_gp__creds.c @@ -0,0 +1,29 @@ +--- src/gp_creds.c.orig 2026-07-21 10:43:49 UTC ++++ src/gp_creds.c +@@ -3,7 +3,11 @@ + #include "config.h" + #include + #include ++#ifdef __FreeBSD__ ++#include ++#else + #include ++#endif + #include + #include + #include +@@ -267,10 +271,14 @@ static int ensure_segregated_ccache(struct gp_call_ctx + return ENOMEM; + } + ++#ifdef __FreeBSD__ ++ tid = pthread_getthreadid_np(); ++#else + do { + errno = 0; + tid = syscall(SYS_gettid); + } while (tid == -1 && errno == EINTR); ++#endif + + ret = asprintf(&buf, "MEMORY:internal_%d", tid); + if (ret == -1) { diff --git a/security/gssproxy/files/patch-src_gp__creds.h b/security/gssproxy/files/patch-src_gp__creds.h new file mode 100644 index 000000000000..4c934b2359cf --- /dev/null +++ b/security/gssproxy/files/patch-src_gp__creds.h @@ -0,0 +1,26 @@ +--- src/gp_creds.h.orig 2026-07-21 10:43:49 UTC ++++ src/gp_creds.h +@@ -7,15 +7,22 @@ + #include + #include + #include ++#include + #include + + #define CRED_TYPE_NONE 0x00 + #define CRED_TYPE_UNIX 0x01 + #define CRED_TYPE_SELINUX 0x02 + ++struct gp_unix_cred { ++ pid_t pid; ++ uid_t uid; ++ gid_t gid; ++}; ++ + struct gp_creds { + int type; +- struct ucred ucred; ++ struct gp_unix_cred ucred; + }; + + #endif /* _GP_CREDS_H_ */ diff --git a/security/gssproxy/files/patch-src_gp__init.c b/security/gssproxy/files/patch-src_gp__init.c new file mode 100644 index 000000000000..534d36951538 --- /dev/null +++ b/security/gssproxy/files/patch-src_gp__init.c @@ -0,0 +1,24 @@ +--- src/gp_init.c.orig 2026-07-21 10:43:49 UTC ++++ src/gp_init.c +@@ -376,6 +376,7 @@ int init_event_fini(struct gssproxy_ctx *gpctx) + return 0; + } + ++#ifndef __FreeBSD__ + static int try_init_proc_nfsd(void) + { + char buf[] = "1"; +@@ -476,6 +477,13 @@ out: + } + return 0; + } ++ ++#else ++int init_proc_nfsd(struct gssproxy_ctx *gpctx UNUSED) ++{ ++ return 0; ++} ++#endif + + void write_pid(void) + { diff --git a/security/gssproxy/files/patch-src_gp__mgmt.c b/security/gssproxy/files/patch-src_gp__mgmt.c new file mode 100644 index 000000000000..a0d2a6b9bad2 --- /dev/null +++ b/security/gssproxy/files/patch-src_gp__mgmt.c @@ -0,0 +1,13 @@ +--- src/gp_mgmt.c.orig 2026-07-21 10:43:49 UTC ++++ src/gp_mgmt.c +@@ -270,9 +270,8 @@ done: + + done: + if (ret) { +- char errstr[128]; /* reasonable error str length */ + GPDEBUGN(3, "%s: Failed to set up krb5 tracing thread: [%s](%d)\n", +- __func__, strerror_r(ret, errstr, 128), ret); ++ __func__, gp_strerror(ret), ret); + free_k5tracer(); + } + return; diff --git a/security/gssproxy/files/patch-src_gp__socket.c b/security/gssproxy/files/patch-src_gp__socket.c new file mode 100644 index 000000000000..6376111fd67d --- /dev/null +++ b/security/gssproxy/files/patch-src_gp__socket.c @@ -0,0 +1,116 @@ +--- src/gp_socket.c.orig 2026-07-21 10:43:49 UTC ++++ src/gp_socket.c +@@ -14,6 +14,11 @@ + #include + #include + #include ++#ifdef __FreeBSD__ ++#include ++#include ++#include ++#endif + #include + #include + #include +@@ -309,17 +314,48 @@ static int get_peercred(int fd, struct gp_conn *conn) + socklen_t len; + int ret; + +- len = sizeof(struct ucred); +- ret = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &conn->creds.ucred, &len); +- if (ret == -1) { +- ret = errno; +- GPDEBUG("Failed to get SO_PEERCRED options! (%d:%s)\n", +- ret, gp_strerror(ret)); +- return ret; ++#ifdef __FreeBSD__ ++ { ++ struct xucred xucred; ++ ++ len = sizeof(xucred); ++ ret = getsockopt(fd, SOL_LOCAL, LOCAL_PEERCRED, &xucred, &len); ++ if (ret == -1) { ++ ret = errno; ++ GPDEBUG("Failed to get LOCAL_PEERCRED options! (%d:%s)\n", ++ ret, gp_strerror(ret)); ++ return ret; ++ } ++ if (len != sizeof(xucred) || ++ xucred.cr_version != XUCRED_VERSION) { ++ return EIO; ++ } ++ ++ conn->creds.ucred.pid = xucred.cr_pid; ++ conn->creds.ucred.uid = xucred.cr_uid; ++ conn->creds.ucred.gid = xucred.cr_gid; + } +- if (len != sizeof(struct ucred)) { +- return EIO; ++#else ++ { ++ struct ucred ucred; ++ ++ len = sizeof(ucred); ++ ret = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &len); ++ if (ret == -1) { ++ ret = errno; ++ GPDEBUG("Failed to get SO_PEERCRED options! (%d:%s)\n", ++ ret, gp_strerror(ret)); ++ return ret; ++ } ++ if (len != sizeof(ucred)) { ++ return EIO; ++ } ++ ++ conn->creds.ucred.pid = ucred.pid; ++ conn->creds.ucred.uid = ucred.uid; ++ conn->creds.ucred.gid = ucred.gid; + } ++#endif + + conn->creds.type |= CRED_TYPE_UNIX; + +@@ -338,8 +374,34 @@ static int get_peercred(int fd, struct gp_conn *conn) + return 0; + } + ++#ifdef __FreeBSD__ + static char *get_program(pid_t pid) + { ++ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, pid }; ++ char path[PATH_MAX]; ++ size_t len = sizeof(path); ++ int e; ++ ++ if (sysctl(mib, 4, path, &len, NULL, 0) == -1) { ++ e = errno; ++ if (e == ESRCH || e == ENOENT) { ++ return NULL; ++ } ++ GPERROR("Unable to read program path: %d (%s)", ++ e, gp_strerror(e)); ++ return NULL; ++ } ++ ++ if (len == 0) { ++ return NULL; ++ } ++ ++ path[sizeof(path) - 1] = 0; ++ return strdup(path); ++} ++#else ++static char *get_program(pid_t pid) ++{ + char procfile[21]; + char *program; + int ret, e; +@@ -377,6 +439,8 @@ static char *get_program(pid_t pid) + e, strerror(e)); + return NULL; + } ++ ++#endif + + static void gp_socket_read(verto_ctx *vctx, verto_ev *ev); + diff --git a/security/gssproxy/files/patch-tests_interposetest.c b/security/gssproxy/files/patch-tests_interposetest.c new file mode 100644 index 000000000000..80514eb2cf25 --- /dev/null +++ b/security/gssproxy/files/patch-tests_interposetest.c @@ -0,0 +1,10 @@ +--- tests/interposetest.c.orig 2022-07-26 10:17:29 UTC ++++ tests/interposetest.c +@@ -3,6 +3,7 @@ + #include "config.h" + #include + #include ++#include + #include + #include + #include diff --git a/security/gssproxy/pkg-descr b/security/gssproxy/pkg-descr new file mode 100644 index 000000000000..7522b79aae34 --- /dev/null +++ b/security/gssproxy/pkg-descr @@ -0,0 +1,6 @@ +GSSProxy provides a privileged GSS-API proxy daemon. Applications can use +the proxy to perform GSS-API operations without direct access to service +credentials and keytab files. + +The package also provides a GSS-API interposer mechanism for redirecting +credential operations to the proxy daemon. diff --git a/security/gssproxy/pkg-plist b/security/gssproxy/pkg-plist new file mode 100644 index 000000000000..040c5648ad3c --- /dev/null +++ b/security/gssproxy/pkg-plist @@ -0,0 +1,14 @@ +@sample etc/gss/mech.d/proxymech.conf.sample +@sample etc/gssproxy/gssproxy.conf.sample +lib/gssproxy/proxymech.so +sbin/gssproxy +%%EXAMPLESDIR%%/24-nfs-server.conf +%%EXAMPLESDIR%%/80-httpd.conf +%%EXAMPLESDIR%%/99-network-fs-clients.conf +share/man/man5/gssproxy.conf.5.gz +share/man/man8/gssproxy-mech.8.gz +share/man/man8/gssproxy.8.gz +@dir(root,wheel,0700) /var/db/gssproxy/clients +@dir(root,wheel,0700) /var/db/gssproxy/rcache +@dir(root,wheel,0755) /var/db/gssproxy +@dir(root,wheel,0755) /var/log/gssproxy