diff options
author | Jeroen Roovers <jer@gentoo.org> | 2010-10-25 04:27:49 +0000 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2010-10-25 04:27:49 +0000 |
commit | 57001d94fad6151f29d84f21dbeee783dc333336 (patch) | |
tree | c6a46fef079facc4b5d378337a2b557501a89232 | |
parent | Old. (diff) | |
download | historical-57001d94fad6151f29d84f21dbeee783dc333336.tar.gz historical-57001d94fad6151f29d84f21dbeee783dc333336.tar.bz2 historical-57001d94fad6151f29d84f21dbeee783dc333336.zip |
Old.
Package-Manager: portage-2.2.0_alpha1/cvs/Linux i686
-rw-r--r-- | net-analyzer/hydra/Manifest | 5 | ||||
-rw-r--r-- | net-analyzer/hydra/files/hydra-5.4-_FORTIFY_SOURCE.patch | 12 | ||||
-rw-r--r-- | net-analyzer/hydra/files/hydra-5.4-free-without-malloc.patch | 18 | ||||
-rw-r--r-- | net-analyzer/hydra/files/hydra-5.4-libssh-0.4.0.patch | 254 | ||||
-rw-r--r-- | net-analyzer/hydra/hydra-5.4-r3.ebuild | 72 |
5 files changed, 0 insertions, 361 deletions
diff --git a/net-analyzer/hydra/Manifest b/net-analyzer/hydra/Manifest index e3dc0ab639a9..da5bebbcee2f 100644 --- a/net-analyzer/hydra/Manifest +++ b/net-analyzer/hydra/Manifest @@ -1,10 +1,5 @@ -AUX hydra-5.4-_FORTIFY_SOURCE.patch 562 RMD160 76ffa0d0c22c653600b6a6ec3066b0c1d85dc641 SHA1 7842f1d8c59e9eb556eaec070e1cf880cf9e2a82 SHA256 e0b45b7c69cf6d39feb98270efbba6a25c73c91036ae4f22b50566e355a7f99d -AUX hydra-5.4-free-without-malloc.patch 436 RMD160 d733fd1b55395a882418aa835b67aff49d29591d SHA1 cda80e164a344bb3c0b4dc20a2bf2f4700c443db SHA256 ac64cac7e7334da4ed8ee10f88a7303460bc4c1f7cbb5b5a81f01e6c8938d0b4 -AUX hydra-5.4-libssh-0.4.0.patch 8760 RMD160 20bb8dd5b584945fd0b02b01cb6c1e1c8a5828f6 SHA1 f23c93de03f6a8edd60dd7b0362747cd456e3723 SHA256 fb04b18191e3cb73f05d0af95d063cc0539b7c0642d5665bd2fc77f10b833331 -DIST hydra-5.4-src.tar.gz 208272 RMD160 e3b4b98250394945dc5a8bfe234302de793db014 SHA1 2134092c7b64132c080b6b1ba155124b885767db SHA256 cd2e7e5ea479d50982b08334b1f4477a6620e6b45bc79ab55ddd07b128c64611 DIST hydra-5.7-src.tar.gz 203050 RMD160 d4c587b001bd55afa740cbd29064b964db03f51a SHA1 8087a2c085d10fbe67e3d45aad724f76f70bb042 SHA256 595e4cc2f186ef7f616e31448f1caf9df51d2d7b8d2bec92738ed1fb58e41e81 DIST hydra-5.8-src.tar.gz 203164 RMD160 f4df66709c16ea18400c5895b77d0918a00f1d9a SHA1 a8974cc6c99f173a6039683dd834450272fe5c08 SHA256 8c97472509a1afe9c60bddbb3f3541eb706d3719fb1c4634749d1531397377aa -EBUILD hydra-5.4-r3.ebuild 1588 RMD160 cb19dcc5af2729bb975544d428fa72be5cfeb3d6 SHA1 22b4012801bbe6cd5e147ad6253666c7b1a597c7 SHA256 0f81981fc75f1f2bc3f6a90a86b56938f07b6a5574ec6f8f083510e40d4890a8 EBUILD hydra-5.7.ebuild 1772 RMD160 ccb794d437f1a1aff19d81815c2d6b55b7c226fd SHA1 9c5fcb4c1ac3b63434b93b49139d86512c42a44a SHA256 e2904879acf1a6496352027e720ba2403075496667aca356ea90bc546d571439 EBUILD hydra-5.8.ebuild 1792 RMD160 aee7d24064af46e3057e3be993cf551982c67d86 SHA1 2a7c356e63630cdb0fe9d8a1322b91043728c9ca SHA256 5a96c7b720e62226d12ac4ac3999ffac0da8fc51fe06effe5e484588483b210a MISC ChangeLog 5849 RMD160 09ee201ea4cb7a5f9f30c89cbae80880c02de35e SHA1 bac743dabc61b132795eef2f27c85a345a9a55af SHA256 c43fbe6ddae44f84af8417f29e363185b51228521a3a9a0fd2c2ef653ee92973 diff --git a/net-analyzer/hydra/files/hydra-5.4-_FORTIFY_SOURCE.patch b/net-analyzer/hydra/files/hydra-5.4-_FORTIFY_SOURCE.patch deleted file mode 100644 index dc9b0ec6e9cb..000000000000 --- a/net-analyzer/hydra/files/hydra-5.4-_FORTIFY_SOURCE.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur hydra-5.4-src-orig/hydra-gtk/src/callbacks.c hydra-5.4-src-patch/hydra-gtk/src/callbacks.c ---- hydra-5.4-src-orig/hydra-gtk/src/callbacks.c 2005-09-22 15:19:27.000000000 +0000 -+++ hydra-5.4-src-patch/hydra-gtk/src/callbacks.c 2009-03-20 17:59:40.000000000 +0000 -@@ -663,7 +663,7 @@ - - text = gtk_text_buffer_get_text(outputbuf, &start, &end, TRUE); - -- fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY); -+ fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR); - if ( fd > 0 ) { - write(fd, text, strlen(text)); - close(fd); diff --git a/net-analyzer/hydra/files/hydra-5.4-free-without-malloc.patch b/net-analyzer/hydra/files/hydra-5.4-free-without-malloc.patch deleted file mode 100644 index 6dde09cdf1ed..000000000000 --- a/net-analyzer/hydra/files/hydra-5.4-free-without-malloc.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- hydra-http-form.old 2008-02-06 09:42:49.000000000 +0000 -+++ hydra-http-form.c 2008-02-06 09:43:45.000000000 +0000 -@@ -149,7 +149,6 @@ - } - - if (hydra_send(s, buffer, strlen(buffer), 0) < 0) { -- free(updvariables); - free(upd2variables); - return 1; - } -@@ -183,7 +182,6 @@ - */ - - free(buf); -- free(updvariables); - free(upd2variables); - - if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) diff --git a/net-analyzer/hydra/files/hydra-5.4-libssh-0.4.0.patch b/net-analyzer/hydra/files/hydra-5.4-libssh-0.4.0.patch deleted file mode 100644 index a283fe6ee8a2..000000000000 --- a/net-analyzer/hydra/files/hydra-5.4-libssh-0.4.0.patch +++ /dev/null @@ -1,254 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=296816 - -Author: Peter Volkov <pva@gentoo.org> with some ideas from Jonathan-Christofer Demay. - -=== modified file 'configure' ---- configure 2009-12-15 08:46:59 +0000 -+++ configure 2009-12-17 08:26:59 +0000 -@@ -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.4 or later installed!! Get it from http://www.libssh.org !' - 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://www.libssh.org/ - use v0.4!' - fi - if [ "$SSH_IPATH" = "/usr/include" ]; then - SSH_IPATH="" - -=== modified file 'hydra-ssh2.c' ---- hydra-ssh2.c 2009-12-15 08:46:59 +0000 -+++ hydra-ssh2.c 2009-12-18 10:21:52 +0000 -@@ -7,31 +7,70 @@ - } - #else - --#warning "If compilation of hydra-ssh2 fails, you are not using v0.11. 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, const char *login, const char *password){ -+ int auth_state; -+ int i, j, n; -+ int methods; -+ -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] try_password(): trying login = \"%s\", pass \"%s\"\n", login, password); -+#endif -+ -+ methods = ssh_auth_list(ssh_session); -+ if (methods & SSH_AUTH_METHOD_INTERACTIVE) { -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] try_password(): trying keyboard interactive method\n"); -+#endif -+ auth_state = ssh_userauth_kbdint(ssh_session, login, NULL); -+ /* For safety we'll limit number of prompts to 33 */ -+ for(j=0; auth_state == SSH_AUTH_INFO && j<33; j++) { -+ n=ssh_userauth_kbdint_getnprompts(ssh_session); -+ for(i=0; i<n; ++i) { -+ ssh_userauth_kbdint_setanswer(ssh_session, i, password); -+ } -+ auth_state = ssh_userauth_kbdint(ssh_session, login, NULL); -+ } -+ /* Password is valid but an other authentication token is needed */ -+ if(auth_state == SSH_AUTH_PARTIAL -+ || auth_state == SSH_AUTH_SUCCESS) -+ return SSH_AUTH_SUCCESS; -+ } -+ -+ if (methods & SSH_AUTH_METHOD_PASSWORD) { -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] try_password(): trying password method\n"); -+#endif -+ auth_state = ssh_userauth_password(ssh_session, login, password); -+ if(auth_state == SSH_AUTH_PARTIAL -+ || auth_state == SSH_AUTH_SUCCESS) -+ return SSH_AUTH_SUCCESS; -+ } -+ return auth_state; -+} -+ -+ - int --start_ssh2(int s, unsigned long int ip, int port, unsigned char options, char *miscptr, FILE * fp) -+start_ssh2(int s, unsigned long int ip, int port, unsigned char options, char *miscptr, FILE * fp, char *libssh_error) - { - char *empty = ""; -- char *login, *pass; -+ char *login, *pass, prev_login[260]; - char *buf; -- char *rc; - struct sockaddr_in targetip; -- SSH_SESSION *ssh_session; -- SSH_OPTIONS *ssh_opt; -+ ssh_session ssh_session = ssh_new(); - int auth_state; -- int i = 0; - - if (strlen(login = hydra_get_next_login()) == 0) - login = empty; -+ strcpy(prev_login, login); - if (strlen(pass = hydra_get_next_password()) == 0) - pass = empty; - -- ssh_opt=options_new(); - memset(&targetip, 0, sizeof(targetip)); - memcpy(&targetip.sin_addr.s_addr, &ip, 4); - targetip.sin_family = AF_INET; -@@ -41,62 +80,79 @@ - 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) { -- rc = ssh_get_error(ssh_session); -- if ((rc != NULL) && (rc[0] != '\0')) { -- if (strncmp("connect:", ssh_get_error(ssh_session), strlen("connect:")) == 0) -- return 3; -- else -- return 4; -- } -+ -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] ssh_options_set host=%s:%d, login=%s.\n", buf, port, login); -+#endif -+ ssh_options_set(ssh_session, SSH_OPTIONS_HOST, buf); -+ ssh_options_set(ssh_session, SSH_OPTIONS_PORT, &port); -+ ssh_options_set(ssh_session, SSH_OPTIONS_USER, login); -+ ssh_options_set(ssh_session, SSH_OPTIONS_COMPRESSION_C_S, "none"); -+ ssh_options_set(ssh_session, SSH_OPTIONS_COMPRESSION_S_C, "none"); -+ -+ if ( ssh_connect(ssh_session) != SSH_OK ) { -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] ssh_connect(ssh_session) != SSH_OK\n"); -+#endif -+ strcpy(libssh_error,ssh_get_error(ssh_session)); -+ ssh_disconnect(ssh_session); -+ return 3; - } - #ifndef CYGWIN - free(buf); - buf = NULL; - #endif - -+ /* Try 'none' method for passwordless servers */ -+ auth_state = ssh_userauth_none(ssh_session, login); -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] ssh_userauth_none (0) state = %d\n", auth_state); -+#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 */ -+ if (auth_state != SSH_AUTH_SUCCESS) -+ auth_state = try_password(ssh_session, login, pass); -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] try_password returned auth_state = %d\n", auth_state); -+#endif -+ if (auth_state == SSH_AUTH_SUCCESS) { -+ ssh_disconnect(ssh_session); - 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 ! */ - return 1; -+ } -+ 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; -+ } -+ if (strlen(login = hydra_get_next_login()) == 0) -+ login = empty; -+ -+ if(strcmp(login,prev_login) != 0) { -+ ssh_disconnect(ssh_session); -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] new login (%s): we have to restart ssh sessionte\n", login); -+#endif -+ return 1; -+ } -+ if (strlen(pass = hydra_get_next_password()) == 0) -+ pass = empty; - } else { -- if (ssh_error_code(ssh_session) == 1) { -- hydra_completed_pair(); -- if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) -- return 2; -- } 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) -- return 2; -- /* free(ssh_opt); */ /* DOUBLE FREE ! */ -- return 1; -- } -+#ifdef DEBUG_SSH2 -+ printf("[DEBUG] ssh session problem (%d)\n", auth_state); -+#endif -+ hydra_completed_pair(); /* really? */ -+ ssh_disconnect(ssh_session); -+ if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) -+ return 2; -+ return 1; - } - } while(1); - - /* not reached */ -- -- /* free(ssh_opt); */ /* risk of double free */ - return 1; - } - -@@ -104,6 +160,7 @@ - service_ssh2(unsigned long int ip, int sp, unsigned char options, char *miscptr, FILE * fp, int port) - { - int run = 1, next_run = 1, sock = -1; -+ char libssh_error[1024]; /* check ERROR_BUFFERLEN in libssh */ - - hydra_register_socket(sp); - if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) -@@ -111,16 +168,15 @@ - while (1) { - switch (run) { - case 1: /* connect and service init function */ -- next_run = start_ssh2(sock, ip, port, options, miscptr, fp); -+ next_run = start_ssh2(sock, ip, port, options, miscptr, fp, libssh_error); - break; - case 2: - hydra_child_exit(0); -+ break; - case 3: /* clean exit */ -- fprintf(stderr, "Error: could not connect to target port %d\n", port); -+ fprintf(stderr, "ssh_connect failed: %s\n", libssh_error); - hydra_child_exit(1); -- case 4: -- fprintf(stderr, "Error: ssh2 protocol error\n"); -- hydra_child_exit(2); -+ break; - default: - hydra_report(stderr, "Caught unknown return code, exiting!\n"); - hydra_child_exit(-1); - diff --git a/net-analyzer/hydra/hydra-5.4-r3.ebuild b/net-analyzer/hydra/hydra-5.4-r3.ebuild deleted file mode 100644 index 793fd0d43ce7..000000000000 --- a/net-analyzer/hydra/hydra-5.4-r3.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# 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.4-r3.ebuild,v 1.4 2010/05/21 15:53:49 pva Exp $ - -EAPI="2" -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.4.0 - )" - -S=${WORKDIR}/${P}-src - -src_prepare() { - 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.4.0.patch" -} - -src_configure() { - ./configure \ - --prefix=/usr \ - $(use gtk && echo --disable-xhydra) \ - || die "configure failed" - - 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 - - if use gtk ; then - cd hydra-gtk && \ - econf - fi -} - -src_compile() { - 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 -} |