summaryrefslogtreecommitdiff
path: root/net-analyzer/hydra
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-04-16 13:07:24 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-04-16 13:07:24 +0100
commit0c100b7dd2b30e75b799d806df4ef899fd98e1ea (patch)
tree464c922e949c7e4d5d891fb2cdda5daee5612537 /net-analyzer/hydra
parente68d405c5d712af4387159df07e226217bdda049 (diff)
gentoo resync : 16.04.2022
Diffstat (limited to 'net-analyzer/hydra')
-rw-r--r--net-analyzer/hydra/Manifest3
-rw-r--r--net-analyzer/hydra/files/hydra-9.3-pcre2.patch113
-rw-r--r--net-analyzer/hydra/hydra-9.3-r1.ebuild127
3 files changed, 243 insertions, 0 deletions
diff --git a/net-analyzer/hydra/Manifest b/net-analyzer/hydra/Manifest
index 2ba91d184c62..ed57ce159f28 100644
--- a/net-analyzer/hydra/Manifest
+++ b/net-analyzer/hydra/Manifest
@@ -1,8 +1,11 @@
AUX hydra-9.2-respect-cflags-more.patch 1072 BLAKE2B 4361f339a0cd9ea3a32a9671bb1a31f2775dceb6b2b305885a2a3e72a2329c5337221c895ab49129e920c36941d5b34101877ebf0d35f10f46d601de58981c21 SHA512 b00112c17f025b657111c93decdecc5ee4a10f388e259929ed2f55ca08888d24fb2fac1892df017d00602943ba93a72dcbbb4cf00fa808c2bc05ed1b95cb428a
+AUX hydra-9.3-pcre2.patch 3854 BLAKE2B 3338fcae138b913008857db9e1678977d5809380e5e916b6b9f022b5e3c88f3030d401702fd0e59297916915ab9869e62113464e2a36b91e66605ea15d9b6cba SHA512 7cd1af834d6ad7fc120d600996bf13a8d6feca571b44bbf6194c4a0205e243b489aa8f80be4a21a5dbe19930b933fdeb56e76075649c1827384a1aeb2d46a977
AUX hydra-9999999-respect-cflags-more.patch 1241 BLAKE2B 6f0cab7a763d0eb1cee2e20ab5dc8889e45c3ada5ba1dd9be79a029f2d22ec8d027af18cb61ca22418f1662ba68d7bbf7dad2fcdffc05ce0471f06b7db14fa49 SHA512 b01bd45cecc90984bb1c97749d4c333973d72fea75719f9f1a7d848ce9fba1933a1cb8ff3b452699fad64b5ae716e6e1bc872b077fa2dcb36363de802c0b59b7
DIST hydra-9.1.tar.gz 611846 BLAKE2B 9a5b6dc52b5f4069bf326e86728ebaf8c1fe018536f3943b83493de934703bff6770ae3f7a9a223ee00b5f52f7bd10ee4ddc272e1bbad00c399aa19cc0c083ba SHA512 863176375fe1aae4c0a2b74c11aba297682d66e522c98c926c539348309b0af4e407e460b4cb803d2c83c008787c73f7f1e56ac6aca9791351e1b596c2e4fbb2
DIST hydra-9.2.tar.gz 614176 BLAKE2B 102c744fbdd3702c624b1c8339178883b689db093d9f1c66d8e04816327eb8095f3e3133f889b2a6ee6dcabb9e5af0c71ec8470731b4b174021fbd79741d05e7 SHA512 ee8ecd854b61ac9d708098c8a0d9a128d8b80b38db1a2ba8eb06de6fbbc6865135d994620ade8e3742fb993899274ed9d8fd0e95bed7a9fbeb1ca9e182540322
+DIST hydra-9.3.tar.gz 829856 BLAKE2B 5ae1ab77f64d2bc17bd8389acf8a47201d84455a82f5ae28ab740594571a13ab145f5981efdfb09ddab3d6cc443e171e4664bff08c1a6b2f08169dea4f87ba54 SHA512 06d2ed61492c76d16ff3b2fbbde3938f79d6038c979a2af949f9b4d116a1506943e0a3a246da4d1bc8848cf440097e6175962e3fdf3e7644dd36ad7c2f6b2ce4
EBUILD hydra-9.1-r1.ebuild 3564 BLAKE2B 181579f91649555a378c6ada4f88ecb177378c2c77c9bcc7f59410b93c7113aa9b93f0e9d3204bad420db9cbffe144bb74b0d62664f9c9a7db2bd1e3b8abc1dd SHA512 e8b588bdb0e290a082eb26749239fefc988aa003151dd7d8cfde04b8d4952a6667e3d133fd23bd1cb6a1e6bc5575272078e35f553e4b482228d415c51f303379
EBUILD hydra-9.2-r1.ebuild 3599 BLAKE2B 58ff03bfb0214373529ba1b6bbd9cc6b0f304f01b267d22e6d92a39a77553c49f8c6674528f0db6fc20fecbbcf32875154ec61bb164094568cf3f40dddd71460 SHA512 de54e80aad0c54891c0049503c2319ca9a6e81b35d8fdef6559e5eee14fa49bd28c538ff183a62fa275e4e50ac8247491ee6a77bfbcfb2f585ce23ec5c8005f9
+EBUILD hydra-9.3-r1.ebuild 3913 BLAKE2B 736e7175b81d282703fdbfe63f53aa9fa2b7dff62f40c17f804498fec139e40b787d8d5681dc5bde484946a94792408add0d724cda06461ea1f77c7a4f7ee460 SHA512 69cef15abea195f7fdefd518bfdc68647ed5022438dbb9ac05463ac945171ee802227e0ecbe22a40581bf894780311fcc748f18850923e1032e522fd6ed9e0fc
EBUILD hydra-9999999.ebuild 3526 BLAKE2B 4ffc7aae9d712ca4fb31332fca52734a932e4e14d8050b15374039801c410f2739fe1b8ddd406abc62548662b5c655822007b83bf25d7bfefd88e1e3cac589f0 SHA512 ef96a56c78a0941354c8aa2fa130c0041267f5bfb0b928a7624e3752535430a2a1116cc277ce35eb9a5633750d69298f9b9445390836001d501f9ac9f4addc16
MISC metadata.xml 584 BLAKE2B c408a4a825d860594a10c6ba9a562a5fb96344f2a02a5d7ff12622c986ebb2ba05eeff5a7a3c79c09a437c14fc7024df33196ccd7f6566325f2f7920afe2d545 SHA512 e548b8600a0b3d9a548b963c1b3dc6c917606942f165f7c0859ad7e877c21dbe677c964d54f9548e38452170c4a3b4872ec81436100ec7b55123628bf4383da8
diff --git a/net-analyzer/hydra/files/hydra-9.3-pcre2.patch b/net-analyzer/hydra/files/hydra-9.3-pcre2.patch
new file mode 100644
index 000000000000..bb12936254bb
--- /dev/null
+++ b/net-analyzer/hydra/files/hydra-9.3-pcre2.patch
@@ -0,0 +1,113 @@
+https://github.com/vanhauser-thc/thc-hydra/commit/c82e5d51c5595374e6b7801bfc84c26a497d8989.patch
+https://bugs.gentoo.org/838031
+
+From c82e5d51c5595374e6b7801bfc84c26a497d8989 Mon Sep 17 00:00:00 2001
+From: vanhauser-thc <vh@thc.org>
+Date: Tue, 1 Mar 2022 14:56:05 +0100
+Subject: [PATCH] switch to pcre2
+
+--- a/configure
++++ b/configure
+@@ -380,21 +380,21 @@ if [ "X" = "X$CURSES_PATH" -o "X" = "X$CURSES_IPATH" ]; then
+ CURSES_IPATH=""
+ fi
+
+-echo "Checking for pcre (libpcre/pcre.h) ..."
++echo "Checking for pcre2 (libpcre/pcre.h) ..."
+ for i in $LIBDIRS ; do
+ if [ "X" = "X$PCRE_PATH" ]; then
+- if [ -f "$i/libpcre.so" -o -f "$i/libpcre.dylib" -o -f "$i/libpcre.a" ]; then
++ if [ -f "$i/libpcre2-8.so" -o -f "$i/libpcre2-8.dylib" -o -f "$i/libpcre2-8.a" ]; then
+ PCRE_PATH="$i"
+ fi
+ fi
+ if [ "X" = "X$PCRE_PATH" ]; then
+- TMP_LIB=`/bin/ls $i/libpcre.so* 2> /dev/null | grep libpcre.`
++ TMP_LIB=`/bin/ls $i/libpcre2*.so* 2> /dev/null | grep libpcre.`
+ if [ -n "$TMP_LIB" ]; then
+ PCRE_PATH="$i"
+ fi
+ fi
+ if [ "X" = "X$PCRE_PATH" ]; then
+- TMP_LIB=`/bin/ls $i/libpcre.dll* 2> /dev/null | grep libpcre.`
++ TMP_LIB=`/bin/ls $i/libpcre2*.dll* 2> /dev/null | grep libpcre.`
+ if [ -n "$TMP_LIB" ]; then
+ PCRE_PATH="$i"
+ fi
+@@ -402,20 +402,20 @@ for i in $LIBDIRS ; do
+ done
+ for i in $INCDIRS ; do
+ if [ "X" != "X$PCRE_PATH" ]; then
+- if [ -f "$i/pcre.h" ]; then
++ if [ -f "$i/pcre2.h" ]; then
+ PCRE_IPATH="$i"
+ fi
+ fi
+ done
+ if [ "X" != "X$DEBUG" ]; then
+ echo DEBUG: PCRE_PATH=$PCRE_PATH/libpcre
+- echo DEBUG: PCRE_IPATH=$PCRE_IPATH/pcre.h
++ echo DEBUG: PCRE_IPATH=$PCRE_IPATH/pcre2.h
+ fi
+ if [ -n "$PCRE_PATH" -a -n "$PCRE_IPATH" ]; then
+- echo " ... found"
++ echo " ... found"
+ fi
+ if [ "X" = "X$PCRE_PATH" -o "X" = "X$PCRE_IPATH" ]; then
+- echo " ... NOT found, server response checks will be less reliable"
++ echo " ... NOT found, server response checks will be less reliable"
+ PCRE_PATH=""
+ PCRE_IPATH=""
+ fi
+@@ -1649,7 +1649,7 @@ if [ -n "$IDN_PATH" ]; then
+ XLIBS="$XLIBS -lidn"
+ fi
+ if [ -n "$PCRE_PATH" ]; then
+- XLIBS="$XLIBS -lpcre"
++ XLIBS="$XLIBS -lpcre2-8"
+ fi
+ if [ -n "$MYSQL_PATH" ]; then
+ XLIBS="$XLIBS -lmysqlclient"
+--- a/hydra-mod.c
++++ b/hydra-mod.c
+@@ -7,7 +7,8 @@
+ #include <openssl/ssl.h>
+ #endif
+ #ifdef HAVE_PCRE
+-#include <pcre.h>
++#define PCRE2_CODE_UNIT_WIDTH 8
++#include <pcre2.h>
+ #endif
+
+ #define MAX_CONNECT_RETRY 1
+@@ -1291,19 +1292,23 @@ void hydra_set_srcport(int32_t port) { src_port = port; }
+
+ #ifdef HAVE_PCRE
+ int32_t hydra_string_match(char *str, const char *regex) {
+- pcre *re = NULL;
+- int32_t offset_error = 0;
+- const char *error = NULL;
++ pcre2_code *re = NULL;
++ int32_t error_code = 0;
++ PCRE2_SIZE error_offset;
+ int32_t rc = 0;
+
+- re = pcre_compile(regex, PCRE_CASELESS | PCRE_DOTALL, &error, &offset_error, NULL);
++ re = pcre2_compile(regex, PCRE2_ZERO_TERMINATED, PCRE2_CASELESS | PCRE2_DOTALL, &error_code, &error_offset, NULL);
+ if (re == NULL) {
+- fprintf(stderr, "[ERROR] PCRE compilation failed at offset %d: %s\n", offset_error, error);
++ fprintf(stderr, "[ERROR] PCRE compilation failed at offset %d: %d\n", error_offset, error_code);
+ return 0;
+ }
+
+- rc = pcre_exec(re, NULL, str, strlen(str), 0, 0, NULL, 0);
+- if (rc >= 0) {
++ pcre2_match_data *match_data = pcre2_match_data_create_from_pattern(re, NULL);
++ rc = pcre2_match(re, str, PCRE2_ZERO_TERMINATED, 0, 0, match_data, NULL);
++ pcre2_match_data_free(match_data);
++ pcre2_code_free(re);
++
++ if (rc >= 1) {
+ return 1;
+ }
+ return 0;
diff --git a/net-analyzer/hydra/hydra-9.3-r1.ebuild b/net-analyzer/hydra/hydra-9.3-r1.ebuild
new file mode 100644
index 000000000000..5ce501996e27
--- /dev/null
+++ b/net-analyzer/hydra/hydra-9.3-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Parallelized network login hacker"
+HOMEPAGE="https://github.com/vanhauser-thc/thc-hydra"
+SRC_URI="https://github.com/vanhauser-thc/thc-hydra/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/thc-${P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug firebird gcrypt gtk idn memcached mongodb mysql ncurses oracle pcre postgres rdp libssh samba subversion zlib"
+
+RDEPEND="
+ dev-libs/openssl:=
+ gtk? (
+ dev-libs/atk
+ dev-libs/glib:2
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ )
+ firebird? ( dev-db/firebird )
+ gcrypt? ( dev-libs/libgcrypt )
+ idn? ( net-dns/libidn:0= )
+ memcached? ( dev-libs/libmemcached[sasl] )
+ mongodb? ( dev-libs/mongo-c-driver )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ ncurses? ( sys-libs/ncurses:= )
+ oracle? ( dev-db/oracle-instantclient[sdk] )
+ pcre? ( dev-libs/libpcre2 )
+ postgres? ( dev-db/postgresql:* )
+ rdp? ( net-misc/freerdp )
+ libssh? ( >=net-libs/libssh-0.4.0 )
+ samba? ( net-fs/samba )
+ subversion? ( dev-vcs/subversion )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pcre2.patch
+)
+
+src_prepare() {
+ default
+
+ # None of the settings in Makefile.unix are useful to us
+ mv Makefile.unix{,.gentoo_unused} || die
+ touch Makefile.unix || die
+
+ sed -i \
+ -e 's:|| echo.*$::' \
+ -e '/\t-$(CC)/s:-::' \
+ -e '/^OPTS/{s|=|+=|;s| -O3||}' \
+ -e '/ -o /s:$(OPTS):& $(LDFLAGS):g' \
+ Makefile.am || die
+
+ # Needed to get GTK+ 3 change in configure.in (.in got updated, but
+ # configure not regen'd.)
+ #cd hydra-gtk || die
+ #sed -i -e 's:AC_INIT(configure.in):AC_INIT(configure.ac):' configure.in || die
+ #eautoreconf
+}
+
+src_configure() {
+ # Note: the top level configure script is not autoconf-based
+ tc-export CC PKG_CONFIG
+
+ export OPTS="${CFLAGS}"
+
+ hydra_sed() {
+ if use ${1}; then
+ einfo "Enabling ${1}"
+ if [[ -n "${3}" ]]; then
+ sed -i 's#'"${2}"'#'"${3}"'#' configure || die
+ fi
+ else
+ einfo "Disabling ${1}"
+ sed -i 's#'"${2}"'##; s#'"${4}"'##' configure || die
+ fi
+ }
+
+ hydra_sed firebird '-lfbclient' '' '-DLIBFIREBIRD'
+ hydra_sed gcrypt '-lgcrypt' '$( ${CTARGET:-${CHOST}}-libgcrypt-config --libs )' '-DHAVE_GCRYPT'
+ hydra_sed idn '-lidn' '$( "${PKG_CONFIG}" --libs libidn )' '-DLIBIDN -DHAVE_PR29_H'
+ hydra_sed libssh '-lssh' '$( "${PKG_CONFIG}" --libs libssh )' '-DLIBSSH'
+ hydra_sed memcached '-lmemcached' '$( "${PKG_CONFIG}" --libs libmemcached )' '-DLIBMCACHED'
+ hydra_sed mongodb '-lmongoc-1.0' '$( "${PKG_CONFIG}" --libs libmongoc-1.0 )' '-DLIBMONGODB\|-DLIBBSON'
+ hydra_sed mysql '-lmysqlclient' '$( ${CTARGET:-${CHOST}}-mysql_config --libs )' '-DLIBMYSQLCLIENT'
+ hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}" --libs ncurses )' '-DLIBNCURSES'
+ hydra_sed pcre '-lpcre2-8' '$( "${PKG_CONFIG}" --libs libpcre2-8 )' '-DHAVE_PCRE'
+ hydra_sed postgres '-lpq' '$( "${PKG_CONFIG}" --libs libpq )' '-DLIBPOSTGRES'
+ hydra_sed oracle '-locci -lclntsh' '' '-DLIBORACLE'
+ hydra_sed rdp '-lfreerdp2' '$( "${PKG_CONFIG}" --libs freerdp2 )' '-DLIBFREERDP'
+ # TODO: https://bugs.gentoo.org/686148
+ #hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '$( "${PKG_CONFIG}" --libs libsvn_client )' '-DLIBSVN'
+ hydra_sed samba '-lsmbclient' '$( "${PKG_CONFIG}" --libs smbclient )' '-DLIBSMBCLIENT'
+ hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '' '-DLIBSVN'
+ hydra_sed zlib '-lz' '$( "${PKG_CONFIG}" --libs zlib )' '-DHAVE_ZLIB'
+
+ sh configure \
+ $(use gtk || echo --disable-xhydra) \
+ $(usex debug '--debug' '') \
+ --nostrip \
+ --prefix=/usr \
+ || die
+
+ if use gtk ; then
+ pushd hydra-gtk || die
+ econf
+ fi
+}
+
+src_compile() {
+ emake XLIBPATHS=''
+ use gtk && emake -C hydra-gtk
+}
+
+src_install() {
+ dobin hydra pw-inspector
+ use gtk && dobin hydra-gtk/src/xhydra
+ dodoc CHANGES README
+}