summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2010-08-22 21:57:58 +0000
committerJeroen Roovers <jer@gentoo.org>2010-08-22 21:57:58 +0000
commit2e905fda215681fafab01379dd06e56848ed02ec (patch)
treeb706ea89183838b75342fd5be8cdffaf589f6d45 /net-analyzer
parentRemove profile.bashrc since it only did CFLAGS checks which shouldn't have ex... (diff)
downloadgentoo-2-2e905fda215681fafab01379dd06e56848ed02ec.tar.gz
gentoo-2-2e905fda215681fafab01379dd06e56848ed02ec.tar.bz2
gentoo-2-2e905fda215681fafab01379dd06e56848ed02ec.zip
Version bump. Fix several QA issues based on a patch by Kevin Pyle (bug #333803).
(Portage version: 2.2_rc67/cvs/Linux i686)
Diffstat (limited to 'net-analyzer')
-rw-r--r--net-analyzer/hydra/ChangeLog9
-rw-r--r--net-analyzer/hydra/files/hydra-5.4-libssh-0.2.patch213
-rw-r--r--net-analyzer/hydra/hydra-5.4-r2.ebuild69
-rw-r--r--net-analyzer/hydra/hydra-5.7.ebuild81
4 files changed, 89 insertions, 283 deletions
diff --git a/net-analyzer/hydra/ChangeLog b/net-analyzer/hydra/ChangeLog
index 1bc811644ccf..c8866cf63573 100644
--- a/net-analyzer/hydra/ChangeLog
+++ b/net-analyzer/hydra/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-analyzer/hydra
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/hydra/ChangeLog,v 1.37 2010/05/21 15:53:49 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/hydra/ChangeLog,v 1.38 2010/08/22 21:57:58 jer Exp $
+
+*hydra-5.7 (22 Aug 2010)
+
+ 22 Aug 2010; Jeroen Roovers <jer@gentoo.org> -hydra-5.4-r2.ebuild,
+ -files/hydra-5.4-libssh-0.2.patch, +hydra-5.7.ebuild:
+ Version bump. Fix several QA issues based on a patch by Kevin Pyle (bug
+ #333803).
21 May 2010; Peter Volkov <pva@gentoo.org> hydra-5.4-r3.ebuild:
amd64 stable, bug 310017
diff --git a/net-analyzer/hydra/files/hydra-5.4-libssh-0.2.patch b/net-analyzer/hydra/files/hydra-5.4-libssh-0.2.patch
deleted file mode 100644
index b15f6ec1354c..000000000000
--- a/net-analyzer/hydra/files/hydra-5.4-libssh-0.2.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-Les sous-répertoires hydra-5.4-src/arm et hydra-5.4-src-libssh0.2/arm sont identiques.
-diff -u hydra-5.4-src/configure hydra-5.4-src-libssh0.2/configure
---- hydra-5.4-src/configure 2006-01-20 14:44:15.000000000 +0100
-+++ hydra-5.4-src-libssh0.2/configure 2008-10-31 22:32:47.000000000 +0100
-@@ -243,11 +243,11 @@
-
- if [ -n "$SSH_PATH" ]; then
- echo " ... found"
-- echo 'NOTE: ensure that you have libssh v0.11 installed!! Get it from http://0xbadc0de.be !'
-+ echo 'NOTE: ensure that you have libssh v0.2 or later installed!! Get it from http://0xbadc0de.be !'
- fi
- if [ "X" = "X$SSH_PATH" ]; then
- echo " ... NOT found, module ssh2 disabled"
-- echo 'Get it from http://0xbadc0de.be/ - use v0.11!'
-+ echo 'Get it from http://0xbadc0de.be/ - use v0.2 or later'
- fi
- if [ "$SSH_IPATH" = "/usr/include" ]; then
- SSH_IPATH=""
-Seulement dans hydra-5.4-src-libssh0.2/: .hydra-ftp.c.swp
-Les sous-répertoires hydra-5.4-src/hydra-gtk et hydra-5.4-src-libssh0.2/hydra-gtk sont identiques.
-Seulement dans hydra-5.4-src-libssh0.2/: .hydra-mod.c.swp
-diff -u hydra-5.4-src/hydra-ssh2.c hydra-5.4-src-libssh0.2/hydra-ssh2.c
---- hydra-5.4-src/hydra-ssh2.c 2007-03-22 15:04:29.000000000 +0100
-+++ hydra-5.4-src-libssh0.2/hydra-ssh2.c 2008-11-01 21:21:08.000000000 +0100
-@@ -7,12 +7,51 @@
- }
- #else
-
--#warning "If compilation of hydra-ssh2 fails, you are not using v0.11. Download from http://www.0xbadc0de.be/"
-+#warning "If compilation of hydra-ssh2 fails, you are not using v0.2 or 0.2.1. Download from http://www.0xbadc0de.be/"
-
- #include <libssh/libssh.h>
-
- extern char *HYDRA_EXIT;
-
-+/* try to authenticate with one password */
-+static int
-+try_password(SSH_SESSION *ssh_session, char *password){
-+ int auth_state;
-+ int i;
-+ /* printf("ssh-trying pass \"%s\"\n",password); */
-+ /* We try keyboard-interactive when it's supported. kbdint is
-+ * what openssh tries first when logging somewhere.
-+ */
-+ auth_state = ssh_userauth_kbdint(ssh_session, NULL, NULL);
-+ if(auth_state == SSH_AUTH_INFO){
-+ i=0;
-+ /* we feed 10 password responses at max. Keybint is challenge-response
-+ * based so the server could ask unrelated questions
-+ */
-+ while(auth_state == SSH_AUTH_INFO && i<10){
-+ ssh_userauth_kbdint_setanswer(ssh_session, i, password);
-+ auth_state = ssh_userauth_kbdint(ssh_session, NULL, NULL);
-+ i++;
-+ }
-+ /* Partial authentication is specific to SSH : the password is valid but
-+ * an other authentication token is needed (generaly private key)
-+ */
-+ if(auth_state == SSH_AUTH_PARTIAL)
-+ auth_state = SSH_AUTH_SUCCESS;
-+ if(auth_state == SSH_AUTH_INFO)
-+ auth_state = SSH_AUTH_ERROR;
-+ return auth_state;
-+ }
-+ if(auth_state == SSH_AUTH_ERROR)
-+ return auth_state;
-+ /* Keyboard-interactive is not supported so we run through the password
-+ * method */
-+ auth_state = ssh_userauth_password(ssh_session, NULL, password);
-+ if(auth_state == SSH_AUTH_PARTIAL)
-+ auth_state = SSH_AUTH_SUCCESS;
-+ return auth_state;
-+}
-+
- int
- start_ssh2(int s, unsigned long int ip, int port, unsigned char options, char *miscptr, FILE * fp)
- {
-@@ -20,18 +59,19 @@
- char *login, *pass;
- char *buf;
- char *rc;
-+ char buffer[64];
- struct sockaddr_in targetip;
- SSH_SESSION *ssh_session;
- SSH_OPTIONS *ssh_opt;
- int auth_state;
-- int i = 0;
-+ char firstlogin[128];
-
- if (strlen(login = hydra_get_next_login()) == 0)
- login = empty;
- if (strlen(pass = hydra_get_next_password()) == 0)
- pass = empty;
--
-- ssh_opt=options_new();
-+ snprintf(firstlogin,sizeof(firstlogin),"%s",login);
-+ ssh_opt=ssh_options_new();
- memset(&targetip, 0, sizeof(targetip));
- memcpy(&targetip.sin_addr.s_addr, &ip, 4);
- targetip.sin_family = AF_INET;
-@@ -41,16 +81,21 @@
- buf = malloc(20);
- inet_ntop(AF_INET, &targetip.sin_addr, buf, 20);
- #endif
-- options_set_wanted_method(ssh_opt,KEX_COMP_C_S,"none");
-- options_set_wanted_method(ssh_opt,KEX_COMP_S_C,"none");
-- options_set_port(ssh_opt, port);
-- options_set_host(ssh_opt, buf);
-- options_set_username(ssh_opt, login);
--
-- if ((ssh_session = ssh_connect(ssh_opt)) == NULL) {
-+ ssh_options_allow_ssh1(ssh_opt,1);
-+// ssh_options_set_wanted_algos (ssh_opt,KEX_COMP_C_S,"none");
-+// ssh_options_set_wanted_algos (ssh_opt,KEX_COMP_S_C,"none");
-+ ssh_options_set_port(ssh_opt, port);
-+ ssh_options_set_host(ssh_opt, buf);
-+ ssh_options_set_username(ssh_opt, login);
-+ ssh_session=ssh_new();
-+ ssh_set_options(ssh_session,ssh_opt);
-+ /* printf("ssh-connecting with login \"%s\"\n",login); */
-+ if (ssh_connect(ssh_session) == SSH_ERROR) {
- rc = ssh_get_error(ssh_session);
- if ((rc != NULL) && (rc[0] != '\0')) {
-- if (strncmp("connect:", ssh_get_error(ssh_session), strlen("connect:")) == 0)
-+ snprintf(buffer,sizeof(buffer),"%s",rc);
-+ ssh_disconnect(ssh_session);
-+ if (strncmp("connect:", buffer, strlen("connect:")) == 0)
- return 3;
- else
- return 4;
-@@ -60,43 +105,54 @@
- free(buf);
- buf = NULL;
- #endif
--
-- do {
-- /* why this crap? */
-- auth_state = ssh_userauth_kbdint(ssh_session, login, NULL);
-- while (i < 10 && auth_state == SSH_AUTH_INFO) {
-- ssh_userauth_kbdint_setanswer(ssh_session, i, pass);
-- auth_state = ssh_userauth_kbdint(ssh_session, login, NULL);
-- i++;
-- }
--
-- if (auth_state == SSH_AUTH_SUCCESS || ssh_userauth_password(ssh_session, login, pass) == SSH_AUTH_SUCCESS) {
-- ssh_disconnect(ssh_session); /* this automagically frees the ssh_opt buffer */
-- hydra_report_found_host(port, ip, "ssh2", fp);
-- hydra_completed_pair_found();
-- if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
-- return 2;
-- /* free(ssh_opt); */ /* DOUBLE FREE ! */
-+ /* None method is important since it can flag passwordless servers */
-+ auth_state=ssh_userauth_none(ssh_session, login);
-+ if(auth_state == SSH_AUTH_SUCCESS){
-+ /* passwordless server */
-+ hydra_report_found_host(port, ip, "ssh2", fp);
-+ hydra_completed_pair_found();
-+ ssh_disconnect(ssh_session);
-+ if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
-+ return 2;
-+ else
- return 1;
-- } else {
-- if (ssh_error_code(ssh_session) == 1) {
-- hydra_completed_pair();
-+ }
-+
-+ do {
-+ auth_state=try_password(ssh_session, pass);
-+ if (auth_state == SSH_AUTH_SUCCESS) {
-+ ssh_disconnect(ssh_session); /* this automagically frees the ssh_opt buffer */
-+ hydra_report_found_host(port, ip, "ssh2", fp);
-+ hydra_completed_pair_found();
- if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
- return 2;
-+ return 1;
- } else {
-- ssh_disconnect(ssh_session); /* this automagically frees the ssh_opt buffer */
-- hydra_completed_pair(); /* really? */
-- if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
-+ if (auth_state == SSH_AUTH_DENIED) {
-+ hydra_completed_pair();
-+ if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0){
-+ ssh_disconnect(ssh_session);
- return 2;
-- /* free(ssh_opt); */ /* DOUBLE FREE ! */
-+ }
-+ /* set a new password to try */
-+ login=hydra_get_next_login();
-+ if(strcmp(login,firstlogin) != 0){
-+ /* we can't try a new login without a new session. */
-+ ssh_disconnect(ssh_session);
-+ //hydra_completed_pair_skip();
-+ return 1;
-+ }
-+ pass=hydra_get_next_password();
-+ /* try again using same session */
-+ } else {
-+ ssh_disconnect(ssh_session); /* this automagically frees the ssh_opt buffer */
-+ /* there was an error. The password was not really tried.*/
-+ //hydra_completed_pair_skip();
- return 1;
- }
- }
- } while(1);
-
-- /* not reached */
--
-- /* free(ssh_opt); */ /* risk of double free */
- return 1;
- }
-
-Les sous-répertoires hydra-5.4-src/palm et hydra-5.4-src-libssh0.2/palm sont identiques.
diff --git a/net-analyzer/hydra/hydra-5.4-r2.ebuild b/net-analyzer/hydra/hydra-5.4-r2.ebuild
deleted file mode 100644
index cb673851d0bb..000000000000
--- a/net-analyzer/hydra/hydra-5.4-r2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/hydra/hydra-5.4-r2.ebuild,v 1.5 2009/12/18 10:51:29 pva Exp $
-
-inherit eutils
-
-DESCRIPTION="Advanced parallized login hacker"
-HOMEPAGE="http://www.thc.org/thc-hydra/"
-SRC_URI="http://www.thc.org/releases/${P}-src.tar.gz"
-
-LICENSE="HYDRA GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="gtk ssl"
-
-DEPEND="gtk? ( >=x11-libs/gtk+-1.2 )
- ssl? (
- dev-libs/openssl
- >=net-libs/libssh-0.2
- <net-libs/libssh-0.4.0
- )"
-
-S=${WORKDIR}/${P}-src
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- sed -i "s:-O2:${CFLAGS}:" Makefile.am || die "sed failed"
- epatch "${FILESDIR}/${P}-_FORTIFY_SOURCE.patch"
- epatch "${FILESDIR}/${P}-free-without-malloc.patch"
- epatch "${FILESDIR}/${P}-libssh-0.2.patch"
-}
-
-src_compile() {
- if use gtk ; then
- ./configure --prefix=/usr || die "configure failed"
- else
- ./configure --prefix=/usr --disable-xhydra || die "configure failed"
- fi
-
- sed -i \
- -e '/^XDEFINES=/s:=.*:=:' \
- -e '/^XLIBS=/s:=.*:=:' \
- -e '/^XLIBPATHS/s:=.*:=:' \
- -e '/^XIPATHS=/s:=.*:=:' \
- Makefile || die "pruning vars"
-
- if use ssl ; then
- sed -i \
- -e '/^XDEFINES=/s:=:=-DLIBOPENSSL -DLIBSSH:' \
- -e '/^XLIBS=/s:=:=-lcrypto -lssl -lssh:' \
- Makefile || die "adding ssl"
- fi
- emake || die "make failed"
-
- if use gtk ; then
- cd hydra-gtk
- econf
- emake || die "emake hydra-gtk failed"
- fi
-}
-
-src_install() {
- dobin hydra pw-inspector || die "dobin failed"
- if use gtk ; then
- dobin hydra-gtk/src/xhydra || die "gtk"
- fi
- dodoc CHANGES README TODO
-}
diff --git a/net-analyzer/hydra/hydra-5.7.ebuild b/net-analyzer/hydra/hydra-5.7.ebuild
new file mode 100644
index 000000000000..bbcc2128f787
--- /dev/null
+++ b/net-analyzer/hydra/hydra-5.7.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/hydra/hydra-5.7.ebuild,v 1.1 2010/08/22 21:57:58 jer Exp $
+
+EAPI="2"
+
+inherit toolchain-funcs
+
+DESCRIPTION="Advanced parallized login hacker"
+HOMEPAGE="http://www.thc.org/thc-hydra/"
+SRC_URI="http://freeworld.thc.org/releases/${P}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="gtk ssl"
+
+DEPEND="gtk? ( >=x11-libs/gtk+-1.2 )
+ dev-libs/openssl
+ ssl? (
+ >=net-libs/libssh-0.4.0
+ )"
+
+S=${WORKDIR}/${P}-src
+
+src_prepare() {
+ # None of the settings in Makefile.unix are useful to us
+ : > Makefile.unix
+
+ sed -i \
+ -e 's:-O2:$(CPPFLAGS) $(CFLAGS):g' \
+ -e 's:|| echo.*$::' \
+ -e '/\t-$(CC)/s/-//' \
+ -e '/ -o /s:$(OPTS):& $(LDFLAGS):g' \
+ Makefile.am || die "sed failed"
+}
+
+src_configure() {
+ # Note: despite the naming convention, the top level script is not an
+ # autoconf-based script.
+ ./configure \
+ --prefix=/usr \
+ $(use gtk && echo --disable-xhydra) \
+ || die "configure failed"
+
+ sed -i \
+ -e '/^XDEFINES=/s:=.*:=:' \
+ -e '/^XLIBS=/s:=.*:=-lcrypto:' \
+ -e '/^XLIBPATHS/s:=.*:=:' \
+ -e '/^XIPATHS=/s:=.*:=:' \
+ Makefile || die "pruning vars"
+
+ if use ssl ; then
+ sed -i \
+ -e '/^XDEFINES=/s:=:=-DLIBOPENSSL -DLIBSSH:' \
+ -e '/^XLIBS=/s:$: -lssl -lssh:' \
+ Makefile || die "adding ssl"
+ fi
+
+ if use gtk ; then
+ cd hydra-gtk && \
+ econf || die "econf failed"
+ fi
+}
+
+src_compile() {
+ tc-export CC
+ emake || die "make failed"
+ if use gtk ; then
+ cd hydra-gtk && \
+ emake || die "emake hydra-gtk failed"
+ fi
+}
+
+src_install() {
+ dobin hydra pw-inspector || die "dobin failed"
+ if use gtk ; then
+ dobin hydra-gtk/src/xhydra || die "gtk"
+ fi
+ dodoc CHANGES README TODO
+}