On 2020/11/13 00:12, Sebastian Reitenbach wrote: > Hi, > > trying Hydra to brute force SSH doesn't seem to work as it should. running > with -v , it can successfully detect password logins work, but later on fails > on each attempt, with 'Library not initialized.' error, so doesn't find valid > credentials. > > attached patch fixes it for me, however, don't really know why it's needed. > had to add ssh_init() before starting each new session. > Looking at the docs, I believe it should not be necessary: > https://api.libssh.org/stable/group__libssh.html#ga3ebf8d6920e563f3b032e3cd5277598e > > Also I might remember wrongly, but at some earlier point in time, SSH brute > force did work. > Applying same treatment to sshkey brute force, as from the code, seems to > probably have same issue, but not tested. > > Anyone with a better idea, or OK?
The same change was made to hydra-ssh.c upstream in 2018 ... https://github.com/vanhauser-thc/thc-hydra/commit/a2de33fd2bcd50fa876dcfd121740074fb1064d0 https://github.com/vanhauser-thc/thc-hydra/issues/366 https://github.com/vanhauser-thc/thc-hydra/pull/367 ... so it's probably better to first update the port. Can you give this a go instead? It updates, modernizes the port a bit, adds a couple of other protocols, removes a bogus patch-Makefile and sets PATCHORIG to avoid that happening again, and switches the configure patch from "disable the protocols we don't want" to "whitelist the protocols we do want" which simplifies the patch and makes it less likely to conflict with future updates. Index: Makefile =================================================================== RCS file: /cvs/ports/security/hydra/Makefile,v retrieving revision 1.61 diff -u -p -r1.61 Makefile --- Makefile 12 Jul 2019 20:49:03 -0000 1.61 +++ Makefile 13 Nov 2020 13:10:56 -0000 @@ -3,69 +3,69 @@ COMMENT-main= parallelized network logon cracker COMMENT-gui= GTK frontend for hydra -VERSION= 8.6 +VERSION= 9.1 PKGNAME-main= hydra-${VERSION} PKGNAME-gui= hydra-gui-${VERSION} -REVISION-main= 0 CATEGORIES= security GH_ACCOUNT = vanhauser-thc GH_PROJECT = thc-hydra -GH_TAGNAME = ${VERSION} - -HOMEPAGE= https://thc.org/thc-hydra/ +GH_TAGNAME = v${VERSION} # AGPLv3 (GNU Affero Public License) PERMIT_PACKAGE= Yes -WANTLIB= c z +WANTLIB = c z + +WANTLIB-main = ${WANTLIB} crypto curses freerdp2 gcrypt idn m mariadb +WANTLIB-main += memcached pcre pq ssh ssl winpr2 + +WANTLIB-gui = ${WANTLIB} +WANTLIB-gui += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama +WANTLIB-gui += Xrandr Xrender atk-1.0 cairo fontconfig freetype gdk-x11-2.0 +WANTLIB-gui += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gobject-2.0 gtk-x11-2.0 +WANTLIB-gui += intl pango-1.0 pangocairo-1.0 pangoft2-1.0 harfbuzz -PSEUDO_FLAVORS= no_x11 +PSEUDO_FLAVORS= no_gui FLAVOR?= -MULTI_PACKAGES= -main +MULTI_PACKAGES= -main -gui CONFIGURE_STYLE=gnu -USE_GMAKE= Yes +USE_GMAKE= Yes NO_TEST= Yes -MAKE_FLAGS= CC=${CC} +MAKE_FLAGS= CC="${CC}" +PATCHORIG= .orig.port -CONFIGURE_ARGS = --with-ssl=prefix="/usr/include" \ - --with-ssl-lib=prefix="/usr/lib" \ - --prefix=${LOCALBASE} - -.if ${FLAVOR:Mno_x11} -ALL_TARGET= hydra pw-inspector -.else -MULTI_PACKAGES+=-gui -ALL_TARGET= all -.endif +CONFIGURE_ARGS= --nostrip \ + --with-ssl=prefix="/usr/include" \ + --with-ssl-lib=prefix="/usr/lib" \ + --prefix=${LOCALBASE} LIB_DEPENDS-main= databases/mariadb,-main \ databases/postgresql,-main \ devel/libidn \ + devel/libmemcached \ devel/pcre \ security/libgcrypt \ - security/libssh -RUN_DEPENDS-main= - -WANTLIB-main= ${WANTLIB} m crypto curses gcrypt idn mysqlclient pcre pq ssh ssl + security/libssh \ + x11/freerdp LIB_DEPENDS-gui=x11/gtk+2 - RUN_DEPENDS-gui=${BASE_PKGPATH},-main +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.arch.mk> -WANTLIB-gui += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama -WANTLIB-gui += Xrandr Xrender atk-1.0 cairo fontconfig freetype gdk-x11-2.0 -WANTLIB-gui += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gobject-2.0 gtk-x11-2.0 -WANTLIB-gui += intl pango-1.0 pangocairo-1.0 pangoft2-1.0 ${WANTLIB} +.if !${BUILD_PACKAGES:M-gui} +ALL_TARGET= hydra pw-inspector +.endif post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/hydra - ${INSTALL_DATA} ${WRKSRC}/{README,LICENSE} ${PREFIX}/share/doc/hydra - ${INSTALL_DATA} ${WRKSRC}/{README,LICENSE} ${PREFIX}/share/doc/hydra + ${INSTALL_DATA} ${WRKSRC}/{README.md,LICENSE} ${PREFIX}/share/doc/hydra mv ${PREFIX}/etc/* ${PREFIX}/share/doc/hydra/ && rm -r ${PREFIX}/etc .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/security/hydra/distinfo,v retrieving revision 1.17 diff -u -p -r1.17 distinfo --- distinfo 20 Nov 2017 13:04:09 -0000 1.17 +++ distinfo 13 Nov 2020 13:10:56 -0000 @@ -1,2 +1,2 @@ -SHA256 (thc-hydra-8.6.tar.gz) = Bah+sBhQeySvypcAgfBn5kRBRgMZ+3XKHmTEofMiuAs= -SIZE (thc-hydra-8.6.tar.gz) = 1200238 +SHA256 (thc-hydra-9.1.tar.gz) = zgilFIwK5f9LCkry9/FcWUa8k5pX6uG7tt2hnzRBAnM= +SIZE (thc-hydra-9.1.tar.gz) = 611846 Index: patches/patch-Makefile =================================================================== RCS file: patches/patch-Makefile diff -N patches/patch-Makefile --- patches/patch-Makefile 28 Feb 2017 12:47:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,96 +0,0 @@ -$OpenBSD: patch-Makefile,v 1.1 2017/02/28 12:47:56 benoit Exp $ ---- Makefile.orig Fri Jan 27 17:19:18 2017 -+++ Makefile Fri Jan 27 18:39:51 2017 -@@ -1,5 +1,90 @@ --all: -- @echo Error: you must run "./configure" first -+CC=gcc -+STRIP=strip -+XDEFINES= -DHAVE_MYSQL_MYSQL_H -DLIBOPENSSL -DLIBNCURSES -DLIBIDN -DHAVE_PR29_H -DHAVE_PCRE -DLIBMYSQLCLIENT -DLIBPOSTGRES -DLIBSSH -DHAVE_ZLIB -DHAVE_MATH_H -+XLIBS= -lz -lcurses -lssl -lidn -lpcre -lmysqlclient -lpq -lssh -lcrypto -+XLIBPATHS=-L/usr/lib -L/usr/local/lib -L/lib -L/usr/lib -L/usr/local/lib -L/usr/lib -L/usr/local/lib -L/usr/lib -L/usr/local/lib -+XIPATHS= -I/usr/local/include/mysql -I/usr/include -I/usr/local/include -I/usr/local/include -I/usr/local/include/postgresql -I/usr/local/include -I/usr/local/include -+PREFIX=/usr/local -+XHYDRA_SUPPORT=xhydra -+STRIP=strip - -+HYDRA_LOGO= -+PWI_LOGO= -+SEC=-pie -fPIE -fstack-protector-all --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -+ -+# -+# Makefile for Hydra - (c) 2001-2017 by van Hauser / THC <v...@thc.org> -+# -+OPTS=-I. -O3 -+# -Wall -g -pedantic -+LIBS=-lm -+BINDIR = /bin -+MANDIR ?= /man/man1/ -+DATADIR ?= /etc -+DESTDIR ?= -+ -+SRC = hydra-vnc.c hydra-pcnfs.c hydra-rexec.c hydra-nntp.c hydra-socks5.c \ -+ hydra-telnet.c hydra-cisco.c hydra-http.c hydra-ftp.c hydra-imap.c \ -+ hydra-pop3.c hydra-smb.c hydra-icq.c hydra-cisco-enable.c hydra-ldap.c \ -+ hydra-mysql.c hydra-mssql.c hydra-xmpp.c hydra-http-proxy-urlenum.c \ -+ hydra-snmp.c hydra-cvs.c hydra-smtp.c hydra-smtp-enum.c hydra-sapr3.c hydra-ssh.c \ -+ hydra-sshkey.c hydra-teamspeak.c hydra-postgres.c hydra-rsh.c hydra-rlogin.c \ -+ hydra-oracle-listener.c hydra-svn.c hydra-pcanywhere.c hydra-sip.c \ -+ hydra-oracle.c hydra-vmauthd.c hydra-asterisk.c hydra-firebird.c hydra-afp.c hydra-ncp.c \ -+ hydra-oracle-sid.c hydra-http-proxy.c hydra-http-form.c hydra-irc.c \ -+ hydra-rdp.c hydra-s7-300.c hydra-redis.c hydra-adam6500.c \ -+ crc32.c d3des.c bfg.c ntlm.c sasl.c hmacmd5.c hydra-mod.c hydra-rtsp.c hydra-time.c hydra-rpcap.c -+OBJ = hydra-vnc.o hydra-pcnfs.o hydra-rexec.o hydra-nntp.o hydra-socks5.o \ -+ hydra-telnet.o hydra-cisco.o hydra-http.o hydra-ftp.o hydra-imap.o \ -+ hydra-pop3.o hydra-smb.o hydra-icq.o hydra-cisco-enable.o hydra-ldap.o \ -+ hydra-mysql.o hydra-mssql.o hydra-xmpp.o hydra-http-proxy-urlenum.o \ -+ hydra-snmp.o hydra-cvs.o hydra-smtp.o hydra-smtp-enum.o hydra-sapr3.o hydra-ssh.o \ -+ hydra-sshkey.o hydra-teamspeak.o hydra-postgres.o hydra-rsh.o hydra-rlogin.o \ -+ hydra-oracle-listener.o hydra-svn.o hydra-pcanywhere.o hydra-sip.o \ -+ hydra-oracle-sid.o hydra-oracle.o hydra-vmauthd.o hydra-asterisk.o hydra-firebird.o hydra-afp.o hydra-ncp.o \ -+ hydra-http-proxy.o hydra-http-form.o hydra-irc.o hydra-redis.o \ -+ hydra-rdp.o hydra-s7-300.c hydra-adam6500.o \ -+ crc32.o d3des.o bfg.o ntlm.o sasl.o hmacmd5.o hydra-mod.o hydra-rtsp.o hydra-time.o hydra-rpcap.o -+BINS = hydra pw-inspector -+ -+EXTRA_DIST = README README.arm README.palm CHANGES TODO INSTALL LICENSE \ -+ hydra-mod.h hydra.h crc32.h d3des.h -+ -+all: pw-inspector hydra $(XHYDRA_SUPPORT) -+ @echo -+ @echo Now type "make install" -+ -+hydra: hydra.c $(OBJ) -+ $(CC) $(OPTS) $(SEC) $(LIBS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o hydra $(HYDRA_LOGO) hydra.c $(OBJ) $(LIBS) $(XLIBS) $(XLIBPATHS) $(XIPATHS) $(XDEFINES) -+ @echo -+ @echo If men could get pregnant, abortion would be a sacrament -+ @echo -+ -+xhydra: -+ -cd hydra-gtk && sh ./make_xhydra.sh -+ -+pw-inspector: pw-inspector.c -+ -$(CC) $(OPTS) $(SEC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pw-inspector $(PWI_LOGO) pw-inspector.c -+ -+.c.o: -+ $(CC) $(OPTS) $(SEC) $(CFLAGS) $(CPPFLAGS) -c $< $(XDEFINES) $(XIPATHS) -+ -+strip: all -+ strip $(BINS) -+ -echo OK > /dev/null && test -x xhydra && strip xhydra || echo OK > /dev/null -+ -+install: strip -+ -mkdir -p $(DESTDIR)$(PREFIX)$(BINDIR) -+ cp -f hydra-wizard.sh $(BINS) $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 hydra-wizard.sh $(BINS) -+ -echo OK > /dev/null && test -x xhydra && cp xhydra $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 xhydra || echo OK > /dev/null -+ -sed -e "s|^INSTALLDIR=.*|INSTALLDIR="$(PREFIX)"|" dpl4hydra.sh | sed -e "s|^LOCATION=.*|LOCATION="$(DATADIR)"|" > $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh -+ -chmod 755 $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh -+ -mkdir -p $(DESTDIR)$(PREFIX)$(DATADIR) -+ -cp -f *.csv $(DESTDIR)$(PREFIX)$(DATADIR) -+ -mkdir -p $(DESTDIR)$(PREFIX)$(MANDIR) -+ -cp -f hydra.1 xhydra.1 pw-inspector.1 $(DESTDIR)$(PREFIX)$(MANDIR) -+ - clean: -+ rm -rf xhydra pw-inspector hydra *.o core *.core *.stackdump *~ Makefile.in Makefile dev_rfc hydra.restore arm/*.ipk arm/ipkg/usr/bin/* hydra-gtk/src/*.o hydra-gtk/src/xhydra hydra-gtk/stamp-h hydra-gtk/config.status hydra-gtk/errors hydra-gtk/config.log hydra-gtk/src/.deps hydra-gtk/src/Makefile hydra-gtk/Makefile - cp -f Makefile.orig Makefile -+ Index: patches/patch-Makefile_am =================================================================== RCS file: patches/patch-Makefile_am diff -N patches/patch-Makefile_am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Makefile_am 13 Nov 2020 13:10:56 -0000 @@ -0,0 +1,29 @@ +$OpenBSD$ + +Index: Makefile.am +--- Makefile.am.orig ++++ Makefile.am +@@ -4,7 +4,7 @@ + WARN_CLANG=-Wformat-nonliteral -Wstrncat-size -Wformat-security -Wsign-conversion -Wconversion -Wfloat-conversion -Wshorten-64-to-32 -Wuninitialized -Wmissing-variable-declarations -Wmissing-declarations + WARN_GCC=-Wformat=2 -Wformat-overflow=2 -Wformat-nonliteral -Wformat-truncation=2 -Wnull-dereference -Wstrict-overflow=2 -Wstringop-overflow=4 -Walloca-larger-than=4096 -Wtype-limits -Wconversion -Wtrampolines -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -fno-common -Wcast-align + CFLAGS ?= -g +-OPTS=-I. -O3 $(CFLAGS) -fcommon ++OPTS=-I. $(CFLAGS) -fcommon + # -Wall -g -pedantic + LIBS=-lm + DESTDIR ?= +@@ -68,10 +68,11 @@ strip: all + strip $(BINS) + -echo OK > /dev/null && test -x xhydra && strip xhydra || echo OK > /dev/null + +-install: strip ++install: + -mkdir -p $(DESTDIR)$(PREFIX)$(BINDIR) +- cp -f hydra-wizard.sh $(BINS) $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 hydra-wizard.sh $(BINS) +- -echo OK > /dev/null && test -x xhydra && cp xhydra $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 xhydra || echo OK > /dev/null ++ cp -f hydra-wizard.sh $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 hydra-wizard.sh ++ ${BSD_INSTALL_PROGRAM} $(BINS) $(DESTDIR)$(PREFIX)$(BINDIR) ++ -echo OK > /dev/null && test -x xhydra && ${BSD_INSTALL_PROGRAM} xhydra $(DESTDIR)$(PREFIX)$(BINDIR) || echo OK > /dev/null + -sed -e "s|^INSTALLDIR=.*|INSTALLDIR="$(PREFIX)"|" dpl4hydra.sh | sed -e "s|^LOCATION=.*|LOCATION="$(DATADIR)"|" > $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh + -chmod 755 $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh + -mkdir -p $(DESTDIR)$(PREFIX)$(DATADIR) Index: patches/patch-configure =================================================================== RCS file: /cvs/ports/security/hydra/patches/patch-configure,v retrieving revision 1.10 diff -u -p -r1.10 patch-configure --- patches/patch-configure 20 Nov 2017 13:04:09 -0000 1.10 +++ patches/patch-configure 13 Nov 2020 13:10:56 -0000 @@ -1,282 +1,223 @@ -$OpenBSD: patch-configure,v 1.10 2017/11/20 13:04:09 jasper Exp $ +$OpenBSD$ + Index: configure --- configure.orig +++ configure -@@ -443,106 +443,6 @@ fi - fi - #fi +@@ -170,6 +170,13 @@ fi + STRIP="strip" + echo + ++if [ "$SYSS" = "OpenBSD" ]; then ++LIBDIRS="/usr/lib /usr/X11R6/lib" ++INCDIRS="/usr/include" ++LIBDIRS_ALL="/usr/lib /usr/X11R6/lib /usr/local/lib" ++INCDIRS_ALL="/usr/include /usr/local/include" ++fi ++ + echo "Checking for zlib (libz/zlib.h) ..." + for i in $INCDIRS; do + if [ -f "$i/zlib.h" ]; then +@@ -267,13 +274,13 @@ if [ "$SSL_IPATH" = "/usr/include" ]; then + fi --echo "Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ..." + echo "Checking for gcrypt (libgcrypt/gpg-error.h) ..." -for i in $LIBDIRS ; do -- if [ "X" = "X$SVN_PATH" ]; then -- if [ -f "$i/libsvn_client-1.so" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- if [ -f "$i/libapr-1.so" -a -f "$i/libaprutil-1.so" ]; then -- APR_PATH="$i" -- fi -- fi -- if [ "X" = "X$SVN_PATH" ]; then -- if [ -f "$i/libsvn_client-1.dll.a" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- if [ -f "$i/libapr-1.dll.a" -a -f "$i/libaprutil-1.dll.a" ]; then -- APR_PATH="$i" -- fi -- fi -- if [ "X" = "X$SVN_PATH" ]; then -- if [ -f "$i/libsvn_client-1.dylib" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- if [ -f "$i/libapr-1.dylib" -a -f "$i/libaprutil-1.dylib" ]; then -- APR_PATH="$i" -- fi -- fi -- if [ "X" = "X$SVN_PATH" ]; then -- if [ -f "$i/libsvn_client-1.a" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- if [ -f "$i/libapr-1.a" -a -f "$i/libaprutil-1.a" ]; then -- APR_PATH="$i" -- fi -- fi -- if [ "X" = "X$SVN_PATH" ]; then -- if [ -f "$i/libsvn_client-1.0.dylib" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- if [ -f "$i/libapr-1.0.dylib" -a -f "$i/libaprutil-1.0.dylib" ]; then -- APR_PATH="$i" -- fi -- fi -- if [ "X" = "X$SVN_PATH" ]; then -- TMP_LIB1=`/bin/ls $i/libsvn_client*.so* 2> /dev/null | grep libsvn_client.` -- if [ -n "$TMP_LIB1" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- TMP_LIB2=`/bin/ls $i/libapr-1*.so* 2> /dev/null | grep libsvn_client.` -- TMP_LIB3=`/bin/ls $i/libaprutil-1*.so* 2> /dev/null | grep libsvn_client.` -- if [ -n "$TMP_LIB2" -a -n "$TMP_LIB3" ]; then -- APR_PATH="$i" -- fi -- fi -- if [ "X" = "X$SVN_PATH" ]; then -- TMP_LIB1=`/bin/ls $i/libsvn_client*.dll* 2> /dev/null | grep libsvn_client.` -- if [ -n "$TMP_LIB1" ]; then -- SVN_PATH="$i" -- fi -- fi -- if [ "X" = "X$APR_PATH" ]; then -- TMP_LIB2=`/bin/ls $i/libapr-1*.dll* 2> /dev/null | grep libsvn_client.` -- TMP_LIB3=`/bin/ls $i/libaprutil-1*.dll* 2> /dev/null | grep libsvn_client.` -- if [ -n "$TMP_LIB2" -a -n "$TMP_LIB3" ]; then -- APR_PATH="$i" -- fi -- fi --done ++for i in $LIBDIRS_ALL ; do + if [ -f "$i/libgcrypt.so" -o -f "$i/libgcrypt.dylib" -o -f "$i/libgcrypt.a" -o -f "$i/libgcrypt.dll.a" -o -f "$i/libgcrypt.la" ]; then + HAVE_GCRYPT="y" + fi + done + -for i in $INCDIRS ; do -- if [ "X" = "X$SVN_IPATH" ]; then -- if [ -d "$i/subversion-1" ]; then -- SVN_IPATH="$i/subversion-1" -- fi -- if [ -d "$i/svn" ]; then -- SVN_IPATH="$i/svn" -- fi -- fi -- if [ "X" = "X$APR_IPATH" ]; then -- if [ -d "$i/apr-1.0" ]; then -- APR_IPATH="$i/apr-1.0" -- fi -- if [ -d "$i/apr-1" ]; then -- APR_IPATH="$i/apr-1" -- fi -- if [ -d "$i/apr" ]; then -- APR_IPATH="$i/apr" -- fi -- fi --done - if [ "X" != "X$DEBUG" ]; then - echo DEBUG: SVN_PATH=$SVN_PATH/libsvn_client-1 - echo DEBUG: APR_PATH=$APR_PATH/libapr -@@ -569,26 +469,6 @@ if [ "X" = "X$SVN_PATH" -o "X" = "X$APR_PATH" ]; then - echo " ... NOT found, module svn disabled" ++for i in $INCDIRS_ALL ; do + if [ "X" = "X$GPGERROR_IPATH" ]; then + TMP_PATH=`/bin/ls $i/$SYSM*/gpg-error.h 2> /dev/null` + if [ -n "$TMP_PATH" ]; then +@@ -294,7 +301,7 @@ else fi --echo "Checking for firebird (libfbclient.so) ..." --for i in $LIBDIRS ; do -- if [ "X" = "X$FIREBIRD_PATH" ]; then -- if [ -f "$i/libfbclient.so" -o -f "$i/libfbclient.dylib" -o -f "$i/libfbclient.a" ]; then -- FIREBIRD_PATH="$i" -- fi -- fi -- if [ "X" = "X$FIREBIRD_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libfbclient.so.* 2> /dev/null | grep libfbclient.` -- if [ -n "$TMP_LIB" ]; then -- FIREBIRD_PATH="$i" -- fi -- fi -- if [ "X" = "X$FIREBIRD_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libfbclient.dll* 2> /dev/null | grep libfbclient.` -- if [ -n "$TMP_LIB" ]; then -- FIREBIRD_PATH="$i" -- fi -- fi --done - for i in $INCDIRS ; do - if [ "X" != "X$FIREBIRD_PATH" ]; then - if [ -f "$i/ibase.h" ]; then -@@ -658,26 +538,6 @@ if [ -f "/usr/include/math.h" ]; then - else - echo " ... math.h not found, module Mysql disabled" - fi --echo "Checking for AFP (libafpclient.so) ..." + echo "Checking for idn (libidn) ..." -for i in $LIBDIRS ; do -- if [ "X" = "X$AFP_PATH" ]; then -- if [ -f "$i/libafpclient.so" -o -f "$i/libafpclient.so" -o -f "$i/libafpclient.a" ]; then -- AFP_PATH="$i" -- fi -- fi -- if [ "X" = "X$AFP_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libafpclient.so.* 2> /dev/null | grep libafpclient.` -- if [ -n "$TMP_LIB" ]; then -- AFP_PATH="$i" -- fi -- fi -- if [ "X" = "X$AFP_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libafpclient.dll* 2> /dev/null | grep libafpclient.` -- if [ -n "$TMP_LIB" ]; then -- AFP_PATH="$i" -- fi -- fi --done - for i in $INCDIRS ; do - if [ "X" != "X$AFP_PATH" ]; then - if [ -f "$i/afpfs-ng/afp.h" ]; then -@@ -698,26 +558,6 @@ if [ "X" = "X$AFP_PATH" -o "X" = "X$AFP_IPATH" ]; then - AFP_IPATH="" ++for i in $LIBDIRS_ALL ; do + if [ "X" = "X$IDN_PATH" ]; then + if [ -f "$i/libidn.so" -o -f "$i/libidn.dylib" -o -f "$i/libidn.a" -o -f "$i/libidn.dll.a" -o -f "$i/libidn.la" ]; then + IDN_PATH="$i" +@@ -307,7 +314,7 @@ for i in $LIBDIRS ; do + fi + fi + done +-for i in $INCDIRS ; do ++for i in $INCDIRS_ALL ; do + if [ "X" != "X$IDN_PATH" ]; then + if [ -f "$i/stringprep.h" ]; then + IDN_IPATH="$i" +@@ -379,7 +386,7 @@ if [ "X" = "X$CURSES_PATH" -o "X" = "X$CURSES_IPATH" ] fi --echo "Checking for NCP (libncp.so / nwcalls.h) ..." + echo "Checking for pcre (libpcre/pcre.h) ..." -for i in $LIBDIRS ; do -- if [ "X" = "X$NCP_PATH" ]; then -- if [ -f "$i/libncp.so" -o -f "$i/libncp.dylib" -o -f "$i/libncp.a" ]; then -- NCP_PATH="$i" -- fi -- fi -- if [ "X" = "X$NCP_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libncp.so.* 2> /dev/null | grep ncp.` -- if [ -n "$TMP_LIB" ]; then -- NCP_PATH="$i" -- fi -- fi -- if [ "X" = "X$NCP_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libncp.dll* 2> /dev/null | grep ncp.` -- if [ -n "$TMP_LIB" ]; then -- NCP_PATH="$i" -- fi -- fi --done - for i in $INCDIRS ; do - if [ "X" != "X$NCP_PATH" ]; then - if [ -f "$i/ncp/nwcalls.h" ]; then -@@ -738,27 +578,6 @@ if [ "X" = "X$NCP_PATH" -o "X" = "X$NCP_IPATH" ]; then - NCP_IPATH="" - fi - --echo "Checking for SAP/R3 (librfc/saprfc.h) ..." --for i in $LIBDIRS ; do -- if [ "X" = "X$SAPR3_PATH" ]; then -- if [ -f "$i/librfc.a" -o -f "$i/librfc.dylib" -o "$i/librfc32.dll" ]; then -- SAPR3_PATH="$i" -- fi -- fi -- if [ "X" = "X$SAPR3_PATH" ]; then -- TMP_LIB=`/bin/ls $i/librfc.* $i/librfc32.* 2> /dev/null | grep librfc` -- if [ -n "$TMP_LIB" ]; then -- SAPR3_PATH="$i" -- fi -- fi --done ++for i in $LIBDIRS_ALL ; do + if [ "X" = "X$PCRE_PATH" ]; then + if [ -f "$i/libpcre.so" -o -f "$i/libpcre.dylib" -o -f "$i/libpcre.a" ]; then + PCRE_PATH="$i" +@@ -398,7 +405,7 @@ for i in $LIBDIRS ; do + fi + fi + done -for i in $INCDIRS ; do -- if [ "X" = "X$SAPR3_IPATH" ]; then -- if [ -f "$i/saprfc.h" ]; then -- SAPR3_IPATH="$i" -- fi -- fi --done - if [ "X" != "X$DEBUG" ]; then - echo DEBUG: SAPR3_PATH=$SAPR3_PATH/librfc - echo DEBUG: SAPR3_IPATH=$SAPR3_IPATH/saprfc.h -@@ -842,47 +661,6 @@ if [ "X" != "X$DEBUG" ]; then - echo DEBUG: ORACLE_INC=$INCDIRS ++for i in $INCDIRS_ALL ; do + if [ "X" != "X$PCRE_PATH" ]; then + if [ -f "$i/pcre.h" ]; then + PCRE_IPATH="$i" +@@ -424,7 +431,7 @@ echo "Checking for Postgres (libpq/libpq-fe.h) ..." + # POSTGRES_PATH="" + # POSTGRES_IPATH="" + #else +- for i in $LIBDIRS ; do ++ for i in $LIBDIRS_ALL ; do + if [ "X" = "X$POSTGRES_PATH" ]; then + if [ -f "$i/libpq.so" -o -f "$i/libpq.dylib" -o -f "$i/libpq.a" ]; then + POSTGRES_PATH="$i" +@@ -444,7 +451,7 @@ echo "Checking for Postgres (libpq/libpq-fe.h) ..." + fi + done + POSTGRES_IPATH= +- for i in $INCDIRS \ ++ for i in $INCDIRS_ALL \ + /opt/p*sql*/include /usr/*p*sql*/include /usr/local/*psql*/include + do + if [ "X" = "X$POSTGRES_IPATH" ]; then +@@ -648,7 +655,7 @@ if [ "X" = "X$FIREBIRD_PATH" -o "X" = "X$FIREBIRD_IPAT fi + echo "Checking for MYSQL client (libmysqlclient/math.h) ..." -for i in $LIBDIRS ; do -- if [ "X" = "X$ORACLE_PATH" ]; then -- if [ -f "$i/libocci.so" -a -f "$i/libclntsh.so" ]; then -- ORACLE_PATH="$i" -- fi -- fi -- if [ "X" = "X$ORACLE_PATH" ]; then -- if [ -f "$i/libocci.dylib" -a -f "$i/libclntsh.dylib" ]; then -- ORACLE_PATH="$i" -- fi -- fi -- if [ "X" = "X$ORACLE_PATH" ]; then -- if [ -f "$i/libocci.a" -a -f "$i/libclntsh.a" ]; then -- ORACLE_PATH="$i" -- fi -- fi -- if [ "X" = "X$ORACLE_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libocci.so.* 2> /dev/null | grep occi.` -- if [ -n "$TMP_LIB" ]; then -- ORACLE_PATH="$i" -- fi -- if [ "X" != "X$ORACLE_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libclntsh.so.* 2> /dev/null | grep clntsh.` -- if [ -z "$TMP_LIB" ]; then -- ORACLE_PATH="" -- fi -- fi -- fi -- if [ "X" = "X$ORACLE_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libocci.dll* 2> /dev/null | grep occi.` -- if [ -n "$TMP_LIB" ]; then -- ORACLE_PATH="$i" -- fi -- if [ "X" != "X$ORACLE_PATH" ]; then -- TMP_LIB=`/bin/ls $i/libclntsh.dll* 2> /dev/null | grep clntsh.` -- if [ -z "$TMP_LIB" ]; then -- ORACLE_PATH="" -- fi -- fi -- fi --done - if [ "X" != "X$DEBUG" ]; then - echo DEBUG: ORACLE_PATH=$ORACLE_PATH/libocci - fi -@@ -914,13 +692,6 @@ if [ "X" != "X$DEBUG" ]; then - echo DEBUG: ORACLE_PATH=$ORACLE_PATH/libaio ++for i in $LIBDIRS_ALL ; do + if [ "X" = "X$MYSQL_PATH" ]; then + if [ -f "$i/libmysqlclient.so" -o -f "$i/libmysqlclient.dylib" -o -f "$i/libmysqlclient.a" ]; then + MYSQL_PATH="$i" +@@ -668,7 +675,7 @@ for i in $LIBDIRS ; do + fi + done + MYSQLINSUBDIR="" +-for i in $INCDIRS ; do ++for i in $INCDIRS_ALL ; do + if [ "X" != "X$MYSQL_PATH" ]; then + if [ -f "$i/mysql/mysql.h" ]; then + MYSQL_IPATH="$i/mysql" +@@ -819,7 +826,7 @@ if [ "$SAPR3_IPATH" = "/usr/include" ]; then fi + echo "Checking for libssh (libssh/libssh.h) ..." +-for i in $LIBDIRS ; do ++for i in $LIBDIRS_ALL ; do + if [ "X" = "X$SSH_PATH" ]; then + if [ -f "$i/libssh.so" -o -f "$i/libssh.dylib" -o -f "$i/libssh.a" ]; then + SSH_PATH="$i" +@@ -838,7 +845,7 @@ for i in $LIBDIRS ; do + fi + fi + done -for i in $INCDIRS ; do -- if [ "X" != "X$ORACLE_PATH" ]; then -- if [ -f "$i/oci.h" ]; then -- ORACLE_IPATH="$i" -- fi -- fi --done - if [ "X" != "X$DEBUG" ]; then - echo DEBUG: ORACLE_IPATH=$ORACLE_IPATH/oci.h - fi ++for i in $INCDIRS_ALL ; do + if [ "X" = "X$SSH_IPATH" ]; then + if [ -f "$i/libssh/libssh.h" ]; then + SSH_IPATH="$i" +@@ -971,7 +978,7 @@ fi + + echo "Checking for Memcached (libmemcached/memcached.h) ..." + +- for i in $LIBDIRS ; do ++ for i in $LIBDIRS_ALL ; do + if [ "X" = "X$MCACHED_PATH" ]; then + if [ -f "$i/libmemcached.so" -o -f "$i/libmemcached.dylib" -o -f "$i/libmemcached.a" ]; then + MCACHED_PATH="$i" +@@ -992,7 +999,7 @@ echo "Checking for Memcached (libmemcached/memcached.h + done + + MCACHED_IPATH= +- for i in $INCDIRS ; do ++ for i in $INCDIRS_ALL ; do + if [ "X" = "X$MCACHED_IPATH" ]; then + if [ -f "$i/memcached.h" ]; then + MCACHED_IPATH="$i" +@@ -1021,7 +1028,7 @@ fi + + echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/libwinpr3/winpr.h) ..." + +- for i in $LIBDIRS ; do ++ for i in $LIBDIRS_ALL ; do + if [ "X" = "X$FREERDP3_PATH" ]; then + if [ -f "$i/libfreerdp3.so" -o -f "$i/libfreerdp3.dylib" -o -f "$i/libfreerdp3.a" -o -f "$i/libfreerdp3.dll.a" ]; then + FREERDP3_PATH="$i" +@@ -1036,7 +1043,7 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + done + + FREERDP3_IPATH= +- for i in $INCDIRS ; do ++ for i in $INCDIRS_ALL ; do + if [ "X" = "X$FREERDP3_IPATH" ]; then + if [ -f "$i/freerdp/freerdp.h" ]; then + FREERDP3_IPATH="$i/freerdp3" +@@ -1047,7 +1054,7 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + fi + done + +- for i in $LIBDIRS ; do ++ for i in $LIBDIRS_ALL ; do + if [ "X" = "X$WINPR3_PATH" ]; then + if [ -f "$i/libwinpr3.so" -o -f "$i/libwinpr3.dylib" -o -f "$i/libwinpr3.a" ]; then + WINPR3_PATH="$i" +@@ -1062,7 +1069,7 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + done + + WINPR3_IPATH= +- for i in $INCDIRS ; do ++ for i in $INCDIRS_ALL ; do + if [ "X" = "X$WINPR3_IPATH" ]; then + if [ -f "$i/winpr.h" ]; then + WINPR3_IPATH="$i" +@@ -1094,7 +1101,7 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + if [ "X" = "X$FREERDP3_PATH" -o "X" = "X$FREERDP3_IPATH" -o "X" = "X$WINPR3_PATH" -o "X" = "X$WINPR3_IPATH" ]; then + echo "Checking for Freerdp2 (libfreerdp2/freerdp.h/libwinpr2/winpr.h) ..." + +- for i in $LIBDIRS ; do ++ for i in $LIBDIRS_ALL ; do + if [ "X" = "X$FREERDP2_PATH" ]; then + if [ -f "$i/libfreerdp2.so" -o -f "$i/libfreerdp2.dylib" -o -f "$i/libfreerdp2.a" -o -f "$i/libfreerdp2.dll.a" ]; then + FREERDP2_PATH="$i" +@@ -1109,7 +1116,7 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + done + + FREERDP2_IPATH= +- for i in $INCDIRS ; do ++ for i in $INCDIRS_ALL ; do + if [ "X" = "X$FREERDP2_IPATH" ]; then + if [ -f "$i/freerdp/freerdp.h" ]; then + FREERDP2_IPATH="$i/freerdp2" +@@ -1120,14 +1127,14 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + fi + done + +- for i in $LIBDIRS ; do ++ for i in $LIBDIRS_ALL ; do + if [ "X" = "X$WINPR2_PATH" ]; then + if [ -f "$i/libwinpr2.so" -o -f "$i/libwinpr2.dylib" -o -f "$i/libwinpr2.a" ]; then + WINPR2_PATH="$i" + fi + fi + if [ "X" = "X$WINPR2_PATH" ]; then +- TMP_LIB=`/bin/ls $i/libwinpr2.dll.a 2> /dev/null | grep winpr` ++ TMP_LIB=`/bin/ls $i/libwinpr2.so.* $i/libwinpr2.dll.a 2> /dev/null | grep winpr` + if [ -n "$TMP_LIB" ]; then + WINPR2_PATH="$i" + fi +@@ -1135,7 +1142,7 @@ echo "Checking for Freerdp3 (libfreerdp3/freerdp.h/lib + done + + WINPR2_IPATH= +- for i in $INCDIRS ; do ++ for i in $INCDIRS_ALL ; do + if [ "X" = "X$WINPR2_IPATH" ]; then + if [ -f "$i/winpr.h" ]; then + WINPR2_IPATH="$i" Index: patches/patch-hydra-gtk_make_xhydra_sh =================================================================== RCS file: /cvs/ports/security/hydra/patches/patch-hydra-gtk_make_xhydra_sh,v retrieving revision 1.2 diff -u -p -r1.2 patch-hydra-gtk_make_xhydra_sh --- patches/patch-hydra-gtk_make_xhydra_sh 28 Jun 2017 13:16:49 -0000 1.2 +++ patches/patch-hydra-gtk_make_xhydra_sh 13 Nov 2020 13:10:56 -0000 @@ -1,10 +1,12 @@ -$OpenBSD: patch-hydra-gtk_make_xhydra_sh,v 1.2 2017/06/28 13:16:49 ajacoutot Exp $ ---- hydra-gtk/make_xhydra.sh.orig Thu Aug 11 09:48:55 2016 -+++ hydra-gtk/make_xhydra.sh Sat Oct 8 19:43:11 2016 +$OpenBSD$ + +Index: hydra-gtk/make_xhydra.sh +--- hydra-gtk/make_xhydra.sh.orig ++++ hydra-gtk/make_xhydra.sh @@ -2,13 +2,13 @@ PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnome/lib/pkgconfig export PKG_CONFIG_PATH - echo "Trying to compile xhydra now (hydra gtk gui) - dont worry if this fails, this is really optional ..." + echo "Trying to compile xhydra now (hydra gtk gui) - don't worry if this fails, this is really optional ..." -./configure > /dev/null 2> errors +./configure test -e Makefile || { Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/security/hydra/pkg/PLIST-main,v retrieving revision 1.4 diff -u -p -r1.4 PLIST-main --- pkg/PLIST-main 28 Feb 2017 12:47:56 -0000 1.4 +++ pkg/PLIST-main 13 Nov 2020 13:10:56 -0000 @@ -8,6 +8,6 @@ bin/hydra-wizard.sh @man man/man1/pw-inspector.1 share/doc/hydra/ share/doc/hydra/LICENSE -share/doc/hydra/README +share/doc/hydra/README.md share/doc/hydra/dpl4hydra_full.csv share/doc/hydra/dpl4hydra_local.csv