From 30594418a8d35519a5a055157ea8be27d8c49e9f Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Sat, 24 Feb 2018 00:06:02 -0500 Subject: net-analyzer/ettercap: bug #612226 Package-Manager: Portage-2.3.24, Repoman-2.3.6 --- net-analyzer/ettercap/ettercap-0.8.2-r1.ebuild | 62 ++++++++++++++++++++++ net-analyzer/ettercap/files/cve-2017-6430.patch | 68 +++++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 net-analyzer/ettercap/ettercap-0.8.2-r1.ebuild create mode 100644 net-analyzer/ettercap/files/cve-2017-6430.patch (limited to 'net-analyzer') diff --git a/net-analyzer/ettercap/ettercap-0.8.2-r1.ebuild b/net-analyzer/ettercap/ettercap-0.8.2-r1.ebuild new file mode 100644 index 000000000000..71fe6afb63cf --- /dev/null +++ b/net-analyzer/ettercap/ettercap-0.8.2-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="A suite for man in the middle attacks" +HOMEPAGE="https://github.com/Ettercap/ettercap" +SRC_URI="https://github.com/Ettercap/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" #mirror does not work + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="gtk ipv6 ncurses +plugins" + +RDEPEND="dev-libs/libbsd + dev-libs/libpcre + dev-libs/openssl:0= + net-libs/libnet:1.1 + >=net-libs/libpcap-0.8.1 + sys-libs/zlib + gtk? ( + >=dev-libs/atk-1.2.4 + >=dev-libs/glib-2.2.2:2 + media-libs/freetype + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-2.2.2:2 + >=x11-libs/pango-1.2.3 + ) + ncurses? ( >=sys-libs/ncurses-5.3:= ) + plugins? ( >=net-misc/curl-7.26.0 )" +DEPEND="${RDEPEND} + sys-devel/flex + virtual/yacc" + +src_prepare() { + sed -i "s:Release:Release Gentoo:" CMakeLists.txt || die + epatch "${FILESDIR}"/cve-2017-6430.patch + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_enable ncurses CURSES) + $(cmake-utils_use_enable gtk) + $(cmake-utils_use_enable plugins) + $(cmake-utils_use_enable ipv6) + -DBUNDLED_LIBS=OFF + -DSYSTEM_LIBS=ON + -DINSTALL_SYSCONFDIR="${EROOT}"etc + ) + #right now we only support gtk2, but ettercap also supports gtk3 + #do we care? do we want to support both? + + #we want to enable testing but it fails right now + #we want to disable the bundled crap, but we are missing at least "libcheck" + #if we want to enable tests, we need to fix it, and either package libcheck or allow bundled version + #$(cmake-utils_use_enable test TESTS) + cmake-utils_src_configure +} diff --git a/net-analyzer/ettercap/files/cve-2017-6430.patch b/net-analyzer/ettercap/files/cve-2017-6430.patch new file mode 100644 index 000000000000..67483dcc0249 --- /dev/null +++ b/net-analyzer/ettercap/files/cve-2017-6430.patch @@ -0,0 +1,68 @@ +From 4ad7f85dc01202e363659aa473c99470b3f4e1f4 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna +Date: Tue, 7 Mar 2017 22:05:31 +0100 +Subject: [PATCH] Fix issue #782 + +--- + utils/etterfilter/ef_compiler.c | 4 +++- + utils/etterfilter/ef_main.c | 10 +++++++--- + utils/etterfilter/ef_output.c | 3 +++ + 3 files changed, 13 insertions(+), 4 deletions(-) + +diff --git a/utils/etterfilter/ef_compiler.c b/utils/etterfilter/ef_compiler.c +index db876636e..ddb73bd30 100644 +--- a/utils/etterfilter/ef_compiler.c ++++ b/utils/etterfilter/ef_compiler.c +@@ -239,7 +239,9 @@ size_t compile_tree(struct filter_op **fop) + struct filter_op *array = NULL; + struct unfold_elm *ue; + +- BUG_IF(tree_root == NULL); ++ // invalid file ++ if (tree_root == NULL) ++ return 0; + + fprintf(stdout, " Unfolding the meta-tree "); + fflush(stdout); +diff --git a/utils/etterfilter/ef_main.c b/utils/etterfilter/ef_main.c +index ae4591344..431084b91 100644 +--- a/utils/etterfilter/ef_main.c ++++ b/utils/etterfilter/ef_main.c +@@ -39,7 +39,7 @@ struct globals *gbls; + + int main(int argc, char *argv[]) + { +- ++ int ret_value = 0; + globals_alloc(); + /* etterfilter copyright */ + fprintf(stdout, "\n" EC_COLOR_BOLD "%s %s" EC_COLOR_END " copyright %s %s\n\n", +@@ -84,8 +84,12 @@ int main(int argc, char *argv[]) + fprintf(stdout, "\n\nThe script contains errors...\n\n"); + + /* write to file */ +- if (write_output() != E_SUCCESS) +- FATAL_ERROR("Cannot write output file (%s)", GBL_OPTIONS->output_file); ++ ret_value = write_output(); ++ if (ret_value == -E_NOTHANDLED) ++ FATAL_ERROR("Cannot write output file (%s): the filter is not correctly handled.", GBL_OPTIONS->output_file); ++ else if (ret_value == -E_INVALID) ++ FATAL_ERROR("Cannot write output file (%s): the filter format is not correct. ", GBL_OPTIONS->output_file); ++ + globals_free(); + return 0; + } +diff --git a/utils/etterfilter/ef_output.c b/utils/etterfilter/ef_output.c +index 5ae591904..fcf19f010 100644 +--- a/utils/etterfilter/ef_output.c ++++ b/utils/etterfilter/ef_output.c +@@ -51,6 +51,9 @@ int write_output(void) + if (fop == NULL) + return -E_NOTHANDLED; + ++ if (ninst == 0) ++ return -E_INVALID; ++ + /* create the file */ + fd = open(GBL_OPTIONS->output_file, O_CREAT | O_RDWR | O_TRUNC | O_BINARY, 0644); + ON_ERROR(fd, -1, "Can't create file %s", GBL_OPTIONS->output_file); -- cgit v1.2.3-65-gdbad